|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.kjc.EmptyAttributeVisitor
at.dms.kjc.ReplacingVisitor
at.dms.kjc.SLIRReplacingVisitor
at.dms.kjc.sir.lowering.Unroller
public class Unroller
This class unrolls loops where it can.
| Field Summary |
|---|
| Fields inherited from class at.dms.kjc.EmptyAttributeVisitor |
|---|
forwards |
| Fields inherited from interface at.dms.kjc.Constants |
|---|
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY |
| Constructor Summary | |
|---|---|
Unroller(Hashtable<JLocalVariable,JLiteral> constants)
Creates one of these given that constants maps JLocalVariables to JLiterals for the scope that we'll be visiting. |
|
Unroller(Hashtable<JLocalVariable,JLiteral> constants,
boolean unrollOuterLoops)
|
|
| Method Summary | |
|---|---|
boolean |
getContainerInit()
|
static int |
getNumExecutions(JStatement init,
JExpression cond,
JStatement incr,
JStatement body)
Returns the number of times a for-loop with the given characteristics will execute, or -1 if the count cannot be determined. |
boolean |
hasUnrolled()
Return whether or not this has unrolled any loops. |
void |
setContainerInit(boolean init)
|
static void |
setLimitNoTapeLoops(boolean b,
int limit)
|
static void |
unroll(SIRStream str)
Run a propagator on every method of a stream. |
static void |
unrollFilter(SIRFilter filter)
Unrolls filter up to a factor of 100,000. |
static void |
unrollFilter(SIRFilter filter,
int unrollFactor)
Unrolls filter up to a factor of unrollFactor. |
Object |
visitAssignmentExpression(JAssignmentExpression self,
JExpression left,
JExpression right)
checks assignment |
Object |
visitForStatement(JForStatement self,
JStatement init,
JExpression cond,
JStatement incr,
JStatement body)
Overload the for-statement visit. |
Object |
visitPostfixExpression(JPostfixExpression self,
int oper,
JExpression expr)
checks postfix |
Object |
visitPrefixExpression(JPrefixExpression self,
int oper,
JExpression expr)
checks prefix |
Object |
visitVariableDefinition(JVariableDefinition self,
int modifiers,
CType type,
String ident,
JExpression expr)
checks var def |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Unroller(Hashtable<JLocalVariable,JLiteral> constants)
constants -
public Unroller(Hashtable<JLocalVariable,JLiteral> constants,
boolean unrollOuterLoops)
constants - unrollOuterLoops - | Method Detail |
|---|
public static void setLimitNoTapeLoops(boolean b,
int limit)
b - limit - public static void unrollFilter(SIRFilter filter)
filter -
public static void unrollFilter(SIRFilter filter,
int unrollFactor)
filter - unrollFactor - public void setContainerInit(boolean init)
init - public boolean getContainerInit()
public static void unroll(SIRStream str)
str - Stream in which to unroll loops in methods
public Object visitPrefixExpression(JPrefixExpression self,
int oper,
JExpression expr)
visitPrefixExpression in interface AttributeVisitor<Object>visitPrefixExpression in class ReplacingVisitor
public Object visitPostfixExpression(JPostfixExpression self,
int oper,
JExpression expr)
visitPostfixExpression in interface AttributeVisitor<Object>visitPostfixExpression in class ReplacingVisitor
public Object visitVariableDefinition(JVariableDefinition self,
int modifiers,
CType type,
String ident,
JExpression expr)
visitVariableDefinition in interface AttributeVisitor<Object>visitVariableDefinition in class ReplacingVisitor
public Object visitAssignmentExpression(JAssignmentExpression self,
JExpression left,
JExpression right)
visitAssignmentExpression in interface AttributeVisitor<Object>visitAssignmentExpression in class ReplacingVisitor
public Object visitForStatement(JForStatement self,
JStatement init,
JExpression cond,
JStatement incr,
JStatement body)
visitForStatement in interface AttributeVisitor<Object>visitForStatement in class ReplacingVisitor
public static int getNumExecutions(JStatement init,
JExpression cond,
JStatement incr,
JStatement body)
init - cond - incr - body -
public boolean hasUnrolled()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||