aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/switch-jump-table.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/switch-jump-table.ll')
-rw-r--r--test/CodeGen/X86/switch-jump-table.ll92
1 files changed, 0 insertions, 92 deletions
diff --git a/test/CodeGen/X86/switch-jump-table.ll b/test/CodeGen/X86/switch-jump-table.ll
deleted file mode 100644
index 6393c688e282..000000000000
--- a/test/CodeGen/X86/switch-jump-table.ll
+++ /dev/null
@@ -1,92 +0,0 @@
-; RUN: llc -mtriple=i686-pc-gnu-linux < %s | FileCheck %s
-; RUN: llc -mtriple=i686-pc-gnu-linux -print-machineinstrs=expand-isel-pseudos %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=CHECK-JT-PROB
-
-
-; An unreachable default destination is replaced with the most popular case label.
-
-define void @foo(i32 %x, i32* %to) {
-; CHECK-LABEL: foo:
-; CHECK: movl 4(%esp), [[REG:%e[a-z]{2}]]
-; CHECK: cmpl $3, [[REG]]
-; CHECK: ja .LBB0_6
-; CHECK-NEXT: # BB#1:
-; CHECK-NEXT: jmpl *.LJTI0_0(,[[REG]],4)
-; CHECK: movl $4
-; CHECK: retl
-
-entry:
- switch i32 %x, label %default [
- i32 0, label %bb0
- i32 1, label %bb1
- i32 2, label %bb2
- i32 3, label %bb3
- i32 4, label %bb4
- i32 5, label %bb4
- ]
-bb0:
- store i32 0, i32* %to
- br label %exit
-bb1:
- store i32 1, i32* %to
- br label %exit
-bb2:
- store i32 2, i32* %to
- br label %exit
-bb3:
- store i32 3, i32* %to
- br label %exit
-bb4:
- store i32 4, i32* %to
- br label %exit
-exit:
- ret void
-default:
- unreachable
-
-; The jump table has four entries.
-; CHECK-LABEL: .LJTI0_0:
-; CHECK-NEXT: .long .LBB0_2
-; CHECK-NEXT: .long .LBB0_3
-; CHECK-NEXT: .long .LBB0_4
-; CHECK-NEXT: .long .LBB0_5
-}
-
-; Check if branch probabilities are correctly assigned to the jump table.
-
-define void @bar(i32 %x, i32* %to) {
-; CHECK-JT-PROB-LABEL: bar:
-; CHECK-JT-PROB: Successors according to CFG: BB#6({{[0-9a-fx/= ]+}}14.29%) BB#8({{[0-9a-fx/= ]+}}85.71%)
-; CHECK-JT-PROB: Successors according to CFG: BB#1({{[0-9a-fx/= ]+}}16.67%) BB#2({{[0-9a-fx/= ]+}}16.67%) BB#3({{[0-9a-fx/= ]+}}16.67%) BB#4({{[0-9a-fx/= ]+}}16.67%) BB#5({{[0-9a-fx/= ]+}}33.33%)
-
-entry:
- switch i32 %x, label %default [
- i32 0, label %bb0
- i32 1, label %bb1
- i32 2, label %bb2
- i32 3, label %bb3
- i32 4, label %bb4
- i32 5, label %bb4
- ], !prof !1
-bb0:
- store i32 0, i32* %to
- br label %exit
-bb1:
- store i32 1, i32* %to
- br label %exit
-bb2:
- store i32 2, i32* %to
- br label %exit
-bb3:
- store i32 3, i32* %to
- br label %exit
-bb4:
- store i32 4, i32* %to
- br label %exit
-default:
- store i32 5, i32* %to
- br label %exit
-exit:
- ret void
-}
-
-!1 = !{!"branch_weights", i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16}