-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Describe the bug
Code triggers an assert
Expected behavior
expect for it to compile as it did for an old version
OpenCilk version
broken versions
clang version 19.1.7 (https://github.com/OpenCilk/opencilk-project cd64ec3)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/wheatman/opencilk3.0rc1/build/bin
Build config: +assertions
clang version 16.0.6 (https://github.com/OpenCilk/opencilk-project df80b7d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/wheatman/opencilk16/build/bin/.
working version
clang version 14.0.6 (https://github.com/OpenCilk/opencilk-project f54e987)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/wheatman/opencilk201/build/bin/.
System information
PRETTY_NAME="Ubuntu 22.04.5 LTS"
on WSL
full backtrace
clang-19: /home/wheatman/opencilk3.0rc1/opencilk/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From *) [To = llvm::DetachInst, From = llvm::Instruction]: Assertion `isa(Val) && "cast() argument of incompatible type!"' failed.
PLEASE submit a bug report to https://github.com/OpenCilk/opencilk-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/wheatman/opencilk3.0rc1/build/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir KCore- -disable-free -clear-ast-before-backend -main-file-name KCore.C -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/wheatman/ligra/apps -fcoverage-compilation-dir=/home/wheatman/ligra/apps -resource-dir /home/wheatman/opencilk3.0rc1/build/lib/clang/19 -D CILK -D BYTERLE -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /home/wheatman/opencilk3.0rc1/build/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -std=c++14 -fdeprecated-macro -ferror-limit 19 -fopencilk --opencilk-abi-bitcode=/home/wheatman/opencilk3.0rc1/build/lib/clang/19/lib/x86_64-unknown-linux-gnu/libopencilk-abi.bc -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -vectorize-loops -vectorize-slp -stripmine-loops -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/KCore-cf3e7f.o -x c++ KCore.C
-
<eof> parser at end of file -
Optimizer -
Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split)),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "KCore.C" -
Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,task-simplify,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split))" on module "KCore.C"
#0 0x000055fd508abdc8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2481dc8)
#1 0x000055fd508a98ee llvm::sys::RunSignalHandlers() (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x247f8ee)
#2 0x000055fd508ac5a8 SignalHandler(int) Signals.cpp:0:0
#3 0x00007f72bf338520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f72bf38c9fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007f72bf38c9fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007f72bf38c9fc pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007f72bf338476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f72bf31e7f3 abort ./stdlib/abort.c:81:7
#9 0x00007f72bf31e71b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007f72bf32fe96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x000055fd509c223e HandleInlinedResumeInTask(llvm::BasicBlock*, llvm::BasicBlock*, llvm::ResumeInst*, llvm::BasicBlock*) InlineFunction.cpp:0:0
#12 0x000055fd509b9c21 llvm::InlineFunction(llvm::CallBase&, llvm::InlineFunctionInfo&, bool, llvm::AAResults*, bool, llvm::Function*) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x258fc21)
#13 0x000055fd51dacab8 llvm::InlinerPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x3982ab8)
#14 0x000055fd51b8f78d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::InlinerPass, 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&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x376578d)
#15 0x000055fd547fa38f 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&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x63d038f)
#16 0x000055fd51b8381d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, 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&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x375981d)
#17 0x000055fd547fd348 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x63d3348)
#18 0x000055fd51b9ca8d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, 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&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x3772a8d)
#19 0x000055fd547fbf4c llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x63d1f4c)
#20 0x000055fd51b83aad llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::AnalysisManagerllvm::Module>::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x3759aad)
#21 0x000055fd5043ed5a llvm::PassManager<llvm::Module, llvm::AnalysisManagerllvm::Module>::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2014d5a)
#22 0x000055fd51daf2ef llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x39852ef)
#23 0x000055fd51b895fd llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::AnalysisManagerllvm::Module>::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x375f5fd)
#24 0x000055fd5043ed5a llvm::PassManager<llvm::Module, llvm::AnalysisManagerllvm::Module>::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2014d5a)
#25 0x000055fd50b5c350 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_deletellvm::raw_pwrite_stream>&, std::unique_ptr<llvm::ToolOutputFile, std::default_deletellvm::ToolOutputFile>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#26 0x000055fd50b51da1 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtrllvm::vfs::FileSystem, std::unique_ptr<llvm::raw_pwrite_stream, std::default_deletellvm::raw_pwrite_stream>, clang::BackendConsumer*) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2727da1)
#27 0x000055fd51107210 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2cdd210)
#28 0x000055fd52dc8d79 clang::ParseAST(clang::Sema&, bool, bool) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x499ed79)
#29 0x000055fd513c0aff clang::FrontendAction::Execute() (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2f96aff)
#30 0x000055fd5132b1ad clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x2f011ad)
#31 0x000055fd514a1c87 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0x3077c87)
#32 0x000055fd4f368072 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0xf3e072)
#33 0x000055fd4f3648be ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#34 0x000055fd4f3636e9 clang_main(int, char**, llvm::ToolContext const&) (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0xf396e9)
#35 0x000055fd4f374427 main (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0xf4a427)
#36 0x00007f72bf31fd90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#37 0x00007f72bf31fe40 call_init ./csu/../csu/libc-start.c:128:20
#38 0x00007f72bf31fe40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#39 0x000055fd4f3622a5 _start (/home/wheatman/opencilk3.0rc1/build/bin/clang-19+0xf382a5)
clang++: error: unable to execute command: Aborted (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.1.7 (https://github.com/OpenCilk/opencilk-project cd64ec3)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/wheatman/opencilk3.0rc1/build/bin
Build config: +assertions
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/KCore-64a01f.cpp
clang++: note: diagnostic msg: /tmp/KCore-64a01f.sh
clang++: note: diagnostic msg:
make: *** [Makefile:51: KCore] Error 1