..
basicblock.c
Perform SSA conversion of locals. Much, *much* better code now, at least
2016-10-02 17:50:34 +02:00
basicblock.h
Basic register allocation works!
2016-10-08 23:32:54 +02:00
build.lua
Bolt mcg into the PowerPC backend. It doesn't build yet, but it is generating
2016-10-17 00:06:06 +02:00
data.c
Add support for floating point constants.
2016-10-18 22:29:42 +02:00
graph.c
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
graph.h
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
hop.c
Better (and more correct) floating point conversions; fif; various new opcodes.
2016-10-22 00:48:26 +02:00
hop.h
Add (pretty crummy) support for register aliases and static pairs of registers.
2016-10-21 23:31:00 +02:00
ir.c
Re-re-add the type inference layer, now I know more about how things work.
2016-10-22 23:04:13 +02:00
ir.h
Re-re-add the type inference layer, now I know more about how things work.
2016-10-22 23:04:13 +02:00
main.c
'!' tracing is now always emitted; tracing goes to stderr.
2016-10-18 22:32:09 +02:00
mcg.h
Re-re-add the type inference layer, now I know more about how things work.
2016-10-22 23:04:13 +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
Function termination gets routed through an exit block; we now have prologues
2016-10-15 18:38:46 +02:00
parse_em.c
More opcodes, including the difficult and fairly stupid los/sts.
2016-10-23 22:24:08 +02:00
pass_convertstackops.c
Massive change to how IR types are handled; we use the type code for matching
2016-10-23 21:54:14 +02:00
pass_eliminatetrivialblocks.c
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
pass_groupirs.c
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
pass_instructionselection.c
Remove the bytes1, bytes2, bytes4, bytes8 attributes; remove the concept of a
2016-10-25 23:04:20 +02:00
pass_livevreganalysis.c
Overhaul of everything phi related; critical edge splitting now happens before
2016-10-08 00:21:23 +02:00
pass_phigroups.c
Remove the bytes1, bytes2, bytes4, bytes8 attributes; remove the concept of a
2016-10-25 23:04:20 +02:00
pass_prologueepilogue.c
Lots more opcodes; better eviction behaviour; better register moves. Lots more
2016-10-19 23:29:05 +02:00
pass_registerallocator.c
Remove the bytes1, bytes2, bytes4, bytes8 attributes; remove the concept of a
2016-10-25 23:04:20 +02:00
pass_removedeadblocks.c
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
pass_removedeadphis.c
Add code to remove unused phis, converting to pruned SSA form, to avoid
2016-10-12 21:50:12 +02:00
pass_splitcriticaledges.c
Stop passing proc around, and use a global instead --- much cleaner.
2016-10-15 23:19:44 +02:00
pass_ssa.c
Massive change to how IR types are handled; we use the type code for matching
2016-10-23 21:54:14 +02:00
pass_typeinference.c
Phi copies are now inserted as part of type inference. More opcodes.
2016-10-24 22:14:08 +02:00
predicates.c
Predicates can now take numeric arguments. The PowerPC predicates have been
2016-10-09 12:32:36 +02:00
procedure.c
Re-re-add the type inference layer, now I know more about how things work.
2016-10-22 23:04:13 +02:00
procedure.h
Implement saving of dirty registers onto the stack.
2016-10-16 22:37:42 +02:00
reg.c
Remove the bytes1, bytes2, bytes4, bytes8 attributes; remove the concept of a
2016-10-25 23:04:20 +02:00
reg.h
Remove the bytes1, bytes2, bytes4, bytes8 attributes; remove the concept of a
2016-10-25 23:04:20 +02:00
symbol.c
Made sure that all files end in vim magic.
2016-10-05 21:07:29 +02:00
treebuilder.c
More opcodes.
2016-10-24 20:15:22 +02:00