95 lines · plain
1; RUN: llc -mtriple=aarch64-linux-gnu < %s | FileCheck %s --check-prefixes=CHECK,CHECK-LINUX2; RUN: llc -mtriple=aarch64-apple-darwin < %s | FileCheck %s --check-prefixes=CHECK,CHECK-MACOS3 4define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {5; CHECK: .p2align 26; CHECK-LABEL: Lxray_sled_0:7; CHECK-NEXT: b #328; CHECK-COUNT-7: nop9; CHECK-NEXT: Ltmp[[#]]:10 ret i32 011; CHECK-NEXT: mov w0, wzr12; CHECK-NEXT: .p2align 213; CHECK-LABEL: Lxray_sled_1:14; CHECK-NEXT: b #3215; CHECK-COUNT-7: nop16; CHECK-NEXT: Ltmp[[#]]:17; CHECK-NEXT: ret18}19 20; CHECK-LINUX-LABEL: .section xray_instr_map,"ao",@progbits,callee{{$}}21; CHECK-LINUX-LABEL: .Lxray_sleds_start0:22; CHECK-LINUX-NEXT: [[TMP:.Ltmp[0-9]+]]:23; CHECK-LINUX: .xword .Lxray_sled_0-[[TMP]]24; CHECK-LINUX: .xword25; CHECK-LINUX-NEXT: .byte 0x0026; CHECK-LINUX: [[TMP:.Ltmp[0-9]+]]:27; CHECK-LINUX-NEXT: .xword .Lxray_sled_1-[[TMP]]28; CHECK-LINUX: .xword29; CHECK-LINUX-NEXT: .byte 0x0130; CHECK-LINUX-LABEL: Lxray_sleds_end0:31; CHECK-LINUX-LABEL: .section xray_fn_idx,"ao",@progbits,callee{{$}}32; CHECK-LINUX: .xword .Lxray_sleds_start033; CHECK-LINUX-NEXT: .xword 234 35; CHECK-MACOS-LABEL: .section __DATA,xray_instr_map,regular,live_support{{$}}36; CHECK-MACOS-LABEL: lxray_sleds_start0:37; CHECK-MACOS-NEXT: [[TMP:Ltmp[0-9]+]]:38; CHECK-MACOS: .quad Lxray_sled_0-[[TMP]]39; CHECK-MACOS-NEXT: .quad40; CHECK-MACOS-NEXT: .byte 0x0041; CHECK-MACOS: [[TMP:Ltmp[0-9]+]]:42; CHECK-MACOS-NEXT: .quad Lxray_sled_1-[[TMP]]43; CHECK-MACOS-NEXT: .quad44; CHECK-MACOS-NEXT: .byte 0x0145; CHECK-MACOS-LABEL: Lxray_sleds_end0:46; CHECK-MACOS-LABEL: .section __DATA,xray_fn_idx,regular,live_support{{$}}47; CHECK-MACOS: [[IDX:lxray_fn_idx[0-9]+]]:48; CHECK-MACOS-NEXT: .quad lxray_sleds_start0-[[IDX]]49; CHECK-MACOS-NEXT: .quad 250 51define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {52; CHECK: .p2align 253; CHECK-LABEL: Lxray_sled_2:54; CHECK-NEXT: b #3255; CHECK-COUNT-7: nop56; CHECK-NEXT: Ltmp[[#]]:57; CHECK: .p2align 258; CHECK-LABEL: Lxray_sled_3:59; CHECK-NEXT: b #3260; CHECK-COUNT-7: nop61; CHECK-NEXT: Ltmp[[#]]:62 %retval = tail call i32 @callee()63; CHECK-LINUX: b callee64; CHECK-MACOS: b _callee65 ret i32 %retval66}67 68; CHECK-LINUX-LABEL: .section xray_instr_map,"ao",@progbits,caller{{$}}69; CHECK-LINUX-LABEL: Lxray_sleds_start1:70; CHECK-LINUX: .xword .Lxray_sled_271; CHECK-LINUX-NEXT: .xword72; CHECK-LINUX-NEXT: .byte 0x0073; CHECK-LINUX: .xword .Lxray_sled_374; CHECK-LINUX-NEXT: .xword75; CHECK-LINUX-NEXT: .byte 0x0276; CHECK-LINUX-LABEL: Lxray_sleds_end1:77; CHECK-LINUX-LABEL: .section xray_fn_idx,"ao",@progbits,caller{{$}}78; CHECK-LINUX: [[IDX:\.Lxray_fn_idx[0-9]+]]:79; CHECK-LINUX-NEXT: .xword .Lxray_sleds_start1-[[IDX]]80; CHECK-LINUX-NEXT: .xword 281 82; CHECK-MACOS-LABEL: .section __DATA,xray_instr_map,regular,live_support{{$}}83; CHECK-MACOS-LABEL: lxray_sleds_start1:84; CHECK-MACOS: .quad Lxray_sled_285; CHECK-MACOS-NEXT: .quad86; CHECK-MACOS-NEXT: .byte 0x0087; CHECK-MACOS: .quad Lxray_sled_388; CHECK-MACOS-NEXT: .quad89; CHECK-MACOS-NEXT: .byte 0x0290; CHECK-MACOS-LABEL: Lxray_sleds_end1:91; CHECK-MACOS-LABEL: .section __DATA,xray_fn_idx,regular,live_support{{$}}92; CHECK-MACOS: [[IDX:lxray_fn_idx[0-9]+]]:93; CHECK-MACOS-NEXT: .quad lxray_sleds_start1-[[IDX]]94; CHECK-MACOS-NEXT: .quad 295