clang 20.0.0git
Classes | Public Member Functions | List of all members
clang::PostOrderCFGView::CFGBlockSet Class Reference

Implements a set of CFGBlocks using a BitVector. More...

#include "clang/Analysis/Analyses/PostOrderCFGView.h"

Classes

struct  iterator
 

Public Member Functions

 CFGBlockSet ()=default
 
 CFGBlockSet (const CFG *G)
 
std::pair< std::nullopt_t, boolinsert (const CFGBlock *Block)
 Set the bit associated with a particular CFGBlock.
 
bool alreadySet (const CFGBlock *Block)
 Check if the bit for a CFGBlock has been already set.
 

Detailed Description

Implements a set of CFGBlocks using a BitVector.

This class contains a minimal interface, primarily dictated by the SetType template parameter of the llvm::po_iterator template, as used with external storage. We also use this set to keep track of which CFGBlocks we visit during the analysis.

Definition at line 37 of file PostOrderCFGView.h.

Constructor & Destructor Documentation

◆ CFGBlockSet() [1/2]

clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet ( )
default

◆ CFGBlockSet() [2/2]

clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet ( const CFG G)
inline

Definition at line 46 of file PostOrderCFGView.h.

Member Function Documentation

◆ alreadySet()

bool clang::PostOrderCFGView::CFGBlockSet::alreadySet ( const CFGBlock Block)
inline

Check if the bit for a CFGBlock has been already set.

This method is for tracking visited blocks in the main threadsafety loop. Block must not be null.

Definition at line 67 of file PostOrderCFGView.h.

References clang::Block.

Referenced by clang::threadSafety::CFGWalker::walk().

◆ insert()

std::pair< std::nullopt_t, bool > clang::PostOrderCFGView::CFGBlockSet::insert ( const CFGBlock Block)
inline

Set the bit associated with a particular CFGBlock.

This is the important method for the SetType template parameter.

Definition at line 50 of file PostOrderCFGView.h.

References clang::Block.

Referenced by clang::threadSafety::CFGWalker::walk().


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