|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.score.trans.Optimization
scale.score.trans.LoopTrans
public abstract class LoopTrans
The base class for all loop transformation optimizations.
$Id: LoopTrans.java,v 1.68 2007-10-04 19:58:36 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
| Field Summary | |
|---|---|
protected static FloatType |
floatType
|
protected static PointerType |
intPointer
|
protected static IntegerType |
intType
|
protected static PointerType |
unsignedPointer
|
protected static IntegerType |
unsignedType
|
protected static PointerType |
voidp
|
| Fields inherited from class scale.score.trans.Optimization |
|---|
dChanged, fpReorder, hasDummyAliases, IN_SSA, minimumExecutionCost, NA_SSA, NO_SSA, rChanged, scribble, signedIntsWrapOnOverflow, trace, un, unsafe, unsignedIntsWrapOnOverflow, VALID_SSA |
| Constructor Summary | |
|---|---|
LoopTrans(Scribble scribble,
java.lang.String tempPrefix)
|
|
| Method Summary | |
|---|---|
static void |
cleanup()
Clean up for profiling statistics. |
protected ExprChord |
findIndexInc(Chord c)
|
protected ExprChord |
findIndexInit(Chord c)
|
protected boolean |
initializeTransform(java.lang.String prefix)
Initialize everything in preparation for a loop transform. |
protected void |
performLoopInterchange(LoopHeaderChord innerLoop,
LoopHeaderChord outerLoop)
Interchange two loops. |
protected void |
performLoopStripMining(LoopHeaderChord loop,
int stripSize)
Perform the strip mining on the loop. |
protected void |
performLoopTile(LoopHeaderChord oHeader,
LoopHeaderChord iHeader,
int tileSize,
int tileOffset)
Convert two loops to use tiling. |
static int |
permutedLoops()
Return the current number of implicit loops found. |
protected Cost |
tripProduct(Vector<LoopHeaderChord> loopNest,
LoopHeaderChord thisLoop)
|
| Methods inherited from class scale.score.trans.Optimization |
|---|
assertTrace, assertTrace, assertTrace, assertTrace, assertTrace, genTemp, insertStores, perform, requiresSSA, setTrace, sort |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static IntegerType intType
protected static FloatType floatType
protected static IntegerType unsignedType
protected static PointerType intPointer
protected static PointerType unsignedPointer
protected static PointerType voidp
| Constructor Detail |
|---|
public LoopTrans(Scribble scribble,
java.lang.String tempPrefix)
scribble - is the CFG containing the loops| Method Detail |
|---|
public static int permutedLoops()
protected boolean initializeTransform(java.lang.String prefix)
prefix - is used in generating temporary variable names
protected ExprChord findIndexInit(Chord c)
protected ExprChord findIndexInc(Chord c)
protected Cost tripProduct(Vector<LoopHeaderChord> loopNest,
LoopHeaderChord thisLoop)
protected void performLoopTile(LoopHeaderChord oHeader,
LoopHeaderChord iHeader,
int tileSize,
int tileOffset)
oHeader - is the outer loopiHeader - is the inner looptileSize - is the size of the tiletileOffset - is the offset for each tile
protected void performLoopStripMining(LoopHeaderChord loop,
int stripSize)
loop - is the loop to be strip minedstripSize - specifies the size of the strip
protected void performLoopInterchange(LoopHeaderChord innerLoop,
LoopHeaderChord outerLoop)
public static void cleanup()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||