harpoon.IR.LowQuad
Class LowQuadNoSSA
java.lang.Object
harpoon.ClassFile.HCode<Quad>
harpoon.IR.Quads.Code
harpoon.IR.LowQuad.Code
harpoon.IR.LowQuad.LowQuadNoSSA
- All Implemented Interfaces:
- Graph<Quad,Edge>, Serializable
- Direct Known Subclasses:
- MyLowQuadNoSSA
public class LowQuadNoSSA
- extends Code
The LowQuadNoSSA
codeview exposes a lowquad-based
representation. The distinguishing characteristic of this codeview
is that is not in SSA form. What this means is that, although there
are still PHI and SIGMA quads in this codeview, they do not actually
assign values to temporaries. In other words, PHI and SIGMA nodes
exist solely to indicate flow of control in a program, but they will
always be empty.
- Version:
- $Id: LowQuadNoSSA.java,v 1.3 2003/03/10 22:19:14 cananian Exp $
- Author:
- Duncan Bryce <duncan@lcs.mit.edu>
- See Also:
- Serialized Form
Constructor Summary |
protected |
LowQuadNoSSA(HMethod method,
Quad quads)
Create a new code object given a quadruple representation of the
method instructions. |
Methods inherited from class harpoon.IR.Quads.Code |
cloneHelper, elementArrayFactory, getAllocationInformation, getElements, getElementsI, getLeafElements, getMethod, getRootElement, nodes, notifyReplace, print, selectAllocations, selectCALLs, selectQuads, setAllocationInformation |
codename
public static final String codename
- The name of this code view.
- See Also:
- Constant Field Values
LowQuadNoSSA
protected LowQuadNoSSA(HMethod method,
Quad quads)
- Create a new code object given a quadruple representation of the
method instructions.
clone
public HCodeAndMaps<Quad> clone(HMethod newMethod)
- Clone this code representation. The clone has its own copy of the
quad graph.
- Specified by:
clone
in class Code
getName
public String getName()
- Return the name of this code view.
- Specified by:
getName
in class Code
- Returns:
- the string
"low-quad-no-ssa"
codeFactory
public static HCodeFactory codeFactory(HCodeFactory hcf)
- Return a code factory for
LowQuadNoSSA
, given a
code factory for either LowQuadSSI
.
effects: if hcf
is a code factory for
LowQuadSSI
, then creates and returns a code
factory for LowQuadNoSSA
. Else passes
hcf
to
LowQuadSSI.codeFactory()
, and reattempts to
create a code factory for LowQuadNoSSA
from the
code factory returned by LowQuadSSI
.
- See Also:
LowQuadSSI.codeFactory(HCodeFactory)
codeFactory
public static HCodeFactory codeFactory()
- Return a code factory for
LowQuadNoSSA
, using the default
code factory for LowQuadSSI