|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Quads.Quad
harpoon.IR.Quads.SIGMA
public abstract class SIGMA
SIGMA
functions are added where control flow splits.
They have the form: <t1, t2, ..., tn> = sigma(t0)
.
Field Summary | |
---|---|
protected Temp[][] |
dst
dst[i][j] is the j'th element of the tuple on the left-hand side of the i'th sigma function in this block. |
protected Temp[] |
src
src[i] is the argument to the i'th sigma function in this block. |
Fields inherited from class harpoon.IR.Quads.Quad |
---|
arrayFactory |
Constructor Summary | |
---|---|
SIGMA(QuadFactory qf,
HCodeElement source,
Temp[][] dst,
Temp[] src,
int arity)
Creates a SIGMA representing a block of sigma
functions. |
|
SIGMA(QuadFactory qf,
HCodeElement source,
Temp[] src,
int arity)
Creates a SIGMA object with the specified arity. |
Method Summary | ||
---|---|---|
|
accept(QuadValueVisitor<T> v)
|
|
void |
accept(QuadVisitor v)
Accept a visitor. |
|
int |
arity()
Returns the number of elements in the tuple returned by each sigma function. |
|
void |
assign(Temp[] d,
int which_succ)
|
|
Temp[] |
def()
Return all the Temps defined by this Quad. |
|
Temp[][] |
dst()
|
|
Temp[] |
dst(int nSigma)
Returns an array holding the elements of the tuple returned by the nSigma 'th sigma function in the block. |
|
Temp |
dst(int nSigma,
int nTuple)
Returns the nTuple 'th element of the tuple returned
by the nSigma 'th sigma function in the block. |
|
int |
numSigmas()
Returns the number of sigma functions in the block. |
|
void |
removeSigma(int nSigma)
Deprecated. Does not preserve immutability. |
|
Temp[] |
src()
|
|
Temp |
src(int nSigma)
Returns the argument to the nSigma 'th sigma function in
the block. |
|
String |
toString()
Force everyone to reimplement toString() |
|
Temp[] |
use()
Return all the Temps used by this Quad. |
Methods inherited from class harpoon.IR.Quads.Quad |
---|
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, isPred, isSucc, kind, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, rename, replace, succ, succC, toLongString, transferHandlers, useC |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Temp[][] dst
protected Temp[] src
Constructor Detail |
---|
public SIGMA(QuadFactory qf, HCodeElement source, Temp[][] dst, Temp[] src, int arity)
SIGMA
representing a block of sigma
functions.
dst
- the elements of the tuples on the left-hand side of a sigma
function assignment block.src
- the arguments to the sigma functions in this block.public SIGMA(QuadFactory qf, HCodeElement source, Temp[] src, int arity)
SIGMA
object with the specified arity.
Each sigma function will return a tuple with arity
elements.
src
- the arguments to the sigma functions.arity
- the number of successors to this quad.Method Detail |
---|
public Temp src(int nSigma)
nSigma
'th sigma function in
the block.
public Temp dst(int nSigma, int nTuple)
nTuple
'th element of the tuple returned
by the nSigma
'th sigma function in the block.
public Temp[] dst(int nSigma)
nSigma
'th sigma function in the block.
public Temp[] src()
public Temp[][] dst()
public int numSigmas()
public int arity()
public void removeSigma(int nSigma)
public void assign(Temp[] d, int which_succ)
public Temp[] use()
Quad
use
in interface UseDefable
use
in class Quad
public Temp[] def()
Quad
def
in interface UseDefable
def
in class Quad
public void accept(QuadVisitor v)
Quad
accept
in class Quad
public <T> T accept(QuadValueVisitor<T> v)
accept
in class Quad
public String toString()
Quad
toString
in class Quad
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |