Skip to content

Commit

Permalink
[CodeGen] Remove some uses of deprecated Address constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
nikic committed Mar 18, 2022
1 parent 9816fad commit 33d020d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 14 deletions.
20 changes: 10 additions & 10 deletions clang/lib/CodeGen/CGCall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1011,11 +1011,12 @@ static void forConstantArrayExpansion(CodeGenFunction &CGF,
CharUnits EltSize = CGF.getContext().getTypeSizeInChars(CAE->EltTy);
CharUnits EltAlign =
BaseAddr.getAlignment().alignmentOfArrayElement(EltSize);
llvm::Type *EltTy = CGF.ConvertTypeForMem(CAE->EltTy);

for (int i = 0, n = CAE->NumElts; i < n; i++) {
llvm::Value *EltAddr = CGF.Builder.CreateConstGEP2_32(
BaseAddr.getElementType(), BaseAddr.getPointer(), 0, i);
Fn(Address::deprecated(EltAddr, EltAlign));
Fn(Address(EltAddr, EltTy, EltAlign));
}
}

Expand Down Expand Up @@ -2684,9 +2685,8 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI,
// parameter, which is a pointer to the complete memory area.
Address ArgStruct = Address::invalid();
if (IRFunctionArgs.hasInallocaArg()) {
ArgStruct = Address::deprecated(
Fn->getArg(IRFunctionArgs.getInallocaArgNo()),
FI.getArgStructAlignment());
ArgStruct = Address(Fn->getArg(IRFunctionArgs.getInallocaArgNo()),
FI.getArgStruct(), FI.getArgStructAlignment());

assert(ArgStruct.getType() == FI.getArgStruct()->getPointerTo());
}
Expand Down Expand Up @@ -2736,8 +2736,8 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI,
Address V =
Builder.CreateStructGEP(ArgStruct, FieldIndex, Arg->getName());
if (ArgI.getInAllocaIndirect())
V = Address::deprecated(Builder.CreateLoad(V),
getContext().getTypeAlignInChars(Ty));
V = Address(Builder.CreateLoad(V), ConvertTypeForMem(Ty),
getContext().getTypeAlignInChars(Ty));
ArgVals.push_back(ParamValue::forIndirect(V));
break;
}
Expand Down Expand Up @@ -2885,8 +2885,8 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI,
assert(pointeeTy->isPointerType());
Address temp =
CreateMemTemp(pointeeTy, getPointerAlign(), "swifterror.temp");
Address arg = Address::deprecated(
V, getContext().getTypeAlignInChars(pointeeTy));
Address arg(V, ConvertTypeForMem(pointeeTy),
getContext().getTypeAlignInChars(pointeeTy));
llvm::Value *incomingErrorValue = Builder.CreateLoad(arg);
Builder.CreateStore(incomingErrorValue, temp);
V = temp.getPointer();
Expand Down Expand Up @@ -4966,8 +4966,8 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo,
assert(!swiftErrorTemp.isValid() && "multiple swifterror args");

QualType pointeeTy = I->Ty->getPointeeType();
swiftErrorArg =
Address::deprecated(V, getContext().getTypeAlignInChars(pointeeTy));
swiftErrorArg = Address(V, ConvertTypeForMem(pointeeTy),
getContext().getTypeAlignInChars(pointeeTy));

swiftErrorTemp =
CreateMemTemp(pointeeTy, getPointerAlign(), "swifterror.temp");
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/CodeGen/CGException.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1845,7 +1845,7 @@ Address CodeGenFunction::recoverAddrOfEscapedLocal(CodeGenFunction &ParentCGF,
llvm::Value *ChildVar =
Builder.CreateBitCast(RecoverCall, ParentVar.getType());
ChildVar->setName(ParentVar.getName());
return Address::deprecated(ChildVar, ParentVar.getAlignment());
return ParentVar.withPointer(ChildVar);
}

void CodeGenFunction::EmitCapturedLocals(CodeGenFunction &ParentCGF,
Expand Down
9 changes: 6 additions & 3 deletions clang/lib/CodeGen/CGExprScalar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -420,8 +420,9 @@ class ScalarExprEmitter

if (Value *Result = ConstantEmitter(CGF).tryEmitConstantExpr(E)) {
if (E->isGLValue())
return CGF.Builder.CreateLoad(Address::deprecated(
Result, CGF.getContext().getTypeAlignInChars(E->getType())));
return CGF.Builder.CreateLoad(Address(
Result, CGF.ConvertTypeForMem(E->getType()),
CGF.getContext().getTypeAlignInChars(E->getType())));
return Result;
}
return Visit(E->getSubExpr());
Expand Down Expand Up @@ -4904,7 +4905,9 @@ LValue CodeGenFunction::EmitObjCIsaExpr(const ObjCIsaExpr *E) {
Expr *BaseExpr = E->getBase();
Address Addr = Address::invalid();
if (BaseExpr->isPRValue()) {
Addr = Address::deprecated(EmitScalarExpr(BaseExpr), getPointerAlign());
llvm::Type *BaseTy =
ConvertTypeForMem(BaseExpr->getType()->getPointeeType());
Addr = Address(EmitScalarExpr(BaseExpr), BaseTy, getPointerAlign());
} else {
Addr = EmitLValue(BaseExpr).getAddress(*this);
}
Expand Down

0 comments on commit 33d020d

Please sign in to comment.