diff options
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.ll | 20 |
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 +} |