@@ -1713,25 +1713,15 @@ llvm::Function *CGOpenMPRuntime::emitThreadPrivateVarDefinition(
17131713 if (!Ctor && !Dtor)
17141714 return nullptr;
17151715
1716- llvm::Type *CopyCtorTyArgs[] = {CGM.VoidPtrTy, CGM.VoidPtrTy};
1717- auto *CopyCtorTy = llvm::FunctionType::get(CGM.VoidPtrTy, CopyCtorTyArgs,
1718- /*isVarArg=*/false)
1719- ->getPointerTo();
17201716 // Copying constructor for the threadprivate variable.
17211717 // Must be NULL - reserved by runtime, but currently it requires that this
17221718 // parameter is always NULL. Otherwise it fires assertion.
1723- CopyCtor = llvm::Constant::getNullValue(CopyCtorTy );
1719+ CopyCtor = llvm::Constant::getNullValue(CGM.UnqualPtrTy );
17241720 if (Ctor == nullptr) {
1725- auto *CtorTy = llvm::FunctionType::get(CGM.VoidPtrTy, CGM.VoidPtrTy,
1726- /*isVarArg=*/false)
1727- ->getPointerTo();
1728- Ctor = llvm::Constant::getNullValue(CtorTy);
1721+ Ctor = llvm::Constant::getNullValue(CGM.UnqualPtrTy);
17291722 }
17301723 if (Dtor == nullptr) {
1731- auto *DtorTy = llvm::FunctionType::get(CGM.VoidTy, CGM.VoidPtrTy,
1732- /*isVarArg=*/false)
1733- ->getPointerTo();
1734- Dtor = llvm::Constant::getNullValue(DtorTy);
1724+ Dtor = llvm::Constant::getNullValue(CGM.UnqualPtrTy);
17351725 }
17361726 if (!CGF) {
17371727 auto *InitFunctionTy =
@@ -1817,7 +1807,7 @@ Address CGOpenMPRuntime::getAddrOfArtificialThreadPrivate(CodeGenFunction &CGF,
18171807 OMPBuilder.getOrCreateRuntimeFunction(
18181808 CGM.getModule(), OMPRTL___kmpc_threadprivate_cached),
18191809 Args),
1820- VarLVType->getPointerTo(/*AddrSpace=*/ 0)),
1810+ CGF.Builder.getPtrTy( 0)),
18211811 VarLVType, CGM.getContext().getTypeAlignInChars(VarType));
18221812}
18231813
@@ -2131,10 +2121,7 @@ static Address emitAddrOfVarFromArray(CodeGenFunction &CGF, Address Array,
21312121 llvm::Value *Ptr = CGF.Builder.CreateLoad(PtrAddr);
21322122
21332123 llvm::Type *ElemTy = CGF.ConvertTypeForMem(Var->getType());
2134- return Address(
2135- CGF.Builder.CreateBitCast(
2136- Ptr, ElemTy->getPointerTo(Ptr->getType()->getPointerAddressSpace())),
2137- ElemTy, CGF.getContext().getDeclAlign(Var));
2124+ return Address(Ptr, ElemTy, CGF.getContext().getDeclAlign(Var));
21382125}
21392126
21402127static llvm::Value *emitCopyprivateCopyFunction(
@@ -2166,11 +2153,11 @@ static llvm::Value *emitCopyprivateCopyFunction(
21662153 // Src = (void*[n])(RHSArg);
21672154 Address LHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
21682155 CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&LHSArg)),
2169- ArgsElemType->getPointerTo( )),
2156+ CGF.Builder.getPtrTy(0 )),
21702157 ArgsElemType, CGF.getPointerAlign());
21712158 Address RHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
21722159 CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&RHSArg)),
2173- ArgsElemType->getPointerTo( )),
2160+ CGF.Builder.getPtrTy(0 )),
21742161 ArgsElemType, CGF.getPointerAlign());
21752162 // *(Type0*)Dst[0] = *(Type0*)Src[0];
21762163 // *(Type1*)Dst[1] = *(Type1*)Src[1];
@@ -3681,9 +3668,7 @@ CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
36813668 QualType KmpTaskTWithPrivatesQTy = C.getRecordType(KmpTaskTWithPrivatesQTyRD);
36823669 QualType KmpTaskTWithPrivatesPtrQTy =
36833670 C.getPointerType(KmpTaskTWithPrivatesQTy);
3684- llvm::Type *KmpTaskTWithPrivatesTy = CGF.ConvertType(KmpTaskTWithPrivatesQTy);
3685- llvm::Type *KmpTaskTWithPrivatesPtrTy =
3686- KmpTaskTWithPrivatesTy->getPointerTo();
3671+ llvm::Type *KmpTaskTWithPrivatesPtrTy = CGF.Builder.getPtrTy(0);
36873672 llvm::Value *KmpTaskTWithPrivatesTySize =
36883673 CGF.getTypeSize(KmpTaskTWithPrivatesQTy);
36893674 QualType SharedsPtrTy = C.getPointerType(SharedsTy);
@@ -4399,7 +4384,7 @@ Address CGOpenMPRuntime::emitDepobjDependClause(
43994384 Args, ".dep.arr.addr");
44004385 llvm::Type *KmpDependInfoLlvmTy = CGF.ConvertTypeForMem(KmpDependInfoTy);
44014386 Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
4402- Addr, KmpDependInfoLlvmTy->getPointerTo( ));
4387+ Addr, CGF.Builder.getPtrTy(0 ));
44034388 DependenciesArray = Address(Addr, KmpDependInfoLlvmTy, Align);
44044389 // Write number of elements in the first element of array for depobj.
44054390 LValue Base = CGF.MakeAddrLValue(DependenciesArray, KmpDependInfoTy);
@@ -4841,11 +4826,11 @@ llvm::Function *CGOpenMPRuntime::emitReductionFunction(
48414826 // Src = (void*[n])(RHSArg);
48424827 Address LHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
48434828 CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&LHSArg)),
4844- ArgsElemType->getPointerTo( )),
4829+ CGF.Builder.getPtrTy(0 )),
48454830 ArgsElemType, CGF.getPointerAlign());
48464831 Address RHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
48474832 CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&RHSArg)),
4848- ArgsElemType->getPointerTo( )),
4833+ CGF.Builder.getPtrTy(0 )),
48494834 ArgsElemType, CGF.getPointerAlign());
48504835
48514836 // ...
@@ -5277,8 +5262,7 @@ static llvm::Value *emitReduceInitFunction(CodeGenModule &CGM,
52775262 CGF.StartFunction(GlobalDecl(), C.VoidTy, Fn, FnInfo, Args, Loc, Loc);
52785263 QualType PrivateType = RCG.getPrivateType(N);
52795264 Address PrivateAddr = CGF.EmitLoadOfPointer(
5280- CGF.GetAddrOfLocalVar(&Param).withElementType(
5281- CGF.ConvertTypeForMem(PrivateType)->getPointerTo()),
5265+ CGF.GetAddrOfLocalVar(&Param).withElementType(CGF.Builder.getPtrTy(0)),
52825266 C.getPointerType(PrivateType)->castAs<PointerType>());
52835267 llvm::Value *Size = nullptr;
52845268 // If the size of the reduction item is non-constant, load it from global
@@ -5366,15 +5350,14 @@ static llvm::Value *emitReduceCombFunction(CodeGenModule &CGM,
53665350 // Pull out the pointer to the variable.
53675351 CGF.EmitLoadOfPointer(
53685352 CGF.GetAddrOfLocalVar(&ParamInOut)
5369- .withElementType(
5370- CGF.ConvertTypeForMem(LHSVD->getType())->getPointerTo()),
5353+ .withElementType(CGF.Builder.getPtrTy(0)),
53715354 C.getPointerType(LHSVD->getType())->castAs<PointerType>()));
53725355 PrivateScope.addPrivate(
53735356 RHSVD,
53745357 // Pull out the pointer to the variable.
53755358 CGF.EmitLoadOfPointer(
53765359 CGF.GetAddrOfLocalVar(&ParamIn).withElementType(
5377- CGF.ConvertTypeForMem(RHSVD->getType())->getPointerTo( )),
5360+ CGF.Builder.getPtrTy(0 )),
53785361 C.getPointerType(RHSVD->getType())->castAs<PointerType>()));
53795362 PrivateScope.Privatize();
53805363 // Emit the combiner body:
0 commit comments