llvm-6502/lib
Sanjay Patel 05d5e213c4 merge consecutive stores of extracted vector elements (PR21711)
This is a 2nd try at the same optimization as http://reviews.llvm.org/D6698. 
That patch was checked in at r224611, but reverted at r225031 because it
caused a failure outside of the regression tests.

The cause of the crash was not recognizing consecutive stores that have mixed
source values (loads and vector element extracts), so this patch adds a check
to bail out if any store value is not coming from a vector element extract.

This patch also refactors the shared logic of the constant source and vector
extracted elements source cases into a helper function.

Differential Revision: http://reviews.llvm.org/D6850
 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226845 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-22 18:21:26 +00:00
..
Analysis Make ScalarEvolution less aggressive with respect to no-wrap flags. 2015-01-22 00:48:47 +00:00
AsmParser AsmParser: PARSE_MD_FIELD() => ParseMDField(), NFC 2015-01-20 02:42:29 +00:00
Bitcode Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
CodeGen merge consecutive stores of extracted vector elements (PR21711) 2015-01-22 18:21:26 +00:00
DebugInfo [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ExecutionEngine [RuntimeDyld] Tidy up emitCommonSymbols a little. NFC. 2015-01-17 00:55:05 +00:00
IR Rewrite DIExpression::printInternal() to use the iterator interface. 2015-01-22 16:55:22 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LineEditor
Linker [llvm link] Destroy ConstantArrays in LLVMContext if they are not used. 2015-01-20 19:24:59 +00:00
LTO [PM] Separate the InstCombiner from its pass. 2015-01-20 22:44:35 +00:00
MC [pr21886] Change MCJIT/ELF to support MSVC C++ mangled symbol. 2015-01-22 14:20:45 +00:00
Object Fix the Archive::Child::getRawSize() method used by llvm-objdump’s -archive-headers option 2015-01-16 22:10:36 +00:00
Option [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ProfileData Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Support Adding a new cl::HideUnrelatedOptions API to allow clang to migrate off cl::getRegisteredOptions. 2015-01-21 22:45:52 +00:00
TableGen Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Target AArch64: decode all MRS/MSR forms early to avoid saving FeatureBits. 2015-01-22 17:23:04 +00:00
Transforms Silencing a -Wsign-compare warning (all uses of this constant are within unsigned expressions anyway); NFC. 2015-01-22 13:57:41 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile