summary refs log tree commit diff
path: root/lisc/live.c
AgeCommit message (Collapse)Author
2015-10-05fix debug output of livenessQuentin Carbonneaux
2015-10-05clean the command line interfaceQuentin Carbonneaux
2015-09-28stupid hinting works better without traces!Quentin Carbonneaux
2015-09-27compute reg interferences in filllive()Quentin Carbonneaux
2015-09-26move the liveon() function in live.cQuentin Carbonneaux
2015-09-15heavy modification of call handlingQuentin Carbonneaux
The IR generated by calls was very bulky because two instructions were used for marking the live range of a clobber. This patch attempts to store the information of what registers are use/def/clobber in the call instruction itself, this leads to more compact code (even more when we'll have SSE registers). However, I find that the amount of extra code needed is not really easonable. Fortunately it is not too invasive, thus if the complexity creeps in, it should be easy to revert.
2015-09-15major lifting: get rid of RRegQuentin Carbonneaux
I've been septic since I introduced it, this commit proves that it costs more than it helps. I've also fixed a bad bug in rega() where I alloc'ed the wrong size for internal arrays. Enums now have names so I can use them to cast in gdb to get the name corresponding to a constant.
2015-09-15use a new Ref type for registersQuentin Carbonneaux
This might not be a good idea, the problem was that many spurious registers would be added to the Bits data-structures during compilation (and would always remain 0). However, doing the above modification de-uniformizes the handling of temps and regs, this makes the code longer and not really nicer. Also, additional Bits structures are required to track the registers independently. Overall this might be a bad idea to revert.
2015-09-15silence clang warningQuentin Carbonneaux
2015-09-15start change of representation for registersQuentin Carbonneaux
2015-09-15cosmeticsQuentin Carbonneaux
2015-09-15rework liveness to compute reg pressureQuentin Carbonneaux
2015-09-15cosmeticsQuentin Carbonneaux
2015-09-15fix allocation bugQuentin Carbonneaux
2015-09-15simplify livenessQuentin Carbonneaux
2015-09-15fix phi handling in livenessQuentin Carbonneaux
2015-09-15add rpo test and some liveness codeQuentin Carbonneaux