[llvm] [VPlan] First step towards VPlan cost modeling. (PR #92555)

Sam Clegg via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 11:18:00 PDT 2024


sbc100 wrote:

The reland seems to be causing a crash in on of the emscripten tests downstream.  I'm seeing this locally right now but out auto-roller will likely start failing the next time it runs :

```
/test/runner other.test_embind_tsgen_ignore 
ninja: Entering directory `/usr/local/google/home/sbc/dev/wasm/llvm-build'
ninja: no work to do.
Test suites:
['test_other']
Running test_other: (1 tests)
(checking sanity from test runner)
shared:INFO: (Emscripten: Running sanity checks)
test_embind_tsgen_ignore (test_other.other.test_embind_tsgen_ignore) ... clang++: /usr/local/google/home/sbc/dev/wasm/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10361: bool llvm::LoopVectorizePass::processLoop(Loop *): Assertion `VF.Width == Width && "VPlan cost model and legacy cost model disagreed"' 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/sbc/dev/wasm/llvm-build/bin/clang++ -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --sysroot=/usr/local/google/home/sbc/dev/wasm/emscripten/cache/sysroot -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -Werror -O3 -msimd128 -pthread -matomics -mbulk-memory /usr/local/google/home/sbc/dev/wasm/emscripten/test/other/embind_tsgen.cpp -c -o /tmp/emscripten_temp_7pwp6w6s/embind_tsgen_0.o
1.	<eof> parser at end of file
2.	Optimizer
 #0 0x00007f358d184aa8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.19.0git+0x184aa8)
 #1 0x00007f358d18271e llvm::sys::RunSignalHandlers() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.19.0git+0x18271e)
 #2 0x00007f358d183e91 llvm::sys::CleanupOnSignal(unsigned long) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.19.0git+0x183e91)
 #3 0x00007f358d0c4136 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #4 0x00007f358e05a510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #5 0x00007f358e0a816c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x00007f358e05a472 raise ./signal/../sysdeps/posix/raise.c:27:6
 #7 0x00007f358e0444b2 abort ./stdlib/abort.c:81:7
 #8 0x00007f358e0443d5 _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #9 0x00007f358e0533a2 (/lib/x86_64-linux-gnu/libc.so.6+0x353a2)
#10 0x00007f359029f683 (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMVectorize.so.19.0git+0x9f683)
#11 0x00007f35902a38eb llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMVectorize.so.19.0git+0xa38eb)
#12 0x00007f35902a4244 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMVectorize.so.19.0git+0xa4244)
#13 0x00007f358c311cdd llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libLLVMPasses.so.19.0git+0xf8cdd)
#14 0x00007f358d6ca34d llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.19.0git+0x2ca34d)
#15 0x00007f3592ca35fd llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMX86CodeGen.so.19.0git+0xa35fd)
#16 0x00007f358d6cf018 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.19.0git+0x2cf018)
#17 0x00007f3592ca339d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMX86CodeGen.so.19.0git+0xa339d)
#18 0x00007f358d6c8f5d llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMCore.so.19.0git+0x2c8f5d)
#19 0x00007f35918f3bfc (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::__2::unique_ptr<llvm::raw_pwrite_stream, std::__2::default_delete<llvm::raw_pwrite_stream>>&, std::__2::unique_ptr<llvm::ToolOutputFile, std::__2::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#20 0x00007f35918e929f 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::__2::unique_ptr<llvm::raw_pwrite_stream, std::__2::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangCodeGen.so.19.0git+0xe929f)
#21 0x00007f3591d40d20 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangCodeGen.so.19.0git+0x540d20)
#22 0x00007f358aeed2a9 clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/../lib/libclangParse.so.19.0git+0x392a9)
#23 0x00007f358ff4ab5f clang::FrontendAction::Execute() (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontend.so.19.0git+0x14ab5f)
#24 0x00007f358feb158d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontend.so.19.0git+0xb158d)
#25 0x00007f35931da61c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangFrontendTool.so.19.0git+0x461c)
#26 0x000055a8b2d9e4d6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0x104d6)
#27 0x000055a8b2d9b2ca ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#28 0x00007f358fad1949 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__2::optional<llvm::StringRef>>, std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>*, bool*) const::$_0>(long) Job.cpp:0:0
#29 0x00007f358d0c3e76 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libLLVMSupport.so.19.0git+0xc3e76)
#30 0x00007f358fad1112 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__2::optional<llvm::StringRef>>, std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>*, bool*) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.19.0git+0xd1112)
#31 0x00007f358fa89863 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.19.0git+0x89863)
#32 0x00007f358fa89dfe clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__2::pair<int, clang::driver::Command const*>>&, bool) const (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.19.0git+0x89dfe)
#33 0x00007f358faad1ff clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__2::pair<int, clang::driver::Command const*>>&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/../lib/libclangDriver.so.19.0git+0xad1ff)
#34 0x000055a8b2d9a5c6 clang_main(int, char**, llvm::ToolContext const&) (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0xc5c6)
#35 0x000055a8b2da8f97 main (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0x1af97)
#36 0x00007f358e0456ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#37 0x00007f358e045785 call_init ./csu/../csu/libc-start.c:128:20
#38 0x00007f358e045785 __libc_start_main ./csu/../csu/libc-start.c:347:5
#39 0x000055a8b2d98b6a _start (/usr/local/google/home/sbc/dev/wasm/llvm-build/bin/clang+++0xab6a)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 19.0.0git (https://github.com/sbc100/llvm-project 242cc200ccb24e22eaf54aed7b0b0c84cfc54c0b)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /usr/local/google/home/sbc/dev/wasm/llvm-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 ms[repro.zip](https://github.com/user-attachments/files/15918283/repro.zip).cpp
clang++: note: diagnostic msg: /tmp/embind_tsgen-20d9cb.sh
clang++: note: diagnostic msg: 
```

https://github.com/llvm/llvm-project/pull/92555


More information about the llvm-commits mailing list