ack/mach/proto/mcg
David Given 65a20ce2d6 Fix subtle register corruption bug where aliases weren't taken into account
when assigning input registers to phis, which could cause the same hreg to be
assigned to two vregs of different types. Also improve tracing.
2018-09-20 23:24:46 +02:00
..
basicblock.c Mangle label names (turns out that the ACK assembler can't really cope with 2016-10-27 23:17:16 +02:00
basicblock.h A bb's regsin are no longer the same as those of its first instruction; 2016-11-16 20:52:15 +01:00
build.lua mcg now uses dataf4 and dataf8 to emit floating point constants, and so doesn't 2018-09-12 23:19:32 +02:00
data.c The approach I was taking to csa and csb turns out not to work --- critical 2018-09-20 00:12:03 +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 Rework the way stack frames are laid out to be simpler and, hopefully, more 2016-11-11 21:17:45 +01:00
hop.h Add support for preserved registers. 2016-10-29 20:22:44 +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 Don't use '-' in option string to getopt(). 2018-02-05 14:55:10 -05:00
mcg.h mcg now uses dataf4 and dataf8 to emit floating point constants, and so doesn't 2018-09-12 23:19:32 +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 Add extern declaration which I forget to check in. 2018-09-17 23:59:49 +02:00
parse_em.c The approach I was taking to csa and csb turns out not to work --- critical 2018-09-20 00:12:03 +02:00
pass_convertstackops.c Don't generate phis if unnecessary (because this breaks the 2016-10-29 10:55:48 +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 Add support for preserved registers. 2016-10-29 20:22:44 +02:00
pass_livevreganalysis.c Lots more opcodes. Rearrange the stack layout so that fp->ab is a fixed value 2016-10-29 11:57:56 +02:00
pass_phigroups.c Precisely one stack hreg gets allocated for each vreg/congruence group for 2018-09-08 18:59:55 +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 Fix subtle register corruption bug where aliases weren't taken into account 2018-09-20 23:24:46 +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_returnvalues.c Lots more opcodes. Rearrange the stack layout so that fp->ab is a fixed value 2016-10-29 11:57:56 +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 Fix bug where some phis weren't being inserted when a given variable definition 2016-10-27 21:40:25 +02:00
pass_typeinference.c Lots more opcodes. Rearrange the stack layout so that fp->ab is a fixed value 2016-10-29 11:57:56 +02:00
predicates.c Add specialist rules for signed integer comparisons; much better code. 2018-09-17 23:53:18 +02:00
procedure.c Fix subtle register corruption bug where aliases weren't taken into account 2018-09-20 23:24:46 +02:00
procedure.h Rework the way stack frames are laid out to be simpler and, hopefully, more 2016-11-11 21:17:45 +01: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 Precisely one stack hreg gets allocated for each vreg/congruence group for 2018-09-08 18:59:55 +02:00
symbol.c Properly export symbols. 2016-10-29 23:52:17 +02:00
treebuilder.c The approach I was taking to csa and csb turns out not to work --- critical 2018-09-20 00:12:03 +02:00