diff options
Diffstat (limited to 'llvm/test/Transforms/InstCombine/shift-shift.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/shift-shift.ll | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/llvm/test/Transforms/InstCombine/shift-shift.ll b/llvm/test/Transforms/InstCombine/shift-shift.ll index 23a45e0967f..2968a9bf3c6 100644 --- a/llvm/test/Transforms/InstCombine/shift-shift.ll +++ b/llvm/test/Transforms/InstCombine/shift-shift.ll @@ -1,7 +1,9 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instcombine -S | FileCheck %s -; This would crash if we didn't check for a negative shift. +; These would crash if we didn't check for a negative shift. + +; https://llvm.org/bugs/show_bug.cgi?id=12967 define void @pr12967() { ; CHECK-LABEL: @pr12967( @@ -20,3 +22,22 @@ loop: br label %loop } +; https://llvm.org/bugs/show_bug.cgi?id=26760 + +define void @pr26760() { +; CHECK-LABEL: @pr26760( +; CHECK-NEXT: entry: +; CHECK-NEXT: br label %loop +; CHECK: loop: +; CHECK-NEXT: br label %loop +; +entry: + br label %loop + +loop: + %c = phi i32 [ %shl, %loop ], [ undef, %entry ] + %shr = lshr i32 %c, 7 + %shl = shl i32 %shr, -2 + br label %loop +} + |