| ; 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,unique,0 | |
| ; COFF-GNU: .section .text$hot$foo1,"xr",one_only,foo1,unique,0 | |
| 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,unique,1 | |
| ; COFF-GNU: .section .text$unlikely$foo2,"xr",one_only,foo2,unique,1 | |
| ret void | |
| } | |
| !0 = !{!"function_section_prefix", !"hot"} | |
| !1 = !{!"function_section_prefix", !"unlikely"} | |