To do this, we need to implement a target hook and make a minor change to the call lowering to demote arguments to sret if they can't be handled by calling conventions.
Fixes issue 56295
Paths
| Differential D129098
[AArch64][GlobalISel] Add support for sret demotion. ClosedPublic Authored by aemerson on Jul 4 2022, 4:46 PM.
Details Summary To do this, we need to implement a target hook and make a minor change to the call lowering to demote arguments to sret if they can't be handled by calling conventions. Fixes issue 56295
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Jul 5 2022, 2:41 PM This revision was landed with ongoing or failed builds.Jul 5 2022, 3:24 PM Closed by commit rGb97013fd6097: [AArch64][GlobalISel] Add support for sret demotion. (authored by aemerson). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 442405 llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll
|
Does this have to be 9 x i64 or could it be smaller? Would be nice to have fewer generated lines if possible.