summary refs log tree commit diff
path: root/lisc
AgeCommit message (Collapse)Author
2015-11-30update liveness to work with fpQuentin Carbonneaux
2015-11-30there is a non-uniformity with "cls"Quentin Carbonneaux
2015-11-30change the wide bit to a class numberQuentin Carbonneaux
2015-11-30stores becomes storehQuentin Carbonneaux
2015-11-28make sign explicit in conversion namesQuentin Carbonneaux
2015-11-28start a plan for floating pointsQuentin Carbonneaux
2015-11-27disable optimizationsQuentin Carbonneaux
2015-11-27add sse regsQuentin Carbonneaux
2015-11-25add note about comparisons in spillQuentin Carbonneaux
2015-11-24add minic generated Euclide algorithmQuentin Carbonneaux
2015-11-23Tmp.phi must not be 0 for temporaries in phisQuentin Carbonneaux
2015-11-21add dominators construction testQuentin Carbonneaux
2015-11-20avoid having conflicting hints in regaQuentin Carbonneaux
2015-11-20wip on rega bug (sequel of last commit)Quentin Carbonneaux
2015-11-20fix spill bug in dopm()Quentin Carbonneaux
2015-11-19start memopt(), still buggyQuentin Carbonneaux
2015-11-18support _ in identifiersQuentin 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-05support lighter syntax for arraysQuentin Carbonneaux
2015-11-04update align to use loadwQuentin 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.