|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscale.score.dependence.DataDependence
scale.score.dependence.banerjee.BanerjeeTest
public class BanerjeeTest
A class which implements Banerjee's data dependence test.
$Id: BanerjeeTest.java,v 1.29 2007-05-03 18:02:43 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Currently, we have only implemented the Single Loop Index test. The Single Loop Index test is an exact algorithm that works only with subscripts that have a single loop index variable. The SLI test only produces direction information (that is, no distance information). Also, the test only works when the bounds of the loops are constants.
Note that only dependence direction information is computed. Distance values are not computed.
OmegaTest| Field Summary | |
|---|---|
static boolean |
classTrace
True if traces are to be performed. |
| Fields inherited from class scale.score.dependence.DataDependence |
|---|
bnest, cEqDependent, cFailed, cIndependent, cLCDependent, cloop, cUnkDependent, ddinfo, iloop, inode, loopInfo, oloop, onode, precedes, result, scribble |
| Constructor Summary | |
|---|---|
BanerjeeTest(Scribble scribble)
Create an object for dependence testing. |
|
| Method Summary | |
|---|---|
int |
ddTest(SubscriptExpr onode,
SubscriptExpr inode,
LoopHeaderChord oloop,
LoopHeaderChord iloop,
int precedes)
Implements Banerjee's dependence test. |
Vector<long[]> |
getDependenceInfo(boolean forward)
Compute data dependences in one direction. |
void |
spatialTest(SubscriptExpr onode,
SubscriptExpr inode,
LoopHeaderChord oloop,
LoopHeaderChord iloop,
int precedes)
|
| Methods inherited from class scale.score.dependence.DataDependence |
|---|
getBackwardDependences, getDDInfo, getForwardDependences, initialize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static boolean classTrace
| Constructor Detail |
|---|
public BanerjeeTest(Scribble scribble)
| Method Detail |
|---|
public int ddTest(SubscriptExpr onode,
SubscriptExpr inode,
LoopHeaderChord oloop,
LoopHeaderChord iloop,
int precedes)
ddTest in class DataDependenceonode - is a node accessinode - is a node accessoloop - is the loop containing onodeiloop - is the loop containing inodeprecedes - specifies the execution order.
It is 1 if inode is execute before onode,
-1 if onode is executed befoe inode,
and 0 if they are "executed in parallel".
DataDependence.cIndependent,
DataDependence.cUnkDependent,
DataDependence.cLCDependent,
DataDependence.cEqDependent,
DataDependence.cFailedpublic Vector<long[]> getDependenceInfo(boolean forward)
getDependenceInfo in class DataDependenceforward - is true if we want forward dependence information.
public void spatialTest(SubscriptExpr onode,
SubscriptExpr inode,
LoopHeaderChord oloop,
LoopHeaderChord iloop,
int precedes)
throws java.lang.Exception
spatialTest in class DataDependenceonode - a node accessinode - a node accessoloop - is the loop containing onodeiloop - is the loop containing inodeprecedes - specifies the execution order.
It is 1 if inode is execute before onode,
-1 if onode is executed befoe inode,
and 0 if they are "executed in parallel".
java.lang.Exception
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||