xref: /llvm-project/llvm/test/CodeGen/RISCV/xray-attribute-instrumentation.ll (revision ea76b2d8d83d6885bf5707832cbc4b7655e21b08)
1; RUN: llc -mtriple=riscv32-unknown-linux-gnu -mattr=+d,+c < %s | FileCheck --check-prefix=CHECK %s
2; RUN: llc -mtriple=riscv64-unknown-linux-gnu -mattr=+d,+c < %s | FileCheck --check-prefix=CHECK --check-prefix=CHECK-RISCV64 %s
3
4define i32 @foo() nounwind "function-instrument"="xray-always" {
5; CHECK:                        .p2align 2
6; CHECK-LABEL:                  .Lxray_sled_0:
7; CHECK-NEXT:                   j .Ltmp0
8; CHECK-COUNT-21:               nop
9; CHECK-RISCV64-COUNT-12:       nop
10; CHECK-LABEL:                  .Ltmp0:
11  ret i32 0
12; CHECK:                        .p2align 2
13; CHECK-LABEL:                  .Lxray_sled_1:
14; CHECK-NEXT:                   j .Ltmp1
15; CHECK-COUNT-21:               nop
16; CHECK-RISCV64-COUNT-12:       nop
17; CHECK-LABEL:                  .Ltmp1:
18; CHECK-NEXT:                   ret
19}
20; CHECK:                        .section xray_instr_map,"ao",@progbits,foo
21; CHECK-LABEL:                  .Lxray_sleds_start0:
22; CHECK:                        .Lxray_sled_0-[[TMP:.Ltmp[0-9]+]]
23; CHECK:                        .Lxray_sled_1-[[TMP:.Ltmp[0-9]+]]
24; CHECK-LABEL:                  .Lxray_sleds_end0:
25