Skip to content

[CIR] Assertion failure on alias replacement in clamr_cpuonly.cpp #1938

@rafasumi

Description

@rafasumi

I got the following failure when trying to build clamr_cpuonly.cpp, from the Multisource benchmark in the llvm-test-suite:

clang++: /home/rafael/Git/clangir/mlir/lib/IR/Operation.cpp:563: void mlir::Operation::moveBefore(Block *, llvm::iplist<Operation>::iterator): Assertion `getBlock() && "cannot move an operation that isn't contained in a block"' 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: /home/rafael/Git/clangir/build/bin/clang++ -DNDEBUG -O2 -fclangir -w -Werror=date-time -save-stats=obj -ffp-contract=off -DFMA_DISABLED=1 -save-stats=obj -ffp-contract=off -DFMA_DISABLED=1 -MD -MT MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeFiles/CLAMR.dir/clamr_cpuonly.cpp.o -MF MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeFiles/CLAMR.dir/clamr_cpuonly.cpp.o.d -o MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeFiles/CLAMR.dir/clamr_cpuonly.cpp.o -c /home/rafael/Git/llvm-test-suite/MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/clamr_cpuonly.cpp
1.      <eof> parser at end of file
 #0 0x000062ac6d414758 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/rafael/Git/clangir/build/bin/clang+++0x2598758)
 #1 0x000062ac6d411ed5 llvm::sys::RunSignalHandlers() (/home/rafael/Git/clangir/build/bin/clang+++0x2595ed5)
 #2 0x000062ac6d383f46 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x0000708aeba42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000708aeba969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x0000708aeba42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x0000708aeba287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x0000708aeba2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x0000708aeba39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x000062ac7042b0f4 (/home/rafael/Git/clangir/build/bin/clang+++0x55af0f4)
#10 0x000062ac6e3a0522 clang::CIRGen::CIRGenModule::applyReplacements() (/home/rafael/Git/clangir/build/bin/clang+++0x3524522)
#11 0x000062ac6e39f6f3 clang::CIRGen::CIRGenModule::Release() (/home/rafael/Git/clangir/build/bin/clang+++0x35236f3)
#12 0x000062ac6e27092c cir::CIRGenConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/rafael/Git/clangir/build/bin/clang+++0x33f492c)
#13 0x000062ac708adba9 clang::ParseAST(clang::Sema&, bool, bool) (/home/rafael/Git/clangir/build/bin/clang+++0x5a31ba9)
#14 0x000062ac6de8fc56 clang::FrontendAction::Execute() (/home/rafael/Git/clangir/build/bin/clang+++0x3013c56)
#15 0x000062ac6ddfd21d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/rafael/Git/clangir/build/bin/clang+++0x2f8121d)
#16 0x000062ac6df6a34f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/rafael/Git/clangir/build/bin/clang+++0x30ee34f)
#17 0x000062ac6c164c9b cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/rafael/Git/clangir/build/bin/clang+++0x12e8c9b)
#18 0x000062ac6c16111f ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#19 0x000062ac6dc59c69 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::$_0>(long) Job.cpp:0:0
#20 0x000062ac6d383bee llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/rafael/Git/clangir/build/bin/clang+++0x2507bee)
#21 0x000062ac6dc595b3 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/home/rafael/Git/clangir/build/bin/clang+++0x2ddd5b3)
#22 0x000062ac6dc15dac clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/rafael/Git/clangir/build/bin/clang+++0x2d99dac)
#23 0x000062ac6dc15fbe clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/rafael/Git/clangir/build/bin/clang+++0x2d99fbe)
#24 0x000062ac6dc360dd clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/rafael/Git/clangir/build/bin/clang+++0x2dba0dd)
#25 0x000062ac6c160a1c clang_main(int, char**, llvm::ToolContext const&) (/home/rafael/Git/clangir/build/bin/clang+++0x12e4a1c)
#26 0x000062ac6c16fc07 main (/home/rafael/Git/clangir/build/bin/clang+++0x12f3c07)
#27 0x0000708aeba29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#28 0x0000708aeba29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#29 0x000062ac6c15ec25 _start (/home/rafael/Git/clangir/build/bin/clang+++0x12e2c25)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 22.0.0git ([email protected]:rafasumi/clangir.git e96425768e6dbbba113fc97151ba0e5b80395604)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/rafael/Git/clangir/build/bin
Build config: +assertions

-O2 -fclangir was the only flag passed to the compiler.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions