@@ -1713,25 +1713,15 @@ llvm::Function *CGOpenMPRuntime::emitThreadPrivateVarDefinition(
1713
1713
if (!Ctor && !Dtor)
1714
1714
return nullptr;
1715
1715
1716
- llvm::Type *CopyCtorTyArgs[] = {CGM.VoidPtrTy, CGM.VoidPtrTy};
1717
- auto *CopyCtorTy = llvm::FunctionType::get(CGM.VoidPtrTy, CopyCtorTyArgs,
1718
- /*isVarArg=*/false)
1719
- ->getPointerTo();
1720
1716
// Copying constructor for the threadprivate variable.
1721
1717
// Must be NULL - reserved by runtime, but currently it requires that this
1722
1718
// parameter is always NULL. Otherwise it fires assertion.
1723
- CopyCtor = llvm::Constant::getNullValue(CopyCtorTy );
1719
+ CopyCtor = llvm::Constant::getNullValue(CGM.UnqualPtrTy );
1724
1720
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);
1729
1722
}
1730
1723
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);
1735
1725
}
1736
1726
if (!CGF) {
1737
1727
auto *InitFunctionTy =
@@ -1817,7 +1807,7 @@ Address CGOpenMPRuntime::getAddrOfArtificialThreadPrivate(CodeGenFunction &CGF,
1817
1807
OMPBuilder.getOrCreateRuntimeFunction(
1818
1808
CGM.getModule(), OMPRTL___kmpc_threadprivate_cached),
1819
1809
Args),
1820
- VarLVType->getPointerTo(/*AddrSpace=*/ 0)),
1810
+ CGF.Builder.getPtrTy( 0)),
1821
1811
VarLVType, CGM.getContext().getTypeAlignInChars(VarType));
1822
1812
}
1823
1813
@@ -2131,10 +2121,7 @@ static Address emitAddrOfVarFromArray(CodeGenFunction &CGF, Address Array,
2131
2121
llvm::Value *Ptr = CGF.Builder.CreateLoad(PtrAddr);
2132
2122
2133
2123
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));
2138
2125
}
2139
2126
2140
2127
static llvm::Value *emitCopyprivateCopyFunction(
@@ -2166,11 +2153,11 @@ static llvm::Value *emitCopyprivateCopyFunction(
2166
2153
// Src = (void*[n])(RHSArg);
2167
2154
Address LHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
2168
2155
CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&LHSArg)),
2169
- ArgsElemType->getPointerTo( )),
2156
+ CGF.Builder.getPtrTy(0 )),
2170
2157
ArgsElemType, CGF.getPointerAlign());
2171
2158
Address RHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
2172
2159
CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&RHSArg)),
2173
- ArgsElemType->getPointerTo( )),
2160
+ CGF.Builder.getPtrTy(0 )),
2174
2161
ArgsElemType, CGF.getPointerAlign());
2175
2162
// *(Type0*)Dst[0] = *(Type0*)Src[0];
2176
2163
// *(Type1*)Dst[1] = *(Type1*)Src[1];
@@ -3681,9 +3668,7 @@ CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
3681
3668
QualType KmpTaskTWithPrivatesQTy = C.getRecordType(KmpTaskTWithPrivatesQTyRD);
3682
3669
QualType KmpTaskTWithPrivatesPtrQTy =
3683
3670
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);
3687
3672
llvm::Value *KmpTaskTWithPrivatesTySize =
3688
3673
CGF.getTypeSize(KmpTaskTWithPrivatesQTy);
3689
3674
QualType SharedsPtrTy = C.getPointerType(SharedsTy);
@@ -4399,7 +4384,7 @@ Address CGOpenMPRuntime::emitDepobjDependClause(
4399
4384
Args, ".dep.arr.addr");
4400
4385
llvm::Type *KmpDependInfoLlvmTy = CGF.ConvertTypeForMem(KmpDependInfoTy);
4401
4386
Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
4402
- Addr, KmpDependInfoLlvmTy->getPointerTo( ));
4387
+ Addr, CGF.Builder.getPtrTy(0 ));
4403
4388
DependenciesArray = Address(Addr, KmpDependInfoLlvmTy, Align);
4404
4389
// Write number of elements in the first element of array for depobj.
4405
4390
LValue Base = CGF.MakeAddrLValue(DependenciesArray, KmpDependInfoTy);
@@ -4841,11 +4826,11 @@ llvm::Function *CGOpenMPRuntime::emitReductionFunction(
4841
4826
// Src = (void*[n])(RHSArg);
4842
4827
Address LHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
4843
4828
CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&LHSArg)),
4844
- ArgsElemType->getPointerTo( )),
4829
+ CGF.Builder.getPtrTy(0 )),
4845
4830
ArgsElemType, CGF.getPointerAlign());
4846
4831
Address RHS(CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
4847
4832
CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(&RHSArg)),
4848
- ArgsElemType->getPointerTo( )),
4833
+ CGF.Builder.getPtrTy(0 )),
4849
4834
ArgsElemType, CGF.getPointerAlign());
4850
4835
4851
4836
// ...
@@ -5277,8 +5262,7 @@ static llvm::Value *emitReduceInitFunction(CodeGenModule &CGM,
5277
5262
CGF.StartFunction(GlobalDecl(), C.VoidTy, Fn, FnInfo, Args, Loc, Loc);
5278
5263
QualType PrivateType = RCG.getPrivateType(N);
5279
5264
Address PrivateAddr = CGF.EmitLoadOfPointer(
5280
- CGF.GetAddrOfLocalVar(&Param).withElementType(
5281
- CGF.ConvertTypeForMem(PrivateType)->getPointerTo()),
5265
+ CGF.GetAddrOfLocalVar(&Param).withElementType(CGF.Builder.getPtrTy(0)),
5282
5266
C.getPointerType(PrivateType)->castAs<PointerType>());
5283
5267
llvm::Value *Size = nullptr;
5284
5268
// If the size of the reduction item is non-constant, load it from global
@@ -5366,15 +5350,14 @@ static llvm::Value *emitReduceCombFunction(CodeGenModule &CGM,
5366
5350
// Pull out the pointer to the variable.
5367
5351
CGF.EmitLoadOfPointer(
5368
5352
CGF.GetAddrOfLocalVar(&ParamInOut)
5369
- .withElementType(
5370
- CGF.ConvertTypeForMem(LHSVD->getType())->getPointerTo()),
5353
+ .withElementType(CGF.Builder.getPtrTy(0)),
5371
5354
C.getPointerType(LHSVD->getType())->castAs<PointerType>()));
5372
5355
PrivateScope.addPrivate(
5373
5356
RHSVD,
5374
5357
// Pull out the pointer to the variable.
5375
5358
CGF.EmitLoadOfPointer(
5376
5359
CGF.GetAddrOfLocalVar(&ParamIn).withElementType(
5377
- CGF.ConvertTypeForMem(RHSVD->getType())->getPointerTo( )),
5360
+ CGF.Builder.getPtrTy(0 )),
5378
5361
C.getPointerType(RHSVD->getType())->castAs<PointerType>()));
5379
5362
PrivateScope.Privatize();
5380
5363
// Emit the combiner body:
0 commit comments