Closed
Description
Godbolt repro: https://godbolt.org/z/sa7vnTsb8
Run clang++ on the following test:
Test.cpp.txt
Backtrace:
clang++: /root/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:773: llvm::Optional<int> CompareSCEVComplexity(llvm::EquivalenceClasses<const llvm::SCEV*>&, llvm::EquivalenceClasses<const llvm::Value*>&, const llvm::LoopInfo*, const llvm::SCEV*, const llvm::SCEV*, llvm::DominatorTree&, unsigned int): Assertion `DT.dominates(RHead, LHead) && "No dominance between recurrences used by one SCEV?"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -O3 <source>
1. <eof> parser at end of file
2. Optimizer
#0 0x00005621c5d4a194 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x00005621c5d47f2c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3fb8f2c)
#2 0x00005621c5c83188 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f9a06f8b420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f9a06a5800b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#5 0x00007f9a06a37859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#6 0x00007f9a06a37729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#7 0x00007f9a06a48fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x00005621c4cb8eea (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f29eea)
#9 0x00005621c4cc7441 void std::__merge_adaptive<llvm::SCEV const**, long, llvm::SCEV const**, __gnu_cxx::__ops::_Iter_comp_iter<GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*, llvm::DominatorTree&)::'lambda0'(llvm::SCEV const*, llvm::SCEV const*)>>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, long, long, llvm::SCEV const**, long, __gnu_cxx::__ops::_Iter_comp_iter<GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*, llvm::DominatorTree&)::'lambda0'(llvm::SCEV const*, llvm::SCEV const*)>) ScalarEvolution.cpp:0:0
#10 0x00005621c4cc75c8 void std::__stable_sort_adaptive<llvm::SCEV const**, llvm::SCEV const**, long, __gnu_cxx::__ops::_Iter_comp_iter<GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*, llvm::DominatorTree&)::'lambda0'(llvm::SCEV const*, llvm::SCEV const*)>>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, long, __gnu_cxx::__ops::_Iter_comp_iter<GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*, llvm::DominatorTree&)::'lambda0'(llvm::SCEV const*, llvm::SCEV const*)>) ScalarEvolution.cpp:0:0
#11 0x00005621c4cc7aaa GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*, llvm::DominatorTree&) ScalarEvolution.cpp:0:0
#12 0x00005621c4cde51f llvm::ScalarEvolution::getAddExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4f51f)
#13 0x00005621c4cdf545 llvm::ScalarEvolution::getAddExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f50545)
#14 0x00005621c3e9be46 llvm::ScalarEvolution::getAddExpr(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x210ce46)
#15 0x00005621c4ce49de llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f559de)
#16 0x00005621c4cd8d73 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#17 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#18 0x00005621c4cd1b0f llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b0f)
#19 0x00005621c4ce4970 llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f55970)
#20 0x00005621c4cd8d73 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#21 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#22 0x00005621c4cd1b0f llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b0f)
#23 0x00005621c4cd1b1d llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b1d)
#24 0x00005621c4cd0ee5 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f41ee5)
#25 0x00005621c4cd0fb7 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f41fb7)
#26 0x00005621c4ce4970 llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f55970)
#27 0x00005621c4cd95a7 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#28 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#29 0x00005621c4cd1b0f llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b0f)
#30 0x00005621c4cd0ee5 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f41ee5)
#31 0x00005621c4ce4970 llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f55970)
#32 0x00005621c4cd8d73 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#33 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#34 0x00005621c4cd88ab llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f498ab)
#35 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#36 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#37 0x00005621c4cd1b0f llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b0f)
#38 0x00005621c4cd1b1d llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b1d)
#39 0x00005621c4ce4970 llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f55970)
#40 0x00005621c4cd8d73 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#41 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#42 0x00005621c4cd7f4e llvm::ScalarEvolution::createAddRecFromPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f48f4e)
#43 0x00005621c4cd8806 llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f49806)
#44 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#45 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#46 0x00005621c4cd88ab llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f498ab)
#47 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#48 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#49 0x00005621c4cd88ab llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f498ab)
#50 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#51 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#52 0x00005621c4cd7f4e llvm::ScalarEvolution::createAddRecFromPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f48f4e)
#53 0x00005621c4cd8806 llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f49806)
#54 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#55 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#56 0x00005621c4cf8a02 llvm::ScalarEvolution::createNodeFromSelectLikePHI(llvm::PHINode*) (.part.0) ScalarEvolution.cpp:0:0
#57 0x00005621c4cd884a llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4984a)
#58 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#59 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#60 0x00005621c4cd88ab llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f498ab)
#61 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#62 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#63 0x00005621c4cd88ab llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f498ab)
#64 0x00005621c4cd9b8d llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#65 0x00005621c4cda669 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f4b669)
#66 0x00005621c4cd1b0f llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b0f)
#67 0x00005621c4cd13b9 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f423b9)
#68 0x00005621c4cd1b1d llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42b1d)
#69 0x00005621c4cd11d2 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f421d2)
#70 0x00005621c4cd1017 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f42017)
#71 0x00005621c4cd0e53 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f41e53)
#72 0x00005621c4cd2926 llvm::ScalarEvolution::isKnownNonZero(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x2f43926)
#73 0x00005621c5ec2330 llvm::SCEVExpander::visitUDivExpr(llvm::SCEVUDivExpr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4133330)
#74 0x00005621c5ebfbd3 llvm::SCEVExpander::expand(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130bd3)
#75 0x00005621c5ebfec0 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130ec0)
#76 0x00005621c5ec2428 llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr const*)::'lambda'()::operator()() const ScalarEvolutionExpander.cpp:0:0
#77 0x00005621c5ebe8ca llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x412f8ca)
#78 0x00005621c5ebfbd3 llvm::SCEVExpander::expand(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130bd3)
#79 0x00005621c5ebfec0 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130ec0)
#80 0x00005621c5ec7988 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4138988)
#81 0x00005621c5ebfbd3 llvm::SCEVExpander::expand(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130bd3)
#82 0x00005621c5ec62a7 llvm::SCEVExpander::visitAddRecExpr(llvm::SCEVAddRecExpr const*) (.part.0) ScalarEvolutionExpander.cpp:0:0
#83 0x00005621c5ebfbd3 llvm::SCEVExpander::expand(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130bd3)
#84 0x00005621c5ebfec0 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130ec0)
#85 0x00005621c5ec79d0 llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41389d0)
#86 0x00005621c5ebfbd3 llvm::SCEVExpander::expand(llvm::SCEV const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130bd3)
#87 0x00005621c5ebfec0 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4130ec0)
#88 0x00005621c5f70a39 CreateStepValue(llvm::SCEV const*, llvm::ScalarEvolution&, llvm::Instruction*, llvm::Loop*) (.constprop.0) LoopVectorize.cpp:0:0
#89 0x00005621c5f8eec8 llvm::InnerLoopVectorizer::createInductionResumeValue(llvm::PHINode*, llvm::InductionDescriptor const&, llvm::ArrayRef<llvm::BasicBlock*>, std::pair<llvm::BasicBlock*, llvm::Value*>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41ffec8)
#90 0x00005621c5f8f3a8 llvm::InnerLoopVectorizer::createInductionResumeValues(std::pair<llvm::BasicBlock*, llvm::Value*>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x42003a8)
#91 0x00005621c5faaaa8 llvm::InnerLoopVectorizer::createVectorizedLoopSkeleton() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x421baa8)
#92 0x00005621c5fbd5a6 llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x422e5a6)
#93 0x00005621c5fc7274 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4238274)
#94 0x00005621c5fc7d90 llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo&, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AAResults&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4238d90)
#95 0x00005621c5fc8594 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4239594)
#96 0x00005621c726d0a6 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x54de0a6)
#97 0x00005621c3575f44 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x17e6f44)
#98 0x00005621c54e88cf llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x37598cf)
#99 0x00005621c355be86 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x17cce86)
#100 0x00005621c54e6a2a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3757a2a)
#101 0x00005621c611dcd0 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&) BackendUtil.cpp:0:0
#102 0x00005621c6120262 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4391262)
#103 0x00005621c707b21b clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x52ec21b)
#104 0x00005621c83173a5 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x65883a5)
#105 0x00005621c7079c98 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x52eac98)
#106 0x00005621c690acf9 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4b7bcf9)
#107 0x00005621c689170e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4b0270e)
#108 0x00005621c69eff73 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4c60f73)
#109 0x00005621c31fec74 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x146fc74)
#110 0x00005621c31faa77 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#111 0x00005621c66fd259 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#112 0x00005621c5c8392a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3ef492a)
#113 0x00005621c66fdaaf clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#114 0x00005621c66c6ed9 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4937ed9)
#115 0x00005621c66c795d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x493895d)
#116 0x00005621c66d134c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x494234c)
#117 0x00005621c31fd262 clang_main(int, char**) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x146e262)
#118 0x00007f9a06a39083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#119 0x00005621c31f63ae _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x14673ae)
clang-16: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134