[PATCH] D65653: [AArch64] Change location of frame-record within callee-save area.

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 7 02:11:10 PDT 2019


t.p.northover added a comment.

Unfortunately I don't think this is viable for Darwin platforms, at least not yet. Our compact unwind encoding just has a bitmask for which registers are saved rather than saying where relative to fp.

Longer term there's room for a new encoding to handle this, but that's not something we can do quickly. It looks like there are at least 5 projects that would need to be updated.



================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:355-356
+
+  // Emit the CFI instructions for LR and FP first to support
+  // compact unwind encoding.
+  if (HasFP) {
----------------
If changing just the order of the CFI directives convinces the AsmBackend to produce compact unwind for this new scheme then it doesn't have enough checks (understandable, the frame layout is normally very fixed).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65653/new/

https://reviews.llvm.org/D65653





More information about the llvm-commits mailing list