1; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu -function-sections < %s | FileCheck %s
2; RUN: llc -verify-machineinstrs -filetype=obj -o %t -mtriple=x86_64-unknown-linux-gnu -function-sections < %s
3; RUN: llvm-objdump --triple=x86_64-unknown-linux-gnu --disassemble-all %t | FileCheck %s --check-prefix=CHECK-OBJ
4
5define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" {
6; CHECK: .section .text.foo,"ax",@progbits
7  ret i32 0
8; CHECK: .section xray_instr_map,"ao",@progbits,foo{{$}}
9}
10
11$bar = comdat any
12define i32 @bar() nounwind noinline uwtable "function-instrument"="xray-always" comdat($bar) {
13; CHECK: .section .text.bar,"axG",@progbits,bar,comdat
14  ret i32 1
15; CHECK: .section xray_instr_map,"aGo",@progbits,bar,comdat,bar{{$}}
16}
17
18; CHECK-OBJ:      section xray_instr_map:
19