llvm-6502/lib
Arnold Schwaighofer a4b8b4ccc9 LoopVectorize: Scalarize padded types
This patch disables memory-instruction vectorization for types that need padding
bytes, e.g., x86_fp80 has 10 bytes store size with 6 bytes padding in darwin on
x86_64. Because the load/store vectorization is performed by the bit casting to
a packed vector, which has incompatible memory layout due to the lack of padding
bytes, the present vectorizer produces inconsistent result for memory
instructions of those types.
This patch checks an equality of the AllocSize of a scalar type and allocated
size for each vector element, to ensure that there is no padding bytes and the
array can be read/written using vector operations.

Patch by Daisuke Takahashi!

Fixes PR15758.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180196 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-24 16:16:01 +00:00
..
Analysis Struct-path aware TBAA: update getMostGenericTBAA 2013-04-22 23:00:44 +00:00
Archive
AsmParser
Bitcode Move C++ code out of the C headers and into either C++ headers 2013-04-22 22:47:22 +00:00
CodeGen MI Sched: eliminate local vreg copies. 2013-04-24 15:54:43 +00:00
DebugInfo Use zlib to uncompress debug sections in DWARF parser. 2013-04-23 10:17:34 +00:00
ExecutionEngine Fix dependency layering issues caused by r180112. 2013-04-23 22:53:53 +00:00
IR Add some constraints to use of 'returned': 2013-04-23 16:31:56 +00:00
IRReader
Linker Move C++ code out of the C headers and into either C++ headers 2013-04-22 22:47:22 +00:00
MC Align the __LD,__compact_unwind section. 2013-04-24 03:11:14 +00:00
Object Revert r180189. 2013-04-24 16:10:49 +00:00
Option
Support Testing for _XCR_XFEATURE_ENABLED_MASK instead of a specific MSVC version because some MSVC 2010 SP1 installations do not have the _xgetbv intrinsic. Patch thanks to Serge Pavlov! 2013-04-23 17:38:44 +00:00
TableGen
Target Hexagon: Use multiclass for combine and STri[bhwd]_shl_V4 instructions. 2013-04-23 21:17:40 +00:00
Transforms LoopVectorize: Scalarize padded types 2013-04-24 16:16:01 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile