Program Listing for File TransDepGraph.h#
↰ Return to documentation for file (src/midend/programTransformation/loopProcessing/depGraph/TransDepGraph.h)
#ifndef TRANSDEP_GRAPH
#define TRANSDEP_GRAPH
#include <DepGraph.h>
#include <TransAnalysis.h>
#include <iostream>
template <class Node> class TransDepAnalImpl;
template <class Node>
class TransDepGraphCreate
: public VirtualGraphCreateTemplate<Node,DepInfoSetEdge>,
public TransInfoGraph<DepInfoSet>
{
GraphAccessWrapTemplate<GraphAccessInterface::Node,
GraphAccessInterface::Edge,
GraphAccessTemplate<Node,DepInfoEdge> >
access;
GraphTransAnalysis<DepInfoSet> anal;
TransDepAnalImpl<Node> *analop;
bool TransInfoComputed(const GraphAccessInterface::Node *src, const GraphAccessInterface::Node *snk);
DepInfoSet GetTransInfo( const GraphAccessInterface::Node *src, const GraphAccessInterface::Node *snk);
void SetTransInfo( GraphAccessInterface::Node *src, GraphAccessInterface::Node *snk, DepInfoSet info) ;
public:
TransDepGraphCreate(GraphAccessTemplate<Node,DepInfoEdge> *g,
int splitlimit=20,
BaseGraphCreate *bc = 0);
~TransDepGraphCreate();
DepInfoSetEdge* GetTransDep( Node *n1, Node *n2);
};
#endif