diff options
| author | Shawn Landden <shawn@git.icu> | 2019-05-26 18:15:51 +0000 |
|---|---|---|
| committer | Shawn Landden <shawn@git.icu> | 2019-05-26 18:15:51 +0000 |
| commit | 343578759e20958b9c41ab9dedc8b4719e90fdda (patch) | |
| tree | 70861408fe3f43a3fd14fb69a2124fff8e9b2a78 /llvm/test/Transforms/SimplifyCFG/rangereduce.ll | |
| parent | bd324fa2273778430a4fdf8371fec5d64d2231bb (diff) | |
| download | bcm5719-llvm-343578759e20958b9c41ab9dedc8b4719e90fdda.tar.gz bcm5719-llvm-343578759e20958b9c41ab9dedc8b4719e90fdda.zip | |
[SimplifyCFG] back out all SwitchInst commits
They caused the sanitizer builds to fail.
My suspicion is the change the countLeadingZeros().
llvm-svn: 361736
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/rangereduce.ll')
| -rw-r--r-- | llvm/test/Transforms/SimplifyCFG/rangereduce.ll | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/rangereduce.ll b/llvm/test/Transforms/SimplifyCFG/rangereduce.ll index 804882fe761..849f55f6f39 100644 --- a/llvm/test/Transforms/SimplifyCFG/rangereduce.ll +++ b/llvm/test/Transforms/SimplifyCFG/rangereduce.ll @@ -119,12 +119,11 @@ three: ; Optimization shouldn't trigger; not an arithmetic progression define i32 @test4(i32 %a) { ; CHECK-LABEL: @test4( -; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[A:%.*]], 97 -; CHECK-NEXT: switch i32 [[TMP1]], label [[DEF:%.*]] [ -; CHECK-NEXT: i32 0, label [[ONE:%.*]] -; CHECK-NEXT: i32 5, label [[TWO:%.*]] -; CHECK-NEXT: i32 8, label [[THREE:%.*]] -; CHECK-NEXT: i32 12, label [[THREE]] +; CHECK-NEXT: switch i32 [[A:%.*]], label [[DEF:%.*]] [ +; CHECK-NEXT: i32 97, label [[ONE:%.*]] +; CHECK-NEXT: i32 102, label [[TWO:%.*]] +; CHECK-NEXT: i32 105, label [[THREE:%.*]] +; CHECK-NEXT: i32 109, label [[THREE]] ; CHECK-NEXT: ] ; CHECK: def: ; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 8867, [[TMP0:%.*]] ], [ 11984, [[ONE]] ], [ 1143, [[TWO]] ], [ 99783, [[THREE]] ] @@ -157,12 +156,11 @@ three: ; Optimization shouldn't trigger; not a power of two define i32 @test5(i32 %a) { ; CHECK-LABEL: @test5( -; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[A:%.*]], 97 -; CHECK-NEXT: switch i32 [[TMP1]], label [[DEF:%.*]] [ -; CHECK-NEXT: i32 0, label [[ONE:%.*]] -; CHECK-NEXT: i32 5, label [[TWO:%.*]] -; CHECK-NEXT: i32 10, label [[THREE:%.*]] -; CHECK-NEXT: i32 15, label [[THREE]] +; CHECK-NEXT: switch i32 [[A:%.*]], label [[DEF:%.*]] [ +; CHECK-NEXT: i32 97, label [[ONE:%.*]] +; CHECK-NEXT: i32 102, label [[TWO:%.*]] +; CHECK-NEXT: i32 107, label [[THREE:%.*]] +; CHECK-NEXT: i32 112, label [[THREE]] ; CHECK-NEXT: ] ; CHECK: def: ; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 8867, [[TMP0:%.*]] ], [ 11984, [[ONE]] ], [ 1143, [[TWO]] ], [ 99783, [[THREE]] ] @@ -234,10 +232,10 @@ three: define i8 @test7(i8 %a) optsize { ; CHECK-LABEL: @test7( -; CHECK-NEXT: [[TMP1:%.*]] = lshr i8 [[A:%.*]], 2 -; CHECK-NEXT: [[TMP2:%.*]] = shl i8 [[A]], 6 -; CHECK-NEXT: [[TMP3:%.*]] = or i8 [[TMP1]], [[TMP2]] -; CHECK-NEXT: [[TMP4:%.*]] = sub i8 [[TMP3]], 55 +; CHECK-NEXT: [[TMP1:%.*]] = sub i8 [[A:%.*]], -36 +; CHECK-NEXT: [[TMP2:%.*]] = lshr i8 [[TMP1]], 2 +; CHECK-NEXT: [[TMP3:%.*]] = shl i8 [[TMP1]], 6 +; CHECK-NEXT: [[TMP4:%.*]] = or i8 [[TMP2]], [[TMP3]] ; CHECK-NEXT: [[TMP5:%.*]] = icmp ult i8 [[TMP4]], 4 ; CHECK-NEXT: br i1 [[TMP5]], label [[SWITCH_LOOKUP:%.*]], label [[DEF:%.*]] ; CHECK: switch.lookup: @@ -309,14 +307,15 @@ three: define i32 @test9(i32 %a) { ; CHECK-LABEL: @test9( -; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[A:%.*]], 1 -; CHECK-NEXT: [[TMP2:%.*]] = shl i32 [[A]], 31 -; CHECK-NEXT: [[TMP3:%.*]] = or i32 [[TMP1]], [[TMP2]] -; CHECK-NEXT: switch i32 [[TMP3]], label [[DEF:%.*]] [ -; CHECK-NEXT: i32 9, label [[ONE:%.*]] -; CHECK-NEXT: i32 10, label [[TWO:%.*]] -; CHECK-NEXT: i32 3, label [[THREE:%.*]] -; CHECK-NEXT: i32 5, label [[THREE]] +; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[A:%.*]], 6 +; CHECK-NEXT: [[TMP2:%.*]] = lshr i32 [[TMP1]], 1 +; CHECK-NEXT: [[TMP3:%.*]] = shl i32 [[TMP1]], 31 +; CHECK-NEXT: [[TMP4:%.*]] = or i32 [[TMP2]], [[TMP3]] +; CHECK-NEXT: switch i32 [[TMP4]], label [[DEF:%.*]] [ +; CHECK-NEXT: i32 6, label [[ONE:%.*]] +; CHECK-NEXT: i32 7, label [[TWO:%.*]] +; CHECK-NEXT: i32 0, label [[THREE:%.*]] +; CHECK-NEXT: i32 2, label [[THREE]] ; CHECK-NEXT: ] ; CHECK: def: ; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 8867, [[TMP0:%.*]] ], [ 11984, [[ONE]] ], [ 1143, [[TWO]] ], [ 99783, [[THREE]] ] |

