summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll')
-rw-r--r--llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll b/llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll
new file mode 100644
index 00000000000..1e5f18e371c
--- /dev/null
+++ b/llvm/test/Transforms/LoopVectorize/demanded-bits-of-pointer-instruction.ll
@@ -0,0 +1,20 @@
+; RUN: opt < %s -loop-vectorize -S | FileCheck %s
+
+; getDemandedBits() is called on the pointer-typed GEP instruction here.
+; Only make sure we do not crash.
+
+; CHECK: @test
+define void @test(i8* %ptr, i8* %ptr_end) {
+start:
+ br label %loop
+
+loop:
+ %ptr2 = phi i8* [ %ptr3, %loop ], [ %ptr, %start ]
+ %x = sext i8 undef to i64
+ %ptr3 = getelementptr inbounds i8, i8* %ptr2, i64 1
+ %cmp = icmp ult i8* %ptr3, %ptr_end
+ br i1 %cmp, label %loop, label %end
+
+end:
+ ret void
+}
OpenPOWER on IntegriCloud