LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::SPIRV::ConvergenceRegion Class Reference

#include "Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h"

Public Member Functions

 ConvergenceRegion (DominatorTree &DT, LoopInfo &LI, Function &F)
 
 ConvergenceRegion (DominatorTree &DT, LoopInfo &LI, std::optional< IntrinsicInst * > ConvergenceToken, BasicBlock *Entry, SmallPtrSet< BasicBlock *, 8 > &&Blocks, SmallPtrSet< BasicBlock *, 2 > &&Exits)
 
 ConvergenceRegion (ConvergenceRegion &&CR)
 
 ConvergenceRegion (const ConvergenceRegion &other)=delete
 
bool contains (const BasicBlock *BB) const
 
void releaseMemory ()
 
void dump (const unsigned IndentSize=0) const
 

Public Attributes

ConvergenceRegionParent = nullptr
 
SmallVector< ConvergenceRegion * > Children = {}
 
std::optional< IntrinsicInst * > ConvergenceToken = std::nullopt
 
BasicBlockEntry = nullptr
 
SmallPtrSet< BasicBlock *, 2 > Exits = {}
 
SmallPtrSet< BasicBlock *, 8 > Blocks = {}
 

Detailed Description

Definition at line 42 of file SPIRVConvergenceRegionAnalysis.h.

Constructor & Destructor Documentation

◆ ConvergenceRegion() [1/4]

llvm::SPIRV::ConvergenceRegion::ConvergenceRegion ( DominatorTree DT,
LoopInfo LI,
Function F 
)

◆ ConvergenceRegion() [2/4]

llvm::SPIRV::ConvergenceRegion::ConvergenceRegion ( DominatorTree DT,
LoopInfo LI,
std::optional< IntrinsicInst * >  ConvergenceToken,
BasicBlock Entry,
SmallPtrSet< BasicBlock *, 8 > &&  Blocks,
SmallPtrSet< BasicBlock *, 2 > &&  Exits 
)

Definition at line 135 of file SPIRVConvergenceRegionAnalysis.cpp.

References assert(), Blocks, and Exits.

◆ ConvergenceRegion() [3/4]

llvm::SPIRV::ConvergenceRegion::ConvergenceRegion ( ConvergenceRegion &&  CR)
inline

Definition at line 70 of file SPIRVConvergenceRegionAnalysis.h.

◆ ConvergenceRegion() [4/4]

llvm::SPIRV::ConvergenceRegion::ConvergenceRegion ( const ConvergenceRegion other)
delete

Member Function Documentation

◆ contains()

bool llvm::SPIRV::ConvergenceRegion::contains ( const BasicBlock BB) const
inline

Definition at line 81 of file SPIRVConvergenceRegionAnalysis.h.

References Blocks.

◆ dump()

void llvm::SPIRV::ConvergenceRegion::dump ( const unsigned  IndentSize = 0) const

◆ releaseMemory()

void llvm::SPIRV::ConvergenceRegion::releaseMemory ( )

Member Data Documentation

◆ Blocks

SmallPtrSet<BasicBlock *, 8> llvm::SPIRV::ConvergenceRegion::Blocks = {}

Definition at line 58 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by contains(), ConvergenceRegion(), and dump().

◆ Children

SmallVector<ConvergenceRegion *> llvm::SPIRV::ConvergenceRegion::Children = {}

Definition at line 50 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by dump(), and releaseMemory().

◆ ConvergenceToken

std::optional<IntrinsicInst *> llvm::SPIRV::ConvergenceRegion::ConvergenceToken = std::nullopt

Definition at line 52 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by ConvergenceRegion(), and dump().

◆ Entry

BasicBlock* llvm::SPIRV::ConvergenceRegion::Entry = nullptr

Definition at line 54 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by ConvergenceRegion(), and dump().

◆ Exits

SmallPtrSet<BasicBlock *, 2> llvm::SPIRV::ConvergenceRegion::Exits = {}

Definition at line 56 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by ConvergenceRegion(), and dump().

◆ Parent

ConvergenceRegion* llvm::SPIRV::ConvergenceRegion::Parent = nullptr

Definition at line 48 of file SPIRVConvergenceRegionAnalysis.h.

Referenced by dump(), and releaseMemory().


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