[LLVMdev] LowerFormalArguments: info on aggregates

Matt Arsenault arsenm2 at gmail.com
Sat May 10 10:32:32 PDT 2014


On Apr 16, 2014, at 3:50 AM, Konrad Anheim <kanheim at a-bix.com> wrote:

> Hi,
> 
> All arguments processed in the function LowerFormalArguments seem to be are already lowered to machine types. In addition, the flag isByVal seems to be set for each argument passed on the stack, and cannot be used to indicate a struct/union.
> 
> Is there a way to tell if an argument is of a simple type or of an aggregate (within LowerFormalArguments)? Is there any better way processing stack alignment of incoming arguments? This information would be needed for correct stack alignment of structs vs. simple types in AArch64 big endian mode.
‘
If you check the ISD::InputArg, ArgVT should tell you the original type. If you look at R600 , it has a function that uses this to find all of the original argument types.

-Matt



More information about the llvm-dev mailing list