|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Tree.Tree
harpoon.IR.Tree.Stm
harpoon.IR.Tree.MOVE
public class MOVE
MOVE
statements assign a value to a location.
MOVE(TEMP t, e)
evaluates expression e
and assigns its value into temporary t.
MOVE(MEM(e1, k), e2)
evaluates
expression e1 yielding address a, then evaluates e2
and assigns its value into memory starting at address a.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class harpoon.IR.Tree.Tree |
---|
Tree.CloneCallback |
Field Summary |
---|
Fields inherited from class harpoon.IR.Tree.Tree |
---|
arrayFactory, child |
Fields inherited from interface harpoon.IR.Tree.Typed |
---|
DOUBLE, FLOAT, INT, LONG, POINTER |
Constructor Summary | |
---|---|
MOVE(TreeFactory tf,
HCodeElement source,
Exp dst,
Exp src)
Constructor. |
Method Summary | |
---|---|
void |
accept(TreeVisitor v)
Accept a visitor |
Stm |
build(TreeFactory tf,
ExpList kids)
|
Exp |
getDst()
Returns the expression giving the destination for the computed value. |
Exp |
getSrc()
Returns the expression for the computed value. |
boolean |
isDoubleWord()
Returns true if the expression corresponds to a
64-bit value. |
boolean |
isFloatingPoint()
Returns true if the expression corresponds to a
floating-point value. |
ExpList |
kids()
Return a list of subexpressions of this Tree . |
int |
kind()
Return an integer enumeration of the kind of this Tree . |
Tree |
rename(TreeFactory tf,
TempMap tm,
Tree.CloneCallback cb)
Rename while cloning a subtree. |
void |
setDst(Exp dst)
Sets the expression giving the destination for the computed value. |
void |
setSrc(Exp src)
Sets the expression for the computed value. |
String |
toString()
|
int |
type()
Returns enumerated constant (INT, LONG, FLOAT, DOUBLE, or POINTER) corresponding to the type of the expression. |
Methods inherited from class harpoon.IR.Tree.Stm |
---|
build, isNop, linearize, toStm |
Methods inherited from class harpoon.IR.Tree.Tree |
---|
clone, clone, getChild, getFactory, getFirstChild, getID, getLineNumber, getParent, getSibling, getSourceFile, hashCode, rename, replace, setChild, unlink |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MOVE(TreeFactory tf, HCodeElement source, Exp dst, Exp src)
The type of the src
expression and of the
dst
expression must be identical. (Use
a UNOP
to convert, if they are necessary.)
Method Detail |
---|
public Exp getDst()
public Exp getSrc()
public void setDst(Exp dst)
public void setSrc(Exp src)
public int kind()
Tree
Tree
. The enumerated values are defined in
TreeKind
.
kind
in class Tree
public ExpList kids()
Tree
Tree
.
kids
in class Tree
public Stm build(TreeFactory tf, ExpList kids)
build
in class Stm
public void accept(TreeVisitor v)
accept
in class Tree
public Tree rename(TreeFactory tf, TempMap tm, Tree.CloneCallback cb)
Tree
TEMP
nodes
are renamed according to the supplied TempMap
.
Note that Temp
s not belonging to
this.getFactory().tempFactory()
are not affected.
The callback()
method of the supplied
CloneCallback
is invoked once on each subtree cloned,
starting from the leaves and working back to the root in a
post-order depth-first manner.
rename
in class Tree
public int type()
Typed
type
in interface Typed
dst
expression.public boolean isDoubleWord()
Typed
true
if the expression corresponds to a
64-bit value.
isDoubleWord
in interface Typed
public boolean isFloatingPoint()
Typed
true
if the expression corresponds to a
floating-point value.
isFloatingPoint
in interface Typed
public String toString()
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |