| Issue |
107534
|
| Summary |
[RISCV] Crash in `selectVSSEG`: "Cannot select: 0x3266bfdfba80: nxv2i64 = zero_extend 0x3266bfdfbbd0:1"
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
michalt
|
We have run internally into a crash in ISEL. I manually bisected things and it seems that the culprit is probably: https://github.com/llvm/llvm-project/commit/dc03ee3cbba65356de62f2f27fb1934b2731000d (@4vtomat FYI)
```
fatal error: error in backend: Cannot select: 0x3266bfdfba80: nxv2i64 = zero_extend 0x3266bfdfbbd0:1
```
Slightly redacted stack trace:
```
[...]
2. Code generation
3. Running pass 'Function Pass Manager' on module [...]
4. Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on [...]
#0 0x0000557c2b019558 llvm::sys::RunSignalHandlers()
#1 0x0000557c2afddba8 CrashRecoverySignalHandler(int)
#2 0x00007fc480024e80 __restore_rt
#3 0x0000557c292bd98c llvm::RISCVDAGToDAGISel::selectVSSEG(llvm::SDNode*, unsigned int, bool, bool)
#4 0x0000557c292c0958 llvm::RISCVDAGToDAGISel::Select(llvm::SDNode*)
#5 0x0000557c29dcb38c llvm::SelectionDAGISel::DoInstructionSelection()
#6 0x0000557c29dcab47 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
#7 0x0000557c29dc9747 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
#8 0x0000557c29dc7ca8 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
#9 0x0000557c29dc6561 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&)
#10 0x0000557c29aa4bcf llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
#11 0x0000557c2ae23ac2 llvm::FPPassManager::runOnFunction(llvm::Function&)
#12 0x0000557c2ae2a5a4 llvm::FPPassManager::runOnModule(llvm::Module&)
#13 0x0000557c2ae24305 llvm::legacy::PassManagerImpl::run(llvm::Module&)
#14 0x0000557c261919ce clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__u::unique_ptr<llvm::raw_pwrite_stream, std::__u::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*)
#15 0x0000557c25e55774 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
#16 0x0000557c26cb1e59 clang::ParseAST(clang::Sema&, bool, bool)
#17 0x0000557c26a15fda clang::FrontendAction::Execute()
#18 0x0000557c2698c324 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
#19 0x0000557c25b2763f clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
#20 0x0000557c25b1cc56 cc1_main(llvm::ArrayRef<char const*>, char const*, void*)
#21 0x0000557c25b19966 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&)
#22 0x0000557c26b18ede void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const::$_0>(long)
#23 0x0000557c2afdd996 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
#24 0x0000557c26b186ba clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const
#25 0x0000557c26adae3d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const
#26 0x0000557c26adb0ef clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&, bool) const
#27 0x0000557c26af8450 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs