[PATCH] D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 15:40:05 PDT 2019


aemerson created this revision.
aemerson added reviewers: paquette, arsenm, t.p.northover.
Herald added subscribers: Petar.Avramovic, volkan, atanasyan, jrtc27, hiraditya, kristof.beyls, javed.absar, rovka, nhaehnle, wdng, jvesely, sdardis.
Herald added a project: LLVM.

On AArch64, s128 types have to be split into s64 GPRs when passed as arguments. This change adds the generic support in call lowering for dealing with multiple registers, for incoming and outgoing args. Support for splitting for return types not yet implemented.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D66180

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
  llvm/include/llvm/CodeGen/GlobalISel/Utils.h
  llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
  llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
  llvm/lib/CodeGen/GlobalISel/Utils.cpp
  llvm/lib/Target/AArch64/AArch64CallLowering.cpp
  llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
  llvm/lib/Target/ARM/ARMCallLowering.cpp
  llvm/lib/Target/Mips/MipsCallLowering.cpp
  llvm/lib/Target/X86/X86CallLowering.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/arm64-callingconv.ll
  llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66180.214953.patch
Type: text/x-patch
Size: 25354 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190813/90a91d1e/attachment.bin>


More information about the llvm-commits mailing list