at.dms.kjc.slicegraph
Class FlattenGraph

java.lang.Object
  extended by at.dms.kjc.slicegraph.FlattenGraph

public class FlattenGraph
extends Object

Flatten graph with new synch removal. Removes structure and reveals inherit graph of data flow. Jasper's old version obsoleted by SynchRemover ??

Author:
jasperln

Constructor Summary
FlattenGraph()
           
 
Method Summary
static void clear()
          Clean up data structures used in flattening.
static void dumpGraph(String filename)
          Prints out dotgraph representation of current flatgraph.
static void flattenGraph(SIRStream graph, LinearAnalyzer lfa, HashMap[] execCounts)
          Main entry point to FlattenGraph.
static int getFilterCount()
          Returns number of filters in graph
static UnflatFilter[] getTopLevelNodes()
          Returns list of all top level nodes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlattenGraph

public FlattenGraph()
Method Detail

getFilterCount

public static int getFilterCount()
Returns number of filters in graph


clear

public static void clear()
Clean up data structures used in flattening. Only call after done flattening.


getTopLevelNodes

public static UnflatFilter[] getTopLevelNodes()
Returns list of all top level nodes.


flattenGraph

public static void flattenGraph(SIRStream graph,
                                LinearAnalyzer lfa,
                                HashMap[] execCounts)
Main entry point to FlattenGraph.

Parameters:
graph - The toplevel SIRStream for the graph
lfa - The LinearAnalyzer to use for linear representation
execCounts - Execution counts from scheduler

dumpGraph

public static void dumpGraph(String filename)
Prints out dotgraph representation of current flatgraph.

Parameters:
filename - Filename to store dotgraph into.