llvm-6502/test
Bob Wilson 704d1347c5 Extend SROA to handle arrays accessed as homogeneous structs and vice versa.
This is a minor extension of SROA to handle a special case that is
important for some ARM NEON operations.  Some of the NEON intrinsics
return multiple values, which are handled as struct types containing
multiple elements of the same vector type.  The corresponding return
types declared in the arm_neon.h header have equivalent arrays.  We
need SROA to recognize that it can split up those arrays and structs
into separate vectors, even though they are not always accessed with
the same type.  SROA already handles loads and stores of an entire
alloca by using insertvalue/extractvalue to access the individual
pieces, and that code works the same regardless of whether the type
is a struct or an array.  So, all that needs to be done is to check
for compatible arrays and homogeneous structs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123381 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-13 17:45:11 +00:00
..
Analysis Revert the testcase from the previous reverted commit. 2011-01-11 09:20:44 +00:00
Archive
Assembler Reject uses of unnamed_addr in declarations. 2011-01-13 01:30:30 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Experiment with changing the default 32-bit linux stack alignment to 2011-01-13 06:47:10 +00:00
DebugInfo
ExecutionEngine
Feature
FrontendAda
FrontendC
FrontendC++
FrontendFortran
FrontendObjC
FrontendObjC++
Integer
lib
Linker Keep unnamed_addr when linking. 2011-01-13 05:12:34 +00:00
LLVMC
MC Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step 2011-01-13 07:58:56 +00:00
Other
Scripts
TableGen Rename lisp-like functions as suggested by Gabor Greif as loooong time 2011-01-07 17:05:37 +00:00
Transforms Extend SROA to handle arrays accessed as homogeneous structs and vice versa. 2011-01-13 17:45:11 +00:00
Unit
Verifier
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh