summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopUnswitch/cold-loop.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/LoopUnswitch/cold-loop.ll')
-rw-r--r--test/Transforms/LoopUnswitch/cold-loop.ll52
1 files changed, 0 insertions, 52 deletions
diff --git a/test/Transforms/LoopUnswitch/cold-loop.ll b/test/Transforms/LoopUnswitch/cold-loop.ll
deleted file mode 100644
index 1fbc08038bbdf..0000000000000
--- a/test/Transforms/LoopUnswitch/cold-loop.ll
+++ /dev/null
@@ -1,52 +0,0 @@
-; RUN: opt < %s -loop-unswitch -loop-unswitch-with-block-frequency -S 2>&1 | FileCheck %s
-
-;; trivial condition should be unswithed regardless of coldness.
-define i32 @test1(i1 %cond1, i1 %cond2) !prof !1 {
- br i1 %cond1, label %loop_begin, label %loop_exit, !prof !0
-
-loop_begin:
-; CHECK: br i1 true, label %continue, label %loop_exit.loopexit
- br i1 %cond2, label %continue, label %loop_exit ; trivial condition
-
-continue:
- call void @some_func1() noreturn nounwind
- br label %loop_begin
-
-loop_exit:
- ret i32 0
-}
-
-;; cold non-trivial condition should not be unswitched.
-define i32 @test2(i32* %var, i1 %cond1, i1 %cond2) !prof !1 {
- br i1 %cond1, label %loop_begin, label %loop_exit, !prof !0
-
-loop_begin:
- store i32 1, i32* %var
-; CHECK: br i1 %cond2, label %continue1, label %continue2
- br i1 %cond2, label %continue1, label %continue2 ; non-trivial condition
-
-continue1:
- call void @some_func1() noreturn nounwind
- br label %joint
-
-continue2:
- call void @some_func2() noreturn nounwind
- br label %joint
-
-joint:
-;; unswitching will duplicate these calls.
- call void @some_func3() noreturn nounwind
- call void @some_func4() noreturn nounwind
- br label %loop_begin
-
-loop_exit:
- ret i32 0
-}
-
-declare void @some_func1() noreturn
-declare void @some_func2() noreturn
-declare void @some_func3() noreturn
-declare void @some_func4() noreturn
-
-!0 = !{!"branch_weights", i32 1, i32 100000000}
-!1 = !{!"function_entry_count", i64 100}