llvm-project/llvm/lib
Cameron Zwarich 3b649f4d01 Add support to scalar replacement for partial vector accesses of an alloca, e.g.
a union of a float, <2 x float>, and <4 x float>. This mostly comes up with the
use of vector intrinsics, especially in NEON when programmers know the layout of
the register file. This enables codegen to eliminate a lot of the subregister
traffic it would otherwise generate.

This commit only enables this for a small number of floating-point cases, but a
lot more integer cases. I assume this is okay for all ports, but I did not do
extensive testing of the quality of code involving i512 vectors and the like. If
there is a use case where this generates worse code than before, let me know and
we can scale it back.

This fixes <rdar://problem/9036264>.

llvm-svn: 127317
2011-03-09 05:43:05 +00:00
..
Analysis Fix PR9331. Simplified version of a patch by Jakub Staszak. 2011-03-08 12:39:03 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Use X86_thiscall calling convention for Win64 as well. 2011-03-03 07:49:07 +00:00
Bitcode Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
CodeGen Add a virtual dtor to Delegate to silence -Wnon-virtual-dtor 2011-03-09 04:02:15 +00:00
CompilerDriver Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists. 2011-01-10 02:34:23 +00:00
ExecutionEngine Support unregistering exception frames of functions when they are removed. 2011-03-04 23:37:39 +00:00
Linker Correctly merge available_externally and regular definitions when they have 2011-02-01 05:33:52 +00:00
MC Darwin 'as' silently ignores the '.ident' directive. 2011-03-08 19:17:19 +00:00
Object Object: Fix type punned pointer issues by making DataRefImpl a union and using intptr_t. 2011-01-21 02:27:02 +00:00
Support lib/Support/regcomp.c: Fix cygwin warning. 2011-03-08 12:25:29 +00:00
Target * Correct encoding for VSRI. 2011-03-09 00:33:17 +00:00
Transforms Add support to scalar replacement for partial vector accesses of an alloca, e.g. 2011-03-09 05:43:05 +00:00
VMCore ptx: Fix calling convention printing in AsmWriter.cpp 2011-03-07 14:32:30 +00:00
CMakeLists.txt Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00