diff options
| author | 2025-09-16 17:24:52 +0200 | |
|---|---|---|
| committer | 2025-09-16 17:24:52 +0200 | |
| commit | 75db572e8a7a144b3d6fdc2b148ac3921f77f2b2 (patch) | |
| tree | 092f3417cbdad29397d5eeeef3e0645febddb096 /optmem.c | |
| parent | 0368070045f0ebcdcb12d49da9edc4d10ca30c60 (diff) | |
implement switch statement
Diffstat (limited to 'optmem.c')
| -rw-r--r-- | optmem.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -184,8 +184,8 @@ void mem2reg(struct function *fn) { static struct bitset ssealed[4]; - struct block *blk = fn->entry; struct ssabuilder sb = { .nblk = fn->nblk }; + struct block *blk; sb.pendingphis = xcalloc(fn->nblk * sizeof *sb.pendingphis); if (fn->nblk <= 64 * arraylength(ssealed)) { @@ -195,6 +195,9 @@ mem2reg(struct function *fn) sb.sealed = xcalloc(BSSIZE(fn->nblk) * sizeof *sb.sealed); } + sortrpo(fn); + blk = fn->entry; + do { for (int i = 0; i < blk->ins.n; ++i) { struct use *use, *uend; |