[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / xray-tail-call-sled.ll
blobbcc5b982a286283e1bb9d2126a47643669582e81
1 ; RUN: llc -relocation-model=pic -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
3 define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {
4 ; CHECK-LABEL: callee:
5 ; CHECK:       .Ltmp[[#l:]]:
6 ; CHECK-NEXT:         b .Ltmp[[#l+1]]
7 ; CHECK-NEXT:         nop
8 ; CHECK-NEXT:         std 0, -8(1)
9 ; CHECK-NEXT:         mflr 0
10 ; CHECK-NEXT:         bl __xray_FunctionEntry
11 ; CHECK-NEXT:         nop
12 ; CHECK-NEXT:         mtlr 0
13 ; CHECK-NEXT:  .Ltmp[[#l+1]]:
14   ret i32 0
15 ; CHECK:       .Ltmp[[#]]:
16 ; CHECK:              blr
17 ; CHECK-NEXT:         nop
18 ; CHECK-NEXT:         std 0, -8(1)
19 ; CHECK-NEXT:         mflr 0
20 ; CHECK-NEXT:         bl __xray_FunctionExit
21 ; CHECK-NEXT:         nop
22 ; CHECK-NEXT:         mtlr 0
25 define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
26 ; CHECK-LABEL: caller:
27 ; CHECK:       .Ltmp[[#l:]]:
28 ; CHECK-NEXT:         b .Ltmp[[#l+1]]
29 ; CHECK-NEXT:         nop
30 ; CHECK-NEXT:         std 0, -8(1)
31 ; CHECK-NEXT:         mflr 0
32 ; CHECK-NEXT:         bl __xray_FunctionEntry
33 ; CHECK-NEXT:         nop
34 ; CHECK-NEXT:         mtlr 0
35 ; CHECK-NEXT:  .Ltmp[[#l+1]]:
36   %retval = tail call i32 @callee()
37   ret i32 %retval
38 ; CHECK:       .Ltmp[[#l+2]]:
39 ; CHECK-NEXT:         blr
40 ; CHECK-NEXT:         nop
41 ; CHECK-NEXT:         std 0, -8(1)
42 ; CHECK-NEXT:         mflr 0
43 ; CHECK-NEXT:         bl __xray_FunctionExit
44 ; CHECK-NEXT:         nop
45 ; CHECK-NEXT:         mtlr 0