summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Landden <shawn@git.icu>2019-05-26 15:29:10 +0000
committerShawn Landden <shawn@git.icu>2019-05-26 15:29:10 +0000
commit7b883b7ed0555527f6c1facc249fc7bd61062d7f (patch)
treeb56e605f00200c6f21533d5f049ddced6b4e2c70
parente434368a67c0a1086c8310341650d60286b6ab82 (diff)
downloadbcm5719-llvm-7b883b7ed0555527f6c1facc249fc7bd61062d7f.tar.gz
bcm5719-llvm-7b883b7ed0555527f6c1facc249fc7bd61062d7f.zip
[SimplifyCFG] NFC, one more fixed test from previous push.
The old test was checking for a stupid subtract one that is a transform that makes the code woorse. The constant-islands-jump-table.ll test wants the code a specific way, that makes sense, so I will submit code to fix that one. Sorry that I really didn't know how to run the test suite before this. llvm-svn: 361733
-rw-r--r--llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll56
1 files changed, 19 insertions, 37 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll b/llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
index a931e908439..b6573de4975 100644
--- a/llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
+++ b/llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
@@ -182,43 +182,25 @@ declare i32 @f4(i32, i32)
declare i32 @f5(i32, i32)
define i32 @test4(i32 %a, i32 %b, i32 %c) {
-; ENABLE-LABEL: @test4(
-; ENABLE-NEXT: entry:
-; ENABLE-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i32 [[A:%.*]], 1
-; ENABLE-NEXT: [[TMP0:%.*]] = icmp ult i32 [[SWITCH_TABLEIDX]], 3
-; ENABLE-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[COND_FALSE6:%.*]]
-; ENABLE: cond.false6:
-; ENABLE-NEXT: [[CMP7:%.*]] = icmp eq i32 [[A]], 4
-; ENABLE-NEXT: [[COND:%.*]] = select i1 [[CMP7]], i32 (i32, i32)* @f4, i32 (i32, i32)* @f5
-; ENABLE-NEXT: br label [[COND_END11:%.*]]
-; ENABLE: switch.lookup:
-; ENABLE-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [3 x i32 (i32, i32)*], [3 x i32 (i32, i32)*]* @switch.table.test4, i32 0, i32 [[SWITCH_TABLEIDX]]
-; ENABLE-NEXT: [[SWITCH_LOAD:%.*]] = load i32 (i32, i32)*, i32 (i32, i32)** [[SWITCH_GEP]]
-; ENABLE-NEXT: br label [[COND_END11]]
-; ENABLE: cond.end11:
-; ENABLE-NEXT: [[COND12:%.*]] = phi i32 (i32, i32)* [ [[COND]], [[COND_FALSE6]] ], [ [[SWITCH_LOAD]], [[SWITCH_LOOKUP]] ]
-; ENABLE-NEXT: [[CALL:%.*]] = call i32 [[COND12]](i32 [[B:%.*]], i32 [[C:%.*]])
-; ENABLE-NEXT: ret i32 [[CALL]]
-;
-; DISABLE-LABEL: @test4(
-; DISABLE-NEXT: entry:
-; DISABLE-NEXT: switch i32 [[A:%.*]], label [[COND_FALSE6:%.*]] [
-; DISABLE-NEXT: i32 1, label [[COND_END11:%.*]]
-; DISABLE-NEXT: i32 2, label [[COND_END11_FOLD_SPLIT:%.*]]
-; DISABLE-NEXT: i32 3, label [[COND_END11_FOLD_SPLIT1:%.*]]
-; DISABLE-NEXT: ]
-; DISABLE: cond.false6:
-; DISABLE-NEXT: [[CMP7:%.*]] = icmp eq i32 [[A]], 4
-; DISABLE-NEXT: [[COND:%.*]] = select i1 [[CMP7]], i32 (i32, i32)* @f4, i32 (i32, i32)* @f5
-; DISABLE-NEXT: br label [[COND_END11]]
-; DISABLE: cond.end11.fold.split:
-; DISABLE-NEXT: br label [[COND_END11]]
-; DISABLE: cond.end11.fold.split1:
-; DISABLE-NEXT: br label [[COND_END11]]
-; DISABLE: cond.end11:
-; DISABLE-NEXT: [[COND12:%.*]] = phi i32 (i32, i32)* [ @f1, [[ENTRY:%.*]] ], [ [[COND]], [[COND_FALSE6]] ], [ @f2, [[COND_END11_FOLD_SPLIT]] ], [ @f3, [[COND_END11_FOLD_SPLIT1]] ]
-; DISABLE-NEXT: [[CALL:%.*]] = call i32 [[COND12]](i32 [[B:%.*]], i32 [[C:%.*]])
-; DISABLE-NEXT: ret i32 [[CALL]]
+; CHECK-LABEL: @test4(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: switch i32 [[A:%.*]], label [[COND_FALSE6:%.*]] [
+; CHECK-NEXT: i32 1, label [[COND_END11:%.*]]
+; CHECK-NEXT: i32 2, label [[COND_END11_FOLD_SPLIT:%.*]]
+; CHECK-NEXT: i32 3, label [[COND_END11_FOLD_SPLIT1:%.*]]
+; CHECK-NEXT: ]
+; CHECK: cond.false6:
+; CHECK-NEXT: [[CMP7:%.*]] = icmp eq i32 [[A]], 4
+; CHECK-NEXT: [[COND:%.*]] = select i1 [[CMP7]], i32 (i32, i32)* @f4, i32 (i32, i32)* @f5
+; CHECK-NEXT: br label [[COND_END11]]
+; CHECK: cond.end11.fold.split:
+; CHECK-NEXT: br label [[COND_END11]]
+; CHECK: cond.end11.fold.split1:
+; CHECK-NEXT: br label [[COND_END11]]
+; CHECK: cond.end11:
+; CHECK-NEXT: [[COND12:%.*]] = phi i32 (i32, i32)* [ @f1, [[ENTRY:%.*]] ], [ [[COND]], [[COND_FALSE6]] ], [ @f2, [[COND_END11_FOLD_SPLIT]] ], [ @f3, [[COND_END11_FOLD_SPLIT1]] ]
+; CHECK-NEXT: [[CALL:%.*]] = call i32 [[COND12]](i32 [[B:%.*]], i32 [[C:%.*]])
+; CHECK-NEXT: ret i32 [[CALL]]
;
entry:
%cmp = icmp eq i32 %a, 1
OpenPOWER on IntegriCloud