80 lines · plain
1; When logging arguments is specified, emit the entry sled accordingly.2 3; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s --check-prefixes=CHECK,CHECK-LINUX4; RUN: llc -mtriple=x86_64-darwin-unknown < %s | FileCheck %s --check-prefixes=CHECK,CHECK-MACOS5 6define i32 @callee(i32 %arg) nounwind noinline uwtable "function-instrument"="xray-always" "xray-log-args"="1" {7 ret i32 %arg8}9; CHECK-LABEL: callee:10; CHECK-NEXT: Lfunc_begin0:11 12; CHECK-LINUX-LABEL: .Lxray_sleds_start0:13; CHECK-LINUX-NEXT: [[TMP:.Ltmp[0-9]+]]:14; CHECK-LINUX-NEXT: .quad .Lxray_sled_0-[[TMP]]15; CHECK-LINUX-NEXT: .quad .Lfunc_begin0-([[TMP]]+8)16; CHECK-LINUX-NEXT: .byte 0x0317; CHECK-LINUX-NEXT: .byte 0x0118; CHECK-LINUX-NEXT: .byte 0x0219; CHECK-LINUX: .zero 1320; CHECK-LINUX: [[TMP:.Ltmp[0-9]+]]:21; CHECK-LINUX-NEXT: .quad .Lxray_sled_1-[[TMP]]22; CHECK-LINUX-NEXT: .quad .Lfunc_begin0-([[TMP]]+8)23; CHECK-LINUX-NEXT: .byte 0x0124; CHECK-LINUX-NEXT: .byte 0x0125; CHECK-LINUX-NEXT: .byte 0x0226; CHECK-LINUX: .zero 1327 28; CHECK-MACOS-LABEL: lxray_sleds_start0:29; CHECK-MACOS-NEXT: [[TMP:Ltmp[0-9]+]]:30; CHECK-MACOS-NEXT: .quad Lxray_sled_0-[[TMP]]31; CHECK-MACOS-NEXT: .quad Lfunc_begin0-([[TMP]]+8)32; CHECK-MACOS-NEXT: .byte 0x0333; CHECK-MACOS-NEXT: .byte 0x0134; CHECK-MACOS-NEXT: .byte 0x0235; CHECK-MACOS: .space 1336; CHECK-MACOS: [[TMP:Ltmp[0-9]+]]:37; CHECK-MACOS-NEXT: .quad Lxray_sled_1-[[TMP]]38; CHECK-MACOS-NEXT: .quad Lfunc_begin0-([[TMP]]+8)39; CHECK-MACOS-NEXT: .byte 0x0140; CHECK-MACOS-NEXT: .byte 0x0141; CHECK-MACOS-NEXT: .byte 0x0242; CHECK-MACOS: .space 1343 44define i32 @caller(i32 %arg) nounwind noinline uwtable "function-instrument"="xray-always" "xray-log-args"="1" {45 %retval = tail call i32 @callee(i32 %arg)46 ret i32 %retval47}48 49; CHECK-LINUX-LABEL: .Lxray_sleds_start1:50; CHECK-LINUX-NEXT: [[TMP:.Ltmp[0-9]+]]:51; CHECK-LINUX-NEXT: .quad .Lxray_sled_2-[[TMP]]52; CHECK-LINUX-NEXT: .quad .Lfunc_begin1-([[TMP]]+8)53; CHECK-LINUX-NEXT: .byte 0x0354; CHECK-LINUX-NEXT: .byte 0x0155; CHECK-LINUX-NEXT: .byte 0x0256; CHECK-LINUX: .zero 1357; CHECK-LINUX: [[TMP:.Ltmp[0-9]+]]:58; CHECK-LINUX-NEXT: .quad .Lxray_sled_3-[[TMP]]59; CHECK-LINUX-NEXT: .quad .Lfunc_begin1-([[TMP]]+8)60; CHECK-LINUX-NEXT: .byte 0x0261; CHECK-LINUX-NEXT: .byte 0x0162; CHECK-LINUX-NEXT: .byte 0x0263; CHECK-LINUX: .zero 1364 65; CHECK-MACOS-LABEL: lxray_sleds_start1:66; CHECK-MACOS-NEXT: [[TMP:Ltmp[0-9]+]]:67; CHECK-MACOS-NEXT: .quad Lxray_sled_2-[[TMP]]68; CHECK-MACOS-NEXT: .quad Lfunc_begin1-([[TMP]]+8)69; CHECK-MACOS-NEXT: .byte 0x0370; CHECK-MACOS-NEXT: .byte 0x0171; CHECK-MACOS-NEXT: .byte 0x0272; CHECK-MACOS: .space 1373; CHECK-MACOS: [[TMP:Ltmp[0-9]+]]:74; CHECK-MACOS-NEXT: .quad Lxray_sled_3-[[TMP]]75; CHECK-MACOS-NEXT: .quad Lfunc_begin1-([[TMP]]+8)76; CHECK-MACOS-NEXT: .byte 0x0277; CHECK-MACOS-NEXT: .byte 0x0178; CHECK-MACOS-NEXT: .byte 0x0279; CHECK-MACOS: .space 1380