llvm-project/llvm
Bill Schmidt 54cced54a6 [PowerPC] v4i32 is a VSRCRegClass
I was looking at some vector code generation and kept seeing
unnecessary vector copies into the Altivec half of the VSX registers.
I discovered that we overlooked v4i32 when adding the register classes
for VSX; we only added v4f32 and v2f64.  This means that anything that
canonicalizes into v4i32 (which is a LOT of stuff) ends up being
forced into VRRC on its way to VSRC.

The fix is one line.  The rest of the patch is fixing up some test
cases whose code generation has changed as a result.

This seems like it would be a good candidate for backport to 3.7.

llvm-svn: 242442
2015-07-16 21:14:07 +00:00
..
autoconf Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
bindings Revert "Update LLVM bindings after r239940. ..." 2015-07-16 01:16:39 +00:00
cmake [CMake] Unbreak add_llvm_external_project when external projects are specified. 2015-07-14 05:12:53 +00:00
docs List supported architectures for StackMap section and related intrinsics 2015-07-16 21:10:46 +00:00
examples Fix Kaleidoscope tuto: ExecutionEngine->getDataLayout() returns a ref 2015-07-16 16:47:18 +00:00
include MachineInstr: Explain the subtle semantics of uses()/defs() 2015-07-16 20:27:01 +00:00
lib [PowerPC] v4i32 is a VSRCRegClass 2015-07-16 21:14:07 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test [PowerPC] v4i32 is a VSRCRegClass 2015-07-16 21:14:07 +00:00
tools Delete an unused function. 2015-07-16 18:41:41 +00:00
unittests [ExecutionEngine] Re-apply r241962 with fixes for ARM. 2015-07-14 22:11:10 +00:00
utils Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
CODE_OWNERS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Disallow in-source builds (as we already do for the cmake build). 2015-07-01 18:09:21 +00:00
Makefile.rules
README.txt
configure Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.