]> granicus.if.org Git - llvm/commitdiff
Add looping testcase that broke in r272987
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 18 Jun 2016 05:15:58 +0000 (05:15 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 18 Jun 2016 05:15:58 +0000 (05:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273081 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/trunc.ll

index 38f6b2804d637c84cb83630ab9f4a6fd92a56635..2019b3a6df47f7e4b4ef1317e551153691b2e2d4 100644 (file)
@@ -160,3 +160,24 @@ define i32 @trunc_bitcast3(<4 x i32> %v) {
 ; CHECK-NEXT:  ret i32 %ext
 }
 
+; CHECK-LABEL: @trunc_shl_infloop(
+; CHECK: %tmp = lshr i64 %arg, 1
+; CHECK: %tmp21 = shl i64 %tmp, 2
+; CHECK: %tmp2 = trunc i64 %tmp21 to i32
+; CHECK: icmp sgt i32 %tmp2, 0
+define void @trunc_shl_infloop(i64 %arg) {
+bb:
+  %tmp = lshr i64 %arg, 1
+  %tmp1 = trunc i64 %tmp to i32
+  %tmp2 = shl i32 %tmp1, 2
+  %tmp3 = icmp sgt i32 %tmp2, 0
+  br i1 %tmp3, label %bb2, label %bb1
+
+bb1:
+  %tmp5 = sub i32 0, %tmp1
+  %tmp6 = sub i32 %tmp5, 1
+  unreachable
+
+bb2:
+  unreachable
+}