|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.score.dependence.DDInfo
public final class DDInfo
A class which represents data dependence information between two array references.
$Id: DDInfo.java,v 1.20 2007-10-04 19:58:24 burrill Exp $
Copyright 2007 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
This class represents both direction and distance vectors. The dependence information for a loop nest is an array of n elements, where n is the deepest common loop nest.
The direction vector represents dependence information for each loop level. We represent the direction information as a set of three possible values. These are forward, equal, and backward dependences. If the direction is unknown, we represent the dependence information as a set which contains all three values.
The distance value is valid for loop-carried dependences. It contains the number of iterations that are carried by the dependence (in constant, the direction value only indicates which direction the dependence occurs in). That is, a loop-carried dependence between two references does not mean that the dependence occurs at the next iteration.
Field Summary | |
---|---|
static long |
cDist0
Data dependence information indicating 0 distance. |
static long |
cDistUnknown
Data dependence information indicating unknown distance. |
static byte |
ddAll
Indicates an arbitrary relationship between the components of two iteration vectors. |
static int |
ddBackward
A backwards data dependence. |
static int |
ddEqual
An equal dependence. |
static int |
ddForward
A forward data dependence. |
static int |
ddKnown
Is the distance known. |
Constructor Summary | |
---|---|
DDInfo()
|
Method Summary | |
---|---|
static long |
copy(long ddinfo)
Create a copy of the data dependence information. |
static long |
copyNot(long ddinfo,
int nDirection)
Create a copy of the data dependence information. |
static long |
create(int distance,
boolean distanceKnown,
int direction)
Create an object which represents data dependence information. |
static int |
getDirection(long ddinfo)
Return the direction. |
static int |
getDistance(long ddinfo)
Return the distance value. |
static long |
inverseCopy(long ddinfo)
Create a copy of the data dependence information. |
static boolean |
isAnyDistanceKnown(long[] ddinfo)
Return true if the distance is known at any level. |
static boolean |
isAnyDistanceNonZero(long[] ddinfo)
Return true if any distance is unknown or not zero at any level. |
static boolean |
isAnyDistanceNotKnown(long[] ddinfo)
Return true if the distance is not known at any level. |
static boolean |
isDirectionEqual(long ddinfo)
Return true if the direction value is ddEqual . |
static boolean |
isDirectionSet(long ddinfo,
int direction)
Return true if the direction value is set to true. |
static boolean |
isDistanceKnown(long ddinfo)
Have we set the distance information. |
static boolean |
noDirectionSet(long ddinfo)
Return true if no direction values are set to true. |
static void |
printDDInfo(long[] ddinfo)
Print the data dependence distance and direction. |
static java.lang.String |
toString(long ddinfo)
Create a formatted string of the dependence information. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ddForward
public static final int ddEqual
public static final int ddBackward
public static final int ddKnown
public static final byte ddAll
public static final long cDist0
public static final long cDistUnknown
Constructor Detail |
---|
public DDInfo()
Method Detail |
---|
public static long create(int distance, boolean distanceKnown, int direction)
distance
- is the data dependence distancedistanceKnown
- is true if the distance is knowndirection
- is the data dependence directionpublic static long copy(long ddinfo)
public static long inverseCopy(long ddinfo)
public static long copyNot(long ddinfo, int nDirection)
public static boolean isDirectionSet(long ddinfo, int direction)
public static boolean isDirectionEqual(long ddinfo)
ddEqual
.
public static boolean noDirectionSet(long ddinfo)
public static boolean isDistanceKnown(long ddinfo)
public static int getDistance(long ddinfo)
public static int getDirection(long ddinfo)
public static boolean isAnyDistanceKnown(long[] ddinfo)
public static boolean isAnyDistanceNotKnown(long[] ddinfo)
public static boolean isAnyDistanceNonZero(long[] ddinfo)
public static java.lang.String toString(long ddinfo)
public static void printDDInfo(long[] ddinfo)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |