LLVM 20.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 (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 42 of file SPIRVConvergenceRegionAnalysis.h.
llvm::SPIRV::ConvergenceRegion::ConvergenceRegion | ( | DominatorTree & | DT, |
LoopInfo & | LI, | ||
Function & | F | ||
) |
Definition at line 123 of file SPIRVConvergenceRegionAnalysis.cpp.
References B, Blocks, ConvergenceToken, Entry, Exits, F, and llvm::SPIRV::getConvergenceToken().
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.
|
inline |
Definition at line 70 of file SPIRVConvergenceRegionAnalysis.h.
|
delete |
|
inline |
Definition at line 81 of file SPIRVConvergenceRegionAnalysis.h.
References Blocks.
Definition at line 156 of file SPIRVConvergenceRegionAnalysis.cpp.
References llvm::Block, Blocks, Children, ConvergenceToken, llvm::dbgs(), Entry, Exits, llvm::Value::getName(), and Parent.
void llvm::SPIRV::ConvergenceRegion::releaseMemory | ( | ) |
Definition at line 146 of file SPIRVConvergenceRegionAnalysis.cpp.
References Children, Parent, and releaseMemory().
Referenced by releaseMemory(), and llvm::SPIRV::ConvergenceRegionInfo::releaseMemory().
SmallPtrSet<BasicBlock *, 8> llvm::SPIRV::ConvergenceRegion::Blocks = {} |
Definition at line 58 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by contains(), ConvergenceRegion(), dump(), llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(), and llvm::SPIRVMergeRegionExitTargets::validateRegionExits().
SmallVector<ConvergenceRegion *> llvm::SPIRV::ConvergenceRegion::Children = {} |
Definition at line 50 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by dump(), releaseMemory(), llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegion(), and llvm::SPIRVMergeRegionExitTargets::validateRegionExits().
std::optional<IntrinsicInst *> llvm::SPIRV::ConvergenceRegion::ConvergenceToken = std::nullopt |
Definition at line 52 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), and dump().
BasicBlock* llvm::SPIRV::ConvergenceRegion::Entry = nullptr |
Definition at line 54 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), dump(), and llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse().
SmallPtrSet<BasicBlock *, 2> llvm::SPIRV::ConvergenceRegion::Exits = {} |
Definition at line 56 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by ConvergenceRegion(), dump(), llvm::SPIRVMergeRegionExitTargets::runOnConvergenceRegionNoRecurse(), and llvm::SPIRVMergeRegionExitTargets::validateRegionExits().
ConvergenceRegion* llvm::SPIRV::ConvergenceRegion::Parent = nullptr |
Definition at line 48 of file SPIRVConvergenceRegionAnalysis.h.
Referenced by dump(), and releaseMemory().