| ; RUN: llc -mtriple x86_64-linux-gnu -function-sections %s -o - | FileCheck %s --check-prefix=ELF |
| ; RUN: llc -mtriple x86_64-linux-gnu -unique-section-names=0 -function-sections %s -o - | FileCheck %s --check-prefix=ELF-NOUNIQ |
| ; RUN: llc -mtriple x86_64-windows-msvc -function-sections %s -o - | FileCheck %s --check-prefix=COFF-MSVC |
| ; RUN: llc -mtriple x86_64-windows-gnu -function-sections %s -o - | FileCheck %s --check-prefix=COFF-GNU |
| |
| define void @foo1(i1 zeroext %0) nounwind !section_prefix !0 { |
| ;; CHECK hot section name |
| ; ELF: .section .text.hot.foo1,"ax",@progbits |
| ; ELF-NOUNIQ: .section .text.hot.,"ax",@progbits,unique,1 |
| ; COFF-MSVC: .section .text$hot,"xr",one_only,foo1 |
| ; COFF-GNU: .section .text$hot$foo1,"xr",one_only,foo1 |
| ret void |
| } |
| |
| define void @foo2(i1 zeroext %0) nounwind !section_prefix !1 { |
| ;; CHECK unlikely section name |
| ; ELF: .section .text.unlikely.foo2,"ax",@progbits |
| ; ELF-NOUNIQ: .section .text.unlikely.,"ax",@progbits,unique,2 |
| ; COFF-MSVC: .section .text$unlikely,"xr",one_only,foo2 |
| ; COFF-GNU: .section .text$unlikely$foo2,"xr",one_only,foo2 |
| ret void |
| } |
| |
| !0 = !{!"function_section_prefix", !"hot"} |
| !1 = !{!"function_section_prefix", !"unlikely"} |
| |