[PATCH] D87370: [llvm-readobj] [ARMWinEH] Print ARM64 packed unwind info
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 9 14:17:38 PDT 2020
efriedma added inline comments.
================
Comment at: llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp:1162
+
+ int IntSZ = 8 * RF.RegI();
+ if (RF.CR() == 1)
----------------
Maybe add a comment noting the source of this algorithm.
I guess the steps are in reverse order from the documentation?
================
Comment at: llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp:1191
+ SW.startLine() << format("stp x0, x1, [sp, #%d]\n", IntSZ + FpSZ);
+ else // This case isn't documented
+ SW.startLine() << format("stp x0, x1, [sp, #-%d]!\n", SavSZ);
----------------
I don't understand the `if (RF.RegI() + RF.RegF() > 0)` check; if the function homes registers, the homing region have to be contiguous.
That said, the compiler could stick any sequence of four instructions here, really; maybe we should just print them as nops.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87370/new/
https://reviews.llvm.org/D87370
More information about the llvm-commits
mailing list