llvm-project/llvm/test/CodeGen
Diana Picus 8138996128 [GlobalISel] Accept multiple vregs for lowerCall's result
Change the interface of CallLowering::lowerCall to accept several
virtual registers for the call result, instead of just one.  This is a
follow-up to D46018.

CallLowering::lowerReturn was similarly refactored in D49660 and
lowerFormalArguments in D63549.

With this change, we no longer pack the virtual registers generated for
aggregates into one big lump before delegating to the target. Therefore,
the target can decide itself whether it wants to handle them as separate
pieces or use one big register.

ARM and AArch64 have been updated to use the passed in virtual registers
directly, which means we no longer need to generate so many
merge/extract instructions.

NFCI for AMDGPU, Mips and X86.

Differential Revision: https://reviews.llvm.org/D63550

llvm-svn: 364511
2019-06-27 09:15:53 +00:00
..
AArch64 [GlobalISel] Accept multiple vregs for lowerCall's result 2019-06-27 09:15:53 +00:00
AMDGPU [GlobalISel] Accept multiple vregs in lowerFormalArgs 2019-06-27 08:54:17 +00:00
ARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
ARM [GlobalISel] Accept multiple vregs for lowerCall's result 2019-06-27 09:15:53 +00:00
AVR [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
BPF [BPF] generate R_BPF_NONE relocation for BTF DataSec variables 2019-05-26 21:26:06 +00:00
Generic Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
Hexagon Rename ExpandISelPseudo->FinalizeISel, delay register reservation 2019-06-19 00:25:39 +00:00
Inputs
Lanai [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
MIR [MachineFunction] Base support for call site info tracking 2019-06-27 07:48:06 +00:00
MSP430 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
Mips [MIPS GlobalISel] Select integer to floating point conversions 2019-06-20 09:05:02 +00:00
NVPTX SelectionDAG: accommodate atomic floating stores. 2019-05-10 11:23:04 +00:00
PowerPC Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
RISCV [RISCV] Add RISCV-specific TargetTransformInfo 2019-06-21 13:36:09 +00:00
SPARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
SystemZ Allow matching extend-from-memory with strict FP nodes 2019-06-26 17:19:12 +00:00
Thumb [ARM] Don't reserve R12 on Thumb1 as an emergency spill slot. 2019-06-26 23:46:51 +00:00
Thumb2 [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
WebAssembly [WebAssembly] Omit wrap on i64x2.{shl,shr*} ISel when possible 2019-06-26 16:19:59 +00:00
WinCFGuard
WinEH [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
X86 [X86] Teach selectScalarSSELoad to not narrow volatile loads. 2019-06-27 05:51:56 +00:00
XCore [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00