summary refs log tree commit diff
AgeCommit message (Collapse)Author
2015-11-18support _ in identifiersQuentin Carbonneaux
2015-11-16tweak colors and sizes in mandelbrotQuentin Carbonneaux
2015-11-16start new example for minic (mandelbrot)Quentin Carbonneaux
2015-11-16uniformize looping on instructionsQuentin 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-13improve the debug output of copy()Quentin Carbonneaux
2015-11-13fix buggy phi deletion in copy()Quentin Carbonneaux
2015-11-13this is a buggy shortcut!Quentin Carbonneaux
2015-11-13add initial version of copy eliminationQuentin Carbonneaux
2015-11-13export printref functionQuentin Carbonneaux
2015-11-13change debug of ABI to AQuentin Carbonneaux
2015-11-13fix a few bugs in filluse()Quentin Carbonneaux
2015-11-13change initial vector size to 2Quentin Carbonneaux
2015-11-13store the use locations for temporariesQuentin Carbonneaux
2015-11-11get rid of dead assignment in fix4.ssaQuentin Carbonneaux
2015-11-11move usage computation in filluse()Quentin Carbonneaux
2015-11-11add new ssa fixing exampleQuentin Carbonneaux
2015-11-10add new test for ssa constructionQuentin Carbonneaux
2015-11-10change debug formattingQuentin Carbonneaux
2015-11-10add a few safeguardsQuentin Carbonneaux
2015-11-10fix some bugs, call ssa() in func()Quentin Carbonneaux
2015-11-10now, cross fingers and testQuentin Carbonneaux
2015-11-09do not insert dead phisQuentin Carbonneaux
2015-11-09provide BZERO macro for bitsetsQuentin Carbonneaux
2015-11-09recognize locals in phiins()Quentin Carbonneaux
2015-11-09precise OCall test in livenessQuentin Carbonneaux
2015-11-09modify data-structures for new ssa.cQuentin Carbonneaux
2015-11-09fix bug in frontier discoveryQuentin Carbonneaux
2015-11-09start conventional ssa constructionQuentin Carbonneaux
2015-11-08add new test in minicQuentin Carbonneaux
2015-11-08uniformize temporary names in minicQuentin Carbonneaux
2015-11-08another return fix in minicQuentin Carbonneaux
2015-11-06use the new && in test/prime.cQuentin Carbonneaux
2015-11-06maybe fix small return bug in stmt()Quentin Carbonneaux
2015-11-06experiment with && and || in minicQuentin Carbonneaux
2015-11-05support lighter syntax for arraysQuentin Carbonneaux
2015-11-04update align to use loadwQuentin Carbonneaux
2015-11-03update minic to the new IRQuentin Carbonneaux
2015-11-03add interference hintsQuentin Carbonneaux
2015-11-01break Tmp.phi chains at phi nodesQuentin 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-01support dots in idents for k0gaQuentin Carbonneaux
2015-11-01this emit was an emitiQuentin Carbonneaux
2015-10-31make phi-class handling more localQuentin 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-30add simple dce into iselQuentin 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-30fix two bugs in spillerQuentin 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-30use loadw in cprime.ssaQuentin Carbonneaux
2015-10-30finish isel adressing modes and clear the codeQuentin Carbonneaux
2015-10-30fix several bugs on Blk.gen in livenessQuentin Carbonneaux
2015-10-30fillphi() now comes before filllive()Quentin Carbonneaux
2015-10-30break phi-classes following interferencesQuentin Carbonneaux
2015-10-30remove liveness heuristic in fillphi()Quentin Carbonneaux