[PATCH] D61948: Implement call lowering without parameters on AIX

Hubert Tong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 22 22:11:02 PDT 2019


hubert.reinterpretcast added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6599
+  // area, parameter list area.
+  // On XCOFF, we start with 24/48, which is preserved space for 
+  // [SP][CR][LR][2 x reserved][TOC].
----------------
This should say "reserved". The Darwin version uses //pre-reserved//; the prefix seems redundant.


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6604
+  // The prolog code of the callee may store up to 8 GPR argument registers to
+  // the stack, allowing va_start to index over them in memory if its varargs.
+  // Because we cannot tell if this is needed on the caller side, we have to
----------------
s/its varargs/the callee is variadic/;


================
Comment at: llvm/test/CodeGen/PowerPC/test_call_aix.ll:11
+entry:
+; 32BIT: ADJCALLSTACKDOWN 56, 0, implicit-def dead $r1, implicit $r1
+; 32BIT: BL_NOP @foo, csr_aix32, implicit-def dead $lr, implicit $rm, implicit-def $r1
----------------
Question: Where is the code that ensures quadword (16-byte) alignment of the stack?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D61948





More information about the llvm-commits mailing list