36 #ifndef __KERNEL_CFG_HH__
37 #define __KERNEL_CFG_HH__
133 #endif // __KERNEL_CFG_HH__
std::set< uint32_t > successorIds
Identifiers of the blocks that follow (are reachable from) this block.
void printPostDominators() const
BasicBlock * basicBlock(int inst_addr) const
std::vector< std::unique_ptr< BasicBlock > > basicBlocks
std::vector< GPUStaticInst * > instructions
static void assignImmediatePostDominators(const std::vector< GPUStaticInst * > &instructions)
Compute immediate post-dominator instruction for kernel instructions.
void findPostDominators()
GPUStaticInst * firstInstruction
Pointer to first instruction of the block.
void findImmediatePostDominators()
void connectBasicBlocks()
BasicBlock(uint32_t num, GPUStaticInst *begin)
const uint32_t id
Unique identifier for the block within a given kernel.
size_t size
Number of instructions contained in the block.
void printBasicBlocks() const
std::set< uint32_t > postDominatorIds
Identifiers of the blocks that will be visited from this block.
void printImmediatePostDominators() const
GPUStaticInst * lastInstruction(const BasicBlock *block) const
void printBasicBlockDot() const
BasicBlock * postDominator(const BasicBlock *block) const
ControlFlowInfo(const std::vector< GPUStaticInst * > &instructions)