Home | History | Annotate | Download | only in AArch64
      1 ; RUN: llc -filetype=asm -o - -mtriple=aarch64-linux-gnu < %s | FileCheck %s
      2 
      3 define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {
      4 ; CHECK:       .p2align	2
      5 ; CHECK-LABEL: .Lxray_sled_0:
      6 ; CHECK-NEXT:  b	#32
      7 ; CHECK-NEXT:  nop
      8 ; CHECK-NEXT:  nop
      9 ; CHECK-NEXT:  nop
     10 ; CHECK-NEXT:  nop
     11 ; CHECK-NEXT:  nop
     12 ; CHECK-NEXT:  nop
     13 ; CHECK-NEXT:  nop
     14 ; CHECK-LABEL: .Ltmp0:
     15   ret i32 0
     16 ; CHECK-NEXT:  mov	w0, wzr
     17 ; CHECK-NEXT:  .p2align	2
     18 ; CHECK-LABEL: .Lxray_sled_1:
     19 ; CHECK-NEXT:  b	#32
     20 ; CHECK-NEXT:  nop
     21 ; CHECK-NEXT:  nop
     22 ; CHECK-NEXT:  nop
     23 ; CHECK-NEXT:  nop
     24 ; CHECK-NEXT:  nop
     25 ; CHECK-NEXT:  nop
     26 ; CHECK-NEXT:  nop
     27 ; CHECK-LABEL: .Ltmp1:
     28 ; CHECK-NEXT:  ret
     29 }
     30 ; CHECK-LABEL: xray_instr_map
     31 ; CHECK-LABEL: Lxray_sleds_start0:
     32 ; CHECK:       .xword .Lxray_sled_0
     33 ; CHECK:       .xword .Lxray_sled_1
     34 ; CHECK-LABEL: Lxray_sleds_end0:
     35 ; CHECK-LABEL: xray_fn_idx
     36 ; CHECK:       .xword .Lxray_sleds_start0
     37 ; CHECK-NEXT:  .xword .Lxray_sleds_end0
     38 
     39 define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
     40 ; CHECK:       .p2align	2
     41 ; CHECK-LABEL: Lxray_sled_2:
     42 ; CHECK-NEXT:  b	#32
     43 ; CHECK-NEXT:  nop
     44 ; CHECK-NEXT:  nop
     45 ; CHECK-NEXT:  nop
     46 ; CHECK-NEXT:  nop
     47 ; CHECK-NEXT:  nop
     48 ; CHECK-NEXT:  nop
     49 ; CHECK-NEXT:  nop
     50 ; CHECK-LABEL: .Ltmp2:
     51 ; CHECK:       .p2align	2
     52 ; CHECK-LABEL: Lxray_sled_3:
     53 ; CHECK-NEXT:  b	#32
     54 ; CHECK-NEXT:  nop
     55 ; CHECK-NEXT:  nop
     56 ; CHECK-NEXT:  nop
     57 ; CHECK-NEXT:  nop
     58 ; CHECK-NEXT:  nop
     59 ; CHECK-NEXT:  nop
     60 ; CHECK-NEXT:  nop
     61 ; CHECK-LABEL: .Ltmp3:
     62   %retval = tail call i32 @callee()
     63 ; CHECK:       b	callee
     64   ret i32 %retval
     65 }
     66 ; CHECK-LABEL: xray_instr_map
     67 ; CHECK-LABEL: Lxray_sleds_start1:
     68 ; CHECK:       .xword .Lxray_sled_2
     69 ; CHECK:       .xword .Lxray_sled_3
     70 ; CHECK-LABEL: Lxray_sleds_end1:
     71 ; CHECK:       .section xray_fn_idx,{{.*}}
     72 ; CHECK:       .xword .Lxray_sleds_start1
     73 ; CHECK-NEXT:  .xword .Lxray_sleds_end1
     74