[PATCH] D70800: Fix AArch64 AAPCS frame record chain
    Sander de Smalen via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Dec  2 02:59:34 PST 2019
    
    
  
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1022
     // Only set up FP if we actually need to.
-    int FPOffset = isTargetDarwin(MF) ? (AFI->getCalleeSavedStackSize() - 16) : 0;
+    int FPOffset = isTargetDarwin(MF) ? (AFI->getCalleeSavedStackSize() - 16)
+                                      : AFI->getFrameRecordOffset();
----------------
Having calculated the offset to the FrameRecord explicitly, can we now replace this with:
  int FPOffset = AFI->getFrameRecordOffset();
?
================
Comment at: llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h:129
 
+  // Offset from SP-at-entry to frame record (i.e. the spilled frame pointer
+  // and link address).
----------------
Is this description correct? The current meaning of `FrameRecordOffset` seems to be the offset from SP _after_ allocating the callee-save area.
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70800/new/
https://reviews.llvm.org/D70800
    
    
More information about the llvm-commits
mailing list