clang 20.0.0git
Namespaces | Functions | Variables
LoopUnrolling.cpp File Reference
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h"
#include <optional>

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::ento
 

Functions

static bool clang::ento::isLoopStmt (const Stmt *S)
 
ProgramStateRef clang::ento::processLoopEnd (const Stmt *LoopStmt, ProgramStateRef State)
 Updates the given ProgramState.
 
static internal::Matcher< Stmtclang::ento::simpleCondition (StringRef BindName, StringRef RefName)
 
static internal::Matcher< Stmtclang::ento::changeIntBoundNode (internal::Matcher< Decl > VarNodeMatcher)
 
static internal::Matcher< Stmtclang::ento::callByRef (internal::Matcher< Decl > VarNodeMatcher)
 
static internal::Matcher< Stmtclang::ento::assignedToRef (internal::Matcher< Decl > VarNodeMatcher)
 
static internal::Matcher< Stmtclang::ento::getAddrTo (internal::Matcher< Decl > VarNodeMatcher)
 
static internal::Matcher< Stmtclang::ento::hasSuspiciousStmt (StringRef NodeName)
 
static internal::Matcher< Stmtclang::ento::forLoopMatcher ()
 
static bool clang::ento::isCapturedByReference (ExplodedNode *N, const DeclRefExpr *DR)
 
static bool clang::ento::isFoundInStmt (const Stmt *S, const VarDecl *VD)
 
static bool clang::ento::isPossiblyEscaped (ExplodedNode *N, const DeclRefExpr *DR)
 
bool clang::ento::shouldCompletelyUnroll (const Stmt *LoopStmt, ASTContext &ASTCtx, ExplodedNode *Pred, unsigned &maxStep)
 
bool clang::ento::madeNewBranch (ExplodedNode *N, const Stmt *LoopStmt)
 
ProgramStateRef clang::ento::updateLoopStack (const Stmt *LoopStmt, ASTContext &ASTCtx, ExplodedNode *Pred, unsigned maxVisitOnPath)
 Updates the stack of loops contained by the ProgramState.
 
bool clang::ento::isUnrolledState (ProgramStateRef State)
 Returns if the given State indicates that is inside a completely unrolled loop.
 

Variables

static const int MAXIMUM_STEP_UNROLLED = 128
 

Variable Documentation

◆ MAXIMUM_STEP_UNROLLED

const int MAXIMUM_STEP_UNROLLED = 128
static

Definition at line 26 of file LoopUnrolling.cpp.

Referenced by clang::ento::updateLoopStack().