[PATCH] D100374: [clang] [AArch64] Fix Windows va_arg handling for larger structs

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 13 13:11:47 PDT 2021


mstorsjo added inline comments.


================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:6106
     uint64_t Members = 0;
     IsIndirect = !isHomogeneousAggregate(Ty, Base, Members);
   }
----------------
rnk wrote:
> rnk wrote:
> > Do we need to worry about H[VF]As passed to variadic functions, or is there a special case when passing those to variadics?
> After looking at D100365, I'm assuming the answer is yes. It would be surprising if an HFA passed to a variadic function is passed in integer registers. I suppose it could be passed directly in memory instead of indirectly, but that also seems unlikely.
Looks like we don't handle them correctly either, both as fixed and variable arguments in vararg functions - I'll leave this patch uncommitted until I've got that one figured out to see if it should be amended to this one (probably) or warrants a separate patch.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100374



More information about the cfe-commits mailing list