clang  16.0.0git
Namespaces | Functions
LoopUnrolling.h File Reference
#include "clang/Analysis/CFG.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"
Include dependency graph for LoopUnrolling.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.




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

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.