Author: Nikita Popov Date: 2022-03-18T11:01:25+01:00 New Revision: 33d020d010478e59e2cdc57300d4aae3fbac0611
URL: https://github.com/llvm/llvm-project/commit/33d020d010478e59e2cdc57300d4aae3fbac0611 DIFF: https://github.com/llvm/llvm-project/commit/33d020d010478e59e2cdc57300d4aae3fbac0611.diff LOG: [CodeGen] Remove some uses of deprecated Address constructor Added: Modified: clang/lib/CodeGen/CGCall.cpp clang/lib/CodeGen/CGException.cpp clang/lib/CodeGen/CGExprScalar.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp index f80aa630e4aba..6cfc3c56c165b 100644 --- a/clang/lib/CodeGen/CGCall.cpp +++ b/clang/lib/CodeGen/CGCall.cpp @@ -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)); } } @@ -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()); } @@ -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; } @@ -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(); @@ -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"); diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp index 98be1e2ff338f..76c6beb090a96 100644 --- a/clang/lib/CodeGen/CGException.cpp +++ b/clang/lib/CodeGen/CGException.cpp @@ -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, diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index 18a22b50f63e4..cdd4302dc9711 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -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()); @@ -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); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits