diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h index c44e8388337c1..67fbdfeb0702f 100644 --- a/clang/include/clang/AST/OpenACCClause.h +++ b/clang/include/clang/AST/OpenACCClause.h @@ -293,7 +293,7 @@ class OpenACCDeviceTypeClause final "Only a single asterisk version is permitted, and must be the " "only one"); - llvm::uninitialized_copy(Archs, getTrailingObjects()); + llvm::uninitialized_copy(Archs, getTrailingObjects()); } public: @@ -307,8 +307,7 @@ class OpenACCDeviceTypeClause final } ArrayRef getArchitectures() const { - return ArrayRef( - getTrailingObjects(), NumArchs); + return getTrailingObjects(NumArchs); } static OpenACCDeviceTypeClause * @@ -421,9 +420,7 @@ class OpenACCSelfClause final // Intentionally internal, meant to be an implementation detail of everything // else. All non-internal uses should go through getConditionExpr/getVarList. - llvm::ArrayRef getExprs() const { - return {getTrailingObjects(), NumExprs}; - } + ArrayRef getExprs() const { return getTrailingObjects(NumExprs); } public: static bool classof(const OpenACCClause *C) { @@ -472,8 +469,8 @@ class OpenACCSelfClause final child_range children() { return child_range( - reinterpret_cast(getTrailingObjects()), - reinterpret_cast(getTrailingObjects() + NumExprs)); + reinterpret_cast(getTrailingObjects()), + reinterpret_cast(getTrailingObjects() + NumExprs)); } const_child_range children() const { @@ -546,10 +543,10 @@ class OpenACCWaitClause final QueuesLoc(QueuesLoc) { // The first element of the trailing storage is always the devnum expr, // whether it is used or not. - auto *Exprs = getTrailingObjects(); + auto *Exprs = getTrailingObjects(); llvm::uninitialized_copy(ArrayRef(DevNumExpr), Exprs); llvm::uninitialized_copy(QueueIdExprs, Exprs + 1); - setExprs(getTrailingObjects(QueueIdExprs.size() + 1)); + setExprs(getTrailingObjects(QueueIdExprs.size() + 1)); } public: @@ -586,7 +583,7 @@ class OpenACCNumGangsClause final ArrayRef IntExprs, SourceLocation EndLoc) : OpenACCClauseWithExprs(OpenACCClauseKind::NumGangs, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(IntExprs.size()), IntExprs); + setExprs(getTrailingObjects(IntExprs.size()), IntExprs); } public: @@ -614,7 +611,7 @@ class OpenACCTileClause final ArrayRef SizeExprs, SourceLocation EndLoc) : OpenACCClauseWithExprs(OpenACCClauseKind::Tile, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(SizeExprs.size()), SizeExprs); + setExprs(getTrailingObjects(SizeExprs.size()), SizeExprs); } public: @@ -851,7 +848,7 @@ class OpenACCPrivateClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Private, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -872,7 +869,7 @@ class OpenACCFirstPrivateClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::FirstPrivate, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -893,7 +890,7 @@ class OpenACCDevicePtrClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::DevicePtr, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -914,7 +911,7 @@ class OpenACCAttachClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Attach, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -935,7 +932,7 @@ class OpenACCDetachClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Detach, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -956,7 +953,7 @@ class OpenACCDeleteClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Delete, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -977,7 +974,7 @@ class OpenACCUseDeviceClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::UseDevice, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -998,7 +995,7 @@ class OpenACCNoCreateClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::NoCreate, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1019,7 +1016,7 @@ class OpenACCPresentClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Present, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1039,7 +1036,7 @@ class OpenACCHostClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Host, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1061,7 +1058,7 @@ class OpenACCDeviceClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Device, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1088,7 +1085,7 @@ class OpenACCCopyClause final Spelling == OpenACCClauseKind::PCopy || Spelling == OpenACCClauseKind::PresentOrCopy) && "Invalid clause kind for copy-clause"); - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1121,7 +1118,7 @@ class OpenACCCopyInClause final Spelling == OpenACCClauseKind::PCopyIn || Spelling == OpenACCClauseKind::PresentOrCopyIn) && "Invalid clause kind for copyin-clause"); - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1153,7 +1150,7 @@ class OpenACCCopyOutClause final Spelling == OpenACCClauseKind::PCopyOut || Spelling == OpenACCClauseKind::PresentOrCopyOut) && "Invalid clause kind for copyout-clause"); - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1185,7 +1182,7 @@ class OpenACCCreateClause final Spelling == OpenACCClauseKind::PCreate || Spelling == OpenACCClauseKind::PresentOrCreate) && "Invalid clause kind for create-clause"); - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1214,7 +1211,7 @@ class OpenACCReductionClause final : OpenACCClauseWithVarList(OpenACCClauseKind::Reduction, BeginLoc, LParenLoc, EndLoc), Op(Operator) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1239,7 +1236,7 @@ class OpenACCLinkClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::Link, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: @@ -1262,7 +1259,7 @@ class OpenACCDeviceResidentClause final ArrayRef VarList, SourceLocation EndLoc) : OpenACCClauseWithVarList(OpenACCClauseKind::DeviceResident, BeginLoc, LParenLoc, EndLoc) { - setExprs(getTrailingObjects(VarList.size()), VarList); + setExprs(getTrailingObjects(VarList.size()), VarList); } public: diff --git a/clang/include/clang/AST/OpenMPClause.h b/clang/include/clang/AST/OpenMPClause.h index cdecc812f7fb9..6fd16bc0f03be 100644 --- a/clang/include/clang/AST/OpenMPClause.h +++ b/clang/include/clang/AST/OpenMPClause.h @@ -295,8 +295,7 @@ template class OMPVarListClause : public OMPClause { /// Fetches list of variables associated with this clause. MutableArrayRef getVarRefs() { - return MutableArrayRef( - static_cast(this)->template getTrailingObjects(), NumVars); + return static_cast(this)->template getTrailingObjects(NumVars); } /// Sets the list of variables for this clause. @@ -336,8 +335,7 @@ template class OMPVarListClause : public OMPClause { /// Fetches list of all variables in the clause. ArrayRef getVarRefs() const { - return llvm::ArrayRef( - static_cast(this)->template getTrailingObjects(), + return static_cast(this)->template getTrailingObjects( NumVars); } }; @@ -382,10 +380,8 @@ template class OMPDirectiveListClause : public OMPClause { } MutableArrayRef getDirectiveKinds() { - return MutableArrayRef( - static_cast(this) - ->template getTrailingObjects(), - NumKinds); + return static_cast(this) + ->template getTrailingObjects(NumKinds); } void setDirectiveKinds(ArrayRef DK) { @@ -984,14 +980,12 @@ class OMPSizesClause final /// Returns the tile size expressions. MutableArrayRef getSizesRefs() { - return MutableArrayRef(static_cast(this) - ->template getTrailingObjects(), - NumSizes); + return static_cast(this) + ->template getTrailingObjects(NumSizes); } ArrayRef getSizesRefs() const { - return ArrayRef(static_cast(this) - ->template getTrailingObjects(), - NumSizes); + return static_cast(this) + ->template getTrailingObjects(NumSizes); } /// Sets the tile size expressions. @@ -1090,14 +1084,12 @@ class OMPPermutationClause final /// Returns the permutation index expressions. ///@{ MutableArrayRef getArgsRefs() { - return MutableArrayRef(static_cast(this) - ->template getTrailingObjects(), - NumLoops); + return static_cast(this) + ->template getTrailingObjects(NumLoops); } ArrayRef getArgsRefs() const { - return ArrayRef(static_cast(this) - ->template getTrailingObjects(), - NumLoops); + return static_cast(this) + ->template getTrailingObjects(NumLoops); } ///@} @@ -3841,7 +3833,7 @@ class OMPReductionClause final return MutableArrayRef(getLHSExprs().end(), varlist_size()); } ArrayRef getRHSExprs() const { - return llvm::ArrayRef(getLHSExprs().end(), varlist_size()); + return ArrayRef(getLHSExprs().end(), varlist_size()); } /// Set list of helper reduction expressions, required for proper @@ -5925,18 +5917,15 @@ class OMPMappableExprListClause : public OMPVarListClause, /// Get the unique declarations that are in the trailing objects of the /// class. MutableArrayRef getUniqueDeclsRef() { - return MutableArrayRef( - static_cast(this)->template getTrailingObjects(), + return static_cast(this)->template getTrailingObjects( NumUniqueDeclarations); } /// Get the unique declarations that are in the trailing objects of the /// class. ArrayRef getUniqueDeclsRef() const { - return ArrayRef( - static_cast(this) - ->template getTrailingObjects(), - NumUniqueDeclarations); + return static_cast(this) + ->template getTrailingObjects(NumUniqueDeclarations); } /// Set the unique declarations that are in the trailing objects of the @@ -5950,16 +5939,14 @@ class OMPMappableExprListClause : public OMPVarListClause, /// Get the number of lists per declaration that are in the trailing /// objects of the class. MutableArrayRef getDeclNumListsRef() { - return MutableArrayRef( - static_cast(this)->template getTrailingObjects(), + return static_cast(this)->template getTrailingObjects( NumUniqueDeclarations); } /// Get the number of lists per declaration that are in the trailing /// objects of the class. ArrayRef getDeclNumListsRef() const { - return ArrayRef( - static_cast(this)->template getTrailingObjects(), + return static_cast(this)->template getTrailingObjects( NumUniqueDeclarations); } @@ -5999,18 +5986,14 @@ class OMPMappableExprListClause : public OMPVarListClause, /// Get the components that are in the trailing objects of the class. MutableArrayRef getComponentsRef() { - return MutableArrayRef( - static_cast(this) - ->template getTrailingObjects(), - NumComponents); + return static_cast(this) + ->template getTrailingObjects(NumComponents); } /// Get the components that are in the trailing objects of the class. ArrayRef getComponentsRef() const { - return ArrayRef( - static_cast(this) - ->template getTrailingObjects(), - NumComponents); + return static_cast(this) + ->template getTrailingObjects(NumComponents); } /// Set the components that are in the trailing objects of the class. diff --git a/clang/lib/AST/OpenACCClause.cpp b/clang/lib/AST/OpenACCClause.cpp index 0c141fc908820..7283ff837b04e 100644 --- a/clang/lib/AST/OpenACCClause.cpp +++ b/clang/lib/AST/OpenACCClause.cpp @@ -114,7 +114,7 @@ OpenACCSelfClause::OpenACCSelfClause(SourceLocation BeginLoc, : OpenACCClauseWithParams(OpenACCClauseKind::Self, BeginLoc, LParenLoc, EndLoc), HasConditionExpr(std::nullopt), NumExprs(VarList.size()) { - llvm::uninitialized_copy(VarList, getTrailingObjects()); + llvm::uninitialized_copy(VarList, getTrailingObjects()); } OpenACCSelfClause::OpenACCSelfClause(SourceLocation BeginLoc, @@ -126,8 +126,7 @@ OpenACCSelfClause::OpenACCSelfClause(SourceLocation BeginLoc, assert((!ConditionExpr || ConditionExpr->isInstantiationDependent() || ConditionExpr->getType()->isScalarType()) && "Condition expression type not scalar/dependent"); - llvm::uninitialized_copy(ArrayRef(ConditionExpr), - getTrailingObjects()); + llvm::uninitialized_copy(ArrayRef(ConditionExpr), getTrailingObjects()); } OpenACCClause::child_range OpenACCClause::children() {