clang 20.0.0git
Classes | Typedefs | Functions
clang::internal Namespace Reference

Classes

struct  CFGIntervalNode
 

Typedefs

using CFGIntervalGraph = std::deque< CFGIntervalNode >
 

Functions

std::vector< const CFGBlock * > buildInterval (const CFGBlock *Header)
 
CFGIntervalGraph partitionIntoIntervals (const CFG &Cfg)
 
CFGIntervalGraph partitionIntoIntervals (const CFGIntervalGraph &Graph)
 
bool anyConflict (const llvm::SmallVectorImpl< FixItHint > &FixIts, const SourceManager &SM)
 
static unsigned getID (const CFGBlock &B)
 
static unsigned getID (const CFGIntervalNode &I)
 
template<typename Node >
static BuildResult< NodebuildInterval (llvm::BitVector &Partitioned, const Node *Header)
 
template<typename Node >
static void fillIntervalNode (CFGIntervalGraph &Graph, std::vector< CFGIntervalNode * > &Index, std::queue< const Node * > &Successors, llvm::BitVector &Partitioned, const Node *Header)
 
template<typename Node >
static CFGIntervalGraph partitionIntoIntervalsImpl (unsigned NumBlockIDs, const Node *EntryBlock)
 

Typedef Documentation

◆ CFGIntervalGraph

Definition at line 108 of file IntervalPartition.h.

Function Documentation

◆ anyConflict()

bool clang::internal::anyConflict ( const llvm::SmallVectorImpl< FixItHint > &  FixIts,
const SourceManager SM 
)

Definition at line 2157 of file UnsafeBufferUsage.cpp.

References clang::CharSourceRange::getEnd(), clang::FixItHint::RemoveRange, and SM.

Referenced by getFixIts().

◆ buildInterval() [1/2]

std::vector< const CFGBlock * > clang::internal::buildInterval ( const CFGBlock Header)

◆ buildInterval() [2/2]

template<typename Node >
static BuildResult< Node > clang::internal::buildInterval ( llvm::BitVector &  Partitioned,
const Node Header 
)
static

◆ fillIntervalNode()

template<typename Node >
static void clang::internal::fillIntervalNode ( CFGIntervalGraph Graph,
std::vector< CFGIntervalNode * > &  Index,
std::queue< const Node * > &  Successors,
llvm::BitVector &  Partitioned,
const Node Header 
)
static

◆ getID() [1/2]

static unsigned clang::internal::getID ( const CFGBlock B)
static

◆ getID() [2/2]

static unsigned clang::internal::getID ( const CFGIntervalNode I)
static

Definition at line 35 of file IntervalPartition.cpp.

References clang::internal::CFGIntervalNode::ID.

◆ partitionIntoIntervals() [1/2]

CFGIntervalGraph clang::internal::partitionIntoIntervals ( const CFG Cfg)

◆ partitionIntoIntervals() [2/2]

CFGIntervalGraph clang::internal::partitionIntoIntervals ( const CFGIntervalGraph Graph)

Definition at line 208 of file IntervalPartition.cpp.

References partitionIntoIntervalsImpl().

◆ partitionIntoIntervalsImpl()

template<typename Node >
static CFGIntervalGraph clang::internal::partitionIntoIntervalsImpl ( unsigned  NumBlockIDs,
const Node EntryBlock 
)
static