Skip to content

Commit c070d5c

Browse files
committed
[CGOpenMPRuntime] Remove uses of deprecated Address constructor
And as these are the last remaining uses, also remove the constructor itself.
1 parent 0254f59 commit c070d5c

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

clang/lib/CodeGen/Address.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,6 @@ class Address {
8787
"Incorrect pointer element type");
8888
}
8989

90-
// Deprecated: Use constructor with explicit element type instead.
91-
static Address deprecated(llvm::Value *Pointer, CharUnits Alignment) {
92-
return Address(Pointer, Pointer->getType()->getPointerElementType(),
93-
Alignment);
94-
}
95-
9690
static Address invalid() { return Address(nullptr); }
9791
bool isValid() const { return A.getPointer() != nullptr; }
9892

clang/lib/CodeGen/CGOpenMPRuntime.cpp

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -937,8 +937,7 @@ static LValue loadToBegin(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
937937
}
938938

939939
static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
940-
llvm::Type *BaseLVType, CharUnits BaseLVAlignment,
941-
llvm::Value *Addr) {
940+
Address OriginalBaseAddress, llvm::Value *Addr) {
942941
Address Tmp = Address::invalid();
943942
Address TopTmp = Address::invalid();
944943
Address MostTopTmp = Address::invalid();
@@ -953,15 +952,17 @@ static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
953952
TopTmp = Tmp;
954953
BaseTy = BaseTy->getPointeeType();
955954
}
956-
llvm::Type *Ty = BaseLVType;
957-
if (Tmp.isValid())
958-
Ty = Tmp.getElementType();
959-
Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(Addr, Ty);
955+
960956
if (Tmp.isValid()) {
957+
Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
958+
Addr, Tmp.getElementType());
961959
CGF.Builder.CreateStore(Addr, Tmp);
962960
return MostTopTmp;
963961
}
964-
return Address::deprecated(Addr, BaseLVAlignment);
962+
963+
Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
964+
Addr, OriginalBaseAddress.getType());
965+
return OriginalBaseAddress.withPointer(Addr);
965966
}
966967

967968
static const VarDecl *getBaseDecl(const Expr *Ref, const DeclRefExpr *&DE) {
@@ -1004,8 +1005,7 @@ Address ReductionCodeGen::adjustPrivateAddress(CodeGenFunction &CGF, unsigned N,
10041005
SharedAddr.getElementType(), PrivatePointer, Adjustment);
10051006
return castToBase(CGF, OrigVD->getType(),
10061007
SharedAddresses[N].first.getType(),
1007-
OriginalBaseLValue.getAddress(CGF).getType(),
1008-
OriginalBaseLValue.getAlignment(), Ptr);
1008+
OriginalBaseLValue.getAddress(CGF), Ptr);
10091009
}
10101010
BaseDecls.emplace_back(
10111011
cast<VarDecl>(cast<DeclRefExpr>(ClausesData[N].Ref)->getDecl()));
@@ -4046,12 +4046,12 @@ emitTaskDupFunction(CodeGenModule &CGM, SourceLocation Loc,
40464046
KmpTaskTWithPrivatesPtrQTy->castAs<PointerType>());
40474047
LValue Base = CGF.EmitLValueForField(
40484048
TDBase, *KmpTaskTWithPrivatesQTyRD->field_begin());
4049-
KmpTaskSharedsPtr = Address::deprecated(
4049+
KmpTaskSharedsPtr = Address(
40504050
CGF.EmitLoadOfScalar(CGF.EmitLValueForField(
40514051
Base, *std::next(KmpTaskTQTyRD->field_begin(),
40524052
KmpTaskTShareds)),
40534053
Loc),
4054-
CGM.getNaturalTypeAlignment(SharedsTy));
4054+
CGF.Int8Ty, CGM.getNaturalTypeAlignment(SharedsTy));
40554055
}
40564056
emitPrivatesInit(CGF, D, KmpTaskSharedsPtr, TDBase, KmpTaskTWithPrivatesQTyRD,
40574057
SharedsTy, SharedsPtrTy, Data, Privates, /*ForDup=*/true);
@@ -4531,13 +4531,13 @@ CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
45314531
// Copy shareds if there are any.
45324532
Address KmpTaskSharedsPtr = Address::invalid();
45334533
if (!SharedsTy->getAsStructureType()->getDecl()->field_empty()) {
4534-
KmpTaskSharedsPtr = Address::deprecated(
4534+
KmpTaskSharedsPtr = Address(
45354535
CGF.EmitLoadOfScalar(
45364536
CGF.EmitLValueForField(
45374537
TDBase,
45384538
*std::next(KmpTaskTQTyRD->field_begin(), KmpTaskTShareds)),
45394539
Loc),
4540-
CGM.getNaturalTypeAlignment(SharedsTy));
4540+
CGF.Int8Ty, CGM.getNaturalTypeAlignment(SharedsTy));
45414541
LValue Dest = CGF.MakeAddrLValue(KmpTaskSharedsPtr, SharedsTy);
45424542
LValue Src = CGF.MakeAddrLValue(Shareds, SharedsTy);
45434543
CGF.EmitAggregateCopy(Dest, Src, SharedsTy, AggValueSlot::DoesNotOverlap);
@@ -7847,8 +7847,9 @@ class MappableExprsHandler {
78477847
BP = CGF.EmitOMPSharedLValue(AssocExpr).getAddress(CGF);
78487848
} else if (OAShE &&
78497849
isa<CXXThisExpr>(OAShE->getBase()->IgnoreParenCasts())) {
7850-
BP = Address::deprecated(
7850+
BP = Address(
78517851
CGF.EmitScalarExpr(OAShE->getBase()),
7852+
CGF.ConvertTypeForMem(OAShE->getBase()->getType()->getPointeeType()),
78527853
CGF.getContext().getTypeAlignInChars(OAShE->getBase()->getType()));
78537854
} else {
78547855
// The base is the reference to the variable.
@@ -8019,9 +8020,11 @@ class MappableExprsHandler {
80198020
};
80208021
if (OAShE) {
80218022
LowestElem = LB =
8022-
Address::deprecated(CGF.EmitScalarExpr(OAShE->getBase()),
8023-
CGF.getContext().getTypeAlignInChars(
8024-
OAShE->getBase()->getType()));
8023+
Address(CGF.EmitScalarExpr(OAShE->getBase()),
8024+
CGF.ConvertTypeForMem(
8025+
OAShE->getBase()->getType()->getPointeeType()),
8026+
CGF.getContext().getTypeAlignInChars(
8027+
OAShE->getBase()->getType()));
80258028
} else if (IsMemberReference) {
80268029
const auto *ME = cast<MemberExpr>(I->getAssociatedExpression());
80278030
LValue BaseLVal = EmitMemberExprBase(CGF, ME);

0 commit comments

Comments
 (0)