Go to file
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
.github Add github lockdown app to auto-close pull requests. 2019-06-25 22:51:46 +00:00
clang [clang] Add DISuprogram and DIE for a func decl 2019-06-27 06:44:44 +00:00
clang-tools-extra BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
compiler-rt [GWP-ASan] D63736 broke ARMv7/v8 sanitizer bots. 2019-06-26 22:24:15 +00:00
debuginfo-tests Make nrvo-string test more robust. 2019-06-26 20:04:09 +00:00
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx Revert "Change the ABI version and ABI namespace to be `_LIBCPP_VERSION`" 2019-06-26 00:05:14 +00:00
libcxxabi [demangle] Special case clang's creative mangling of __uuidof expressions. 2019-06-18 23:34:09 +00:00
libunwind [libunwind][AArch64] Fix libunwind::Registers_arm64::jumpto 2019-06-17 11:00:21 +00:00
lld [wasm-ld] Add __global_base symbol to mark the value of --global-base 2019-06-26 20:12:33 +00:00
lldb [lldb] [Plugins/SysV-x86_64] NetBSD is also using SysV ABI 2019-06-27 07:09:51 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm [GlobalISel] Accept multiple vregs for lowerCall's result 2019-06-27 09:15:53 +00:00
openmp Fixed memory use-after-free problem. 2019-06-26 18:11:26 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [test] Add wrap flags after D61934. 2019-06-17 19:17:07 +00:00
pstl [pstl] Default to the serial backend when unspecified 2019-06-20 17:56:51 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.