Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-11-20 | fix spill bug in dopm() | Quentin Carbonneaux | |
2015-11-19 | compile with debug info in mcc | Quentin Carbonneaux | |
2015-11-19 | start memopt(), still buggy | Quentin Carbonneaux | |
2015-11-18 | support _ in identifiers | Quentin Carbonneaux | |
2015-11-16 | tweak colors and sizes in mandelbrot | Quentin Carbonneaux | |
2015-11-16 | start new example for minic (mandelbrot) | Quentin Carbonneaux | |
2015-11-16 | uniformize looping on instructions | Quentin Carbonneaux | |
I am actually not sure if "i-b->ins < b->nins" is the best way, maybe the comparison with the last instruction is a little more efficient... At least it is uniform now. | |||
2015-11-13 | improve the debug output of copy() | Quentin Carbonneaux | |
2015-11-13 | fix buggy phi deletion in copy() | Quentin Carbonneaux | |
2015-11-13 | this is a buggy shortcut! | Quentin Carbonneaux | |
2015-11-13 | add initial version of copy elimination | Quentin Carbonneaux | |
2015-11-13 | export printref function | Quentin Carbonneaux | |
2015-11-13 | change debug of ABI to A | Quentin Carbonneaux | |
2015-11-13 | fix a few bugs in filluse() | Quentin Carbonneaux | |
2015-11-13 | change initial vector size to 2 | Quentin Carbonneaux | |
2015-11-13 | store the use locations for temporaries | Quentin Carbonneaux | |
2015-11-11 | get rid of dead assignment in fix4.ssa | Quentin Carbonneaux | |
2015-11-11 | move usage computation in filluse() | Quentin Carbonneaux | |
2015-11-11 | add new ssa fixing example | Quentin Carbonneaux | |
2015-11-10 | add new test for ssa construction | Quentin Carbonneaux | |
2015-11-10 | change debug formatting | Quentin Carbonneaux | |
2015-11-10 | add a few safeguards | Quentin Carbonneaux | |
2015-11-10 | fix some bugs, call ssa() in func() | Quentin Carbonneaux | |
2015-11-10 | now, cross fingers and test | Quentin Carbonneaux | |
2015-11-09 | do not insert dead phis | Quentin Carbonneaux | |
2015-11-09 | provide BZERO macro for bitsets | Quentin Carbonneaux | |
2015-11-09 | recognize locals in phiins() | Quentin Carbonneaux | |
2015-11-09 | precise OCall test in liveness | Quentin Carbonneaux | |
2015-11-09 | modify data-structures for new ssa.c | Quentin Carbonneaux | |
2015-11-09 | fix bug in frontier discovery | Quentin Carbonneaux | |
2015-11-09 | start conventional ssa construction | Quentin Carbonneaux | |
2015-11-08 | add new test in minic | Quentin Carbonneaux | |
2015-11-08 | uniformize temporary names in minic | Quentin Carbonneaux | |
2015-11-08 | another return fix in minic | Quentin Carbonneaux | |
2015-11-06 | use the new && in test/prime.c | Quentin Carbonneaux | |
2015-11-06 | maybe fix small return bug in stmt() | Quentin Carbonneaux | |
2015-11-06 | experiment with && and || in minic | Quentin Carbonneaux | |
2015-11-05 | support lighter syntax for arrays | Quentin Carbonneaux | |
2015-11-04 | update align to use loadw | Quentin Carbonneaux | |
2015-11-03 | update minic to the new IR | Quentin Carbonneaux | |
2015-11-03 | add interference hints | Quentin Carbonneaux | |
2015-11-01 | break Tmp.phi chains at phi nodes | Quentin Carbonneaux | |
This makes sure the Tmp.phi "chain" is at most two elements long. Something smarted could be possible, but union-find with path compression is still not exactly what I want. | |||
2015-11-01 | support dots in idents for k0ga | Quentin Carbonneaux | |
2015-11-01 | this emit was an emiti | Quentin Carbonneaux | |
2015-10-31 | make phi-class handling more local | Quentin Carbonneaux | |
The phi classes are no longer in a union-find structure, instead each temporary argument of a phi node gets a pointer to it. The hinting of the phi node is then shared with its the one of its arguments. When liveness proceeds and finds out that two elements with same hinting (a phi node and one of its arguments or two arguments of the same phi node) interfere, one of them has its phi pointer reset, that way, the hinting won't be shared. | |||
2015-10-30 | add simple dce into isel | Quentin Carbonneaux | |
This looks simple, but it's unclear that the use counts are correct or at least sound after all the instruction massaging that happens for calls/jumps. | |||
2015-10-30 | fix two bugs in spiller | Quentin Carbonneaux | |
1. In limit(), there can be machine registers that are live, thus we need to iterate from 0 (not Tmp0) to ntmp in the for loop building the array. 2. When an instruction can have a memory argument, we must not reload arguments that got spilled and were not live. Instead, the must be replaced by SLOT() arguments. | |||
2015-10-30 | use loadw in cprime.ssa | Quentin Carbonneaux | |
2015-10-30 | finish isel adressing modes and clear the code | Quentin Carbonneaux | |
2015-10-30 | fix several bugs on Blk.gen in liveness | Quentin Carbonneaux | |