[PATCH] D140580: [SLP]Do not emit many extractelements, reuse the single one emitted.
Anna Thomas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 2 14:21:41 PST 2023
anna added a comment.
This patch caused multiple crashes with cast assertion failures. Reverting it locally fixed those crashes. Still working on reproducer upstream, but here is the backtrace:
at llvm/include/llvm/Support/Casting.h:579
#11 0x00007fbf46981c22 in llvm::slpvectorizer::BoUpSLP::<lambda(llvm::Value*)>::operator()(llvm::Value *) const (__closure=0x7fbeae7eedd0, Vec=<optimized out>)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9666
#12 0x00007fbf469a2522 in llvm::slpvectorizer::BoUpSLP::vectorizeTree (this=0x7fbeae7f00f0, ExternallyUsedValues=..., ReductionRoot=<optimized out>)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9822
#13 0x00007fbf469a49af in llvm::slpvectorizer::BoUpSLP::vectorizeTree (this=<optimized out>)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9569
#14 0x00007fbf469b913a in llvm::SLPVectorizerPass::tryToVectorizeList (this=0x7fbe646f6f48, VL=..., R=..., LimitForRegisterSize=false)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:11494
#15 0x00007fbf469baf44 in llvm::SLPVectorizerPass::vectorizeInsertElementInst (this=0x7fbe646f6f48, IEI=0x7fbe647ec6b0, BB=<optimized out>, R=...)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:13048
#16 0x00007fbf469bb8b8 in llvm::SLPVectorizerPass::vectorizeSimpleInstructions (this=0x7fbe646f6f48, Instructions=..., BB=0x7fbeadc26100, R=..., AtTerminator=<optimized out>)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:13199
#17 0x00007fbf469bd1a7 in llvm::SLPVectorizerPass::vectorizeChainsInBlock (this=<optimized out>, BB=0x7fbeadc26100, R=...)
at llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:13508
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D140580/new/
https://reviews.llvm.org/D140580
More information about the llvm-commits
mailing list