[llvm] r323348 - [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle.
Davide Italiano via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 24 17:23:38 PST 2018
On Wed, Jan 24, 2018 at 9:50 AM, Alexey Bataev via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: abataev
> Date: Wed Jan 24 09:50:53 2018
> New Revision: 323348
>
> URL: http://llvm.org/viewvc/llvm-project?rev=323348&view=rev
> Log:
> [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle.
>
This change is very likely responsible for a crash which manifests
when building the swift compiler.
I'll try to come up with a repro for you, but, in the meanwhile, this
is the assertion I'm seeing.
^~~~~~~
Assertion failed: (idx < size()), function operator[], file
/Users/dcci/work/swift-next/llvm/include/llvm/ADT/SmallVector.h, line
149.
0 swift 0x00000001127712e8
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1 swift 0x00000001127719f6 SignalHandler(int) + 694
2 libsystem_platform.dylib 0x00007fff6b878f5a _sigtramp + 26
3 libsystem_platform.dylib 0x0000000000003a28 _sigtramp + 2490936040
4 libsystem_c.dylib 0x00007fff6b6a3312 abort + 127
5 libsystem_c.dylib 0x00007fff6b66b368 basename_r + 0
6 swift 0x00000001115390a5
llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>,
unsigned int, int) + 19253
7 swift 0x000000011153841e
llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>,
unsigned int, int) + 16046
8 swift 0x0000000111533884
llvm::slpvectorizer::BoUpSLP::buildTree(llvm::ArrayRef<llvm::Value*>,
llvm::MapVector<llvm::Value*, llvm::SmallVector<llvm::Instruction*,
2u>, llvm::DenseMap<llvm::Value*, unsigned int,
llvm::DenseMapInfo<llvm::Value*>,
llvm::detail::DenseMapPair<llvm::Value*, unsigned int> >,
std::__1::vector<std::__1::pair<llvm::Value*,
llvm::SmallVector<llvm::Instruction*, 2u> >,
std::__1::allocator<std::__1::pair<llvm::Value*,
llvm::SmallVector<llvm::Instruction*, 2u> > > > >&,
llvm::ArrayRef<llvm::Value*>) + 148
9 swift 0x000000011154eb79
llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>,
llvm::slpvectorizer::BoUpSLP&, bool) + 4329
10 swift 0x000000011154b130
llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*,
llvm::slpvectorizer::BoUpSLP&) + 912
11 swift 0x000000011154a230
llvm::SLPVectorizerPass::runImpl(llvm::Function&,
llvm::ScalarEvolution*, llvm::TargetTransformInfo*,
llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*,
llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*,
llvm::OptimizationRemarkEmitter*) + 1696
12 swift 0x000000011155924f (anonymous
namespace)::SLPVectorizer::runOnFunction(llvm::Function&) + 975
13 swift 0x000000011264a14d
llvm::FPPassManager::runOnFunction(llvm::Function&) + 541
14 swift 0x000000011264a3c3
llvm::FPPassManager::runOnModule(llvm::Module&) + 67
15 swift 0x000000011264a91b
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 971
16 swift 0x000000010f16e754
swift::performLLVMOptimizations(swift::IRGenOptions&, llvm::Module*,
llvm::TargetMachine*) + 1844
17 swift 0x000000010f16f117
swift::performLLVM(swift::IRGenOptions&, swift::DiagnosticEngine*,
llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*,
llvm::TargetMachine*, swift::version::Version const&, llvm::StringRef,
swift::UnifiedStatsReporter*) + 2055
18 swift 0x000000010f00ca19
performCompile(swift::CompilerInstance&, swift::CompilerInvocation&,
llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*,
swift::UnifiedStatsReporter*) + 15497
19 swift 0x000000010f007e04
swift::performFrontend(llvm::ArrayRef<char const*>, char const*,
void*, swift::FrontendObserver*) + 3284
20 swift 0x000000010efc66d2 main + 3042
21 libdyld.dylib 0x00007fff6b5f7115 start + 1
22 libdyld.dylib 0x0000000000000059 start + 2493550405
Stack dump:
--
Davide
More information about the llvm-commits
mailing list