[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 27 12:14:16 PDT 2022


efriedma added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMFrameLowering.cpp:732
+  // AAPCS requires use of R11, and PACBTI gets in the way of regular pushes,
+  // so FP ends up on area two.
   if (HasFP) {
----------------
I guess this is related to this patch because it involves the interaction of PACBTI with -mframe_chain ?  (Without this patch, PACBTI doesn't exist on any targets where the frame pointer is in r11.)  I'm fine leaving it to a followup, though.


================
Comment at: llvm/lib/Target/ARM/Thumb1FrameLowering.cpp:1118
+
+  // Determine intermidiate registers which can be used for pushing high regs:
+  // - Spilled low regs
----------------
*intermediate.


================
Comment at: llvm/lib/Target/ARM/ThumbRegisterInfo.cpp:545
       MI.getOperand(FIOperandNum+1).ChangeToRegister(FrameReg, false, false,
                                                      false);
   } else if (MI.mayStore()) {
----------------
Do we need to do something different here if FrameReg is r11?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125094



More information about the cfe-commits mailing list