[PATCH] D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets.

Chris Bowler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 11:48:28 PDT 2020


cebowleratibm added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCFrameLowering.cpp:231
+    {PPC::R13, -76},
 
+    // TODO Update when we add vector support for AIX.
----------------
nit: remove blank line.


================
Comment at: llvm/lib/Target/PowerPC/PPCFrameLowering.cpp:1836
   // RestoreBlock. So we handle this case here.
   if (MFI.getSavePoint() && MFI.hasTailCall()) {
     MachineBasicBlock *RestoreBlock = MFI.getRestorePoint();
----------------
Since we're enabling this path for AIX is there a LIT test that we should add an AIX variant for to validate this shrink-wrap functionality?


================
Comment at: llvm/lib/Target/PowerPC/PPCFrameLowering.cpp:2000
 
-    if (Subtarget.isPPC64()) {
-      LowerBound -= (31 - MinReg + 1) * 8;
-    } else {
-      LowerBound -= (31 - MinReg + 1) * 4;
-    }
+    unsigned GPRegSize = Subtarget.isPPC64() ? 8 : 4;
+    LowerBound -= (31 - MinReg + 1) * GPRegSize;
----------------
const or fold it into the use.  This change is NFC and could be committed independently.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll:206
 
-; ASM32BIT:       stwu 1, -96(1)
+; ASM32BIT:       stwu 1, -112(1)
 ; ASM32BIT-DAG:   lwz [[REG:[0-9]+]], LC{{[0-9]+}}(2)
----------------
Why do we expect this change to bump the stack adj?  I thought the cc tests don't touch non-volatile regs.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79252





More information about the llvm-commits mailing list