|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.sir.EmptyStreamVisitor
at.dms.kjc.sir.linear.LinearAnalyzer
public class LinearAnalyzer
The LinearAnalyzer visits all of the filters and structures in
a StreamIt program. It determines which filters calculate linear
functions of their inputs, and for those that do, it keeps a mapping from
the filter name to the filter's matrix representation.
$Id: LinearAnalyzer.java,v 1.37 2006/09/25 13:54:42 dimock Exp $
Constructor Summary | |
---|---|
LinearAnalyzer(boolean refactorLinearChildren)
|
Method Summary | |
---|---|
void |
addLinearRepresentation(SIRStream key,
LinearFilterRepresentation rep)
Adds a mapping from SIRStream to LinearFilterRep. |
void |
addNonLinear(SIRStream str)
Adds a note that str is non-linear. |
static LinearAnalyzer |
findLinearFilters(SIRStream str,
boolean debug,
boolean refactorLinearChildren)
Main entry point -- searches the passed stream for linear filters and calculates their associated matricies. |
static LinearAnalyzer |
findLinearFilters(SIRStream str,
boolean debug,
LinearAnalyzer lfa)
Same as above, but specifies an existing |
Iterator<SIRStream> |
getFilterIterator()
Gets an iterator over all of the linear representations that this LinearAnalyzer knows about. |
LinearFilterRepresentation |
getLinearRepresentation(SIRStream stream)
Returns the mapping from stream to linear representation that we have. |
boolean |
hasLinearRepresentation(SIRStream stream)
Returns true if the specified filter has a linear representation that we have found. |
boolean |
isNonLinear(SIRStream key)
Adds a mapping from SIRStream to linear filter rep. |
void |
postVisitFeedbackLoop(SIRFeedbackLoop self,
SIRFeedbackLoopIter iter)
|
void |
postVisitPipeline(SIRPipeline self,
SIRPipelineIter iter)
We visit a pipeline after all sub-streams have been visited. |
void |
postVisitSplitJoin(SIRSplitJoin self,
SIRSplitJoinIter iter)
Visits a split join after all of its childern have been visited. |
void |
removeLinearRepresentation(SIRStream stream)
Removes the specified SIRStream from the linear represention mapping. |
void |
visitFilter(SIRFilter self,
SIRFilterIter iter)
More or less get a callback for each stream. |
Methods inherited from class at.dms.kjc.sir.EmptyStreamVisitor |
---|
postVisitStream, preVisitFeedbackLoop, preVisitPipeline, preVisitSplitJoin, preVisitStream, visitPhasedFilter |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LinearAnalyzer(boolean refactorLinearChildren)
Method Detail |
---|
public boolean hasLinearRepresentation(SIRStream stream)
public LinearFilterRepresentation getLinearRepresentation(SIRStream stream)
public void removeLinearRepresentation(SIRStream stream)
public void addLinearRepresentation(SIRStream key, LinearFilterRepresentation rep)
public Iterator<SIRStream> getFilterIterator()
public void addNonLinear(SIRStream str)
public boolean isNonLinear(SIRStream key)
public static LinearAnalyzer findLinearFilters(SIRStream str, boolean debug, boolean refactorLinearChildren)
public static LinearAnalyzer findLinearFilters(SIRStream str, boolean debug, LinearAnalyzer lfa)
public void visitFilter(SIRFilter self, SIRFilterIter iter)
visitFilter
in interface StreamVisitor
visitFilter
in class EmptyStreamVisitor
public void postVisitFeedbackLoop(SIRFeedbackLoop self, SIRFeedbackLoopIter iter)
postVisitFeedbackLoop
in interface StreamVisitor
postVisitFeedbackLoop
in class EmptyStreamVisitor
public void postVisitPipeline(SIRPipeline self, SIRPipelineIter iter)
postVisitPipeline
in interface StreamVisitor
postVisitPipeline
in class EmptyStreamVisitor
public void postVisitSplitJoin(SIRSplitJoin self, SIRSplitJoinIter iter)
postVisitSplitJoin
in interface StreamVisitor
postVisitSplitJoin
in class EmptyStreamVisitor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |