forked from GPUOpen-Drivers/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Manually merged master:4ece6f051bd into amd-gfx:26c8789ad97
Local branch amd-gfx 26c8789 Merge "[AMDGPU] Reorder target-specific passes" into amd-gfx Remote branch master 4ece6f0 [Sema][SVE] Reject "delete" with sizeless types Change-Id: I7db2914f682e258099beddbc57dffec877f1975d
- Loading branch information
Showing
459 changed files
with
86,690 additions
and
8,397 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
//===--- ComputeDependence.h -------------------------------------- C++ -*-===// | ||
// | ||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
// See https://llvm.org/LICENSE.txt for license information. | ||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
// | ||
//===----------------------------------------------------------------------===// | ||
// | ||
// Calculate various template dependency flags for the AST. | ||
// | ||
//===----------------------------------------------------------------------===// | ||
|
||
#ifndef LLVM_CLANG_AST_COMPUTE_DEPENDENCE_H | ||
#define LLVM_CLANG_AST_COMPUTE_DEPENDENCE_H | ||
|
||
#include "clang/AST/DependenceFlags.h" | ||
#include "clang/Basic/ExceptionSpecificationType.h" | ||
#include "llvm/ADT/ArrayRef.h" | ||
|
||
namespace clang { | ||
|
||
class ASTContext; | ||
|
||
class Expr; | ||
class FullExpr; | ||
class OpaqueValueExpr; | ||
class ParenExpr; | ||
class UnaryOperator; | ||
class UnaryExprOrTypeTraitExpr; | ||
class ArraySubscriptExpr; | ||
class CompoundLiteralExpr; | ||
class CastExpr; | ||
class BinaryOperator; | ||
class ConditionalOperator; | ||
class BinaryConditionalOperator; | ||
class StmtExpr; | ||
class ConvertVectorExpr; | ||
class VAArgExpr; | ||
class ChooseExpr; | ||
class NoInitExpr; | ||
class ArrayInitLoopExpr; | ||
class ImplicitValueInitExpr; | ||
class InitListExpr; | ||
class ExtVectorElementExpr; | ||
class BlockExpr; | ||
class AsTypeExpr; | ||
class DeclRefExpr; | ||
class CXXRewrittenBinaryOperator; | ||
class CXXStdInitializerListExpr; | ||
class CXXTypeidExpr; | ||
class MSPropertyRefExpr; | ||
class MSPropertySubscriptExpr; | ||
class CXXUuidofExpr; | ||
class CXXThisExpr; | ||
class CXXThrowExpr; | ||
class CXXBindTemporaryExpr; | ||
class CXXScalarValueInitExpr; | ||
class CXXDeleteExpr; | ||
class ArrayTypeTraitExpr; | ||
class ExpressionTraitExpr; | ||
class CXXNoexceptExpr; | ||
class SubstNonTypeTemplateParmExpr; | ||
class CoroutineSuspendExpr; | ||
class DependentCoawaitExpr; | ||
class CXXNewExpr; | ||
class CXXPseudoDestructorExpr; | ||
class OverloadExpr; | ||
class DependentScopeDeclRefExpr; | ||
class CXXConstructExpr; | ||
class LambdaExpr; | ||
class CXXUnresolvedConstructExpr; | ||
class CXXDependentScopeMemberExpr; | ||
class MaterializeTemporaryExpr; | ||
class TypeTraitExpr; | ||
class ConceptSpecializationExpr; | ||
class PredefinedExpr; | ||
class CallExpr; | ||
class OffsetOfExpr; | ||
class MemberExpr; | ||
class ShuffleVectorExpr; | ||
class GenericSelectionExpr; | ||
class DesignatedInitExpr; | ||
class ParenListExpr; | ||
class PseudoObjectExpr; | ||
class AtomicExpr; | ||
class OMPArraySectionExpr; | ||
class ObjCArrayLiteral; | ||
class ObjCDictionaryLiteral; | ||
class ObjCBoxedExpr; | ||
class ObjCEncodeExpr; | ||
class ObjCIvarRefExpr; | ||
class ObjCPropertyRefExpr; | ||
class ObjCSubscriptRefExpr; | ||
class ObjCIsaExpr; | ||
class ObjCIndirectCopyRestoreExpr; | ||
class ObjCMessageExpr; | ||
|
||
// The following functions are called from constructors of `Expr`, so they | ||
// should not access anything beyond basic | ||
ExprDependence computeDependence(FullExpr *E); | ||
ExprDependence computeDependence(OpaqueValueExpr *E); | ||
ExprDependence computeDependence(ParenExpr *E); | ||
ExprDependence computeDependence(UnaryOperator *E); | ||
ExprDependence computeDependence(UnaryExprOrTypeTraitExpr *E); | ||
ExprDependence computeDependence(ArraySubscriptExpr *E); | ||
ExprDependence computeDependence(CompoundLiteralExpr *E); | ||
ExprDependence computeDependence(CastExpr *E); | ||
ExprDependence computeDependence(BinaryOperator *E); | ||
ExprDependence computeDependence(ConditionalOperator *E); | ||
ExprDependence computeDependence(BinaryConditionalOperator *E); | ||
ExprDependence computeDependence(StmtExpr *E, unsigned TemplateDepth); | ||
ExprDependence computeDependence(ConvertVectorExpr *E); | ||
ExprDependence computeDependence(VAArgExpr *E); | ||
ExprDependence computeDependence(ChooseExpr *E); | ||
ExprDependence computeDependence(NoInitExpr *E); | ||
ExprDependence computeDependence(ArrayInitLoopExpr *E); | ||
ExprDependence computeDependence(ImplicitValueInitExpr *E); | ||
ExprDependence computeDependence(InitListExpr *E); | ||
ExprDependence computeDependence(ExtVectorElementExpr *E); | ||
ExprDependence computeDependence(BlockExpr *E); | ||
ExprDependence computeDependence(AsTypeExpr *E); | ||
ExprDependence computeDependence(DeclRefExpr *E, const ASTContext &Ctx); | ||
ExprDependence computeDependence(CXXRewrittenBinaryOperator *E); | ||
ExprDependence computeDependence(CXXStdInitializerListExpr *E); | ||
ExprDependence computeDependence(CXXTypeidExpr *E); | ||
ExprDependence computeDependence(MSPropertyRefExpr *E); | ||
ExprDependence computeDependence(MSPropertySubscriptExpr *E); | ||
ExprDependence computeDependence(CXXUuidofExpr *E); | ||
ExprDependence computeDependence(CXXThisExpr *E); | ||
ExprDependence computeDependence(CXXThrowExpr *E); | ||
ExprDependence computeDependence(CXXBindTemporaryExpr *E); | ||
ExprDependence computeDependence(CXXScalarValueInitExpr *E); | ||
ExprDependence computeDependence(CXXDeleteExpr *E); | ||
ExprDependence computeDependence(ArrayTypeTraitExpr *E); | ||
ExprDependence computeDependence(ExpressionTraitExpr *E); | ||
ExprDependence computeDependence(CXXNoexceptExpr *E, CanThrowResult CT); | ||
ExprDependence computeDependence(SubstNonTypeTemplateParmExpr *E); | ||
ExprDependence computeDependence(CoroutineSuspendExpr *E); | ||
ExprDependence computeDependence(DependentCoawaitExpr *E); | ||
ExprDependence computeDependence(CXXNewExpr *E); | ||
ExprDependence computeDependence(CXXPseudoDestructorExpr *E); | ||
ExprDependence computeDependence(OverloadExpr *E, bool KnownDependent, | ||
bool KnownInstantiationDependent, | ||
bool KnownContainsUnexpandedParameterPack); | ||
ExprDependence computeDependence(DependentScopeDeclRefExpr *E); | ||
ExprDependence computeDependence(CXXConstructExpr *E); | ||
ExprDependence computeDependence(LambdaExpr *E, | ||
bool ContainsUnexpandedParameterPack); | ||
ExprDependence computeDependence(CXXUnresolvedConstructExpr *E); | ||
ExprDependence computeDependence(CXXDependentScopeMemberExpr *E); | ||
ExprDependence computeDependence(MaterializeTemporaryExpr *E); | ||
ExprDependence computeDependence(TypeTraitExpr *E); | ||
ExprDependence computeDependence(ConceptSpecializationExpr *E, | ||
bool ValueDependent); | ||
|
||
ExprDependence computeDependence(PredefinedExpr *E); | ||
ExprDependence computeDependence(CallExpr *E, llvm::ArrayRef<Expr *> PreArgs); | ||
ExprDependence computeDependence(OffsetOfExpr *E); | ||
ExprDependence computeDependence(MemberExpr *E); | ||
ExprDependence computeDependence(ShuffleVectorExpr *E); | ||
ExprDependence computeDependence(GenericSelectionExpr *E, | ||
bool ContainsUnexpandedPack); | ||
ExprDependence computeDependence(DesignatedInitExpr *E); | ||
ExprDependence computeDependence(ParenListExpr *E); | ||
ExprDependence computeDependence(PseudoObjectExpr *E); | ||
ExprDependence computeDependence(AtomicExpr *E); | ||
|
||
ExprDependence computeDependence(OMPArraySectionExpr *E); | ||
|
||
ExprDependence computeDependence(ObjCArrayLiteral *E); | ||
ExprDependence computeDependence(ObjCDictionaryLiteral *E); | ||
ExprDependence computeDependence(ObjCBoxedExpr *E); | ||
ExprDependence computeDependence(ObjCEncodeExpr *E); | ||
ExprDependence computeDependence(ObjCIvarRefExpr *E); | ||
ExprDependence computeDependence(ObjCPropertyRefExpr *E); | ||
ExprDependence computeDependence(ObjCSubscriptRefExpr *E); | ||
ExprDependence computeDependence(ObjCIsaExpr *E); | ||
ExprDependence computeDependence(ObjCIndirectCopyRestoreExpr *E); | ||
ExprDependence computeDependence(ObjCMessageExpr *E); | ||
|
||
} // namespace clang | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.