diff options
Diffstat (limited to 'llvm/test/Transforms/HotColdSplit/apply-penalty-for-outputs.ll')
-rw-r--r-- | llvm/test/Transforms/HotColdSplit/apply-penalty-for-outputs.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Transforms/HotColdSplit/apply-penalty-for-outputs.ll b/llvm/test/Transforms/HotColdSplit/apply-penalty-for-outputs.ll new file mode 100644 index 00000000000..a7d9f97ab03 --- /dev/null +++ b/llvm/test/Transforms/HotColdSplit/apply-penalty-for-outputs.ll @@ -0,0 +1,22 @@ +; REQUIRES: asserts +; RUN: opt -hotcoldsplit -debug-only=hotcoldsplit -S < %s -o /dev/null 2>&1 | FileCheck %s + +declare void @sink() cold + +@g = global i32 0 + +define i32 @foo(i32 %arg) { +entry: + br i1 undef, label %cold, label %exit + +cold: + ; CHECK: Applying penalty for: 1 output + ; CHECK: Applying penalty for: 1 non-region successors + %local = load i32, i32* @g + call void @sink() + br label %exit + +exit: + %p = phi i32 [ %local, %cold ], [ 0, %entry ] + ret i32 %p +} |