xray-multiplerets-in-blocks.mir
567 Bytes
# RUN: llc -verify-machineinstrs -run-pass xray-instrumentation -mtriple=x86_64-unknown-linux-gnu -o - %s | FileCheck %s
#
# Make sure we can handle multiple ret instructions in a single basic block for
# XRay.
--- |
define i32 @foo() noinline uwtable "function-instrument"="xray-always" {
ret i32 0
ret i32 1
}
...
---
name: foo
tracksRegLiveness: true
liveins:
- { reg: '$edi'}
body: |
bb.0:
liveins: $edi
; CHECK: PATCHABLE_FUNCTION_ENTER
RETQ
; CHECK-NEXT: PATCHABLE_RET
RETQ
; CHECK-NEXT: PATCHABLE_RET
...