|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.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 loopsMethod 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 tileprotected void performLoopStripMining(LoopHeaderChord loop, int stripSize)
loop
- is the loop to be strip minedstripSize
- specifies the size of the stripprotected 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 |