summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/JumpThreading/range-compare.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/range-compare.ll')
-rw-r--r--llvm/test/Transforms/JumpThreading/range-compare.ll125
1 files changed, 0 insertions, 125 deletions
diff --git a/llvm/test/Transforms/JumpThreading/range-compare.ll b/llvm/test/Transforms/JumpThreading/range-compare.ll
deleted file mode 100644
index 54e94d06649..00000000000
--- a/llvm/test/Transforms/JumpThreading/range-compare.ll
+++ /dev/null
@@ -1,125 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-;RUN: opt < %s -jump-threading -S | FileCheck %s
-
-
-declare void @bar(...)
-declare void @baz(...)
-
-; Make sure we thread the end of the bar block to the end of the function.
-define void @test1(i32 %x) {
-; CHECK-LABEL: @test1(
-; CHECK-NEXT: entry:
-; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 9
-; CHECK-NEXT: br i1 [[CMP]], label [[IF_END_THREAD:%.*]], label [[IF_END:%.*]]
-; CHECK: if.end.thread:
-; CHECK-NEXT: call void (...) @bar()
-; CHECK-NEXT: br label [[IF_END4:%.*]]
-; CHECK: if.end:
-; CHECK-NEXT: [[X_OFF:%.*]] = add i32 [[X]], -3
-; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i32 [[X_OFF]], 5
-; CHECK-NEXT: br i1 [[TMP0]], label [[IF_THEN3:%.*]], label [[IF_END4]]
-; CHECK: if.then3:
-; CHECK-NEXT: call void (...) @baz()
-; CHECK-NEXT: br label [[IF_END4]]
-; CHECK: if.end4:
-; CHECK-NEXT: ret void
-;
-entry:
- %cmp = icmp sgt i32 %x, 9
- br i1 %cmp, label %if.then, label %if.end
-
-if.then: ; preds = %entry
- call void (...) @bar()
- br label %if.end
-
-if.end: ; preds = %if.then, %entry
- %x.off = add i32 %x, -3
- %0 = icmp ult i32 %x.off, 5
- br i1 %0, label %if.then3, label %if.end4
-
-if.then3: ; preds = %if.end
- call void (...) @baz()
- br label %if.end4
-
-if.end4: ; preds = %if.then3, %if.end
- ret void
-}
-
-; Make sure we thread the false side of the first if to the end of the function.
-define void @test2(i32 %x) {
-; CHECK-LABEL: @test2(
-; CHECK-NEXT: entry:
-; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[X:%.*]], 9
-; CHECK-NEXT: br i1 [[CMP]], label [[IF_END:%.*]], label [[IF_END4:%.*]]
-; CHECK: if.end:
-; CHECK-NEXT: call void (...) @bar()
-; CHECK-NEXT: [[X_OFF:%.*]] = add i32 [[X]], -3
-; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i32 [[X_OFF]], 5
-; CHECK-NEXT: br i1 [[TMP0]], label [[IF_THEN3:%.*]], label [[IF_END4]]
-; CHECK: if.then3:
-; CHECK-NEXT: call void (...) @baz()
-; CHECK-NEXT: br label [[IF_END4]]
-; CHECK: if.end4:
-; CHECK-NEXT: ret void
-;
-entry:
- %cmp = icmp slt i32 %x, 9
- br i1 %cmp, label %if.then, label %if.end
-
-if.then: ; preds = %entry
- call void (...) @bar()
- br label %if.end
-
-if.end: ; preds = %if.then, %entry
- %x.off = add i32 %x, -3
- %0 = icmp ult i32 %x.off, 5
- br i1 %0, label %if.then3, label %if.end4
-
-if.then3: ; preds = %if.end
- call void (...) @baz()
- br label %if.end4
-
-if.end4: ; preds = %if.then3, %if.end
- ret void
-}
-
-; Negative test to make sure we don't thread when the ranges overlap.
-define void @test3(i32 %x) {
-; CHECK-LABEL: @test3(
-; CHECK-NEXT: entry:
-; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 6
-; CHECK-NEXT: br i1 [[CMP]], label [[IF_THEN:%.*]], label [[IF_END:%.*]]
-; CHECK: if.then:
-; CHECK-NEXT: call void (...) @bar()
-; CHECK-NEXT: br label [[IF_END]]
-; CHECK: if.end:
-; CHECK-NEXT: [[X_OFF:%.*]] = add i32 [[X]], -3
-; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i32 [[X_OFF]], 5
-; CHECK-NEXT: br i1 [[TMP0]], label [[IF_THEN3:%.*]], label [[IF_END4:%.*]]
-; CHECK: if.then3:
-; CHECK-NEXT: call void (...) @baz()
-; CHECK-NEXT: br label [[IF_END4]]
-; CHECK: if.end4:
-; CHECK-NEXT: ret void
-;
-entry:
- %cmp = icmp sgt i32 %x, 6
- br i1 %cmp, label %if.then, label %if.end
-
-if.then: ; preds = %entry
- call void (...) @bar()
- br label %if.end
-
-if.end: ; preds = %if.then, %entry
- %x.off = add i32 %x, -3
- %0 = icmp ult i32 %x.off, 5
- br i1 %0, label %if.then3, label %if.end4
-
-if.then3: ; preds = %if.end
- call void (...) @baz()
- br label %if.end4
-
-if.end4: ; preds = %if.then3, %if.end
- ret void
-}
-
OpenPOWER on IntegriCloud