[AArch64][GlobalISel] Add support for sret demotion.
authorAmara Emerson <amara@apple.com>
Mon, 4 Jul 2022 23:43:56 +0000 (16:43 -0700)
committerAmara Emerson <amara@apple.com>
Tue, 5 Jul 2022 22:23:47 +0000 (15:23 -0700)
commitb97013fd60977ba62a747729183e033c0900de8c
treef6f161b96310b30f8f09051096b78f2e4a4bbb22
parent9b1cf2e2b2a8ca2bc10894d569a653429b989dd0
[AArch64][GlobalISel] Add support for sret demotion.

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 the
calling conventions.

Fixes issue 56295

Differential Revision: https://reviews.llvm.org/D129098
llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll [new file with mode: 0644]