diff options
| author | 2025-09-15 10:46:09 +0200 | |
|---|---|---|
| committer | 2025-09-15 10:46:09 +0200 | |
| commit | 7b1849402f33938aed8065ac9f4fab2ee8f22966 (patch) | |
| tree | 82e1b72a08560f6a9410b30431f77aa398f59069 /ir.h | |
| parent | 474c9bc73c79ac7f366e590506718d571525ad5d (diff) | |
a little refactoring and cleanup
Diffstat (limited to 'ir.h')
| -rw-r--r-- | ir.h | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -135,7 +135,7 @@ struct use { struct block *blk; ushort u; }; enum { MAXREGS = 64 }; struct function { - struct arena *arena; + struct arena **arena; const char *name; struct block *entry, *curblk; struct use *use; @@ -191,6 +191,7 @@ struct mctarg { enum { MAXINSTR = 1<<14 }; +/** ir.c **/ extern uchar type2cls[]; extern uchar cls2siz[]; extern const uchar siz2intcls[]; @@ -253,15 +254,27 @@ void putbranch(struct function *, struct block *); void putcondbranch(struct function *, union ref arg, struct block *t, struct block *f); void putreturn(struct function *, union ref r0, union ref r1); +/** irdump.c **/ void irdump(struct function *); +/** ssa.c **/ void filluses(struct function *); void copyopt(struct function *); +/** cfg.c **/ +void sortrpo(struct function *fn); + +/** abi0.c **/ void abi0(struct function *); void abi0_call(struct function *, struct instr *, struct block *blk, int *curi); + +/** optmem.c **/ void mem2reg(struct function *); + +/** intrin.c **/ void lowerintrin(struct function *); + +/** regalloc.c **/ void regalloc(struct function *); /* vim:set ts=3 sw=3 expandtab: */ |