[llvm] 27751be - [XRay] Fix Hexagon sled version
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 28 12:03:14 PST 2022
Author: Fangrui Song
Date: 2022-12-28T12:03:09-08:00
New Revision: 27751bed60bcb0a05c5e85608ea03ff6f55cb14b
URL: https://github.com/llvm/llvm-project/commit/27751bed60bcb0a05c5e85608ea03ff6f55cb14b
DIFF: https://github.com/llvm/llvm-project/commit/27751bed60bcb0a05c5e85608ea03ff6f55cb14b.diff
LOG: [XRay] Fix Hexagon sled version
D113638 emitted version 0 for XRaySledEntry, which will lead to an incorrect
address computation in the runtime.
While here, improve the test.
Added:
Modified:
llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
llvm/test/CodeGen/Hexagon/xray.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
index 27bc4bf9d08b5..688fe6861224a 100644
--- a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
@@ -822,7 +822,7 @@ void HexagonAsmPrinter::EmitSled(const MachineInstr &MI, SledKind Kind) {
emitNops(NoopsInSledCount);
OutStreamer->emitLabel(PostSled);
- recordSled(CurSled, MI, Kind, 0);
+ recordSled(CurSled, MI, Kind, 2);
}
void HexagonAsmPrinter::LowerPATCHABLE_FUNCTION_ENTER(const MachineInstr &MI) {
diff --git a/llvm/test/CodeGen/Hexagon/xray.ll b/llvm/test/CodeGen/Hexagon/xray.ll
index b9b25b80ef00f..8f1d9b3c6da19 100644
--- a/llvm/test/CodeGen/Hexagon/xray.ll
+++ b/llvm/test/CodeGen/Hexagon/xray.ll
@@ -19,11 +19,16 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
; CHECK-LABEL: .Ltmp1:
; CHECK: jumpr r31
}
-; CHECK-LABEL: xray_instr_map
-; CHECK-LABEL: .Lxray_sleds_start0:
-; CHECK: .word {{.*}}Lxray_sled_0
-; CHECK: .word {{.*}}Lxray_sled_1
+; CHECK: .section xray_instr_map,"ao", at progbits,foo
+; CHECK-NEXT: .Lxray_sleds_start0:
+; CHECK-NEXT: .Ltmp2:
+; CHECK-NEXT: .word .Lxray_sled_0-.Ltmp2
+; CHECK-NEXT: .word .Lfunc_begin0-(.Ltmp2+4)
+; CHECK-NEXT: .byte 0x00
+; CHECK-NEXT: .byte 0x01
+; CHECK-NEXT: .byte 0x02
+; CHECK-NEXT: .space 5
; CHECK-LABEL: .Lxray_sleds_end0:
; CHECK-LABEL: xray_fn_idx
-; CHECK: .word {{.*}}Lxray_sleds_start0
-; CHECK-NEXT: .word {{.*}}Lxray_sleds_end0
+; CHECK: .word .Lxray_sleds_start0{{$}}
+; CHECK-NEXT: .word .Lxray_sleds_end0{{$}}
More information about the llvm-commits
mailing list