|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.sir.lowering.fusion.Lifter
public class Lifter
Canonicalize stream structure eliminating some redundancies.
There are several different ways of processing join followed by split.
liftPreservingSync does not attempt to eliminate joins that match a following split.
lift will remove joins that exactly match a following split.
liftAggressiveSync will rewrite split-joins if possible so that it can
match a joint to a following split; this may increase code size.
RefactorSplitJoin
Method Summary | |
---|---|
static void |
eliminateIdentities(SIRStream str)
Removes all non-essential identity filters from |
static boolean |
eliminatePipe(SIRPipeline str)
If |
static boolean |
eliminateSJ(SIRSplitJoin str)
If |
static void |
lift(SIRStream str)
Lift everything we can in |
static void |
liftAggressiveSync(SIRStream str)
Lift everything we can, using aggressive sync removal that could possibly add joiners to the graph. |
static void |
liftPreservingSync(SIRStream str)
Lift everything we can, but don't eliminate matching sync points. |
void |
postVisitFeedbackLoop(SIRFeedbackLoop self,
SIRFeedbackLoopIter iter)
|
void |
postVisitPipeline(SIRPipeline self,
SIRPipelineIter iter)
POST-VISITS |
void |
postVisitSplitJoin(SIRSplitJoin self,
SIRSplitJoinIter iter)
|
void |
preVisitFeedbackLoop(SIRFeedbackLoop self,
SIRFeedbackLoopIter iter)
|
void |
preVisitPipeline(SIRPipeline self,
SIRPipelineIter iter)
PRE-VISITS |
void |
preVisitSplitJoin(SIRSplitJoin self,
SIRSplitJoinIter iter)
|
void |
visitFilter(SIRFilter self,
SIRFilterIter iter)
PLAIN-VISITS |
void |
visitPhasedFilter(SIRPhasedFilter self,
SIRPhasedFilterIter iter)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static void lift(SIRStream str)
public static void liftPreservingSync(SIRStream str)
public static void liftAggressiveSync(SIRStream str)
public static void eliminateIdentities(SIRStream str)
public static boolean eliminatePipe(SIRPipeline str)
public static boolean eliminateSJ(SIRSplitJoin str)
public void visitFilter(SIRFilter self, SIRFilterIter iter)
visitFilter
in interface StreamVisitor
public void visitPhasedFilter(SIRPhasedFilter self, SIRPhasedFilterIter iter)
visitPhasedFilter
in interface StreamVisitor
public void preVisitPipeline(SIRPipeline self, SIRPipelineIter iter)
preVisitPipeline
in interface StreamVisitor
public void preVisitSplitJoin(SIRSplitJoin self, SIRSplitJoinIter iter)
preVisitSplitJoin
in interface StreamVisitor
public void preVisitFeedbackLoop(SIRFeedbackLoop self, SIRFeedbackLoopIter iter)
preVisitFeedbackLoop
in interface StreamVisitor
public void postVisitPipeline(SIRPipeline self, SIRPipelineIter iter)
postVisitPipeline
in interface StreamVisitor
public void postVisitSplitJoin(SIRSplitJoin self, SIRSplitJoinIter iter)
postVisitSplitJoin
in interface StreamVisitor
public void postVisitFeedbackLoop(SIRFeedbackLoop self, SIRFeedbackLoopIter iter)
postVisitFeedbackLoop
in interface StreamVisitor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |