summaryrefslogtreecommitdiffhomepage
path: root/ir/opt
Commit message (Expand)AuthorAge
* Fix loop inversion where the header contains a data flow loop.Andreas Fried2020-07-30
* Extend loop unrolling: can now unroll nested loopJohannes Bucher2020-02-07
* remove debug graph dumps from LCSSA transformationJohannes Bucher2020-02-06
* Extend a + b == a + c → b == c to reference modesriscvSebastian Buchwald2019-08-09
* Place fewer Phis when constructing LCSSA form.better-lcssaAndreas Fried2019-06-19
* Only construct LCSSA Phis if control flow leaves a loop.Andreas Fried2019-06-19
* Add debugging output to LCSSA construction.Andreas Fried2019-06-19
* loop unrolling: fix calculation of #iterationsJohannes Bucher2019-03-15
* loop unrolling: fix couning loop analysis and full unrollingimprove-loop-unrollingJohannes Bucher2019-02-26
* loop unrolling: fully unroll loopsJohannes Bucher2019-02-25
* only unroll loops if number of loop passes is known at compile timeJohannes Bucher2019-02-25
* only optimize confirm nodes in case of no overflowElias Aebi2019-01-31
* Proof-of-concept local optimizationSebastian Buchwald2019-01-31
* add copyright headersElias Aebi2019-01-24
* clean upElias Aebi2019-01-24
* make the factor and the max size configurableElias Aebi2019-01-24
* test some more aggressive settingsElias Aebi2019-01-24
* debug print the number of loops unrolledElias Aebi2019-01-24
* implement a simple heuristic to determine the unroll factorElias Aebi2019-01-24
* use unsigned integers for the unroll factorElias Aebi2019-01-24
* fix a typoElias Aebi2019-01-24
* let the unroll factor be determined by a functionElias Aebi2019-01-24
* clean upElias Aebi2019-01-24
* unroll by a given factorElias Aebi2019-01-24
* simplifyElias Aebi2019-01-24
* LCSSA: insert phis in every blockElias Aebi2019-01-24
* clean upElias Aebi2019-01-24
* rewire keepalivesElias Aebi2019-01-24
* duplicate all innermost loopsElias Aebi2019-01-24
* use the link to detect backedgesElias Aebi2019-01-24
* correctly rewire phis inside successor blocksElias Aebi2019-01-24
* only visit each successor onceElias Aebi2019-01-24
* fix the rewire logicElias Aebi2019-01-24
* use the debug macroElias Aebi2019-01-24
* ignore outermost loopsElias Aebi2019-01-24
* LCSSA: add phi nodes for mode_M predecessorsElias Aebi2019-01-24
* LCSSA: ignore keep-alive edgesElias Aebi2019-01-24
* improve the rewire logicElias Aebi2019-01-24
* pass the loop header to the rewire functionsElias Aebi2019-01-24
* implement get_loop_headerElias Aebi2019-01-24
* link the new block to the original blockElias Aebi2019-01-24
* correctly rewire phi nodes inside the loop headerElias Aebi2019-01-24
* clean upElias Aebi2019-01-24
* rewire the successors outside the loopElias Aebi2019-01-24
* WIPElias Aebi2019-01-24
* fix a segfaultElias Aebi2019-01-24
* WIP loop unrollingElias Aebi2019-01-24
* coding styleElias Aebi2019-01-24
* separate the LCSSA functions into their own fileElias Aebi2019-01-24
* implement assure_loop_lcssaElias Aebi2019-01-24