https://github.com/jurahul created https://github.com/llvm/llvm-project/pull/145192
None >From 5300020f16ac2e9a8449242b3c743616b2b2186b Mon Sep 17 00:00:00 2001 From: Rahul Joshi <rjo...@nvidia.com> Date: Sat, 21 Jun 2025 16:04:54 -0700 Subject: [PATCH] [NFC][Clang] Adopt `llvm::copy` in Clang AST --- clang/include/clang/AST/ASTContext.h | 2 +- clang/include/clang/AST/OpenMPClause.h | 14 ++--- clang/include/clang/AST/Stmt.h | 2 +- clang/lib/AST/ASTImporter.cpp | 2 +- clang/lib/AST/Decl.cpp | 23 ++++---- clang/lib/AST/DeclObjC.cpp | 2 +- clang/lib/AST/ExprCXX.cpp | 17 +++--- clang/lib/AST/ExprConcepts.cpp | 6 +-- clang/lib/AST/ExprObjC.cpp | 6 +-- clang/lib/AST/OpenMPClause.cpp | 72 ++++++++++++-------------- clang/lib/AST/Stmt.cpp | 9 ++-- clang/lib/AST/StmtCXX.cpp | 5 +- clang/lib/AST/Type.cpp | 3 +- 13 files changed, 73 insertions(+), 90 deletions(-) diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h index e01361e2466b5..10537c94babda 100644 --- a/clang/include/clang/AST/ASTContext.h +++ b/clang/include/clang/AST/ASTContext.h @@ -814,7 +814,7 @@ class ASTContext : public RefCountedBase<ASTContext> { llvm::StringRef backupStr(llvm::StringRef S) const { char *Buf = new (*this) char[S.size()]; - std::copy(S.begin(), S.end(), Buf); + llvm::copy(S, Buf); return llvm::StringRef(Buf, S.size()); } diff --git a/clang/include/clang/AST/OpenMPClause.h b/clang/include/clang/AST/OpenMPClause.h index 2fa8fa529741e..3ceaea10bd023 100644 --- a/clang/include/clang/AST/OpenMPClause.h +++ b/clang/include/clang/AST/OpenMPClause.h @@ -387,7 +387,7 @@ template <class T> class OMPDirectiveListClause : public OMPClause { assert( DK.size() == NumKinds && "Number of directive kinds is not the same as the preallocated buffer"); - std::copy(DK.begin(), DK.end(), getDirectiveKinds().begin()); + llvm::copy(DK, getDirectiveKinds().begin()); } SourceLocation getLParenLoc() { return LParenLoc; } @@ -5917,7 +5917,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, void setUniqueDecls(ArrayRef<ValueDecl *> UDs) { assert(UDs.size() == NumUniqueDeclarations && "Unexpected amount of unique declarations."); - std::copy(UDs.begin(), UDs.end(), getUniqueDeclsRef().begin()); + llvm::copy(UDs, getUniqueDeclsRef().begin()); } /// Get the number of lists per declaration that are in the trailing @@ -5939,7 +5939,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, void setDeclNumLists(ArrayRef<unsigned> DNLs) { assert(DNLs.size() == NumUniqueDeclarations && "Unexpected amount of list numbers."); - std::copy(DNLs.begin(), DNLs.end(), getDeclNumListsRef().begin()); + llvm::copy(DNLs, getDeclNumListsRef().begin()); } /// Get the cumulative component lists sizes that are in the trailing @@ -5965,7 +5965,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, void setComponentListSizes(ArrayRef<unsigned> CLSs) { assert(CLSs.size() == NumComponentLists && "Unexpected amount of component lists."); - std::copy(CLSs.begin(), CLSs.end(), getComponentListSizesRef().begin()); + llvm::copy(CLSs, getComponentListSizesRef().begin()); } /// Get the components that are in the trailing objects of the class. @@ -5989,7 +5989,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, "Unexpected amount of component lists."); assert(CLSs.size() == NumComponentLists && "Unexpected amount of list sizes."); - std::copy(Components.begin(), Components.end(), getComponentsRef().begin()); + llvm::copy(Components, getComponentsRef().begin()); } /// Fill the clause information from the list of declarations and @@ -6063,7 +6063,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, ++CLSI; // Append components after the current components iterator. - CI = std::copy(C.begin(), C.end(), CI); + CI = llvm::copy(C, CI); } } } @@ -6107,7 +6107,7 @@ class OMPMappableExprListClause : public OMPVarListClause<T>, "Unexpected number of user-defined mappers."); assert(SupportsMapper && "Must be a clause that is possible to have user-defined mappers"); - std::copy(DMDs.begin(), DMDs.end(), getUDMapperRefs().begin()); + llvm::copy(DMDs, getUDMapperRefs().begin()); } public: diff --git a/clang/include/clang/AST/Stmt.h b/clang/include/clang/AST/Stmt.h index 6c4bd6f6946ba..58e20b0bb0d5b 100644 --- a/clang/include/clang/AST/Stmt.h +++ b/clang/include/clang/AST/Stmt.h @@ -2214,7 +2214,7 @@ class AttributedStmt final : ValueStmt(AttributedStmtClass), SubStmt(SubStmt) { AttributedStmtBits.NumAttrs = Attrs.size(); AttributedStmtBits.AttrLoc = Loc; - std::copy(Attrs.begin(), Attrs.end(), getAttrArrayPtr()); + llvm::copy(Attrs, getAttrArrayPtr()); } explicit AttributedStmt(EmptyShell Empty, unsigned NumAttrs) diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 4621ebb854d8e..012d5c9743f58 100644 --- a/clang/lib/AST/ASTImporter.cpp +++ b/clang/lib/AST/ASTImporter.cpp @@ -4123,7 +4123,7 @@ ExpectedDecl ASTNodeImporter::VisitFunctionDecl(FunctionDecl *D) { return std::move(Err); auto **Memory = new (Importer.getToContext()) CXXCtorInitializer *[NumInitializers]; - std::copy(CtorInitializers.begin(), CtorInitializers.end(), Memory); + llvm::copy(CtorInitializers, Memory); auto *ToCtor = cast<CXXConstructorDecl>(ToFunction); ToCtor->setCtorInitializers(Memory); ToCtor->setNumCtorInitializers(NumInitializers); diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index c4376aab480cd..20a3db1c69b81 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -2110,7 +2110,7 @@ void QualifierInfo::setTemplateParameterListsInfo( if (!TPLists.empty()) { TemplParamLists = new (Context) TemplateParameterList *[TPLists.size()]; NumTemplParamLists = TPLists.size(); - std::copy(TPLists.begin(), TPLists.end(), TemplParamLists); + llvm::copy(TPLists, TemplParamLists); } } @@ -3753,7 +3753,7 @@ void FunctionDecl::setParams(ASTContext &C, // Zero params -> null pointer. if (!NewParamInfo.empty()) { ParamInfo = new (C) ParmVarDecl*[NewParamInfo.size()]; - std::copy(NewParamInfo.begin(), NewParamInfo.end(), ParamInfo); + llvm::copy(NewParamInfo, ParamInfo); } } @@ -5322,7 +5322,7 @@ void BlockDecl::setParams(ArrayRef<ParmVarDecl *> NewParamInfo) { if (!NewParamInfo.empty()) { NumParams = NewParamInfo.size(); ParamInfo = new (getASTContext()) ParmVarDecl*[NewParamInfo.size()]; - std::copy(NewParamInfo.begin(), NewParamInfo.end(), ParamInfo); + llvm::copy(NewParamInfo, ParamInfo); } } @@ -5379,7 +5379,7 @@ PragmaCommentDecl *PragmaCommentDecl::Create(const ASTContext &C, PragmaCommentDecl *PCD = new (C, DC, additionalSizeToAlloc<char>(Arg.size() + 1)) PragmaCommentDecl(DC, CommentLoc, CommentKind); - memcpy(PCD->getTrailingObjects(), Arg.data(), Arg.size()); + llvm::copy(Arg, PCD->getTrailingObjects()); PCD->getTrailingObjects()[Arg.size()] = '\0'; return PCD; } @@ -5401,9 +5401,9 @@ PragmaDetectMismatchDecl::Create(const ASTContext &C, TranslationUnitDecl *DC, PragmaDetectMismatchDecl *PDMD = new (C, DC, additionalSizeToAlloc<char>(ValueStart + Value.size() + 1)) PragmaDetectMismatchDecl(DC, Loc, ValueStart); - memcpy(PDMD->getTrailingObjects(), Name.data(), Name.size()); + llvm::copy(Name, PDMD->getTrailingObjects()); PDMD->getTrailingObjects()[Name.size()] = '\0'; - memcpy(PDMD->getTrailingObjects() + ValueStart, Value.data(), Value.size()); + llvm::copy(Value, PDMD->getTrailingObjects() + ValueStart); PDMD->getTrailingObjects()[ValueStart + Value.size()] = '\0'; return PDMD; } @@ -5443,9 +5443,9 @@ LabelDecl *LabelDecl::CreateDeserialized(ASTContext &C, GlobalDeclID ID) { void LabelDecl::setMSAsmLabel(StringRef Name) { char *Buffer = new (getASTContext(), 1) char[Name.size() + 1]; - memcpy(Buffer, Name.data(), Name.size()); - Buffer[Name.size()] = '\0'; - MSAsmName = Buffer; +llvm::copy(Name, Buffer); +Buffer[Name.size()] = '\0'; +MSAsmName = Buffer; } void ValueDecl::anchor() {} @@ -5828,7 +5828,7 @@ void HLSLBufferDecl::setDefaultBufferDecls(ArrayRef<Decl *> Decls) { // allocate array for default decls with ASTContext allocator Decl **DeclsArray = new (getASTContext()) Decl *[Decls.size()]; - std::copy(Decls.begin(), Decls.end(), DeclsArray); + llvm::copy(Decls, DeclsArray); DefaultBufferDecls = ArrayRef<Decl *>(DeclsArray, Decls.size()); } @@ -5869,8 +5869,7 @@ HLSLRootSignatureDecl *HLSLRootSignatureDecl::Create( RootElements.size())) HLSLRootSignatureDecl(DC, Loc, ID, RootElements.size()); auto *StoredElems = RSDecl->getElems(); - std::uninitialized_copy(RootElements.begin(), RootElements.end(), - StoredElems); + llvm::uninitialized_copy(RootElements, StoredElems); return RSDecl; } diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index 596262e217984..5cf0e9a7b2599 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -1512,7 +1512,7 @@ ObjCTypeParamList::ObjCTypeParamList(SourceLocation lAngleLoc, ArrayRef<ObjCTypeParamDecl *> typeParams, SourceLocation rAngleLoc) : Brackets(lAngleLoc, rAngleLoc), NumParams(typeParams.size()) { - std::copy(typeParams.begin(), typeParams.end(), begin()); + llvm::copy(typeParams, begin()); } ObjCTypeParamList *ObjCTypeParamList::create( diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index 2b66445fe253a..4fc6345bad110 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -261,9 +261,8 @@ CXXNewExpr::CXXNewExpr(bool IsGlobalNew, FunctionDecl *OperatorNew, getTrailingObjects<Stmt *>()[arraySizeOffset()] = *ArraySize; if (Initializer) getTrailingObjects<Stmt *>()[initExprOffset()] = Initializer; - for (unsigned I = 0; I != PlacementArgs.size(); ++I) - getTrailingObjects<Stmt *>()[placementNewArgsOffset() + I] = - PlacementArgs[I]; + llvm::copy(PlacementArgs, + getTrailingObjects<Stmt *>() + placementNewArgsOffset()); if (IsParenTypeId) getTrailingObjects<SourceRange>()[0] = TypeIdParens; @@ -1208,10 +1207,8 @@ CXXConstructExpr::CXXConstructExpr( CXXConstructExprBits.Loc = Loc; Stmt **TrailingArgs = getTrailingArgs(); - for (unsigned I = 0, N = Args.size(); I != N; ++I) { - assert(Args[I] && "NULL argument in CXXConstructExpr!"); - TrailingArgs[I] = Args[I]; - } + llvm::copy(Args, TrailingArgs); + assert(llvm::all_of(Args, [](const Stmt *Arg) { return Arg != nullptr; })); // CXXTemporaryObjectExpr does this itself after setting its TypeSourceInfo. if (SC == CXXConstructExprClass) @@ -1472,8 +1469,7 @@ CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr( RParenLoc(RParenLoc) { CXXUnresolvedConstructExprBits.NumArgs = Args.size(); auto **StoredArgs = getTrailingObjects(); - for (unsigned I = 0; I != Args.size(); ++I) - StoredArgs[I] = Args[I]; + llvm::copy(Args, StoredArgs); setDependence(computeDependence(this)); } @@ -1885,8 +1881,7 @@ TypeTraitExpr::TypeTraitExpr(QualType T, SourceLocation Loc, TypeTrait Kind, assert(Args.size() == TypeTraitExprBits.NumArgs && "TypeTraitExprBits.NumArgs overflow!"); auto **ToArgs = getTrailingObjects<TypeSourceInfo *>(); - for (unsigned I = 0, N = Args.size(); I != N; ++I) - ToArgs[I] = Args[I]; + llvm::copy(Args, ToArgs); setDependence(computeDependence(this)); diff --git a/clang/lib/AST/ExprConcepts.cpp b/clang/lib/AST/ExprConcepts.cpp index e6afcdd5dc3e8..a2cf431a312af 100644 --- a/clang/lib/AST/ExprConcepts.cpp +++ b/clang/lib/AST/ExprConcepts.cpp @@ -144,10 +144,8 @@ RequiresExpr::RequiresExpr(ASTContext &C, SourceLocation RequiresKWLoc, if (RequirementContainsError(R)) setDependence(getDependence() | ExprDependence::Error); } - std::copy(LocalParameters.begin(), LocalParameters.end(), - getTrailingObjects<ParmVarDecl *>()); - std::copy(Requirements.begin(), Requirements.end(), - getTrailingObjects<concepts::Requirement *>()); + llvm::copy(LocalParameters, getTrailingObjects<ParmVarDecl *>()); + llvm::copy(Requirements, getTrailingObjects<concepts::Requirement *>()); RequiresExprBits.IsSatisfied |= Dependent; // FIXME: move the computing dependency logic to ComputeDependence.h if (ContainsUnexpandedParameterPack) diff --git a/clang/lib/AST/ExprObjC.cpp b/clang/lib/AST/ExprObjC.cpp index 79b5db301d414..3df9c404b5ca8 100644 --- a/clang/lib/AST/ExprObjC.cpp +++ b/clang/lib/AST/ExprObjC.cpp @@ -163,10 +163,8 @@ void ObjCMessageExpr::initArgsAndSelLocs(ArrayRef<Expr *> Args, MyArgs[I] = Args[I]; SelLocsKind = SelLocsK; - if (!isImplicit()) { - if (SelLocsK == SelLoc_NonStandard) - std::copy(SelLocs.begin(), SelLocs.end(), getStoredSelLocs()); - } + if (!isImplicit() && SelLocsK == SelLoc_NonStandard) + llvm::copy(SelLocs, getStoredSelLocs()); } ObjCMessageExpr * diff --git a/clang/lib/AST/OpenMPClause.cpp b/clang/lib/AST/OpenMPClause.cpp index f714974b94760..8b1caa05eec32 100644 --- a/clang/lib/AST/OpenMPClause.cpp +++ b/clang/lib/AST/OpenMPClause.cpp @@ -428,7 +428,7 @@ OMPUpdateClause *OMPUpdateClause::CreateEmpty(const ASTContext &C, void OMPPrivateClause::setPrivateCopies(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), varlist_end()); + llvm::copy(VL, varlist_end()); } OMPPrivateClause * @@ -453,13 +453,13 @@ OMPPrivateClause *OMPPrivateClause::CreateEmpty(const ASTContext &C, void OMPFirstprivateClause::setPrivateCopies(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), varlist_end()); + llvm::copy(VL, varlist_end()); } void OMPFirstprivateClause::setInits(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of inits is not the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), getPrivateCopies().end()); + llvm::copy(VL, getPrivateCopies().end()); } OMPFirstprivateClause * @@ -486,29 +486,28 @@ OMPFirstprivateClause *OMPFirstprivateClause::CreateEmpty(const ASTContext &C, void OMPLastprivateClause::setPrivateCopies(ArrayRef<Expr *> PrivateCopies) { assert(PrivateCopies.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(PrivateCopies.begin(), PrivateCopies.end(), varlist_end()); + llvm::copy(PrivateCopies, varlist_end()); } void OMPLastprivateClause::setSourceExprs(ArrayRef<Expr *> SrcExprs) { assert(SrcExprs.size() == varlist_size() && "Number of source expressions is " "not the same as the " "preallocated buffer"); - std::copy(SrcExprs.begin(), SrcExprs.end(), getPrivateCopies().end()); + llvm::copy(SrcExprs, getPrivateCopies().end()); } void OMPLastprivateClause::setDestinationExprs(ArrayRef<Expr *> DstExprs) { assert(DstExprs.size() == varlist_size() && "Number of destination " "expressions is not the same as " "the preallocated buffer"); - std::copy(DstExprs.begin(), DstExprs.end(), getSourceExprs().end()); + llvm::copy(DstExprs, getSourceExprs().end()); } void OMPLastprivateClause::setAssignmentOps(ArrayRef<Expr *> AssignmentOps) { assert(AssignmentOps.size() == varlist_size() && "Number of assignment expressions is not the same as the preallocated " "buffer"); - std::copy(AssignmentOps.begin(), AssignmentOps.end(), - getDestinationExprs().end()); + llvm::copy(AssignmentOps, getDestinationExprs().end()); } OMPLastprivateClause *OMPLastprivateClause::Create( @@ -555,32 +554,32 @@ OMPSharedClause *OMPSharedClause::CreateEmpty(const ASTContext &C, unsigned N) { void OMPLinearClause::setPrivates(ArrayRef<Expr *> PL) { assert(PL.size() == varlist_size() && "Number of privates is not the same as the preallocated buffer"); - std::copy(PL.begin(), PL.end(), varlist_end()); + llvm::copy(PL, varlist_end()); } void OMPLinearClause::setInits(ArrayRef<Expr *> IL) { assert(IL.size() == varlist_size() && "Number of inits is not the same as the preallocated buffer"); - std::copy(IL.begin(), IL.end(), getPrivates().end()); + llvm::copy(IL, getPrivates().end()); } void OMPLinearClause::setUpdates(ArrayRef<Expr *> UL) { assert(UL.size() == varlist_size() && "Number of updates is not the same as the preallocated buffer"); - std::copy(UL.begin(), UL.end(), getInits().end()); + llvm::copy(UL, getInits().end()); } void OMPLinearClause::setFinals(ArrayRef<Expr *> FL) { assert(FL.size() == varlist_size() && "Number of final updates is not the same as the preallocated buffer"); - std::copy(FL.begin(), FL.end(), getUpdates().end()); + llvm::copy(FL, getUpdates().end()); } void OMPLinearClause::setUsedExprs(ArrayRef<Expr *> UE) { assert( UE.size() == varlist_size() + 1 && "Number of used expressions is not the same as the preallocated buffer"); - std::copy(UE.begin(), UE.end(), getFinals().end() + 2); + llvm::copy(UE, getFinals().end() + 2); } OMPLinearClause *OMPLinearClause::Create( @@ -659,22 +658,21 @@ void OMPCopyinClause::setSourceExprs(ArrayRef<Expr *> SrcExprs) { assert(SrcExprs.size() == varlist_size() && "Number of source expressions is " "not the same as the " "preallocated buffer"); - std::copy(SrcExprs.begin(), SrcExprs.end(), varlist_end()); + llvm::copy(SrcExprs, varlist_end()); } void OMPCopyinClause::setDestinationExprs(ArrayRef<Expr *> DstExprs) { assert(DstExprs.size() == varlist_size() && "Number of destination " "expressions is not the same as " "the preallocated buffer"); - std::copy(DstExprs.begin(), DstExprs.end(), getSourceExprs().end()); + llvm::copy(DstExprs, getSourceExprs().end()); } void OMPCopyinClause::setAssignmentOps(ArrayRef<Expr *> AssignmentOps) { assert(AssignmentOps.size() == varlist_size() && "Number of assignment expressions is not the same as the preallocated " "buffer"); - std::copy(AssignmentOps.begin(), AssignmentOps.end(), - getDestinationExprs().end()); + llvm::copy(AssignmentOps, getDestinationExprs().end()); } OMPCopyinClause *OMPCopyinClause::Create( @@ -700,22 +698,21 @@ void OMPCopyprivateClause::setSourceExprs(ArrayRef<Expr *> SrcExprs) { assert(SrcExprs.size() == varlist_size() && "Number of source expressions is " "not the same as the " "preallocated buffer"); - std::copy(SrcExprs.begin(), SrcExprs.end(), varlist_end()); + llvm::copy(SrcExprs, varlist_end()); } void OMPCopyprivateClause::setDestinationExprs(ArrayRef<Expr *> DstExprs) { assert(DstExprs.size() == varlist_size() && "Number of destination " "expressions is not the same as " "the preallocated buffer"); - std::copy(DstExprs.begin(), DstExprs.end(), getSourceExprs().end()); + llvm::copy(DstExprs, getSourceExprs().end()); } void OMPCopyprivateClause::setAssignmentOps(ArrayRef<Expr *> AssignmentOps) { assert(AssignmentOps.size() == varlist_size() && "Number of assignment expressions is not the same as the preallocated " "buffer"); - std::copy(AssignmentOps.begin(), AssignmentOps.end(), - getDestinationExprs().end()); + llvm::copy(AssignmentOps, getDestinationExprs().end()); } OMPCopyprivateClause *OMPCopyprivateClause::Create( @@ -741,28 +738,28 @@ OMPCopyprivateClause *OMPCopyprivateClause::CreateEmpty(const ASTContext &C, void OMPReductionClause::setPrivates(ArrayRef<Expr *> Privates) { assert(Privates.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(Privates.begin(), Privates.end(), varlist_end()); + llvm::copy(Privates, varlist_end()); } void OMPReductionClause::setLHSExprs(ArrayRef<Expr *> LHSExprs) { assert( LHSExprs.size() == varlist_size() && "Number of LHS expressions is not the same as the preallocated buffer"); - std::copy(LHSExprs.begin(), LHSExprs.end(), getPrivates().end()); + llvm::copy(LHSExprs, getPrivates().end()); } void OMPReductionClause::setRHSExprs(ArrayRef<Expr *> RHSExprs) { assert( RHSExprs.size() == varlist_size() && "Number of RHS expressions is not the same as the preallocated buffer"); - std::copy(RHSExprs.begin(), RHSExprs.end(), getLHSExprs().end()); + llvm::copy(RHSExprs, getLHSExprs().end()); } void OMPReductionClause::setReductionOps(ArrayRef<Expr *> ReductionOps) { assert(ReductionOps.size() == varlist_size() && "Number of reduction " "expressions is not the same " "as the preallocated buffer"); - std::copy(ReductionOps.begin(), ReductionOps.end(), getRHSExprs().end()); + llvm::copy(ReductionOps, getRHSExprs().end()); } void OMPReductionClause::setInscanCopyOps(ArrayRef<Expr *> Ops) { @@ -843,28 +840,28 @@ OMPReductionClause::CreateEmpty(const ASTContext &C, unsigned N, void OMPTaskReductionClause::setPrivates(ArrayRef<Expr *> Privates) { assert(Privates.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(Privates.begin(), Privates.end(), varlist_end()); + llvm::copy(Privates, varlist_end()); } void OMPTaskReductionClause::setLHSExprs(ArrayRef<Expr *> LHSExprs) { assert( LHSExprs.size() == varlist_size() && "Number of LHS expressions is not the same as the preallocated buffer"); - std::copy(LHSExprs.begin(), LHSExprs.end(), getPrivates().end()); + llvm::copy(LHSExprs, getPrivates().end()); } void OMPTaskReductionClause::setRHSExprs(ArrayRef<Expr *> RHSExprs) { assert( RHSExprs.size() == varlist_size() && "Number of RHS expressions is not the same as the preallocated buffer"); - std::copy(RHSExprs.begin(), RHSExprs.end(), getLHSExprs().end()); + llvm::copy(RHSExprs, getLHSExprs().end()); } void OMPTaskReductionClause::setReductionOps(ArrayRef<Expr *> ReductionOps) { assert(ReductionOps.size() == varlist_size() && "Number of task reduction " "expressions is not the same " "as the preallocated buffer"); - std::copy(ReductionOps.begin(), ReductionOps.end(), getRHSExprs().end()); + llvm::copy(ReductionOps, getRHSExprs().end()); } OMPTaskReductionClause *OMPTaskReductionClause::Create( @@ -896,28 +893,28 @@ OMPTaskReductionClause *OMPTaskReductionClause::CreateEmpty(const ASTContext &C, void OMPInReductionClause::setPrivates(ArrayRef<Expr *> Privates) { assert(Privates.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(Privates.begin(), Privates.end(), varlist_end()); + llvm::copy(Privates, varlist_end()); } void OMPInReductionClause::setLHSExprs(ArrayRef<Expr *> LHSExprs) { assert( LHSExprs.size() == varlist_size() && "Number of LHS expressions is not the same as the preallocated buffer"); - std::copy(LHSExprs.begin(), LHSExprs.end(), getPrivates().end()); + llvm::copy(LHSExprs, getPrivates().end()); } void OMPInReductionClause::setRHSExprs(ArrayRef<Expr *> RHSExprs) { assert( RHSExprs.size() == varlist_size() && "Number of RHS expressions is not the same as the preallocated buffer"); - std::copy(RHSExprs.begin(), RHSExprs.end(), getLHSExprs().end()); + llvm::copy(RHSExprs, getLHSExprs().end()); } void OMPInReductionClause::setReductionOps(ArrayRef<Expr *> ReductionOps) { assert(ReductionOps.size() == varlist_size() && "Number of in reduction " "expressions is not the same " "as the preallocated buffer"); - std::copy(ReductionOps.begin(), ReductionOps.end(), getRHSExprs().end()); + llvm::copy(ReductionOps, getRHSExprs().end()); } void OMPInReductionClause::setTaskgroupDescriptors( @@ -925,8 +922,7 @@ void OMPInReductionClause::setTaskgroupDescriptors( assert(TaskgroupDescriptors.size() == varlist_size() && "Number of in reduction descriptors is not the same as the " "preallocated buffer"); - std::copy(TaskgroupDescriptors.begin(), TaskgroupDescriptors.end(), - getReductionOps().end()); + llvm::copy(TaskgroupDescriptors, getReductionOps().end()); } OMPInReductionClause *OMPInReductionClause::Create( @@ -1322,13 +1318,13 @@ OMPFromClause::CreateEmpty(const ASTContext &C, void OMPUseDevicePtrClause::setPrivateCopies(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of private copies is not the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), varlist_end()); + llvm::copy(VL, varlist_end()); } void OMPUseDevicePtrClause::setInits(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of inits is not the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), getPrivateCopies().end()); + llvm::copy(VL, getPrivateCopies().end()); } OMPUseDevicePtrClause *OMPUseDevicePtrClause::Create( @@ -1543,7 +1539,7 @@ OMPNontemporalClause *OMPNontemporalClause::CreateEmpty(const ASTContext &C, void OMPNontemporalClause::setPrivateRefs(ArrayRef<Expr *> VL) { assert(VL.size() == varlist_size() && "Number of private references is not " "the same as the preallocated buffer"); - std::copy(VL.begin(), VL.end(), varlist_end()); + llvm::copy(VL, varlist_end()); } OMPInclusiveClause *OMPInclusiveClause::Create(const ASTContext &C, diff --git a/clang/lib/AST/Stmt.cpp b/clang/lib/AST/Stmt.cpp index 0b0289cd5ec04..4fc4a99ad2405 100644 --- a/clang/lib/AST/Stmt.cpp +++ b/clang/lib/AST/Stmt.cpp @@ -384,8 +384,7 @@ CompoundStmt::CompoundStmt(ArrayRef<Stmt *> Stmts, FPOptionsOverride FPFeatures, void CompoundStmt::setStmts(ArrayRef<Stmt *> Stmts) { assert(CompoundStmtBits.NumStmts == Stmts.size() && "NumStmts doesn't fit in bits of CompoundStmtBits.NumStmts!"); - - std::copy(Stmts.begin(), Stmts.end(), body_begin()); + llvm::copy(Stmts, body_begin()); } CompoundStmt *CompoundStmt::Create(const ASTContext &C, ArrayRef<Stmt *> Stmts, @@ -947,10 +946,10 @@ void MSAsmStmt::initialize(const ASTContext &C, StringRef asmstr, AsmStr = copyIntoContext(C, asmstr); Exprs = new (C) Stmt*[exprs.size()]; - std::copy(exprs.begin(), exprs.end(), Exprs); + llvm::copy(exprs, Exprs); AsmToks = new (C) Token[asmtoks.size()]; - std::copy(asmtoks.begin(), asmtoks.end(), AsmToks); + llvm::copy(asmtoks, AsmToks); Constraints = new (C) StringRef[exprs.size()]; std::transform(constraints.begin(), constraints.end(), Constraints, @@ -1385,7 +1384,7 @@ CapturedStmt::CapturedStmt(Stmt *S, CapturedRegionKind Kind, // Copy all Capture objects. Capture *Buffer = getStoredCaptures(); - std::copy(Captures.begin(), Captures.end(), Buffer); + llvm::copy(Captures, Buffer); } CapturedStmt::CapturedStmt(EmptyShell Empty, unsigned NumCaptures) diff --git a/clang/lib/AST/StmtCXX.cpp b/clang/lib/AST/StmtCXX.cpp index 0d6fc848f7396..6a69fe75136f3 100644 --- a/clang/lib/AST/StmtCXX.cpp +++ b/clang/lib/AST/StmtCXX.cpp @@ -42,7 +42,7 @@ CXXTryStmt::CXXTryStmt(SourceLocation tryLoc, CompoundStmt *tryBlock, : Stmt(CXXTryStmtClass), TryLoc(tryLoc), NumHandlers(handlers.size()) { Stmt **Stmts = getStmts(); Stmts[0] = tryBlock; - std::copy(handlers.begin(), handlers.end(), Stmts + 1); + llvm::copy(handlers, Stmts + 1); } CXXForRangeStmt::CXXForRangeStmt(Stmt *Init, DeclStmt *Range, @@ -123,6 +123,5 @@ CoroutineBodyStmt::CoroutineBodyStmt(CoroutineBodyStmt::CtorArgs const &Args) SubStmts[CoroutineBodyStmt::ReturnStmt] = Args.ReturnStmt; SubStmts[CoroutineBodyStmt::ReturnStmtOnAllocFailure] = Args.ReturnStmtOnAllocFailure; - std::copy(Args.ParamMoves.begin(), Args.ParamMoves.end(), - const_cast<Stmt **>(getParamMoves().data())); + llvm::copy(Args.ParamMoves, const_cast<Stmt **>(getParamMoves().data())); } diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index 543f05e4ee7cc..2c1158e8f9b9a 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -3982,9 +3982,8 @@ CountAttributedType::CountAttributedType( CountAttributedTypeBits.CountInBytes = CountInBytes; CountAttributedTypeBits.OrNull = OrNull; auto *DeclSlot = getTrailingObjects(); + llvm::copy(CoupledDecls, DeclSlot); Decls = llvm::ArrayRef(DeclSlot, CoupledDecls.size()); - for (unsigned i = 0; i != CoupledDecls.size(); ++i) - DeclSlot[i] = CoupledDecls[i]; } StringRef CountAttributedType::getAttributeName(bool WithMacroPrefix) const { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits