Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Show First 20 Lines • Show All 209 Lines • ▼ Show 20 Lines | if (!Ident) { | ||||
auto *GV = new GlobalVariable(M, IdentPtr->getPointerElementType(), | auto *GV = new GlobalVariable(M, IdentPtr->getPointerElementType(), | ||||
/* isConstant = */ true, | /* isConstant = */ true, | ||||
GlobalValue::PrivateLinkage, Initializer); | GlobalValue::PrivateLinkage, Initializer); | ||||
GV->setUnnamedAddr(GlobalValue::UnnamedAddr::Global); | GV->setUnnamedAddr(GlobalValue::UnnamedAddr::Global); | ||||
GV->setAlignment(Align(8)); | GV->setAlignment(Align(8)); | ||||
Ident = GV; | Ident = GV; | ||||
} | } | ||||
return Ident; | return Builder.CreatePointerCast(Ident, IdentPtr); | ||||
} | } | ||||
Type *OpenMPIRBuilder::getLanemaskType() { | Type *OpenMPIRBuilder::getLanemaskType() { | ||||
LLVMContext &Ctx = M.getContext(); | LLVMContext &Ctx = M.getContext(); | ||||
Triple triple(M.getTargetTriple()); | Triple triple(M.getTargetTriple()); | ||||
// This test is adequate until deviceRTL has finer grained lane widths | // This test is adequate until deviceRTL has finer grained lane widths | ||||
return triple.isAMDGCN() ? Type::getInt64Ty(Ctx) : Type::getInt32Ty(Ctx); | return triple.isAMDGCN() ? Type::getInt64Ty(Ctx) : Type::getInt32Ty(Ctx); | ||||
▲ Show 20 Lines • Show All 1,221 Lines • Show Last 20 Lines |