diff options
Diffstat (limited to 'ir/ssa.c')
| -rw-r--r-- | ir/ssa.c | 28 |
1 files changed, 0 insertions, 28 deletions
@@ -39,32 +39,4 @@ copyopt(struct function *fn) } while ((blk = blk->lnext) != fn->entry); } -void -filluses(struct function *fn) -{ - extern int ninstr; - struct block *blk = fn->entry; - - for (int i = 0; i < ninstr; ++i) - deluses(i); - - do { - for (int i = 0; i < blk->phi.n; ++i) { - int ins = blk->phi.p[i]; - union ref *phi = phitab.p[instrtab[ins].l.i]; - for (int i = 0; i < blk->npred; ++i) - adduse(blk, ins, phi[i]); - } - for (int i = 0; i < blk->ins.n; ++i) { - int ins = blk->ins.p[i]; - adduse(blk, ins, instrtab[ins].l); - adduse(blk, ins, instrtab[ins].r); - } - adduse(blk, USERJUMP, blk->jmp.arg[0]); - adduse(blk, USERJUMP, blk->jmp.arg[1]); - } while ((blk = blk->lnext) != fn->entry); - - fn->prop |= FNUSE; -} - /* vim:set ts=3 sw=3 expandtab: */ |