ack/mach/proto/mcg
David Given 21034c0d65 No, dammit, for register allocation I need to walk the blocks in *dominance*
order. Since the dominance tree has changed when I fiddled with the graph, I
need to recompute it, so factor it out of the SSA pass. Code is uglier than I'd
like but at least the RET statement goes last in the generated code now.
2016-10-05 23:52:54 +02:00
..
basicblock.c Perform SSA conversion of locals. Much, *much* better code now, at least 2016-10-02 17:50:34 +02:00
basicblock.h No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
build.lua Actually, I don't need vregs: hops work just as well. Particularly if I 2016-09-27 23:38:47 +02:00
data.c Archival checking of the half-written IR treebuilder. 2016-09-18 23:24:54 +02:00
dominance.c No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
dominance.h No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
hop.c Better constraint syntax; mcgg now passes register usage information up to mcg; 2016-10-05 22:56:25 +02:00
hop.h Better constraint syntax; mcgg now passes register usage information up to mcg; 2016-10-05 22:56:25 +02:00
ir.c Perform SSA conversion of locals. Much, *much* better code now, at least 2016-10-02 17:50:34 +02:00
ir.h Made sure that all files end in vim magic. 2016-10-05 21:07:29 +02:00
main.c Allowing an input filename on the command line makes debuggers happy. (Then we 2016-10-05 23:24:29 +02:00
mcg.h No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
mcgg_generated_footer.h Made sure that all files end in vim magic. 2016-10-05 21:07:29 +02:00
mcgg_generated_header.h Made sure that all files end in vim magic. 2016-10-05 21:07:29 +02:00
parse_em.c Added support for the op_bXX conditional branch instructions. 2016-10-04 23:28:16 +02:00
pass_convertstackops.c Perform SSA conversion of locals. Much, *much* better code now, at least 2016-10-02 17:50:34 +02:00
pass_eliminatetrivialblocks.c Revamp the array module not to use nasty macros any more. Slightly more verbose 2016-09-26 22:48:58 +02:00
pass_groupirs.c More rigorous dealing of IR groups; no need for is_generated and is_root any 2016-10-01 22:58:29 +02:00
pass_instructionselection.c Better constraint syntax; mcgg now passes register usage information up to mcg; 2016-10-05 22:56:25 +02:00
pass_promotefloatops.c We're going to need some type inference after all, I think. Let's do a little 2016-10-01 19:10:22 +02:00
pass_removedeadblocks.c Revamp the array module not to use nasty macros any more. Slightly more verbose 2016-09-26 22:48:58 +02:00
pass_splitcriticaledges.c Better management of register data. Add struct hreg. 2016-10-05 21:00:28 +02:00
pass_ssa.c No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
procedure.c Better constraint syntax; mcgg now passes register usage information up to mcg; 2016-10-05 22:56:25 +02:00
procedure.h Add zrl opcode. Keep track of local sizes as well as offsets. 2016-10-02 16:08:46 +02:00
reg.c Better management of register data. Add struct hreg. 2016-10-05 21:00:28 +02:00
reg.h Better management of register data. Add struct hreg. 2016-10-05 21:00:28 +02:00
registerallocator.c No, dammit, for register allocation I need to walk the blocks in *dominance* 2016-10-05 23:52:54 +02:00
symbol.c Made sure that all files end in vim magic. 2016-10-05 21:07:29 +02:00
table Better constraint syntax; mcgg now passes register usage information up to mcg; 2016-10-05 22:56:25 +02:00
treebuilder.c Added support for the op_bXX conditional branch instructions. 2016-10-04 23:28:16 +02:00