aboutsummaryrefslogtreecommitdiff
path: root/src/opt.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-04-07 01:29:12 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-04-07 01:29:12 +0300
commit0f8532d4e7315b86e160abf4ced461e7678b5587 (patch)
tree2cf1a728b1f4383926a5c39908754b6eb4a5a2dd /src/opt.c
parent68059b52c389143e766c5499c76c6c90c6b82846 (diff)
downloadqbt-0f8532d4e7315b86e160abf4ced461e7678b5587.tar.gz
qbt-0f8532d4e7315b86e160abf4ced461e7678b5587.zip
add features that make machine generation easier
Diffstat (limited to 'src/opt.c')
-rw-r--r--src/opt.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/opt.c b/src/opt.c
index 882587d..dac19a6 100644
--- a/src/opt.c
+++ b/src/opt.c
@@ -2,7 +2,6 @@
#include <qbt/opt.h>
#include <qbt/regalloc.h>
-#include <qbt/ssa.h>
#include <qbt/abi.h>
void optimize(struct fn *f)
@@ -11,10 +10,14 @@ void optimize(struct fn *f)
dump_function(f);
/* unreachability is done in several steps I guess */
- ssa(f);
+ size_t ri = ssa(f);
printf("\n// after SSA:\n");
dump_function(f);
+ correct(f, ri);
+ printf("\n// corrections:\n");
+ dump_function(f);
+
abi0(f);
printf("\n// after abi0:\n");
dump_function(f);