at.dms.kjc.sir.lowering.fusion
Class FuseSimpleSplit

java.lang.Object
  extended by at.dms.kjc.sir.lowering.fusion.FuseSimpleSplit

public class FuseSimpleSplit
extends Object

This flattens certain cases of split/joins into a single filter.


Constructor Summary
FuseSimpleSplit()
           
 
Method Summary
static SIRStream fuse(SIRSplitJoin sj)
          Flattens a split/join, subject to the following constraints: 1.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FuseSimpleSplit

public FuseSimpleSplit()
Method Detail

fuse

public static SIRStream fuse(SIRSplitJoin sj)
Flattens a split/join, subject to the following constraints: 1. Each parallel component of the stream is a filter. Further, it is not a two-stage filter that peeks. 2. If the splitter is anything other than duplicate, then there is no peeking from within the parallel streams.