Issue 76750
Summary Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed
Labels new issue
Assignees
Reporter steven-johnson
    Building on x86 Linux at commit e775ba384efe31928bac796b2a4d388a1c298c5e:

Multiple crashes, first one below, remainder in enclosed text file/

```
[0/12] Performing build step for 'builtins'
[1/22] Building C object CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o
FAILED: CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o 
/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang --target=x86_64-unknown-linux-gnu -DVISIBILITY_HIDDEN  -O3 -DNDEBUG -m32 -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -DCOMPILER_RT_HAS_FLOAT16 -MD -MT CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o -MF CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o.d -o CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o -c /usr/local/google/home/srj/GitHub/llvm-project/18/compiler-rt/lib/builtins/umodsi3.c
clang: /usr/local/google/home/srj/GitHub/llvm-project/18/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From*) [with To = ConstantInt; From = Constant]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' 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: /usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang --target=x86_64-unknown-linux-gnu -DVISIBILITY_HIDDEN -O3 -DNDEBUG -m32 -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -DCOMPILER_RT_HAS_FLOAT16 -MD -MT CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o -MF CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o.d -o CMakeFiles/clang_rt.builtins-i386.dir/umodsi3.c.o -c /usr/local/google/home/srj/GitHub/llvm-project/18/compiler-rt/lib/builtins/umodsi3.c
1.	<eof> parser at end of file
2.	Optimizer
 #0 0x00005618ddad221b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x32db21b)
 #1 0x00005618ddacf3cb llvm::sys::RunSignalHandlers() (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x32d83cb)
 #2 0x00005618dda17a68 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007f498457b510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #4 0x00007f49845c90fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #5 0x00007f498457b472 raise ./signal/../sysdeps/posix/raise.c:27:6
 #6 0x00007f49845654b2 abort ./stdlib/abort.c:81:7
 #7 0x00007f49845653d5 _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #8 0x00007f49845743a2 (/lib/x86_64-linux-gnu/libc.so.6+0x353a2)
 #9 0x00005618dccb9e5b llvm::ScalarEvolution::getNegativeSCEV(llvm::SCEV const*, llvm::SCEV::NoWrapFlags) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24c2e5b)
#10 0x00005618dccb2de2 llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV::NoWrapFlags, unsigned int) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24bbde2)
#11 0x00005618dcccdaa1 llvm::ScalarEvolution::computeExitLimitFromICmp(llvm::Loop const*, llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24d6aa1)
#12 0x00005618dcccdf27 llvm::ScalarEvolution::computeExitLimitFromICmp(llvm::Loop const*, llvm::ICmpInst*, bool, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24d6f27)
#13 0x00005618dccce1b3 llvm::ScalarEvolution::computeExitLimitFromCondImpl(llvm::ScalarEvolution::ExitLimitCache&, llvm::Loop const*, llvm::Value*, bool, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24d71b3)
#14 0x00005618dccce720 llvm::ScalarEvolution::computeExitLimitFromCondCached(llvm::ScalarEvolution::ExitLimitCache&, llvm::Loop const*, llvm::Value*, bool, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24d7720)
#15 0x00005618dccce8dc llvm::ScalarEvolution::computeExitLimitFromCond(llvm::Loop const*, llvm::Value*, bool, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24d78dc)
#16 0x00005618dcc9cf46 llvm::ScalarEvolution::computeExitLimit(llvm::Loop const*, llvm::BasicBlock*, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a5f46)
#17 0x00005618dcc9d5da llvm::ScalarEvolution::computeBackedgeTakenCount(llvm::Loop const*, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a65da)
#18 0x00005618dcc9e5d8 llvm::ScalarEvolution::getBackedgeTakenInfo(llvm::Loop const*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a75d8)
#19 0x00005618dccb24b1 llvm::ScalarEvolution::proveNoWrapViaConstantRanges(llvm::SCEVAddRecExpr const*) (.part.0) ScalarEvolution.cpp:0:0
#20 0x00005618dcc995b0 llvm::ScalarEvolution::createSimpleAffineAddRec(llvm::PHINode*, llvm::Value*, llvm::Value*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a25b0)
#21 0x00005618dcc99991 llvm::ScalarEvolution::createAddRecFromPHI(llvm::PHINode*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a2991)
#22 0x00005618dcc9a341 llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a3341)
#23 0x00005618dcc9c2c7 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x24a52c7)
#24 0x00005618e152c14c (anonymous namespace)::State::addInfoFor(llvm::BasicBlock&) ConstraintElimination.cpp:0:0
#25 0x00005618e153782f eliminateConstraints(llvm::Function&, llvm::DominatorTree&, llvm::LoopInfo&, llvm::ScalarEvolution&, llvm::OptimizationRemarkEmitter&) ConstraintElimination.cpp:0:0
#26 0x00005618e1539a79 llvm::ConstraintEliminationPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x6d42a79)
#27 0x00005618dedebf3d llvm::detail::PassModel<llvm::Function, llvm::ConstraintEliminationPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x45f4f3d)
#28 0x00005618dc056322 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>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x185f322)
#29 0x00005618e1793ea0 llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x6f9cea0)
#30 0x00005618dedeae7d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x45f3e7d)
#31 0x00005618e178d47f llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x6f9647f)
#32 0x00005618dedeae3d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x45f3e3d)
#33 0x00005618e1794b3d llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x6f9db3d)
#34 0x00005618dedeae5d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x45f3e5d)
#35 0x00005618e178efb7 llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x6f97fb7)
#36 0x00005618df092ce3 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x489bce3)
#37 0x00005618dedea9fd llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x45f39fd)
#38 0x00005618dd5b61c1 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x2dbf1c1)
#39 0x00005618ddd36bca (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>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#40 0x00005618ddd39f0c 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::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3542f0c)
#41 0x00005618de320bce clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3b29bce)
#42 0x00005618dfec7d29 clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x56d0d29)
#43 0x00005618de5bdf59 clang::FrontendAction::Execute() (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3dc6f59)
#44 0x00005618de540332 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3d49332)
#45 0x00005618de68d23f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3e9623f)
#46 0x00005618db92b97d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x113497d)
#47 0x00005618db92380f ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#48 0x00005618de365219 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#49 0x00005618dda17ec2 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3220ec2)
#50 0x00005618de366918 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#51 0x00005618de32b6d5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3b346d5)
#52 0x00005618de32c1cd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3b351cd)
#53 0x00005618de3384e4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x3b414e4)
#54 0x00005618db9291c7 clang_main(int, char**, llvm::ToolContext const&) (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x11321c7)
#55 0x00005618db81f301 main (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x1028301)
#56 0x00007f49845666ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#57 0x00007f4984566785 call_init ./csu/../csu/libc-start.c:128:20
#58 0x00007f4984566785 __libc_start_main ./csu/../csu/libc-start.c:347:5
#59 0x00005618db922541 _start (/usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin/clang+0x112b541)
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 18.0.0git (https://github.com/llvm/llvm-project e775ba384efe31928bac796b2a4d388a1c298c5e)
Target: i386-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/google/home/srj/GitHub/llvm-project/18/build/./bin
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/umodsi3-542cd4.c
clang: note: diagnostic msg: /tmp/umodsi3-542cd4.sh
clang: note: diagnostic msg: 
```
[cfiles.zip](https://github.com/llvm/llvm-project/files/13813568/cfiles.zip)
[shfiles.zip](https://github.com/llvm/llvm-project/files/13813569/shfiles.zip)
[crash.dump.txt](https://github.com/llvm/llvm-project/files/13813570/crash.dump.txt)

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to