summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopPredication/invariant_load.ll
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2019-07-07 22:12:01 +0000
committerPetr Hosek <phosek@chromium.org>2019-07-07 22:12:01 +0000
commite28fca29fefef678656b80c1267d4721ed96293e (patch)
tree1007c0206914aa873f02ee0a41c4a2d9dee650ed /llvm/test/Transforms/LoopPredication/invariant_load.ll
parent8d9d290d4c0752626374dc681a3417113e08c862 (diff)
downloadbcm5719-llvm-e28fca29fefef678656b80c1267d4721ed96293e.tar.gz
bcm5719-llvm-e28fca29fefef678656b80c1267d4721ed96293e.zip
Revert "[IRBuilder] Fold consistently for or/and whether constant is LHS or RHS"
This reverts commit r365260 which broke the following tests: Clang :: CodeGenCXX/cfi-mfcall.cpp Clang :: CodeGenObjC/ubsan-nullability.m LLVM :: Transforms/LoopVectorize/AArch64/pr36032.ll llvm-svn: 365284
Diffstat (limited to 'llvm/test/Transforms/LoopPredication/invariant_load.ll')
-rw-r--r--llvm/test/Transforms/LoopPredication/invariant_load.ll3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopPredication/invariant_load.ll b/llvm/test/Transforms/LoopPredication/invariant_load.ll
index 83b906f23df..ffdc38274ef 100644
--- a/llvm/test/Transforms/LoopPredication/invariant_load.ll
+++ b/llvm/test/Transforms/LoopPredication/invariant_load.ll
@@ -385,13 +385,14 @@ define i32 @constant_length(i32* %array, i32 %n) {
; CHECK-NEXT: br i1 [[TMP5]], label [[EXIT:%.*]], label [[LOOP_PREHEADER:%.*]]
; CHECK: loop.preheader:
; CHECK-NEXT: [[TMP0:%.*]] = icmp ule i32 [[N]], 20
+; CHECK-NEXT: [[TMP1:%.*]] = and i1 true, [[TMP0]]
; CHECK-NEXT: br label [[LOOP:%.*]]
; CHECK: loop:
; CHECK-NEXT: [[LOOP_ACC:%.*]] = phi i32 [ [[LOOP_ACC_NEXT:%.*]], [[LOOP]] ], [ 0, [[LOOP_PREHEADER]] ]
; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_NEXT:%.*]], [[LOOP]] ], [ 0, [[LOOP_PREHEADER]] ]
; CHECK-NEXT: [[UNKNOWN:%.*]] = load volatile i1, i1* @UNKNOWN
; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[UNKNOWN]]) [ "deopt"() ]
-; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[TMP0]], i32 9) [ "deopt"() ]
+; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[TMP1]], i32 9) [ "deopt"() ]
; CHECK-NEXT: [[I_I64:%.*]] = zext i32 [[I]] to i64
; CHECK-NEXT: [[ARRAY_I_PTR:%.*]] = getelementptr inbounds i32, i32* [[ARRAY:%.*]], i64 [[I_I64]]
; CHECK-NEXT: [[ARRAY_I:%.*]] = load i32, i32* [[ARRAY_I_PTR]], align 4
OpenPOWER on IntegriCloud