diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp index 8316c6f0c74c18..fc4580eacacd04 100644 --- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp +++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp @@ -270,17 +270,17 @@ Value *OpenMPIRBuilder::getOrCreateIdent(Constant *SrcLocStr, Constant *IdentData[] = { I32Null, ConstantInt::get(Int32, uint32_t(LocFlags)), ConstantInt::get(Int32, Reserve2Flags), I32Null, SrcLocStr}; - Constant *Initializer = ConstantStruct::get( - cast(IdentPtr->getPointerElementType()), IdentData); + Constant *Initializer = + ConstantStruct::get(OpenMPIRBuilder::Ident, IdentData); // Look for existing encoding of the location + flags, not needed but // minimizes the difference to the existing solution while we transition. for (GlobalVariable &GV : M.getGlobalList()) - if (GV.getType() == IdentPtr && GV.hasInitializer()) + if (GV.getValueType() == OpenMPIRBuilder::Ident && GV.hasInitializer()) if (GV.getInitializer() == Initializer) return Ident = &GV; - auto *GV = new GlobalVariable(M, IdentPtr->getPointerElementType(), + auto *GV = new GlobalVariable(M, OpenMPIRBuilder::Ident, /* isConstant = */ true, GlobalValue::PrivateLinkage, Initializer); GV->setUnnamedAddr(GlobalValue::UnnamedAddr::Global);