aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/code_placement_cold_loop_blocks.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/code_placement_cold_loop_blocks.ll')
-rw-r--r--test/CodeGen/X86/code_placement_cold_loop_blocks.ll122
1 files changed, 0 insertions, 122 deletions
diff --git a/test/CodeGen/X86/code_placement_cold_loop_blocks.ll b/test/CodeGen/X86/code_placement_cold_loop_blocks.ll
deleted file mode 100644
index d7dc8defac3a..000000000000
--- a/test/CodeGen/X86/code_placement_cold_loop_blocks.ll
+++ /dev/null
@@ -1,122 +0,0 @@
-; RUN: llc -mcpu=corei7 -mtriple=x86_64-linux < %s | FileCheck %s
-
-define void @foo() !prof !1 {
-; Test if a cold block in a loop will be placed at the end of the function
-; chain.
-;
-; CHECK-LABEL: foo:
-; CHECK: callq b
-; CHECK: callq c
-; CHECK: callq e
-; CHECK: callq f
-; CHECK: callq d
-
-entry:
- br label %header
-
-header:
- call void @b()
- %call = call zeroext i1 @a()
- br i1 %call, label %if.then, label %if.else, !prof !4
-
-if.then:
- call void @c()
- br label %if.end
-
-if.else:
- call void @d()
- br label %if.end
-
-if.end:
- call void @e()
- %call2 = call zeroext i1 @a()
- br i1 %call2, label %header, label %end, !prof !5
-
-end:
- call void @f()
- ret void
-}
-
-define void @nested_loop_0() !prof !1 {
-; Test if a block that is cold in the inner loop but not cold in the outer loop
-; will merged to the outer loop chain.
-;
-; CHECK-LABEL: nested_loop_0:
-; CHECK: callq c
-; CHECK: callq d
-; CHECK: callq e
-; CHECK: callq b
-; CHECK: callq f
-
-entry:
- br label %header
-
-header:
- call void @b()
- %call4 = call zeroext i1 @a()
- br i1 %call4, label %header2, label %end
-
-header2:
- call void @c()
- %call = call zeroext i1 @a()
- br i1 %call, label %if.then, label %if.else, !prof !2
-
-if.then:
- call void @d()
- %call3 = call zeroext i1 @a()
- br i1 %call3, label %header2, label %header, !prof !3
-
-if.else:
- call void @e()
- %call2 = call zeroext i1 @a()
- br i1 %call2, label %header2, label %header, !prof !3
-
-end:
- call void @f()
- ret void
-}
-
-define void @nested_loop_1() !prof !1 {
-; Test if a cold block in an inner loop will be placed at the end of the
-; function chain.
-;
-; CHECK-LABEL: nested_loop_1:
-; CHECK: callq b
-; CHECK: callq c
-; CHECK: callq e
-; CHECK: callq d
-
-entry:
- br label %header
-
-header:
- call void @b()
- br label %header2
-
-header2:
- call void @c()
- %call = call zeroext i1 @a()
- br i1 %call, label %end, label %if.else, !prof !4
-
-if.else:
- call void @d()
- %call2 = call zeroext i1 @a()
- br i1 %call2, label %header2, label %header, !prof !5
-
-end:
- call void @e()
- ret void
-}
-
-declare zeroext i1 @a()
-declare void @b()
-declare void @c()
-declare void @d()
-declare void @e()
-declare void @f()
-
-!1 = !{!"function_entry_count", i64 1}
-!2 = !{!"branch_weights", i32 100, i32 1}
-!3 = !{!"branch_weights", i32 1, i32 10}
-!4 = !{!"branch_weights", i32 1000, i32 1}
-!5 = !{!"branch_weights", i32 100, i32 1}