|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.score.dependence.omega.AccessIteration
public final class AccessIteration
A class for determining data dependences using the Omega library.
$Id: AccessIteration.java,v 1.51 2007-10-17 13:45:07 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
This class is an interface that lets the user generate Presburger Formulae that represent dependences from program source. Patterned after notation used in Hans Zima and Barbara Chapman, Supercompilers for Parallel and Vector Computers, ACM Press, 1991.
Improvement:
We use the actual node (Expr) to get information about the
loops. We don't actually need to do this since we already get the
loop information when the omega test object, OmegaTest, is
created.
Constructor Summary | |
---|---|
AccessIteration()
Create a reference to a single memory access at a particular loop iteration. |
Method Summary | |
---|---|
void |
adjMemory(FAnd n,
AccessIteration Bj,
int blockSize)
Add a constraint requiring that this memory location(A[i]) and B[j] are adjacent. |
static int |
formError()
Return the count of all the failues due to incorrect form. |
void |
inBounds(FAnd n)
Add the constraints requiring that the loop subscripts for this reference (the i in A[i]) are within the loop bounds. |
void |
initialize(SubscriptExpr arr,
LoopHeaderChord loop,
OmegaLib omegaLib,
Relation relation,
int at)
|
static int |
lbAffine()
Return the count of all the failues due to loop lower bound. |
void |
sameMemory(FAnd n,
AccessIteration Bj)
Add a constraint requiring that this memory location(A[i]) and B[j] are the same. |
static int |
ubAffine()
Return the count of all the failues due to loop upper bound. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AccessIteration()
Method Detail |
---|
public static int formError()
public static int ubAffine()
public static int lbAffine()
public void initialize(SubscriptExpr arr, LoopHeaderChord loop, OmegaLib omegaLib, Relation relation, int at) throws Exception
arr
- an access to an array.loop
- is the loop containing the array accessomegaLib
- is the Omega Library tokenrelation
- the relation we are creating.at
- is the kind: inputTuple or outputTuple
Exception
public void inBounds(FAnd n) throws java.lang.Exception
n
- Presburber formula which represents the dependence relation.
java.lang.Exception
public void sameMemory(FAnd n, AccessIteration Bj) throws Exception
n
- is the presburger formula representing the constraintBj
- is the other memory location (array subscript expression)
Exception
public void adjMemory(FAnd n, AccessIteration Bj, int blockSize) throws Exception
n
- is the presburger formula representing the constraintBj
- is the other memory location
Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |