diff options
| author | Petr Hosek <phosek@chromium.org> | 2019-07-07 22:12:01 +0000 |
|---|---|---|
| committer | Petr Hosek <phosek@chromium.org> | 2019-07-07 22:12:01 +0000 |
| commit | e28fca29fefef678656b80c1267d4721ed96293e (patch) | |
| tree | 1007c0206914aa873f02ee0a41c4a2d9dee650ed /llvm/test/Transforms/LoopPredication/invariant_load.ll | |
| parent | 8d9d290d4c0752626374dc681a3417113e08c862 (diff) | |
| download | bcm5719-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.ll | 3 |
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 |

