llvm-project/llvm/lib/Transforms/Vectorize
Alexey Bataev 46c0278e7d [SLP] Fix for PR30626: Compiler crash inside SLP Vectorizer.
After successfull horizontal reduction vectorization attempt for PHI node
vectorizer tries to update root binary op by combining vectorized tree
and the ReductionPHI node. But during vectorization this ReductionPHI
can be vectorized itself and replaced by the `undef` value, while the
instruction itself is marked for deletion. This 'marked for deletion'
PHI node then can be used in new binary operation, causing "Use still
stuck around after Def is destroyed" crash upon PHI node deletion.

Also the test is fixed to make it perform actual testing.

Differential Revision: https://reviews.llvm.org/D25671

llvm-svn: 285286
2016-10-27 12:02:28 +00:00
..
BBVectorize.cpp IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags. 2016-09-07 23:39:04 +00:00
CMakeLists.txt Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
LoadStoreVectorizer.cpp Add new target hooks for LoadStoreVectorizer 2016-10-03 10:31:34 +00:00
LoopVectorize.cpp [LV] Sink scalar operands of predicated instructions 2016-10-25 18:59:45 +00:00
SLPVectorizer.cpp [SLP] Fix for PR30626: Compiler crash inside SLP Vectorizer. 2016-10-27 12:02:28 +00:00
Vectorize.cpp Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00