Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clang-ppc64le-linux-test-suite build crashes in CI #75570

Closed
firewave opened this issue Dec 15, 2023 · 7 comments
Closed

clang-ppc64le-linux-test-suite build crashes in CI #75570

firewave opened this issue Dec 15, 2023 · 7 comments
Assignees
Labels
backend:PowerPC crash Prefer [crash-on-valid] or [crash-on-invalid] llvm:regalloc

Comments

@firewave
Copy link

https://lab.llvm.org/buildbot/#/builders/230/builds/22628/steps/11/logs/stdio

FAILED: SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o 
/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/build-test-suite/tools/timeit --summary SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.time /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang++ -DNDEBUG  -O3 -DNDEBUG   -w -Werror=date-time -ffp-contract=off -Wno-implicit-function-declaration -Wno-implicit-int -fenable-matrix -MD -MT SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -MF SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.d -o SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -c /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp
Unknown rematerializable operation!
UNREACHABLE executed at /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp:1072!
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: /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang++ -DNDEBUG -O3 -DNDEBUG -w -Werror=date-time -ffp-contract=off -Wno-implicit-function-declaration -Wno-implicit-int -fenable-matrix -MD -MT SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -MF SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.d -o SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -c /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp'.
4.	Running pass 'Greedy Register Allocator' on function '@_Z13testTransposeIfLj31ELj17EEvv'
 #0 0x0000000013b4d500 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13b4d500)
 #1 0x0000000013b4ae54 llvm::sys::CleanupOnSignal(unsigned long) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13b4ae54)
 #2 0x0000000013a65098 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007fff814904d8 (linux-vdso64.so.1+0x4d8)
 #4 0x00007fff80d2a498 raise (/lib64/libc.so.6+0x4a498)
 #5 0x00007fff80d04a54 abort (/lib64/libc.so.6+0x24a54)
 #6 0x0000000013a75240 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13a75240)
 #7 0x0000000011cf25d0 llvm::PPCInstrInfo::isReallyTriviallyReMaterializable(llvm::MachineInstr const&) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x11cf25d0)
 #8 0x0000000013170074 llvm::LiveRangeEdit::scanRemattable() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13170074)
 #9 0x000000001317052c llvm::LiveRangeEdit::anyRematerializable() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1317052c)
#10 0x0000000012fa9af4 llvm::SplitEditor::reset(llvm::LiveRangeEdit&, llvm::SplitEditor::ComplementSpillMode) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12fa9af4)
#11 0x0000000012ef1a44 llvm::RAGreedy::doRegionSplit(llvm::LiveInterval const&, unsigned int, bool, llvm::SmallVectorImpl<llvm::Register>&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12ef1a44)
#12 0x0000000012efbf48 llvm::RAGreedy::tryRegionSplit(llvm::LiveInterval const&, llvm::AllocationOrder&, llvm::SmallVectorImpl<llvm::Register>&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12efbf48)
#13 0x0000000012eff16c llvm::RAGreedy::selectOrSplitImpl(llvm::LiveInterval const&, llvm::SmallVectorImpl<llvm::Register>&, llvm::SmallSet<llvm::Register, 16u, std::less<llvm::Register>>&, llvm::SmallVector<std::pair<llvm::LiveInterval const*, llvm::MCRegister>, 8u>&, unsigned int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12eff16c)
#14 0x0000000012f00eb4 llvm::RAGreedy::selectOrSplit(llvm::LiveInterval const&, llvm::SmallVectorImpl<llvm::Register>&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12f00eb4)
#15 0x00000000131bb924 llvm::RegAllocBase::allocatePhysRegs() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x131bb924)
#16 0x0000000012efcccc llvm::RAGreedy::runOnMachineFunction(llvm::MachineFunction&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12efcccc)
#17 0x0000000012d16ec8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.78) MachineFunctionPass.cpp:0:0
#18 0x00000000133e52d8 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e52d8)
#19 0x00000000133e55f8 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e55f8)
#20 0x00000000133e6528 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e6528)
#21 0x0000000013e113ac 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*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13e113ac)
#22 0x00000000144b1b8c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144b1b8c)
#23 0x0000000016412ab4 clang::ParseAST(clang::Sema&, bool, bool) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x16412ab4)
#24 0x000000001473bc88 clang::ASTFrontendAction::ExecuteAction() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1473bc88)
#25 0x00000000144b0c30 clang::CodeGenAction::ExecuteAction() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144b0c30)
#26 0x00000000147419b8 clang::FrontendAction::Execute() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x147419b8)
#27 0x00000000146c6a00 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x146c6a00)
#28 0x0000000014844b88 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x14844b88)
#29 0x000000001074c62c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1074c62c)
#30 0x000000001074283c ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#31 0x00000000144fa4d8 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
#32 0x0000000013a65910 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13a65910)
#33 0x00000000144fae58 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.284) Job.cpp:0:0
#34 0x00000000144bfca0 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144bfca0)
#35 0x00000000144c0848 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144c0848)
#36 0x00000000144cbbcc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144cbbcc)
#37 0x00000000107490cc clang_main(int, char**, llvm::ToolContext const&) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x107490cc)
#38 0x000000001066e750 main (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1066e750)
#39 0x00007fff80d0a96c generic_start_main.isra.0 (/lib64/libc.so.6+0x2a96c)
#40 0x00007fff80d0ab04 __libc_start_main (/lib64/libc.so.6+0x2ab04)
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.git f1ea77f7be8acda2aa4b08ba27f454512a872057)
Target: powerpc64le-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/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/matrix-types-spec-17d063.cpp
clang++: note: diagnostic msg: /tmp/matrix-types-spec-17d063.sh
clang++: note: diagnostic msg: 
********************
@bzEq bzEq self-assigned this Dec 15, 2023
@bzEq
Copy link
Collaborator

bzEq commented Dec 15, 2023

The instruction trigger the assertion is

  undef %3973.sub_64:vsrc = IMPLICIT_DEF implicit-def %3973:vsrc

reduced.ll.txt

@EugeneZelenko EugeneZelenko added backend:PowerPC llvm:regalloc crash Prefer [crash-on-valid] or [crash-on-invalid] and removed new issue labels Dec 15, 2023
@llvmbot
Copy link
Collaborator

llvmbot commented Dec 15, 2023

@llvm/issue-subscribers-backend-powerpc

Author: Oliver Stöneberg (firewave)

https://lab.llvm.org/buildbot/#/builders/230/builds/22628/steps/11/logs/stdio
FAILED: SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o 
/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/build-test-suite/tools/timeit --summary SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.time /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang++ -DNDEBUG  -O3 -DNDEBUG   -w -Werror=date-time -ffp-contract=off -Wno-implicit-function-declaration -Wno-implicit-int -fenable-matrix -MD -MT SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -MF SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.d -o SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -c /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp
Unknown rematerializable operation!
UNREACHABLE executed at /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp:1072!
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: /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang++ -DNDEBUG -O3 -DNDEBUG -w -Werror=date-time -ffp-contract=off -Wno-implicit-function-declaration -Wno-implicit-int -fenable-matrix -MD -MT SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -MF SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o.d -o SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -c /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp
1.	&lt;eof&gt; parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/test/test-suite/SingleSource/UnitTests/matrix-types-spec.cpp'.
4.	Running pass 'Greedy Register Allocator' on function '@<!-- -->_Z13testTransposeIfLj31ELj17EEvv'
 #<!-- -->0 0x0000000013b4d500 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13b4d500)
 #<!-- -->1 0x0000000013b4ae54 llvm::sys::CleanupOnSignal(unsigned long) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13b4ae54)
 #<!-- -->2 0x0000000013a65098 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #<!-- -->3 0x00007fff814904d8 (linux-vdso64.so.1+0x4d8)
 #<!-- -->4 0x00007fff80d2a498 raise (/lib64/libc.so.6+0x4a498)
 #<!-- -->5 0x00007fff80d04a54 abort (/lib64/libc.so.6+0x24a54)
 #<!-- -->6 0x0000000013a75240 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13a75240)
 #<!-- -->7 0x0000000011cf25d0 llvm::PPCInstrInfo::isReallyTriviallyReMaterializable(llvm::MachineInstr const&amp;) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x11cf25d0)
 #<!-- -->8 0x0000000013170074 llvm::LiveRangeEdit::scanRemattable() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13170074)
 #<!-- -->9 0x000000001317052c llvm::LiveRangeEdit::anyRematerializable() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1317052c)
#<!-- -->10 0x0000000012fa9af4 llvm::SplitEditor::reset(llvm::LiveRangeEdit&amp;, llvm::SplitEditor::ComplementSpillMode) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12fa9af4)
#<!-- -->11 0x0000000012ef1a44 llvm::RAGreedy::doRegionSplit(llvm::LiveInterval const&amp;, unsigned int, bool, llvm::SmallVectorImpl&lt;llvm::Register&gt;&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12ef1a44)
#<!-- -->12 0x0000000012efbf48 llvm::RAGreedy::tryRegionSplit(llvm::LiveInterval const&amp;, llvm::AllocationOrder&amp;, llvm::SmallVectorImpl&lt;llvm::Register&gt;&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12efbf48)
#<!-- -->13 0x0000000012eff16c llvm::RAGreedy::selectOrSplitImpl(llvm::LiveInterval const&amp;, llvm::SmallVectorImpl&lt;llvm::Register&gt;&amp;, llvm::SmallSet&lt;llvm::Register, 16u, std::less&lt;llvm::Register&gt;&gt;&amp;, llvm::SmallVector&lt;std::pair&lt;llvm::LiveInterval const*, llvm::MCRegister&gt;, 8u&gt;&amp;, unsigned int) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12eff16c)
#<!-- -->14 0x0000000012f00eb4 llvm::RAGreedy::selectOrSplit(llvm::LiveInterval const&amp;, llvm::SmallVectorImpl&lt;llvm::Register&gt;&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12f00eb4)
#<!-- -->15 0x00000000131bb924 llvm::RegAllocBase::allocatePhysRegs() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x131bb924)
#<!-- -->16 0x0000000012efcccc llvm::RAGreedy::runOnMachineFunction(llvm::MachineFunction&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x12efcccc)
#<!-- -->17 0x0000000012d16ec8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&amp;) (.part.78) MachineFunctionPass.cpp:0:0
#<!-- -->18 0x00000000133e52d8 llvm::FPPassManager::runOnFunction(llvm::Function&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e52d8)
#<!-- -->19 0x00000000133e55f8 llvm::FPPassManager::runOnModule(llvm::Module&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e55f8)
#<!-- -->20 0x00000000133e6528 llvm::legacy::PassManagerImpl::run(llvm::Module&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x133e6528)
#<!-- -->21 0x0000000013e113ac clang::EmitBackendOutput(clang::DiagnosticsEngine&amp;, clang::HeaderSearchOptions const&amp;, clang::CodeGenOptions const&amp;, clang::TargetOptions const&amp;, clang::LangOptions const&amp;, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr&lt;llvm::vfs::FileSystem&gt;, std::unique_ptr&lt;llvm::raw_pwrite_stream, std::default_delete&lt;llvm::raw_pwrite_stream&gt;&gt;, clang::BackendConsumer*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13e113ac)
#<!-- -->22 0x00000000144b1b8c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144b1b8c)
#<!-- -->23 0x0000000016412ab4 clang::ParseAST(clang::Sema&amp;, bool, bool) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x16412ab4)
#<!-- -->24 0x000000001473bc88 clang::ASTFrontendAction::ExecuteAction() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1473bc88)
#<!-- -->25 0x00000000144b0c30 clang::CodeGenAction::ExecuteAction() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144b0c30)
#<!-- -->26 0x00000000147419b8 clang::FrontendAction::Execute() (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x147419b8)
#<!-- -->27 0x00000000146c6a00 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x146c6a00)
#<!-- -->28 0x0000000014844b88 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x14844b88)
#<!-- -->29 0x000000001074c62c cc1_main(llvm::ArrayRef&lt;char const*&gt;, char const*, void*) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1074c62c)
#<!-- -->30 0x000000001074283c ExecuteCC1Tool(llvm::SmallVectorImpl&lt;char const*&gt;&amp;, llvm::ToolContext const&amp;) driver.cpp:0:0
#<!-- -->31 0x00000000144fa4d8 void llvm::function_ref&lt;void ()&gt;::callback_fn&lt;clang::driver::CC1Command::Execute(llvm::ArrayRef&lt;std::optional&lt;llvm::StringRef&gt;&gt;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;&gt;*, bool*) const::'lambda'()&gt;(long) Job.cpp:0:0
#<!-- -->32 0x0000000013a65910 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref&lt;void ()&gt;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x13a65910)
#<!-- -->33 0x00000000144fae58 clang::driver::CC1Command::Execute(llvm::ArrayRef&lt;std::optional&lt;llvm::StringRef&gt;&gt;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;&gt;*, bool*) const (.part.284) Job.cpp:0:0
#<!-- -->34 0x00000000144bfca0 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&amp;, clang::driver::Command const*&amp;, bool) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144bfca0)
#<!-- -->35 0x00000000144c0848 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;, bool) const (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144c0848)
#<!-- -->36 0x00000000144cbbcc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x144cbbcc)
#<!-- -->37 0x00000000107490cc clang_main(int, char**, llvm::ToolContext const&amp;) (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x107490cc)
#<!-- -->38 0x000000001066e750 main (/home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang+++0x1066e750)
#<!-- -->39 0x00007fff80d0a96c generic_start_main.isra.0 (/lib64/libc.so.6+0x2a96c)
#<!-- -->40 0x00007fff80d0ab04 __libc_start_main (/lib64/libc.so.6+0x2ab04)
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.git f1ea77f7be8acda2aa4b08ba27f454512a872057)
Target: powerpc64le-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/buildbots/ppc64le-clang-test-suite/clang-ppc64le-test-suite/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/matrix-types-spec-17d063.cpp
clang++: note: diagnostic msg: /tmp/matrix-types-spec-17d063.sh
clang++: note: diagnostic msg: 
********************

@bzEq
Copy link
Collaborator

bzEq commented Dec 16, 2023

@stefanp-ibm has kindly reverted #75271 . @arsenm @stefanp-ibm I think we should discuss further on how to handle PPC's failure and reapply #75271.

@arsenm
Copy link
Contributor

arsenm commented Dec 18, 2023

This is a PPC bug; instead of dying on unexpected opcodes it should return the default (or at least a conservative) result.

bzEq added a commit that referenced this issue Dec 18, 2023
…fault (#75772)

If MI is not PPC specific instructions, let base implementation decide
if MI is rematerizable.
This can fix failure in #75570 after #75271 .
@bzEq
Copy link
Collaborator

bzEq commented Dec 19, 2023

I've testd test-suite on ppc64le via

commit a95f787f152f230916d5fe012b0ea4c07171dab3 (HEAD -> reland-coalescer-undef)
Author: Kai Luo <lkail@cn.ibm.com>
Date:   Tue Dec 19 09:30:02 2023 +0000

    Revert "Revert "Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"""
    
    This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

locally. All tests passed.

PASS: test-suite :: SingleSource/UnitTests/matrix-types-spec.test (463 of 570)
...
Total Discovered Tests: 570
  Passed: 570 (100.00%)

@arsenm I think the Coalescer change can be relanded at least from PPC's side.

@stefanp-ibm
Copy link
Contributor

@stefanp-ibm has kindly reverted #75271 . @arsenm @stefanp-ibm I think we should discuss further on how to handle PPC's failure and reapply #75271.

Thank you for fixing this!

@arsenm
Copy link
Contributor

arsenm commented Dec 22, 2023

Resubmitted in 0e46b49

@arsenm arsenm closed this as completed Dec 22, 2023
bzEq added a commit that referenced this issue Dec 25, 2023
Demonstrate `IMPLICIT_DEF implicit-def ...` can be generated after
coalescing on PPC.

The case is reduced from failure in #75570. The failure is triggered
after #75271 .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:PowerPC crash Prefer [crash-on-valid] or [crash-on-invalid] llvm:regalloc
Projects
None yet
Development

No branches or pull requests

6 participants