LLVM 22.0.0git
|
#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 () | |
ConvergenceRegion & | operator= (ConvergenceRegion &&CR)=delete |
ConvergenceRegion (const ConvergenceRegion &other)=delete | |
ConvergenceRegion & | operator= (const ConvergenceRegion &other)=delete |
bool | contains (const BasicBlock *BB) const |
void | releaseMemory () |
void | dump (const unsigned IndentSize=0) const |
Public Attributes | |
ConvergenceRegion * | Parent = nullptr |
SmallVector< ConvergenceRegion * > | Children = {} |
std::optional< IntrinsicInst * > | ConvergenceToken = std::nullopt |
BasicBlock * | Entry = nullptr |
SmallPtrSet< BasicBlock *, 2 > | Exits = {} |
SmallPtrSet< BasicBlock *, 8 > | Blocks = {} |
Definition at line 41 of file SPIRVConvergenceRegionAnalysis.h.
ConvergenceRegion::ConvergenceRegion | ( | DominatorTree & | DT, |
LoopInfo & | LI, | ||
Function & | F ) |
Definition at line 112 of file SPIRVConvergenceRegionAnalysis.cpp.
References B(), Blocks, ConvergenceToken, Entry, Exits, F, llvm::SPIRV::getConvergenceToken(), llvm::isa(), and Parent.
Referenced by ConvergenceRegion(), ConvergenceRegion(), operator=(), and operator=().
ConvergenceRegion::ConvergenceRegion | ( | DominatorTree & | DT, |
LoopInfo & | LI, | ||
std::optional< IntrinsicInst * > | ConvergenceToken, | ||
BasicBlock * | Entry, | ||
SmallPtrSet< BasicBlock *, 8 > && | Blocks, | ||
SmallPtrSet< BasicBlock *, 2 > && | Exits ) |
Definition at line 124 of file SPIRVConvergenceRegionAnalysis.cpp.
References assert(), Blocks, ConvergenceToken, Entry, Exits, and llvm::move().
|
inline |
Definition at line 69 of file SPIRVConvergenceRegionAnalysis.h.
References Blocks, Children, ConvergenceRegion(), ConvergenceToken, Entry, Exits, llvm::move(), and Parent.
|
inline |
Definition at line 76 of file SPIRVConvergenceRegionAnalysis.h.
References releaseMemory().
|
delete |
References ConvergenceRegion().
|
inline |
Definition at line 84 of file SPIRVConvergenceRegionAnalysis.h.
References Blocks.
Definition at line 145 of file SPIRVConvergenceRegionAnalysis.cpp.
References llvm::Block, Blocks, Children, ConvergenceToken, llvm::dbgs(), Entry, Exits, and Parent.
|
delete |
References ConvergenceRegion().
|
delete |
References ConvergenceRegion().
void ConvergenceRegion::releaseMemory | ( | ) |
Definition at line 135 of file SPIRVConvergenceRegionAnalysis.cpp.
References Children, and Parent.
Referenced by ~ConvergenceRegion().
SmallPtrSet<BasicBlock *, 8> llvm::SPIRV::ConvergenceRegion::Blocks = {} |
Definition at line 57 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by contains(), ConvergenceRegion(), ConvergenceRegion(), ConvergenceRegion(), dump(), and getExitFor().
SmallVector<ConvergenceRegion *> llvm::SPIRV::ConvergenceRegion::Children = {} |
Definition at line 49 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), dump(), findParentRegion(), and releaseMemory().
std::optional<IntrinsicInst *> llvm::SPIRV::ConvergenceRegion::ConvergenceToken = std::nullopt |
Definition at line 51 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), ConvergenceRegion(), ConvergenceRegion(), and dump().
BasicBlock* llvm::SPIRV::ConvergenceRegion::Entry = nullptr |
Definition at line 53 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), ConvergenceRegion(), ConvergenceRegion(), and dump().
SmallPtrSet<BasicBlock *, 2> llvm::SPIRV::ConvergenceRegion::Exits = {} |
Definition at line 55 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), ConvergenceRegion(), ConvergenceRegion(), dump(), and getExitFor().
ConvergenceRegion* llvm::SPIRV::ConvergenceRegion::Parent = nullptr |
Definition at line 47 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), ConvergenceRegion(), dump(), and releaseMemory().