1; RUN: llc -mtriple=hexagon-unknown-elf < %s | FileCheck %s 2; RUN: llc -mtriple=hexagon-unknown-linux-musl < %s | FileCheck %s 3 4define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" { 5; CHECK-LABEL: .Lxray_sled_0: 6; CHECK: jump .Ltmp[[#l:]] 7; CHECK: nop 8; CHECK: nop 9; CHECK: nop 10; CHECK: nop 11; CHECK: .Ltmp 12; CHECK-SAME: [[#l]]: 13 ret i32 0 14; CHECK-LABEL: .Lxray_sled_1: 15; CHECK: jump .Ltmp[[#l:]] 16; CHECK: nop 17; CHECK: nop 18; CHECK: nop 19; CHECK: nop 20; CHECK: .Ltmp 21; CHECK-SAME: [[#l]]: 22; CHECK: jumpr r31 23} 24; CHECK: .section xray_instr_map,"ao",@progbits,foo 25; CHECK-NEXT: .Lxray_sleds_start0: 26; CHECK-NEXT: [[TMP:.Ltmp[0-9]+]]: 27; CHECK-NEXT: .word .Lxray_sled_0-[[TMP]] 28; CHECK-NEXT: .word .Lfunc_begin0-([[TMP]]+4) 29; CHECK-NEXT: .byte 0x00 30; CHECK-NEXT: .byte 0x01 31; CHECK-NEXT: .byte 0x02 32; CHECK-NEXT: .space 5 33; CHECK-LABEL: .Lxray_sleds_end0: 34; CHECK-LABEL: xray_fn_idx 35; CHECK: .word .Lxray_sleds_start0-.Lxray_fn_idx[[#]] 36; CHECK-NEXT: .word 2 37