summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2017-02-27 10:34:22 -0500
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2017-02-27 10:34:29 -0500
commite80252a52bf25f762bc986ce6e4e0d17fbb130d0 (patch)
tree06b476558944a83d6c3e11ecc322a568caf1fe94 /main.c
parent3aecf460f5ab60c96ba90042ffd1cd7df41eeca5 (diff)
downloadroux-e80252a52bf25f762bc986ce6e4e0d17fbb130d0.tar.gz
scrub assembly output
Notably, this adds a new pass to get rid of
jumps on jumps.
Diffstat (limited to 'main.c')
-rw-r--r--main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main.c b/main.c
index fe68ae0..4d2e6bd 100644
--- a/main.c
+++ b/main.c
@@ -72,6 +72,9 @@ func(Fn *fn)
 	spill(fn);
 	rega(fn);
 	fillrpo(fn);
+	simpljmp(fn);
+	fillpreds(fn);
+	fillrpo(fn);
 	assert(fn->rpo[0] == fn->start);
 	for (n=0;; n++)
 		if (n == fn->nblk-1) {