summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/loop-strength-reduce.ll
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2008-12-05 21:47:27 +0000
committerDale Johannesen <dalej@apple.com>2008-12-05 21:47:27 +0000
commit203af58aea3ae341d38e5c2c5b390b0c31d25557 (patch)
tree8f120f606205a8437f8acacb0e52492d0841e82f /test/CodeGen/X86/loop-strength-reduce.ll
parentb51deb929ca95ce62e622b0475a05d83f26ab04d (diff)
downloadllvm-203af58aea3ae341d38e5c2c5b390b0c31d25557.tar.gz
llvm-203af58aea3ae341d38e5c2c5b390b0c31d25557.tar.bz2
llvm-203af58aea3ae341d38e5c2c5b390b0c31d25557.tar.xz
Make LoopStrengthReduce smarter about hoisting things out of
loops when they can be subsumed into addressing modes. Change X86 addressing mode check to realize that some PIC references need an extra register. (I believe this is correct for Linux, if not, I'm sure someone will tell me.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60608 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/loop-strength-reduce.ll')
-rw-r--r--test/CodeGen/X86/loop-strength-reduce.ll7
1 files changed, 4 insertions, 3 deletions
diff --git a/test/CodeGen/X86/loop-strength-reduce.ll b/test/CodeGen/X86/loop-strength-reduce.ll
index 8bacbd97bb..873710112b 100644
--- a/test/CodeGen/X86/loop-strength-reduce.ll
+++ b/test/CodeGen/X86/loop-strength-reduce.ll
@@ -1,7 +1,8 @@
-; RUN: llvm-as < %s | llc -march=x86 | \
-; RUN: grep {A(} | count 1
+; RUN: llvm-as < %s | llc -march=x86 -relocation-model=static | \
+; RUN: grep {A+} | count 2
;
-; Make sure the common loop invariant _A(reg) is hoisted up to preheader.
+; Make sure the common loop invariant A is not hoisted up to preheader,
+; since it can be subsumed into the addressing mode in all uses.
@A = internal global [16 x [16 x i32]] zeroinitializer, align 32 ; <[16 x [16 x i32]]*> [#uses=2]