summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/EarlyCSE/conditional.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/EarlyCSE/conditional.ll')
-rw-r--r--llvm/test/Transforms/EarlyCSE/conditional.ll108
1 files changed, 0 insertions, 108 deletions
diff --git a/llvm/test/Transforms/EarlyCSE/conditional.ll b/llvm/test/Transforms/EarlyCSE/conditional.ll
deleted file mode 100644
index d2bab4c9aca..00000000000
--- a/llvm/test/Transforms/EarlyCSE/conditional.ll
+++ /dev/null
@@ -1,108 +0,0 @@
-; RUN: opt -early-cse -S < %s | FileCheck %s
-; RUN: opt -basicaa -early-cse-memssa -S < %s | FileCheck %s
-
-; Can we CSE a known condition to a constant?
-define i1 @test(i8* %p) {
-; CHECK-LABEL: @test
-entry:
- %cnd1 = icmp eq i8* %p, null
- br i1 %cnd1, label %taken, label %untaken
-
-taken:
-; CHECK-LABEL: taken:
-; CHECK-NEXT: ret i1 true
- %cnd2 = icmp eq i8* %p, null
- ret i1 %cnd2
-
-untaken:
-; CHECK-LABEL: untaken:
-; CHECK-NEXT: ret i1 false
- %cnd3 = icmp eq i8* %p, null
- ret i1 %cnd3
-}
-
-; We can CSE the condition, but we *don't* know it's value after the merge
-define i1 @test_neg1(i8* %p) {
-; CHECK-LABEL: @test_neg1
-entry:
- %cnd1 = icmp eq i8* %p, null
- br i1 %cnd1, label %taken, label %untaken
-
-taken:
- br label %merge
-
-untaken:
- br label %merge
-
-merge:
-; CHECK-LABEL: merge:
-; CHECK-NEXT: ret i1 %cnd1
- %cnd3 = icmp eq i8* %p, null
- ret i1 %cnd3
-}
-
-; Check specifically for a case where we have a unique predecessor, but
-; not a single predecessor. We can not know the value of the condition here.
-define i1 @test_neg2(i8* %p) {
-; CHECK-LABEL: @test_neg2
-entry:
- %cnd1 = icmp eq i8* %p, null
- br i1 %cnd1, label %merge, label %merge
-
-merge:
-; CHECK-LABEL: merge:
-; CHECK-NEXT: ret i1 %cnd1
- %cnd3 = icmp eq i8* %p, null
- ret i1 %cnd3
-}
-
-; Replace a use rather than CSE
-define i1 @test2(i8* %p) {
-; CHECK-LABEL: @test2
-entry:
- %cnd = icmp eq i8* %p, null
- br i1 %cnd, label %taken, label %untaken
-
-taken:
-; CHECK-LABEL: taken:
-; CHECK-NEXT: ret i1 true
- ret i1 %cnd
-
-untaken:
-; CHECK-LABEL: untaken:
-; CHECK-NEXT: ret i1 false
- ret i1 %cnd
-}
-
-; Not legal to replace use given it's not dominated by edge
-define i1 @test2_neg1(i8* %p) {
-; CHECK-LABEL: @test2_neg1
-entry:
- %cnd1 = icmp eq i8* %p, null
- br i1 %cnd1, label %taken, label %untaken
-
-taken:
- br label %merge
-
-untaken:
- br label %merge
-
-merge:
-; CHECK-LABEL: merge:
-; CHECK-NEXT: ret i1 %cnd1
- ret i1 %cnd1
-}
-
-; Another single predecessor test, but for dominated use
-define i1 @test2_neg2(i8* %p) {
-; CHECK-LABEL: @test2_neg2
-entry:
- %cnd1 = icmp eq i8* %p, null
- br i1 %cnd1, label %merge, label %merge
-
-merge:
-; CHECK-LABEL: merge:
-; CHECK-NEXT: ret i1 %cnd1
- ret i1 %cnd1
-}
-
OpenPOWER on IntegriCloud