diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp index 36f6fa68ce2427..94217c632e436f 100644 --- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp +++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp @@ -276,20 +276,15 @@ Value *OpenMPIRBuilder::getOrCreateIdent(Constant *SrcLocStr, for (GlobalVariable &GV : M.getGlobalList()) if (GV.getValueType() == OpenMPIRBuilder::Ident && GV.hasInitializer()) if (GV.getInitializer() == Initializer) - Ident = &GV; - - if (!Ident) { - auto *GV = new GlobalVariable( - M, OpenMPIRBuilder::Ident, - /* isConstant = */ true, GlobalValue::PrivateLinkage, Initializer, "", - nullptr, GlobalValue::NotThreadLocal, - M.getDataLayout().getDefaultGlobalsAddressSpace()); - GV->setUnnamedAddr(GlobalValue::UnnamedAddr::Global); - GV->setAlignment(Align(8)); - Ident = GV; - } + return Ident = &GV; + + auto *GV = new GlobalVariable(M, OpenMPIRBuilder::Ident, + /* isConstant = */ true, + GlobalValue::PrivateLinkage, Initializer); + GV->setUnnamedAddr(GlobalValue::UnnamedAddr::Global); + GV->setAlignment(Align(8)); + Ident = GV; } - return Builder.CreatePointerCast(Ident, IdentPtr); } diff --git a/openmp/libomptarget/test/offloading/bug51982.c b/openmp/libomptarget/test/offloading/bug51982.c deleted file mode 100644 index 4211190ec2ddf0..00000000000000 --- a/openmp/libomptarget/test/offloading/bug51982.c +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %libomptarget-compile-generic -O1 && %libomptarget-run-generic -// -O1 to run openmp-opt - -int main(void) { - long int aa = 0; - - int ng = 12; - int nxyz = 5; - - const long exp = ng * nxyz; - -#pragma omp target map(tofrom : aa) - for (int gid = 0; gid < nxyz; gid++) { -#pragma omp parallel for - for (unsigned int g = 0; g < ng; g++) { -#pragma omp atomic - aa += 1; - } - } - if (aa != exp) { - return 1; - } - return 0; -}