at.dms.kjc.backendSupport
Class MultiLevelSplitsJoins
java.lang.Object
at.dms.kjc.backendSupport.MultiLevelSplitsJoins
public class MultiLevelSplitsJoins
- extends Object
This pass will break up splits or joins (OutputSliceNodes and InputSliceNodes)
that are wider than the number of memories attached to the chip. It does this
by introducing new traces that are composed of an identity filter with width
lte number of memories. Multiple levels of these identity traces implement the
split or join that was too wide.
- Author:
- mgordon
Field Summary |
static int |
IDENTITY_WORK
The work estimate of the identity filters that we add |
Constructor Summary |
MultiLevelSplitsJoins(Partitioner partitioner,
int maxWidth)
Create an instance of the pass that will operate on the
partitioning calculated by partitioner for the number of memories
in RawChip. |
Method Summary |
void |
doit()
Run the pass on the entire slice graph, breaking up the
wide splits and joins, creating new Slices and adding them to the
partitioning. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IDENTITY_WORK
public static int IDENTITY_WORK
- The work estimate of the identity filters that we add
MultiLevelSplitsJoins
public MultiLevelSplitsJoins(Partitioner partitioner,
int maxWidth)
- Create an instance of the pass that will operate on the
partitioning calculated by partitioner for the number of memories
in RawChip.
- Parameters:
partitioner
- The partitioning.maxWidth
- The Raw chip.
doit
public void doit()
- Run the pass on the entire slice graph, breaking up the
wide splits and joins, creating new Slices and adding them to the
partitioning.