When building the Hexagon Linux kernel's allmodconfig target, there is a crash in the device mapper driver: https://github.com/ClangBuiltLinux/linux/issues/1410 A reducer reproducer: $ cat dm-bitset.i dm_bitset_resize_new_root(*, long long, old_nr_entries, new_nr_entries, _Bool default_value) { long long value = default_value ? ~0 : 0; dm_array_resize(value); } $ clang --target=hexagon-linux -O0 -c -o /dev/null dm-bitset.i ... $ clang --target=hexagon-linux -O1 -c -o /dev/null dm-bitset.i ... fatal error: error in backend: Cannot select: t28: i64,ch = load<(load 1 from %fixed-stack.0, align 8), sext from i1> t0, FrameIndex:i32<-1>, undef:i32 t9: i32 = FrameIndex<-1> t10: i32 = undef In function: dm_bitset_resize_new_root PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: clang --target=hexagon-linux -O1 -c -o /dev/null dm-bitset.i 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module 'dm-bitset.i'. 4. Running pass 'Hexagon DAG->DAG Pattern Instruction Selection' on function '@dm_bitset_resize_new_root' #0 0x000000000301dd53 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x301dd53) #1 0x000000000301bb9e llvm::sys::RunSignalHandlers() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x301bb9e) #2 0x0000000002fa53f3 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0 #3 0x0000000002fa536f llvm::CrashRecoveryContext::HandleExit(int) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2fa536f) #4 0x00000000030180c7 llvm::sys::Process::Exit(int, bool) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x30180c7) #5 0x0000000001b28860 llvm::DenseMapBase<llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::detail::DenseMapPair<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*> >, llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::detail::DenseMapPair<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*> >::destroyAll() cc1_main.cpp:0:0 #6 0x0000000002fa9c42 llvm::report_fatal_error(llvm::Twine const&, bool) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2fa9c42) #7 0x0000000002fa9d17 (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2fa9d17) #8 0x0000000003e5f42e llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e5f42e) #9 0x0000000003e5e3fc llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e5e3fc) #10 0x0000000001c66c1f llvm::HexagonDAGToDAGISel::SelectLoad(llvm::SDNode*) HexagonISelDAGToDAG.cpp:0:0 #11 0x0000000003e5509e llvm::SelectionDAGISel::DoInstructionSelection() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e5509e) #12 0x0000000003e53f13 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e53f13) #13 0x0000000003e5183e llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e5183e) #14 0x0000000003e4e0c1 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e4e0c1) #15 0x0000000001c72a74 llvm::HexagonDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) HexagonISelDAGToDAG.cpp:0:0 #16 0x0000000002375ccd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2375ccd) #17 0x00000000027fd3e8 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x27fd3e8) #18 0x00000000028058b1 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x28058b1) #19 0x00000000027fdee1 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x27fdee1) #20 0x00000000036f6c0f (anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0 #21 0x00000000036f136c 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> >) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x36f136c) #22 0x0000000003a29980 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) CodeGenAction.cpp:0:0 #23 0x00000000041459b4 clang::ParseAST(clang::Sema&, bool, bool) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x41459b4) #24 0x000000000397e1e0 clang::FrontendAction::Execute() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x397e1e0) #25 0x00000000038f193f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x38f193f) #26 0x0000000003a23a07 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3a23a07) #27 0x0000000001b28538 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1b28538) #28 0x0000000001b2608d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0 #29 0x00000000037940b2 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::$_1>(long) Job.cpp:0:0 #30 0x0000000002fa5307 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2fa5307) #31 0x0000000003793c17 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3793c17) #32 0x000000000375bca8 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x375bca8) #33 0x000000000375bf77 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x375bf77) #34 0x0000000003774641 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3774641) #35 0x0000000001b25956 main (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1b25956) #36 0x00007f8975e52b25 __libc_start_main (/usr/lib/libc.so.6+0x27b25) #37 0x0000000001b22cfe _start (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1b22cfe) clang-13: error: clang frontend command failed with exit code 70 (use -v to see invocation) ClangBuiltLinux clang version 13.0.0 (https://github.com/llvm/llvm-project a9f3ac9e3dbb72dee5c7223c1ff972492e010c35) Target: hexagon-unknown-linux Thread model: posix InstalledDir: /home/nathan/cbl/github/tc-build/build/llvm/stage1/bin clang-13: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
Fixed in https://reviews.llvm.org/rG9c5ed8d56792.