summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
committerEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
commita86343512845c9c1fdbac865fea88aa5fce7142a (patch)
tree666fc6353de19ad8b00e56b67edd33f24104e4a7 /llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
parent7f8ca6e3679b3af951cb7a4b1377edfaa3244b93 (diff)
downloadbcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.tar.gz
bcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.zip
Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll')
-rw-r--r--llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll141
1 files changed, 0 insertions, 141 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll b/llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
deleted file mode 100644
index 165e5b264ae..00000000000
--- a/llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
+++ /dev/null
@@ -1,141 +0,0 @@
-; RUN: opt < %s -simplifycfg -S | FileCheck -enable-var-scope %s
-
-; Test basic folding to a conditional branch.
-define i32 @foo(i64 %x, i64 %y) nounwind {
-; CHECK-LABEL: @foo(
-entry:
- %eq = icmp eq i64 %x, %y
- br i1 %eq, label %b, label %switch
-switch:
- %lt = icmp slt i64 %x, %y
-; CHECK: br i1 %lt, label %a, label %b
- %qux = select i1 %lt, i32 0, i32 2
- switch i32 %qux, label %bees [
- i32 0, label %a
- i32 1, label %b
- i32 2, label %b
- ]
-a:
- tail call void @bees.a() nounwind
- ret i32 1
-; CHECK: b:
-; CHECK-NEXT: %retval = phi i32 [ 0, %switch ], [ 2, %entry ]
-b:
- %retval = phi i32 [0, %switch], [0, %switch], [2, %entry]
- tail call void @bees.b() nounwind
- ret i32 %retval
-; CHECK-NOT: bees:
-bees:
- tail call void @llvm.trap() nounwind
- unreachable
-}
-
-; Test basic folding to an unconditional branch.
-define i32 @bar(i64 %x, i64 %y) nounwind {
-; CHECK-LABEL: @bar(
-entry:
-; CHECK-NEXT: entry:
-; CHECK-NEXT: tail call void @bees.a() [[$NUW:#[0-9]+]]
-; CHECK-NEXT: ret i32 0
- %lt = icmp slt i64 %x, %y
- %qux = select i1 %lt, i32 0, i32 2
- switch i32 %qux, label %bees [
- i32 0, label %a
- i32 1, label %b
- i32 2, label %a
- ]
-a:
- %retval = phi i32 [0, %entry], [0, %entry], [1, %b]
- tail call void @bees.a() nounwind
- ret i32 0
-b:
- tail call void @bees.b() nounwind
- br label %a
-bees:
- tail call void @llvm.trap() nounwind
- unreachable
-}
-
-; Test the edge case where both values from the select are the default case.
-define void @bazz(i64 %x, i64 %y) nounwind {
-; CHECK-LABEL: @bazz(
-entry:
-; CHECK-NEXT: entry:
-; CHECK-NEXT: tail call void @bees.b() [[$NUW]]
-; CHECK-NEXT: ret void
- %lt = icmp slt i64 %x, %y
- %qux = select i1 %lt, i32 10, i32 12
- switch i32 %qux, label %b [
- i32 0, label %a
- i32 1, label %bees
- i32 2, label %bees
- ]
-a:
- tail call void @bees.a() nounwind
- ret void
-b:
- tail call void @bees.b() nounwind
- ret void
-bees:
- tail call void @llvm.trap()
- unreachable
-}
-
-; Test the edge case where both values from the select are equal.
-define void @quux(i64 %x, i64 %y) nounwind {
-; CHECK-LABEL: @quux(
-entry:
-; CHECK-NEXT: entry:
-; CHECK-NEXT: tail call void @bees.a() [[$NUW]]
-; CHECK-NEXT: ret void
- %lt = icmp slt i64 %x, %y
- %qux = select i1 %lt, i32 0, i32 0
- switch i32 %qux, label %b [
- i32 0, label %a
- i32 1, label %bees
- i32 2, label %bees
- ]
-a:
- tail call void @bees.a() nounwind
- ret void
-b:
- tail call void @bees.b() nounwind
- ret void
-bees:
- tail call void @llvm.trap()
- unreachable
-}
-
-; A final test, for phi node munging.
-define i32 @xyzzy(i64 %x, i64 %y) {
-; CHECK-LABEL: @xyzzy(
-entry:
- %eq = icmp eq i64 %x, %y
- br i1 %eq, label %r, label %cont
-cont:
-; CHECK: %lt = icmp slt i64 %x, %y
- %lt = icmp slt i64 %x, %y
-; CHECK-NEXT: select i1 %lt, i32 -1, i32 1
- %qux = select i1 %lt, i32 0, i32 2
- switch i32 %qux, label %bees [
- i32 0, label %a
- i32 1, label %r
- i32 2, label %r
- ]
-r:
- %val = phi i32 [0, %entry], [1, %cont], [1, %cont]
- ret i32 %val
-a:
- ret i32 -1
-; CHECK-NOT: bees:
-bees:
- tail call void @llvm.trap()
- unreachable
-}
-
-declare void @llvm.trap() nounwind noreturn
-declare void @bees.a() nounwind
-declare void @bees.b() nounwind
-
-; CHECK: attributes [[$NUW]] = { nounwind }
-; CHECK: attributes #1 = { cold noreturn nounwind }
OpenPOWER on IntegriCloud