summary refs log tree commit diff
path: root/lisc/rega.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-10-06 22:51:51 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-10-06 22:51:51 -0400
commit72fc4559786dac5154ba344755758ba7a096be1b (patch)
tree424e25f3f99dbc2d00f4f6082ef10f0849917bf0 /lisc/rega.c
parent99ad19546d983957d4bdb5596fc323a260d73fa6 (diff)
downloadroux-72fc4559786dac5154ba344755758ba7a096be1b.tar.gz
add pool memory management
Diffstat (limited to 'lisc/rega.c')
-rw-r--r--lisc/rega.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/lisc/rega.c b/lisc/rega.c
index 630298c..e1dbac0 100644
--- a/lisc/rega.c
+++ b/lisc/rega.c
@@ -198,7 +198,6 @@ pmgen()
 			w = 0;
 			pmrec(status, i, &w);
 		}
-	free(status);
 }
 
 static void
@@ -269,7 +268,6 @@ dopm(Blk *b, Ins *i, RMap *m)
 	ip = icpy(ir = ip, insb, curi - insb);
 	ip = icpy(ip, i1, &b->ins[b->nins] - i1);
 	b->nins = n;
-	free(b->ins);
 	b->ins = i0;
 	return ir;
 }
@@ -441,15 +439,10 @@ rega(Fn *fn)
 		}
 	}
 	for (b=fn->start; b; b=b->link)
-		while ((p=b->phi)) {
+		while ((p=b->phi))
 			b->phi = p->link;
-			free(p);
-		}
 	fn->reg = regu;
 
-	free(end);
-	free(beg);
-
 	if (debug['R']) {
 		fprintf(stderr, "\n> After register allocation:\n");
 		printfn(fn, stderr);