[PATCH] D130903: [AArch64][GlobalISel] Lower formal arguments of AAPCS & ms_abi variadic functions.

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 07:35:52 PST 2022


arsenm accepted this revision.
arsenm added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:1944
+  if (MF.getSubtarget<AArch64Subtarget>().isCallingConvWin64(
+          MF.getFunction().getCallingConv())) {
+    FrameIdx = FuncInfo->getVarArgsGPRSize() > 0
----------------
dzhidzhoev wrote:
> arsenm wrote:
> > Did you really mean the caller CC here, not the callee?
> In these lines, we're lowering G_VASTART instruction. The branch is supposed to execute if the calling convention of MachineFunction containing G_VASTART is Win64.
> 
> Do you think that this code does something else?
I know nothing about varargs, I just thought it was suspicious to see selection dependent on the parent calling convention


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130903



More information about the llvm-commits mailing list