[PATCH] D77433: PowerPCSPE: Stop libunwind from complaining about SPE registers
Justin Hibbits via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 3 15:11:27 PDT 2020
jhibbits created this revision.
jhibbits added a reviewer: PowerPC.
Herald added subscribers: libcxx-commits, llvm-commits, shchenz, kbarton, hiraditya, aprantl, nemanjai.
Herald added projects: LLVM, libunwind.
Herald added a reviewer: libunwind.
- Match SPE "DWARF" register numbers to GCC's instead of official DWARF documentation.
- Increase the register count to 148 from 112, even though the upper registers aren't saved (yet).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D77433
Files:
libunwind/include/__libunwind_config.h
libunwind/include/libunwind.h
llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.td
===================================================================
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.td
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.td
@@ -115,7 +115,7 @@
// SPE registers
foreach Index = 0-31 in {
def S#Index : SPE<!cast<GPR>("R"#Index), "r"#Index>,
- DwarfRegNum<[!add(Index, 1200), !add(Index, 1200)]>;
+ DwarfRegNum<[!add(Index, 117), !add(Index, 117)]>;
}
// Floating-point registers
Index: libunwind/include/libunwind.h
===================================================================
--- libunwind/include/libunwind.h
+++ libunwind/include/libunwind.h
@@ -298,7 +298,39 @@
UNW_PPC_VRSAVE = 109,
UNW_PPC_VSCR = 110,
UNW_PPC_SPE_ACC = 111,
- UNW_PPC_SPEFSCR = 112
+ UNW_PPC_SPEFSCR = 112,
+ UNW_PPC_RH0 = 117,
+ UNW_PPC_RH1 = 118,
+ UNW_PPC_RH2 = 119,
+ UNW_PPC_RH3 = 120,
+ UNW_PPC_RH4 = 121,
+ UNW_PPC_RH5 = 122,
+ UNW_PPC_RH6 = 123,
+ UNW_PPC_RH7 = 124,
+ UNW_PPC_RH8 = 125,
+ UNW_PPC_RH9 = 126,
+ UNW_PPC_RH10 = 117,
+ UNW_PPC_RH11 = 128,
+ UNW_PPC_RH12 = 129,
+ UNW_PPC_RH13 = 130,
+ UNW_PPC_RH14 = 131,
+ UNW_PPC_RH15 = 132,
+ UNW_PPC_RH16 = 133,
+ UNW_PPC_RH17 = 134,
+ UNW_PPC_RH18 = 135,
+ UNW_PPC_RH19 = 136,
+ UNW_PPC_RH20 = 137,
+ UNW_PPC_RH21 = 138,
+ UNW_PPC_RH22 = 139,
+ UNW_PPC_RH23 = 140,
+ UNW_PPC_RH24 = 141,
+ UNW_PPC_RH25 = 142,
+ UNW_PPC_RH26 = 143,
+ UNW_PPC_RH27 = 144,
+ UNW_PPC_RH28 = 145,
+ UNW_PPC_RH29 = 146,
+ UNW_PPC_RH30 = 147,
+ UNW_PPC_RH31 = 148
};
// 64-bit ppc register numbers
Index: libunwind/include/__libunwind_config.h
===================================================================
--- libunwind/include/__libunwind_config.h
+++ libunwind/include/__libunwind_config.h
@@ -16,7 +16,7 @@
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 8
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 32
-#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC 112
+#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC 148
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 116
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 95
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM 287
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77433.254922.patch
Type: text/x-patch
Size: 2214 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200403/bb05565e/attachment-0001.bin>
More information about the llvm-commits
mailing list