-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Hi, the code below is a minimized version of a compilation issue that is mentioned in https://github.com/amd/IRON/blob/devel/aie_kernels/aie2p/layer_norm.cc#L60
#include <aie_api/aie.hpp>
void test(float *restrict output)
{
aie::accum<accfloat, 16> reg_a;
reg_a = aie::mul(reg_a.to_vector<float>(), reg_a.to_vector<float>());
reg_a = aie::mul(reg_a.to_vector<float>(), reg_a.to_vector<float>());
aie::store_v(output, reg_a.to_vector<float>());
}If fails with:
./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang++ -O2 -std=c++20 --target=aie2p-none-unknown-elf -Iironenv/lib/python3.13/site-packages/mlir_aie/include -c test.cpp -o test.o
unhandled case in copyPhysReg
UNREACHABLE executed at /project/llvm-aie/llvm/lib/Target/AIE/aie2p/AIE2PInstrInfo.cpp:829!
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: ./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang++ -O2 -std=c++20 --target=aie2p-none-unknown-elf -Iironenv/lib/python3.13/site-packages/mlir_aie/include -c test.cpp -o test.o
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'test.cpp'.
4. Running pass 'Post-RA pseudo instruction expansion pass' on function '@_Z4testPf'
#0 0x00007f2820f8f31b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xb8f31b)
#1 0x00007f2820f8c834 llvm::sys::CleanupOnSignal(unsigned long) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xb8c834)
#2 0x00007f2820e7f650 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f281fe6db10 (/usr/lib64/libc.so.6+0x3eb10)
#4 0x00007f281fec8a1c (/usr/lib64/libc.so.6+0x99a1c)
#5 0x00007f281fe6d9e6 raise (/usr/lib64/libc.so.6+0x3e9e6)
#6 0x00007f281fe5441a abort (/usr/lib64/libc.so.6+0x2541a)
#7 0x00007f2820e9b44a (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xa9b44a)
#8 0x00007f28242d4517 (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0x3ed4517)
#9 0x00007f282195bb6c llvm::TargetInstrInfo::lowerCopy(llvm::MachineInstr*, llvm::TargetRegisterInfo const*) const (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0x155bb6c)
#10 0x00007f282140d654 (anonymous namespace)::ExpandPostRA::runOnMachineFunction(llvm::MachineFunction&) ExpandPostRAPseudos.cpp:0:0
#11 0x00007f28215d7f40 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#12 0x00007f282119009c llvm::FPPassManager::runOnFunction(llvm::Function&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xd9009c)
#13 0x00007f28211904b1 llvm::FPPassManager::runOnModule(llvm::Module&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xd904b1)
#14 0x00007f2821190e0d llvm::legacy::PassManagerImpl::run(llvm::Module&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xd90e0d)
#15 0x00007f2829423d4b 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*) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x2623d4b)
#16 0x00007f2829989cd4 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x2b89cd4)
#17 0x00007f2827bf887c clang::ParseAST(clang::Sema&, bool, bool) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0xdf887c)
#18 0x00007f282a5a0873 clang::FrontendAction::Execute() (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x37a0873)
#19 0x00007f282a519526 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x3719526)
#20 0x00007f282a64933c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x384933c)
#21 0x0000000000414ac4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x414ac4)
#22 0x000000000040b9a0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#23 0x00007f282a053259 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
#24 0x00007f2820e7fb12 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xa7fb12)
#25 0x00007f282a05560e 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.0) Job.cpp:0:0
#26 0x00007f282a00f05b clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x320f05b)
#27 0x00007f282a0100cf clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x32100cf)
#28 0x00007f282a01dae4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x321dae4)
#29 0x0000000000410c53 clang_main(int, char**, llvm::ToolContext const&) (./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x410c53)
#30 0x000000000040af83 main (./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x40af83)
#31 0x00007f281fe5657b (/usr/lib64/libc.so.6+0x2757b)
#32 0x00007f281fe5662b __libc_start_main (/usr/lib64/libc.so.6+0x2762b)
#33 0x000000000040afce _start (./ironenv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x40afce)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 20.0.0 (https://github.com/Xilinx/llvm-aie 8a4e029eb6779531fe54a124bc3bac5cbec92519)
Target: aie2p-none-unknown-elf
Thread model: posix
InstalledDir: /src/IRON/ironenv/lib/python3.13/site-packages/llvm-aie/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/test-d77fd4.cpp
clang++: note: diagnostic msg: /tmp/test-d77fd4.sh
clang++: note: diagnostic msg:
********************
Is it something that can be fixed in llvm-aie? Thanks!
Metadata
Metadata
Assignees
Labels
No labels