[llvm] [SLP]Initial support for copyable elements (non-schedulable only) (PR #140279)
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 01:23:57 PDT 2025
zmodem wrote:
> This change makes building LLVM with frontend instrumentation to hang on compiling llvm/lib/Analysis/InstCount.cpp
We're hitting a similar issue which bisects to the re-land (ef98e248c7740fb882b256dd325d22a057de1951). Compiling the attached source with frontend instrumentation hangs -- or hits an asserts when enabled:
[version_edit.ii.gz](https://github.com/user-attachments/files/22379720/version_edit.ii.gz)
```
$ build/bin/clang.bad -cc1 -triple thumbv7-unknown-linux-android29 -Os -emit-obj -fprofile-instrument=llvm -std=c++20 -vectorize-slp /tmp/version_edit.ii -o /dev
/null -w
clang.bad: /work/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp:733: void (anonymous namespace)::VirtRegRewriter::rewrite(): Assertion `PhysReg.isValid() && "Invalid SubReg for physical register"' 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: build/bin/clang.bad -cc1 -triple thumbv7-unknown-linux-android29 -Os -emit-obj -fprofile-instrument=llvm -std=c++20 -vectorize-slp /tmp/version_edit.ii -o /dev/null -w
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '../../third_party/leveldatabase/src/db/version_edit.cc'.
4. Running pass 'Virtual Register Rewriter' on function '@_ZN7leveldb11VersionEdit10DecodeFromERKNS_5SliceE'
#0 0x000055f15b2b1f38 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build/bin/clang.bad+0x2560f38)
#1 0x000055f15b2af665 llvm::sys::RunSignalHandlers() (build/bin/clang.bad+0x255e665)
#2 0x000055f15b2b2d51 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007fd68d649df0 (/lib/x86_64-linux-gnu/libc.so.6+0x3fdf0)
#4 0x00007fd68d69e95c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007fd68d649cc2 raise ./signal/../sysdeps/posix/raise.c:27:6
#6 0x00007fd68d6324ac abort ./stdlib/abort.c:81:3
#7 0x00007fd68d632420 __assert_perror_fail ./assert/assert-perr.c:31:1
#8 0x000055f15aafede4 (anonymous namespace)::VirtRegRewriter::run(llvm::MachineFunction&) VirtRegMap.cpp:0:0
#9 0x000055f15aaff8ae (anonymous namespace)::VirtRegRewriterLegacy::runOnMachineFunction(llvm::MachineFunction&) VirtRegMap.cpp:0:0
#10 0x000055f15a834903 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (build/bin/clang.bad+0x1ae3903)
#11 0x000055f15adc8835 llvm::FPPassManager::runOnFunction(llvm::Function&) (build/bin/clang.bad+0x2077835)
#12 0x000055f15add0b32 llvm::FPPassManager::runOnModule(llvm::Module&) (build/bin/clang.bad+0x207fb32)
#13 0x000055f15adc9286 llvm::legacy::PassManagerImpl::run(llvm::Module&) (build/bin/clang.bad+0x2078286)
#14 0x000055f15b4bf239 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, 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*) (build/bin/clang.bad+0x276e239)
#15 0x000055f15baa02e3 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (build/bin/clang.bad+0x2d4f2e3)
#16 0x000055f15d1f0029 clang::ParseAST(clang::Sema&, bool, bool) (build/bin/clang.bad+0x449f029)
#17 0x000055f15bd2da16 clang::FrontendAction::Execute() (build/bin/clang.bad+0x2fdca16)
#18 0x000055f15bc9b36d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (build/bin/clang.bad+0x2f4a36d)
#19 0x000055f15be0fab2 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (build/bin/clang.bad+0x30beab2)
#20 0x000055f159a094e6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (build/bin/clang.bad+0xcb84e6)
#21 0x000055f159a054e9 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#22 0x000055f159a045ca clang_main(int, char**, llvm::ToolContext const&) (build/bin/clang.bad+0xcb35ca)
#23 0x000055f159a14c77 main (build/bin/clang.bad+0xcc3c77)
#24 0x00007fd68d633ca8 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#25 0x00007fd68d633d65 call_init ./csu/../csu/libc-start.c:128:20
#26 0x00007fd68d633d65 __libc_start_main ./csu/../csu/libc-start.c:347:5
#27 0x000055f159a02f71 _start (build/bin/clang.bad+0xcb1f71)
Aborted (core dumped)
```
I'll work on getting a smaller reproducer as well.
https://github.com/llvm/llvm-project/pull/140279
More information about the llvm-commits
mailing list