summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorGuozhi Wei <carrot@google.com>2017-12-28 17:02:34 +0000
committerGuozhi Wei <carrot@google.com>2017-12-28 17:02:34 +0000
commitde740eaa7695b3ae2aa07706431bd22428656784 (patch)
tree0691f59d60962df798bc320f42c2e7789ee7de7c /test/Transforms
parent8e02a4b93a9232f5392011b5b606fee1b130c4bb (diff)
Revert r321377, it causes regression to https://reviews.llvm.org/P8055.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321528 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/SimplifyCFG/X86/if-conversion.ll231
1 files changed, 0 insertions, 231 deletions
diff --git a/test/Transforms/SimplifyCFG/X86/if-conversion.ll b/test/Transforms/SimplifyCFG/X86/if-conversion.ll
deleted file mode 100644
index 28702572d48..00000000000
--- a/test/Transforms/SimplifyCFG/X86/if-conversion.ll
+++ /dev/null
@@ -1,231 +0,0 @@
-; RUN: opt < %s -simplifycfg -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7 -S | FileCheck %s
-; Avoid if-conversion if there is a long dependence chain.
-
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
-
-; The first several cases test FindLongDependenceChain returns true, so
-; if-conversion is blocked.
-
-define i64 @test1(i64** %pp, i64* %p) {
-entry:
- %0 = load i64*, i64** %pp, align 8
- %1 = load i64, i64* %0, align 8
- %cmp = icmp slt i64 %1, 0
- %pint = ptrtoint i64* %p to i64
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = or i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %ptr = inttoptr i64 %p3 to i64*
- %val = load i64, i64* %ptr, align 8
- ret i64 %val
-
-; CHECK-NOT: select
-}
-
-define i64 @test2(i64** %pp, i64* %p) {
-entry:
- %0 = load i64*, i64** %pp, align 8
- %1 = load i64, i64* %0, align 8
- %cmp = icmp slt i64 %1, 0
- %pint = ptrtoint i64* %p to i64
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = add i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %ptr = inttoptr i64 %p3 to i64*
- %val = load i64, i64* %ptr, align 8
- ret i64 %val
-
-; CHECK-LABEL: @test2
-; CHECK-NOT: select
-}
-
-; The following cases test FindLongDependenceChain returns false, so
-; if-conversion will proceed.
-
-; Non trivial LatencyAdjustment.
-define i64 @test3(i64** %pp, i64* %p) {
-entry:
- %0 = load i64*, i64** %pp, align 8
- %1 = load i64, i64* %0, align 8
- %cmp = icmp slt i64 %1, 0
- %pint = ptrtoint i64* %p to i64
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = or i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %p4 = add i64 %p3, %1
- %ptr = inttoptr i64 %p4 to i64*
- %val = load i64, i64* %ptr, align 8
- ret i64 %val
-
-; CHECK-LABEL: @test3
-; CHECK: select
-}
-
-; Short dependence chain.
-define i64 @test4(i64* %pp, i64* %p) {
-entry:
- %0 = load i64, i64* %pp, align 8
- %cmp = icmp slt i64 %0, 0
- %pint = ptrtoint i64* %p to i64
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = or i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %ptr = inttoptr i64 %p3 to i64*
- %val = load i64, i64* %ptr, align 8
- ret i64 %val
-
-; CHECK-LABEL: @test4
-; CHECK: select
-}
-
-; High IPC.
-define i64 @test5(i64** %pp, i64* %p) {
-entry:
- %0 = load i64*, i64** %pp, align 8
- %1 = load i64, i64* %0, align 8
- %cmp = icmp slt i64 %1, 0
- %pint = ptrtoint i64* %p to i64
- %2 = add i64 %pint, 2
- %3 = add i64 %pint, 3
- %4 = or i64 %pint, 16
- %5 = and i64 %pint, 255
-
- %6 = or i64 %2, 9
- %7 = and i64 %3, 255
- %8 = add i64 %4, 4
- %9 = add i64 %5, 5
-
- %10 = add i64 %6, 2
- %11 = add i64 %7, 3
- %12 = add i64 %8, 4
- %13 = add i64 %9, 5
-
- %14 = add i64 %10, 6
- %15 = add i64 %11, 7
- %16 = add i64 %12, 8
- %17 = add i64 %13, 9
-
- %18 = add i64 %14, 10
- %19 = add i64 %15, 11
- %20 = add i64 %16, 12
- %21 = add i64 %17, 13
-
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = or i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %ptr = inttoptr i64 %p3 to i64*
- %val = load i64, i64* %ptr, align 8
-
- ret i64 %val
-
-; CHECK-LABEL: @test5
-; CHECK: select
-}
-
-; Large BB size.
-define i64 @test6(i64** %pp, i64* %p) {
-entry:
- %0 = load i64*, i64** %pp, align 8
- %1 = load i64, i64* %0, align 8
- %cmp = icmp slt i64 %1, 0
- %pint = ptrtoint i64* %p to i64
- br i1 %cmp, label %cond.true, label %cond.false
-
-cond.true:
- %p1 = add i64 %pint, 8
- br label %cond.end
-
-cond.false:
- %p2 = or i64 %pint, 16
- br label %cond.end
-
-cond.end:
- %p3 = phi i64 [%p1, %cond.true], [%p2, %cond.false]
- %ptr = inttoptr i64 %p3 to i64*
- %val = load i64, i64* %ptr, align 8
- %2 = add i64 %pint, 2
- %3 = add i64 %pint, 3
- %4 = add i64 %2, 4
- %5 = add i64 %3, 5
- %6 = add i64 %4, 6
- %7 = add i64 %5, 7
- %8 = add i64 %6, 6
- %9 = add i64 %7, 7
- %10 = add i64 %8, 6
- %11 = add i64 %9, 7
- %12 = add i64 %10, 6
- %13 = add i64 %11, 7
- %14 = add i64 %12, 6
- %15 = add i64 %13, 7
- %16 = add i64 %14, 6
- %17 = add i64 %15, 7
- %18 = add i64 %16, 6
- %19 = add i64 %17, 7
- %20 = add i64 %18, 6
- %21 = add i64 %19, 7
- %22 = add i64 %20, 6
- %23 = add i64 %21, 7
- %24 = add i64 %22, 6
- %25 = add i64 %23, 7
- %26 = add i64 %24, 6
- %27 = add i64 %25, 7
- %28 = add i64 %26, 6
- %29 = add i64 %27, 7
- %30 = add i64 %28, 6
- %31 = add i64 %29, 7
- %32 = add i64 %30, 8
- %33 = add i64 %31, 9
- %34 = add i64 %32, %33
- %35 = and i64 %34, 255
- %res = add i64 %val, %35
-
- ret i64 %res
-
-; CHECK-LABEL: @test6
-; CHECK: select
-}