linux-packaging-mono/external/llvm-project/llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
Xamarin Public Jenkins (auto-signing) 468663ddbb Imported Upstream version 6.10.0.49
Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
2020-01-16 16:38:04 +00:00

29 lines
545 B
YAML

# RUN: llc -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
...