Repository navigation
Open
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]llvm:openmpirbuilderIssues related to problems in the llvm-project/lib/Frontend/OpenMP/OMPIRBuilder.cppIssues related to problems in the llvm-project/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Description
reproducer:
// clang -fopenmp --offload-arch=native -fopenmp-enable-irbuilder %s
void foo(void) {
#pragma omp target
{}
}backtrace:
clang-24: /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:12596: void llvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(EmitMetadataErrorReportFunctionTy &): Assertion `E.first && "All ordered entries must exist!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and dumped files.
Stack dump:
0. Program arguments: /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/bin/clang-24 -cc1 -triple amdgpu9.0a-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -aux-triple x86_64-unknown-linux-gnu -Werror=atomic-alignment -emit-llvm-bc -flto=full -flto-unit -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name reproducer.5.c -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -aux-target-cpu x86-64 -fvisibility=hidden -fapply-global-visibility-to-externs -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/ocml.bc -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/oclc_unsafe_math_off.bc -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/oclc_finite_only_off.bc -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/oclc_wavefrontsize64_on.bc -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/oclc_isa_version_90a.bc -mlink-builtin-bitcode /opt/rocm-7.2.1/amdgcn/bitcode/oclc_abi_version_600.bc -target-cpu gfx90a -debugger-tuning=gdb -fdebug-compilation-dir=/usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-3 -fcoverage-compilation-dir=/usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-3 -resource-dir /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/lib/clang/24 -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/lib/clang/24/include/openmp_wrappers -include __clang_openmp_device_functions.h -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/lib/clang/24/include/llvm_libc_wrappers -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/lib/clang/24/include -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/bin/../include/x86_64-unknown-linux-gnu -internal-isystem /usr/local/include -internal-isystem /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/lib/clang/24/include -internal-isystem /usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/bin/../include/x86_64-unknown-linux-gnu -internal-isystem /usr/local/include -internal-isystem /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fmessage-length=49 -fvisibility=protected -fopenmp -fopenmp-enable-irbuilder -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fopenmp-is-target-device -fopenmp-host-ir-file-path /var/tmp/moyasarda1/reproducer-83adfc.bc -faddrsig -fdwarf2-cfi-asm -o /var/tmp/moyasarda1/reproducer-gfx90a-794b43.o -x c reproducer.5.c
1. <eof> parser at end of file
2. reproducer.5.c:8:6: LLVM IR generation of declaration 'foo'
#0 0x000000000326104b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Support/Unix/Signals.inc:931:13
#1 0x000000000325e8e4 llvm::sys::RunSignalHandlers() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Support/Signals.cpp:109:18
#2 0x0000000003261a80 SignalHandler(int, siginfo_t*, void*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Support/Unix/Signals.inc:474:38
#3 0x0000000003261908 bool __gnu_cxx::__ops::_Iter_equals_val<int const>::operator()<int const*>(int const*) /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/predefined_ops.h:270:17
#4 0x0000000003261908 int const* std::__find_if<int const*, __gnu_cxx::__ops::_Iter_equals_val<int const>>(int const*, int const*, __gnu_cxx::__ops::_Iter_equals_val<int const>) /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/stl_algobase.h:2095:36
#5 0x0000000003261908 int const* std::find<int const*, int>(int const*, int const*, int const&) /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/stl_algo.h:3895:14
#6 0x0000000003261908 bool llvm::is_contained<int const (&) [10], int>(int const (&) [10], int const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/ADT/STLExtras.h:1969:12
#7 0x0000000003261908 SignalHandlerTerminate(int, siginfo_t*, void*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Support/Unix/Signals.inc:514:7
#8 0x0000155555116990 __restore_rt (/lib64/libpthread.so.0+0x12990)
#9 0x000015555395e5af raise (/lib64/libc.so.6+0x4e5af)
#10 0x0000155553931ee5 abort (/lib64/libc.so.6+0x21ee5)
#11 0x0000155553931db9 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21db9)
#12 0x0000155553956f06 (/lib64/libc.so.6+0x46f06)
#13 0x0000000007c28eef llvm::StringMapIterBase<llvm::OffloadEntriesInfoManager::OffloadEntryInfoDeviceGlobalVar, false>::operator++() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/ADT/StringMap.h:504:5
#14 0x0000000007c28eef llvm::OffloadEntriesInfoManager::actOnDeviceGlobalVarEntriesInfo(llvm::function_ref<void (llvm::StringRef, llvm::OffloadEntriesInfoManager::OffloadEntryInfoDeviceGlobalVar const&)> const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:13422:22
#15 0x0000000007c28eef llvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(std::function<void (llvm::OpenMPIRBuilder::EmitMetadataErrorKind, llvm::TargetRegionEntryInfo)>&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:12592:22
#16 0x0000000007c27561 llvm::OpenMPIRBuilderConfig::isTargetDevice() const /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:171:5
#17 0x0000000007c27561 llvm::OpenMPIRBuilder::finalize(llvm::Function*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1056:14
#18 0x0000000003843a1d llvm::SmallVectorTemplateCommon<std::pair<llvm::WeakTrackingVH, llvm::Value*>, void>::begin() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/ADT/SmallVector.h:278:45
#19 0x0000000003843a1d llvm::SmallVector<std::pair<llvm::WeakTrackingVH, llvm::Value*>, 4u>::~SmallVector() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/ADT/SmallVector.h:1267:31
#20 0x0000000003843a1d clang::CodeGen::CodeGenFunction::~CodeGenFunction() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CodeGenFunction.cpp:100:1
#21 0x0000000003786a56 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_data() const /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/basic_string.h:239:28
#22 0x0000000003786a56 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_is_local() const /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/basic_string.h:280:6
#23 0x0000000003786a56 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_dispose() /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/basic_string.h:298:7
#24 0x0000000003786a56 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() /opt/rh/gcc-toolset-15/root/usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/basic_string.h:896:9
#25 0x0000000003786a56 llvm::TargetRegionEntryInfo::~TargetRegionEntryInfo() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:250:8
#26 0x0000000003786a56 clang::CodeGen::CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(clang::OMPExecutableDirective const&, llvm::StringRef, llvm::Function*&, llvm::Constant*&, bool, clang::CodeGen::RegionCodeGenTy const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6662:1
#27 0x0000000003b36a04 clang::CodeGen::CGOpenMPRuntimeGPU::emitNonSPMDKernel(clang::OMPExecutableDirective const&, llvm::StringRef, llvm::Function*&, llvm::Constant*&, bool, clang::CodeGen::RegionCodeGenTy const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp:749:3
#28 0x0000000003b380bb clang::CodeGen::CGOpenMPRuntimeGPU::emitTargetOutlinedFunction(clang::OMPExecutableDirective const&, llvm::StringRef, llvm::Function*&, llvm::Constant*&, bool, clang::CodeGen::RegionCodeGenTy const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp:882:5
#29 0x000000000381831d clang::CodeGen::CodeGenFunction::EmitOMPTargetDeviceFunction(clang::CodeGen::CodeGenModule&, llvm::StringRef, clang::OMPTargetDirective const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGStmtOpenMP.cpp:7654:26
#30 0x0000000003789ffe clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(clang::Stmt const*, llvm::StringRef) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntime.cpp:0:7
#31 0x0000000003789e49 clang::StmtIteratorBase::inStmt() const /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/include/clang/AST/StmtIterator.h:57:13
#32 0x0000000003789e49 clang::StmtIteratorImpl<clang::ConstStmtIterator, clang::Stmt const*>::operator++() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/include/clang/AST/StmtIterator.h:94:9
#33 0x0000000003789e49 clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(clang::Stmt const*, llvm::StringRef) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntime.cpp:11651:23
#34 0x000000000378a579 clang::CodeGen::CGOpenMPRuntime::emitTargetFunctions(clang::GlobalDecl) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CGOpenMPRuntime.cpp:11699:33
#35 0x0000000003879f19 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CodeGenModule.cpp:4897:23
#36 0x00000000038744c1 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CodeGenModule.cpp:8086:5
#37 0x0000000003b4d5fc (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/ModuleBuilder.cpp:200:20
#38 0x0000000003b470b6 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/CodeGen/CodeGenAction.cpp:150:22
#39 0x000000000656fada clang::ParseAST(clang::Sema&, bool, bool) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/Parse/ParseAST.cpp:169:17
#40 0x0000000003dd3a06 clang::FrontendAction::Execute() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/Frontend/FrontendAction.cpp:1381:10
#41 0x0000000003d50387 llvm::Error::getPtr() const /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/Support/Error.h:278:42
#42 0x0000000003d50387 llvm::Error::operator bool() /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/llvm/include/llvm/Support/Error.h:241:16
#43 0x0000000003d50387 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/Frontend/CompilerInstance.cpp:1040:23
#44 0x0000000003e8736b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:326:25
#45 0x000000000045c0b4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/tools/driver/cc1_main.cpp:301:13
#46 0x0000000000458255 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/tools/driver/driver.cpp:229:12
#47 0x00000000004573aa clang_main(int, char**, llvm::ToolContext const&) /usr/workspace/moyasarda1/gpu-kernel-versioning/llvm-project-4/clang/tools/driver/driver.cpp:277:12
#48 0x0000000000467186 main /usr/workspace/moyasarda1/gpu-kernel-versioning/build-tioga-4/tools/clang/tools/driver/clang-driver.cpp:17:10
#49 0x000015555394a865 __libc_start_main (/lib64/libc.so.6+0x3a865)
#50 0x0000000000455e0e _start (/usr/WS1/moyasarda1/gpu-kernel-versioning/install-tioga-4/bin/clang-24+0x455e0e)
Metadata
Metadata
Assignees
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]llvm:openmpirbuilderIssues related to problems in the llvm-project/lib/Frontend/OpenMP/OMPIRBuilder.cppIssues related to problems in the llvm-project/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Activity