33#ifndef TTA_PROGRAM_DEPENDENCE_NODE_HH
34#define TTA_PROGRAM_DEPENDENCE_NODE_HH
void setNewFirstBB(BasicBlockNode *newBB)
bool lastNode_
Indicates that node must be scheduled last between it's siblings because it's subgraph contains close...
void printRelations() const
void addLeafBlock(BasicBlockNode *newLeaf)
void addToEEC(ProgramDependenceNode &node)
void setComponent(int component)
BasicBlockNode * newFirstBB_
First basic block of a subgraph of a region.
bool isLoopCloseNode() const
std::vector< BasicBlockNode * > leafBlocks_
Vector of basic blocks of a subgraph that do not have outgoing edged and will need to get connected.
std::string dotString() const
BasicBlockNode * newFirstBB()
bool isLoopEntryNode(int component) const
int component_
Number of strong component the node belongs to. Node can be part of several strong components so this...
void addToRegion(ProgramDependenceNode &node)
bool isLoopEntryNode() const
void addLeafBlocks(std::vector< BasicBlockNode * > newLeafs)
void setPredicateMoveNode()
std::vector< BasicBlockNode * > leafBlocks()
std::set< ProgramDependenceNode * > NodesInfo
NodesInfo eec_
Stores "eec" information for computing serialization information.
const NodesInfo & region()
bool isRegionNode() const
void setLoopEntryNode(int component)
ControlDependenceNode & cdgNode()
std::string toString() const
NodesInfo region_
Stores "region" information for computing serialization information.
virtual ~ProgramDependenceNode()
bool isPredicateMoveNode() const
ControlDependenceNode * cdgNode_