summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-09-02 17:26:28 +0000
committerAndrew Trick <atrick@apple.com>2011-09-02 17:26:28 +0000
commit31b941a60dc0e2cb1598673c1d85e01d0df02ae6 (patch)
treee882c689416d1bfa41e401366f0650576c240330 /llvm/lib/Transforms/InstCombine
parentc302f5cce7fecb4a275e30a108b98e1dc83c57ec (diff)
downloadbcm5719-llvm-31b941a60dc0e2cb1598673c1d85e01d0df02ae6.tar.gz
bcm5719-llvm-31b941a60dc0e2cb1598673c1d85e01d0df02ae6.zip
Enable SCEV-based unrolling by default.
This changes loop unrolling to use the same mechanism for trip count computation as indvars. This is a stronger check that tends to unroll more loops. A very common side-effect is that many single iteration loops will be removed sooner. The real goal was simply to remove dependence on canonical IVs. x86 is break even. ARM performance changes to expect (+ is good): External/SPEC/CFP2000/183.equake/183.equake +13% SingleSource/Benchmarks/Dhrystone/fldry +21% MultiSource/Applications/spiff/spiff +3% SingleSource/Benchmarks/Stanford/Puzzle -14% The Puzzle regression is actually an improvement in loop optimization that defeats GVN: rdar://problem/10065079. llvm-svn: 139009
Diffstat (limited to 'llvm/lib/Transforms/InstCombine')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud