| ;; BB section test with basic block hashes. |
| |
| ;; basic block sections Profile with bb hashes |
| ; RUN: echo 'v1' > %t |
| ; RUN: echo 'f foo' >> %t |
| ; RUN: echo 'g 0:10,1:9,2:1 1:8,3:8 2:2,3:2 3:11' >> %t |
| ; RUN: echo 'c 0 2 3' >> %t |
| ; RUN: echo 'h 0:64863A11B5CA0000 1:54F1E80D6B270006 2:54F1F4E66B270008 3:C8BC6041A2CB0009' >> %t |
| ; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t | FileCheck %s |
| ; |
| define void @foo(i1 zeroext) nounwind { |
| %2 = alloca i8, align 1 |
| %3 = zext i1 %0 to i8 |
| store i8 %3, ptr %2, align 1 |
| %4 = load i8, ptr %2, align 1 |
| %5 = trunc i8 %4 to i1 |
| br i1 %5, label %6, label %8 |
| |
| 6: ; preds = %1 |
| %7 = call i32 @bar() |
| br label %10 |
| |
| 8: ; preds = %1 |
| %9 = call i32 @baz() |
| br label %10 |
| |
| 10: ; preds = %8, %6 |
| ret void |
| } |
| |
| declare i32 @bar() #1 |
| |
| declare i32 @baz() #1 |
| |
| ; CHECK: .section .text.foo,"ax",@progbits |
| ; CHECK: callq baz |
| ; CHECK: retq |
| ; CHECK: .section .text.split.foo,"ax",@progbits |
| ; CHECK: callq bar |