[PATCH] D92953: [GlobalISel] Base implementation for sret demotion.

Christudasan Devadasan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 9 11:07:48 PST 2020


cdevadas created this revision.
cdevadas added reviewers: aemerson, paquette, qcolombet, arsenm.
Herald added subscribers: frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, pzheng, pengfei, s.egerton, lenary, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, kbarton, hiraditya, rovka, nhaehnle, jvesely, nemanjai, sdardis.
cdevadas requested review of this revision.
Herald added subscribers: llvm-commits, MaskRay, wdng.
Herald added a project: LLVM.

If the return values can't be lowered to registers
SelectionDAG perform the sret demotion. This patch
contains the basic implementation for the same in
the GlobalISel pipeline.

Furthermore, targets should bring relevant changes
during lowerFormalArguments, lowerReturn and
lowerCall to make use of this feature.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D92953

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
  llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
  llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
  llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
  llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
  llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
  llvm/lib/Target/ARM/ARMCallLowering.cpp
  llvm/lib/Target/ARM/ARMCallLowering.h
  llvm/lib/Target/Mips/MipsCallLowering.cpp
  llvm/lib/Target/Mips/MipsCallLowering.h
  llvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp
  llvm/lib/Target/PowerPC/GISel/PPCCallLowering.h
  llvm/lib/Target/RISCV/RISCVCallLowering.cpp
  llvm/lib/Target/RISCV/RISCVCallLowering.h
  llvm/lib/Target/X86/X86CallLowering.cpp
  llvm/lib/Target/X86/X86CallLowering.h
  llvm/tools/llvm-exegesis/lib/Assembler.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92953.310581.patch
Type: text/x-patch
Size: 33315 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201209/c3131ab3/attachment-0001.bin>


More information about the llvm-commits mailing list