diff --git a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp index f00b6a5ce3f2..6737c62e94b6 100644 --- a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -125,7 +125,7 @@ DisableLFTR("disable-lftr", cl::Hidden, cl::init(false), cl::desc("Disable Linear Function Test Replace optimization")); static cl::opt -LoopPredication("indvars-predicate-loops", cl::Hidden, cl::init(false), +LoopPredication("indvars-predicate-loops", cl::Hidden, cl::init(true), cl::desc("Predicate conditions in read only loops")); namespace { diff --git a/llvm/test/Transforms/IndVarSimplify/exit_value_tests.ll b/llvm/test/Transforms/IndVarSimplify/exit_value_tests.ll index 619ee4d08ea9..f06164e4a1e5 100644 --- a/llvm/test/Transforms/IndVarSimplify/exit_value_tests.ll +++ b/llvm/test/Transforms/IndVarSimplify/exit_value_tests.ll @@ -226,7 +226,6 @@ loopexit: define i32 @unroll_phi_select(i32 %arg1, i32 %arg2, i16 %len) { ; CHECK-LABEL: @unroll_phi_select( ; CHECK-NEXT: entry: -; CHECK-NEXT: [[LENGTH:%.*]] = zext i16 [[LEN:%.*]] to i32 ; CHECK-NEXT: ret i32 [[ARG2:%.*]] ; entry: diff --git a/llvm/test/Transforms/LoopUnroll/scevunroll.ll b/llvm/test/Transforms/LoopUnroll/scevunroll.ll index d67e1cfe9d4d..ea473e1ccab6 100644 --- a/llvm/test/Transforms/LoopUnroll/scevunroll.ll +++ b/llvm/test/Transforms/LoopUnroll/scevunroll.ll @@ -67,12 +67,10 @@ exit2: ; SCEV properly unrolls multi-exit loops. ; ; CHECK-LABEL: @multiExit( -; CHECK: getelementptr i32, i32* %base, i32 10 +; CHECK: getelementptr i32, i32* %base, i32 %iv ; CHECK-NEXT: load i32, i32* -; CHECK: br i1 false, label %l2.10, label %exit1 -; CHECK: l2.10: -; CHECK-NOT: br -; CHECK: ret i32 +; CHECK: br i1 false, label %l2, label %exit1 +; CHECK: br i1 true, label %l1, label %exit2 define i32 @multiExit(i32* %base) nounwind { entry: br label %l1