diff --git a/llvm/test/Transforms/DeadStoreElimination/assume.ll b/llvm/test/Transforms/DeadStoreElimination/assume.ll index c131ae904bf505f768ab0521f64d4d71698f2115..10c3f054da4bdd8951be2b5b852e8e95ebc6679d 100644 --- a/llvm/test/Transforms/DeadStoreElimination/assume.ll +++ b/llvm/test/Transforms/DeadStoreElimination/assume.ll @@ -17,6 +17,25 @@ define void @f() { ret void } +define void @f2() { +; CHECK-LABEL: @f2( +; CHECK-NEXT: [[TMP1:%.*]] = call noalias i8* @_Znwm(i64 32) +; CHECK-NEXT: [[TMP2:%.*]] = icmp ugt i8* [[TMP1]], @global +; CHECK-NEXT: call void @llvm.assume(i1 [[TMP2]]) +; CHECK-NEXT: store i8 0, i8* [[TMP1]], align 1 +; CHECK-NEXT: call void @quux(i8* @global) +; CHECK-NEXT: ret void +; + %tmp1 = call noalias i8* @_Znwm(i64 32) + %tmp2 = icmp ugt i8* %tmp1, @global + call void @llvm.assume(i1 %tmp2) + store i8 0, i8* %tmp1, align 1 + call void @quux(i8* @global) + ret void +} + declare i8* @_Znwm(i64) declare void @llvm.assume(i1) + +declare void @quux(i8*)