summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopStrengthReduce
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-02-20 04:17:46 +0000
committerDan Gohman <gohman@apple.com>2009-02-20 04:17:46 +0000
commit2a12ae7d1fda42e15acf4482e39104fa5ac3a7cd (patch)
tree5d8f99f7c99df820bef782faf21ffacfd1afe7f8 /llvm/test/Transforms/LoopStrengthReduce
parentcf7cbe74414c1ad51252ea08b48b0526ee0fd078 (diff)
downloadbcm5719-llvm-2a12ae7d1fda42e15acf4482e39104fa5ac3a7cd.tar.gz
bcm5719-llvm-2a12ae7d1fda42e15acf4482e39104fa5ac3a7cd.zip
Implement "superhero" strength reduction, or full strength
reduction of address calculations down to basic pointer arithmetic. This is currently off by default, as it needs a few other features before it becomes generally useful. And even when enabled, full strength reduction is only performed when it doesn't increase register pressure, and when several other conditions are true. This also factors out a bunch of exisiting LSR code out of StrengthReduceStridedIVUsers into separate functions, and tidies up IV insertion. This actually decreases register pressure even in non-superhero mode. The change in iv-users-in-other-loops.ll is an example of this; there are two more adds because there are two fewer leas, and there is less spilling. llvm-svn: 65108
Diffstat (limited to 'llvm/test/Transforms/LoopStrengthReduce')
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll b/llvm/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll
index a521ba4e2d9..2c9c70de836 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll
@@ -1,5 +1,5 @@
; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \
-; RUN: grep {add i32 %iv.*inc, 1}
+; RUN: grep {add i32 %lsr.iv.next, 1}
;
; Make sure that the use of the IV outside of the loop (the store) uses the
; post incremented value of the IV, not the preincremented value. This
OpenPOWER on IntegriCloud