aboutsummaryrefslogtreecommitdiffhomepage
path: root/irdump.c
diff options
context:
space:
mode:
Diffstat (limited to 'irdump.c')
-rw-r--r--irdump.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/irdump.c b/irdump.c
index 3d95843..21b5f09 100644
--- a/irdump.c
+++ b/irdump.c
@@ -196,10 +196,9 @@ dumpblk(struct function *fn, struct block *blk)
for (i = 0; i < blk->phi.n; ++i) {
struct instr *phi = &instrtab[blk->phi.p[i]];
union ref *refs = phitab.p[phi->l.i];
- assert(phi->op == Ophi);
efmt(" %s ", clsname[phi->cls]);
- if (!phi->reg) efmt("%%%d = phi ", blk->phi.p[i]);
- else efmt("(%%%d)%s = phi ", phi - instrtab, mctarg->rnames[phi->reg-1]);
+ if (!phi->reg) efmt("%%%d = %s ", blk->phi.p[i], opnames[phi->op]);
+ else efmt("(%%%d)%s = %s ", phi - instrtab, mctarg->rnames[phi->reg-1], opnames[phi->op]);
for (int i = 0; i < blk->npred; ++i) {
if (i) efmt(", ");
efmt("@%d ", blkpred(blk, i)->id);