clang 20.0.0git
Namespaces | Functions
LoopUnrolling.h File Reference

This header contains the declarations of functions which are used to decide which loops should be completely unrolled and mark their corresponding CFGBlocks. More...

#include "clang/Analysis/CFG.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"

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

bool clang::ento::isUnrolledState (ProgramStateRef State)
 Returns if the given State indicates that is inside a completely unrolled loop.
 
ProgramStateRef clang::ento::updateLoopStack (const Stmt *LoopStmt, ASTContext &ASTCtx, ExplodedNode *Pred, unsigned maxVisitOnPath)
 Updates the stack of loops contained by the ProgramState.
 
ProgramStateRef clang::ento::processLoopEnd (const Stmt *LoopStmt, ProgramStateRef State)
 Updates the given ProgramState.
 

Detailed Description

This header contains the declarations of functions which are used to decide which loops should be completely unrolled and mark their corresponding CFGBlocks.

It is done by tracking a stack of loops in the ProgramState. This way specific loops can be marked as completely unrolled. For considering a loop to be completely unrolled it has to fulfill the following requirements:

Definition in file LoopUnrolling.h.