aboutsummaryrefslogtreecommitdiff
path: root/src/irdump.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-21 06:57:48 +0200
committerlemon <lsof@mailbox.org>2022-08-21 06:57:48 +0200
commit135e66c64adf0ef5d2723c243d2f2f6a059ae753 (patch)
tree7fa932722f75534c8492dd776096fc71a1412edc /src/irdump.cff
parentfa8aaba64d206330959470e1ffbf0ad0c974456a (diff)
asm prelude, more IR
Diffstat (limited to 'src/irdump.cff')
-rw-r--r--src/irdump.cff10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/irdump.cff b/src/irdump.cff
index 0942f87..ee68f91 100644
--- a/src/irdump.cff
+++ b/src/irdump.cff
@@ -144,8 +144,14 @@ extern fn irdump(inst *IRInst) void {
dump("set %a, %a\n", inst.args[0], inst.args[1]);
continue #'dump;
}
- exprinst(:load, "load", 2)
- stmtinst(:store, "store", 2)
+ if inst.t == :load {
+ dump("%a(%t) = load %a[%a]\n", inst.args[0], inst.args[0].Val.ty, inst.args[1], inst.args[2]);
+ continue #'dump;
+ }
+ if inst.t == :store {
+ dump("store %a[%a], %a\n", inst.args[0], inst.args[1], inst.args[2]);
+ continue #'dump;
+ }
stmtinst(:ret0, "ret", 0);
stmtinst(:ret, "ret", 1);
if inst.t == :beqz {