summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/remat.ll
Commit message (Collapse)AuthorAgeFilesLines
* Re-enable register pressure aware machine licm with fixes. Hoist() may haveEvan Cheng2010-10-191-65/+0
| | | | | | | erased the instruction during LICM so UpdateRegPressureAfter() should not reference it afterwards. llvm-svn: 116845
* Revert r116781 "- Add a hook for target to determine whether an instruction defDaniel Dunbar2010-10-191-0/+65
| | | | | | is", which breaks some nightly tests. llvm-svn: 116816
* - Add a hook for target to determine whether an instruction def isEvan Cheng2010-10-191-65/+0
| | | | | | | | | | | "long latency" enough to hoist even if it may increase spilling. Reloading a value from spill slot is often cheaper than performing an expensive computation in the loop. For X86, that means machine LICM will hoist SQRT, DIV, etc. ARM will be somewhat aggressive with VFP and NEON instructions. - Enable register pressure aware machine LICM by default. llvm-svn: 116781
* When sending stats output to stdout for grepping, don't emit normalDan Gohman2010-08-181-1/+1
| | | | | | output to standard output also. llvm-svn: 111435
* Remove arm_apcscc from the test files. It is the default and doing thisRafael Espindola2010-06-171-3/+3
| | | | | | matches what llvm-gcc and clang now produce. llvm-svn: 106221
* Delete dead PHI machine instructions. These can be created due to typeBob Wilson2010-02-101-3/+3
| | | | | | | | | legalization even when the IR-level optimizer has removed dead phis, such as when the high half of an i64 value is unused on a 32-bit target. I had to adjust a few test cases that had dead phis. This is a partial fix for Radar 7627077. llvm-svn: 95816
* Run codegen dce pass for all targets at all optimization levels. Previously it'sEvan Cheng2010-02-061-116/+62
| | | | | | | | | | only run for x86 with fastisel. I've found it being very effective in eliminating some obvious dead code as result of formal parameter lowering especially when tail call optimization eliminated the need for some of the loads from fixed frame objects. It also shrinks a number of the tests. A couple of tests no longer make sense and are now eliminated. llvm-svn: 95493
* Revert LoopStrengthReduce.cpp to pre-r94061 for now.Dan Gohman2010-01-221-1/+2
| | | | llvm-svn: 94123
* Re-implement the main strength-reduction portion of LoopStrengthReduction.Dan Gohman2010-01-211-2/+1
| | | | | | | | | | | | | | This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure. It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index. llvm-svn: 94061
* Fix codegen of conditional move of immediates. We were not making use of the ↵Evan Cheng2009-11-201-1/+1
| | | | | | immediate forms of cmov instructions at all. llvm-svn: 89423
* Re-apply 85799. It turns out my code isn't buggy.Evan Cheng2009-11-031-1/+1
| | | | llvm-svn: 85947
* Revert 85799 for now. It might be breaking llvm-gcc driver.Evan Cheng2009-11-021-1/+1
| | | | llvm-svn: 85827
* Initilize the machine LICM CSE map upon the first time an instruction is ↵Evan Cheng2009-11-021-1/+1
| | | | | | | | | | hoisted to the loop preheader. Add instructions which are already in the preheader block that may be common expressions of those that are hoisted out. These does get a few more instructions CSE'ed. llvm-svn: 85799
* Update this test; the code is the same but it gets counted as oneDan Gohman2009-10-091-1/+1
| | | | | | fewer remat. llvm-svn: 83690
* Clean up spill weight computation. Also some changes to give loop inductionEvan Cheng2009-09-211-1/+1
| | | | | | | | | | variable increment / decrement slighter high priority. This has major impact on some micro-benchmarks. On MultiSource/Applications and spec tests, it's a minor win. It also reduce 256.bzip instruction count by 8%, 55 on 164.gzip on i386 / Darwin. llvm-svn: 82485
* Eliminate more uses of llvm-as and llvm-dis.Dan Gohman2009-09-091-2/+2
| | | | llvm-svn: 81293
* Turn on machine LICM in non-fast mode.Evan Cheng2009-02-051-1/+1
| | | | llvm-svn: 63855
* Remove the need for -disable-correct-folding from this test.Owen Anderson2008-08-051-9/+12
| | | | llvm-svn: 54354
* Update these tests to work by disabling the new correct CFG generation. ↵Owen Anderson2008-08-041-1/+1
| | | | | | This flag should ONLY be used to for tests like these. llvm-svn: 54334
* Turning simple splitting on. Start testing new coalescer heuristics as new ↵Evan Cheng2007-12-061-1/+1
| | | | | | llcbeta. llvm-svn: 44660
* Update tests.Evan Cheng2007-11-291-0/+116
llvm-svn: 44435
OpenPOWER on IntegriCloud