clang 20.0.0git
Public Types | Public Member Functions | List of all members
clang::TrivialFunctionAnalysisVisitor Class Reference
Inheritance diagram for clang::TrivialFunctionAnalysisVisitor:
Inheritance graph
[legend]

Public Types

using CacheTy = TrivialFunctionAnalysis::CacheTy
 

Public Member Functions

 TrivialFunctionAnalysisVisitor (CacheTy &Cache)
 
bool IsFunctionTrivial (const Decl *D)
 
bool VisitStmt (const Stmt *S)
 
bool VisitCompoundStmt (const CompoundStmt *CS)
 
bool VisitReturnStmt (const ReturnStmt *RS)
 
bool VisitDeclStmt (const DeclStmt *DS)
 
bool VisitDoStmt (const DoStmt *DS)
 
bool VisitIfStmt (const IfStmt *IS)
 
bool VisitForStmt (const ForStmt *FS)
 
bool VisitCXXForRangeStmt (const CXXForRangeStmt *FS)
 
bool VisitWhileStmt (const WhileStmt *WS)
 
bool VisitSwitchStmt (const SwitchStmt *SS)
 
bool VisitCaseStmt (const CaseStmt *CS)
 
bool VisitDefaultStmt (const DefaultStmt *DS)
 
bool VisitBreakStmt (const BreakStmt *)
 
bool VisitContinueStmt (const ContinueStmt *)
 
bool VisitGotoStmt (const GotoStmt *)
 
bool VisitLabelStmt (const LabelStmt *)
 
bool VisitUnaryOperator (const UnaryOperator *UO)
 
bool VisitBinaryOperator (const BinaryOperator *BO)
 
bool VisitCompoundAssignOperator (const CompoundAssignOperator *CAO)
 
bool VisitArraySubscriptExpr (const ArraySubscriptExpr *ASE)
 
bool VisitConditionalOperator (const ConditionalOperator *CO)
 
bool VisitAtomicExpr (const AtomicExpr *E)
 
bool VisitStaticAssertDecl (const StaticAssertDecl *SAD)
 
bool VisitCallExpr (const CallExpr *CE)
 
bool VisitSubstNonTypeTemplateParmExpr (const SubstNonTypeTemplateParmExpr *E)
 
bool VisitUnaryExprOrTypeTraitExpr (const UnaryExprOrTypeTraitExpr *E)
 
bool VisitPredefinedExpr (const PredefinedExpr *E)
 
bool VisitCXXMemberCallExpr (const CXXMemberCallExpr *MCE)
 
bool VisitCXXOperatorCallExpr (const CXXOperatorCallExpr *OCE)
 
bool VisitCXXDefaultArgExpr (const CXXDefaultArgExpr *E)
 
bool checkArguments (const CallExpr *CE)
 
bool VisitCXXConstructExpr (const CXXConstructExpr *CE)
 
bool VisitCXXInheritedCtorInitExpr (const CXXInheritedCtorInitExpr *E)
 
bool VisitCXXNewExpr (const CXXNewExpr *NE)
 
bool VisitImplicitCastExpr (const ImplicitCastExpr *ICE)
 
bool VisitExplicitCastExpr (const ExplicitCastExpr *ECE)
 
bool VisitMaterializeTemporaryExpr (const MaterializeTemporaryExpr *VMT)
 
bool VisitCXXBindTemporaryExpr (const CXXBindTemporaryExpr *BTE)
 
bool VisitExprWithCleanups (const ExprWithCleanups *EWC)
 
bool VisitParenExpr (const ParenExpr *PE)
 
bool VisitInitListExpr (const InitListExpr *ILE)
 
bool VisitMemberExpr (const MemberExpr *ME)
 
bool VisitCXXThisExpr (const CXXThisExpr *CTE)
 
bool VisitCXXNullPtrLiteralExpr (const CXXNullPtrLiteralExpr *E)
 
bool VisitDeclRefExpr (const DeclRefExpr *DRE)
 
bool VisitIntegerLiteral (const IntegerLiteral *E)
 
bool VisitFloatingLiteral (const FloatingLiteral *E)
 
bool VisitFixedPointLiteral (const FixedPointLiteral *E)
 
bool VisitCharacterLiteral (const CharacterLiteral *E)
 
bool VisitStringLiteral (const StringLiteral *E)
 
bool VisitCXXBoolLiteralExpr (const CXXBoolLiteralExpr *E)
 
bool VisitConstantExpr (const ConstantExpr *CE)
 
- Public Member Functions inherited from clang::StmtVisitorBase< Ptr, ImplClass, RetTy, ParamTys >
RetTy Visit (PTR(Stmt) S, ParamTys... P)
 
 BINOP_FALLBACK (PtrMemD) BINOP_FALLBACK(PtrMemI) BINOP_FALLBACK(Mul) BINOP_FALLBACK(Div) BINOP_FALLBACK(Rem) BINOP_FALLBACK(Add) BINOP_FALLBACK(Sub) BINOP_FALLBACK(Shl) BINOP_FALLBACK(LT) BINOP_FALLBACK(GT) BINOP_FALLBACK(LE) BINOP_FALLBACK(GE) BINOP_FALLBACK(EQ) BINOP_FALLBACK(NE) BINOP_FALLBACK(And) BINOP_FALLBACK(Xor) BINOP_FALLBACK(Or) BINOP_FALLBACK(LAnd) BINOP_FALLBACK(LOr) CAO_FALLBACK(MulAssign) CAO_FALLBACK(DivAssign) CAO_FALLBACK(RemAssign) CAO_FALLBACK(AddAssign) CAO_FALLBACK(SubAssign) CAO_FALLBACK(ShlAssign) CAO_FALLBACK(ShrAssign) CAO_FALLBACK(AndAssign) CAO_FALLBACK(OrAssign) UNARYOP_FALLBACK(PostInc) UNARYOP_FALLBACK(PostDec) UNARYOP_FALLBACK(PreInc) UNARYOP_FALLBACK(PreDec) UNARYOP_FALLBACK(AddrOf) UNARYOP_FALLBACK(Deref) UNARYOP_FALLBACK(Plus) UNARYOP_FALLBACK(Minus) UNARYOP_FALLBACK(Not) UNARYOP_FALLBACK(LNot) UNARYOP_FALLBACK(Real) UNARYOP_FALLBACK(Imag) UNARYOP_FALLBACK(Extension) UNARYOP_FALLBACK(Coawait) RetTy VisitStmt(PTR(Stmt) Node
 

Additional Inherited Members

- Public Attributes inherited from clang::StmtVisitorBase< Ptr, ImplClass, RetTy, ParamTys >
ParamTys P { return RetTy()
 

Detailed Description

Definition at line 330 of file PtrTypesSemantics.cpp.

Member Typedef Documentation

◆ CacheTy

using clang::TrivialFunctionAnalysisVisitor::CacheTy = TrivialFunctionAnalysis::CacheTy

Definition at line 370 of file PtrTypesSemantics.cpp.

Constructor & Destructor Documentation

◆ TrivialFunctionAnalysisVisitor()

clang::TrivialFunctionAnalysisVisitor::TrivialFunctionAnalysisVisitor ( CacheTy Cache)
inline

Definition at line 372 of file PtrTypesSemantics.cpp.

Member Function Documentation

◆ checkArguments()

bool clang::TrivialFunctionAnalysisVisitor::checkArguments ( const CallExpr CE)
inline

◆ IsFunctionTrivial()

bool clang::TrivialFunctionAnalysisVisitor::IsFunctionTrivial ( const Decl D)
inline

◆ VisitArraySubscriptExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitArraySubscriptExpr ( const ArraySubscriptExpr ASE)
inline

Definition at line 448 of file PtrTypesSemantics.cpp.

◆ VisitAtomicExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitAtomicExpr ( const AtomicExpr E)
inline

Definition at line 457 of file PtrTypesSemantics.cpp.

References E.

◆ VisitBinaryOperator()

bool clang::TrivialFunctionAnalysisVisitor::VisitBinaryOperator ( const BinaryOperator BO)
inline

◆ VisitBreakStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitBreakStmt ( const BreakStmt )
inline

Definition at line 427 of file PtrTypesSemantics.cpp.

◆ VisitCallExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCallExpr ( const CallExpr CE)
inline

◆ VisitCaseStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitCaseStmt ( const CaseStmt CS)
inline

Definition at line 423 of file PtrTypesSemantics.cpp.

◆ VisitCharacterLiteral()

bool clang::TrivialFunctionAnalysisVisitor::VisitCharacterLiteral ( const CharacterLiteral E)
inline

Definition at line 630 of file PtrTypesSemantics.cpp.

◆ VisitCompoundAssignOperator()

bool clang::TrivialFunctionAnalysisVisitor::VisitCompoundAssignOperator ( const CompoundAssignOperator CAO)
inline

Definition at line 442 of file PtrTypesSemantics.cpp.

◆ VisitCompoundStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitCompoundStmt ( const CompoundStmt CS)
inline

Definition at line 395 of file PtrTypesSemantics.cpp.

◆ VisitConditionalOperator()

bool clang::TrivialFunctionAnalysisVisitor::VisitConditionalOperator ( const ConditionalOperator CO)
inline

Definition at line 452 of file PtrTypesSemantics.cpp.

◆ VisitConstantExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitConstantExpr ( const ConstantExpr CE)
inline

Definition at line 634 of file PtrTypesSemantics.cpp.

◆ VisitContinueStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitContinueStmt ( const ContinueStmt )
inline

Definition at line 428 of file PtrTypesSemantics.cpp.

◆ VisitCXXBindTemporaryExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXBindTemporaryExpr ( const CXXBindTemporaryExpr BTE)
inline

◆ VisitCXXBoolLiteralExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXBoolLiteralExpr ( const CXXBoolLiteralExpr E)
inline

Definition at line 632 of file PtrTypesSemantics.cpp.

◆ VisitCXXConstructExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXConstructExpr ( const CXXConstructExpr CE)
inline

◆ VisitCXXDefaultArgExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXDefaultArgExpr ( const CXXDefaultArgExpr E)
inline

◆ VisitCXXForRangeStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXForRangeStmt ( const CXXForRangeStmt FS)
inline

Definition at line 416 of file PtrTypesSemantics.cpp.

◆ VisitCXXInheritedCtorInitExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXInheritedCtorInitExpr ( const CXXInheritedCtorInitExpr E)
inline

Definition at line 566 of file PtrTypesSemantics.cpp.

References E, and IsFunctionTrivial().

◆ VisitCXXMemberCallExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXMemberCallExpr ( const CXXMemberCallExpr MCE)
inline

◆ VisitCXXNewExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXNewExpr ( const CXXNewExpr NE)
inline

Definition at line 570 of file PtrTypesSemantics.cpp.

◆ VisitCXXNullPtrLiteralExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXNullPtrLiteralExpr ( const CXXNullPtrLiteralExpr E)
inline

Definition at line 616 of file PtrTypesSemantics.cpp.

◆ VisitCXXOperatorCallExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXOperatorCallExpr ( const CXXOperatorCallExpr OCE)
inline

◆ VisitCXXThisExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitCXXThisExpr ( const CXXThisExpr CTE)
inline

Definition at line 611 of file PtrTypesSemantics.cpp.

◆ VisitDeclRefExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitDeclRefExpr ( const DeclRefExpr DRE)
inline

Definition at line 621 of file PtrTypesSemantics.cpp.

◆ VisitDeclStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitDeclStmt ( const DeclStmt DS)
inline

Definition at line 408 of file PtrTypesSemantics.cpp.

◆ VisitDefaultStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitDefaultStmt ( const DefaultStmt DS)
inline

Definition at line 424 of file PtrTypesSemantics.cpp.

◆ VisitDoStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitDoStmt ( const DoStmt DS)
inline

Definition at line 409 of file PtrTypesSemantics.cpp.

◆ VisitExplicitCastExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitExplicitCastExpr ( const ExplicitCastExpr ECE)
inline

◆ VisitExprWithCleanups()

bool clang::TrivialFunctionAnalysisVisitor::VisitExprWithCleanups ( const ExprWithCleanups EWC)
inline

◆ VisitFixedPointLiteral()

bool clang::TrivialFunctionAnalysisVisitor::VisitFixedPointLiteral ( const FixedPointLiteral E)
inline

Definition at line 629 of file PtrTypesSemantics.cpp.

◆ VisitFloatingLiteral()

bool clang::TrivialFunctionAnalysisVisitor::VisitFloatingLiteral ( const FloatingLiteral E)
inline

Definition at line 628 of file PtrTypesSemantics.cpp.

◆ VisitForStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitForStmt ( const ForStmt FS)
inline

Definition at line 413 of file PtrTypesSemantics.cpp.

◆ VisitGotoStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitGotoStmt ( const GotoStmt )
inline

Definition at line 429 of file PtrTypesSemantics.cpp.

◆ VisitIfStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitIfStmt ( const IfStmt IS)
inline

Definition at line 410 of file PtrTypesSemantics.cpp.

◆ VisitImplicitCastExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitImplicitCastExpr ( const ImplicitCastExpr ICE)
inline

◆ VisitInitListExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitInitListExpr ( const InitListExpr ILE)
inline

◆ VisitIntegerLiteral()

bool clang::TrivialFunctionAnalysisVisitor::VisitIntegerLiteral ( const IntegerLiteral E)
inline

Definition at line 627 of file PtrTypesSemantics.cpp.

◆ VisitLabelStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitLabelStmt ( const LabelStmt )
inline

Definition at line 430 of file PtrTypesSemantics.cpp.

◆ VisitMaterializeTemporaryExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitMaterializeTemporaryExpr ( const MaterializeTemporaryExpr VMT)
inline

◆ VisitMemberExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitMemberExpr ( const MemberExpr ME)
inline

◆ VisitParenExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitParenExpr ( const ParenExpr PE)
inline

◆ VisitPredefinedExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitPredefinedExpr ( const PredefinedExpr E)
inline

Definition at line 501 of file PtrTypesSemantics.cpp.

◆ VisitReturnStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitReturnStmt ( const ReturnStmt RS)
inline

◆ VisitStaticAssertDecl()

bool clang::TrivialFunctionAnalysisVisitor::VisitStaticAssertDecl ( const StaticAssertDecl SAD)
inline

Definition at line 459 of file PtrTypesSemantics.cpp.

◆ VisitStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitStmt ( const Stmt S)
inline

Definition at line 389 of file PtrTypesSemantics.cpp.

◆ VisitStringLiteral()

bool clang::TrivialFunctionAnalysisVisitor::VisitStringLiteral ( const StringLiteral E)
inline

Definition at line 631 of file PtrTypesSemantics.cpp.

◆ VisitSubstNonTypeTemplateParmExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitSubstNonTypeTemplateParmExpr ( const SubstNonTypeTemplateParmExpr E)
inline

Definition at line 492 of file PtrTypesSemantics.cpp.

◆ VisitSwitchStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitSwitchStmt ( const SwitchStmt SS)
inline

Definition at line 422 of file PtrTypesSemantics.cpp.

◆ VisitUnaryExprOrTypeTraitExpr()

bool clang::TrivialFunctionAnalysisVisitor::VisitUnaryExprOrTypeTraitExpr ( const UnaryExprOrTypeTraitExpr E)
inline

Definition at line 497 of file PtrTypesSemantics.cpp.

References E.

◆ VisitUnaryOperator()

bool clang::TrivialFunctionAnalysisVisitor::VisitUnaryOperator ( const UnaryOperator UO)
inline

◆ VisitWhileStmt()

bool clang::TrivialFunctionAnalysisVisitor::VisitWhileStmt ( const WhileStmt WS)
inline

Definition at line 419 of file PtrTypesSemantics.cpp.


The documentation for this class was generated from the following file: