|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
AllCallers.MethodSet | MethodSet defines the interface whose method
select is used in getCallers as a
predicate. |
BasicBlockFactoryInterf<HCE extends HCodeElement,BB extends BasicBlockInterf<HCE,BB>> | BasicBlockFactoryInterf |
BasicBlockInterf<HCE extends HCodeElement,BB extends BasicBlockInterf> | BasicBlockInterf is the interface that needs to be
implemented by any "basic block"-like structure. |
InterferenceGraph | InterferenceGraph is an abstract interface for
interference graphs. |
PointsToAnalysis.Node<HCE extends HCodeElement> | PointsToAnalysis.Node is just a marker interface for
the nodes in the points-to graph returned by the
PointsToAnalysis interface. |
Class Summary | |
---|---|
AbstractClassFixupRelinker | AbstractClassFixupRelinker is an extension of Relinker
which fixes up abstract classes so that they implement all the methods
of their interfaces (even if this implementation is via an abstract
method declaration). |
AllCallers | AllCallers calculates the transitive closure of the dual
of the call graph for methods that fulfill a certain condition. |
AllocationInformationMap<HCE extends HCodeElement> | An AllocationInformationMap makes it easy to create a
map-based AllocationInformation structure. |
AllocationInformationMap.AllocationPropertiesImpl | A simple implementation of AllocationProperties . |
BasicBlock<HCE extends HCodeElement> | BasicBlock collects a sequence of operations. |
BasicBlock.Factory<HCE extends HCodeElement> | Factory structure for generating BasicBlock views of
an HCode . |
BasicBlockInterfVisitor | BasicBlockInterfVisitor is a visitor class implemented similarly to QuadVisitor, with the idea that we may eventually have different kinds of basic blocks. |
CallGraph | CallGraph is a general IR-independant interface that
for a call graph. |
ChainedAllocationProperties | ChainedAllocationProperties allows us to change
several properties of an already existing
AllocationProperties . |
ClassHierarchy | A ClassHierarchy enumerates reachable/usable classes
and callable methods. |
Context<E> | A Context object is an opaque representation of a
method's calling context, intended to make it easier to
generalize across context-sensitive and context-insensitive
analyses. |
CycleEq | CycleEq computes cycle equivalence classes for edges in
a control flow graph, in O(E) time. |
DefaultAllocationInformation | DefaultAllocationInformation returns a simple
no-analysis AllocationInformation structure which
works for allocation sites in quad form. |
DefaultAllocationInformationMap | DefaultAllocationInformationMap is a combination of
AllocationInformationMap and
DefaultAllocationInformation . |
DomFrontier | DomFrontier computes the dominance frontier of a
flowgraph-structured IR. |
DomTree<HCE extends HCodeElement> | DomTree computes the dominator tree of a flowgraph-structured
IR. |
EdgesIterator | EdgesIterator is a generic iterator for a set of
CFGraphable objects. |
FCFGBasicBlock | FCFGBasicBlock is a basic block structure for the Factored
Control Flow Graph (FCFG) representation. |
FCFGBasicBlock.Factory | Factory structure for generating FCFGBasicBlock
views of an HCode . |
GenericContextFactory<E> | A GenericContextFactory can create Context
objects for any desired level of context-sensitivity. |
IOEffectAnalysis | IOEffectAnalysis is a simple analysis that detects
whether a method may (transitively) execute an input/output
operation. |
Liveness<HCE extends HCodeElement> | Liveness defines an abstract class for live variable analysis. |
Place | Place determines the proper locations for phi/sigma
functions. |
PointsToAnalysis<HCE extends HCodeElement,NODE extends PointsToAnalysis.Node<HCE>,CONTEXT extends Context> | The PointsToAnalysis interface encapsulates a points-to
pointer analysis algorithm, allowing transformation and analysis
code to use the results of a PointsToAnalysis w/o
knowing the details of its implementation. |
Reachable<HCE extends HCodeElement> | Reachable |
ReachingDefs<HCE extends HCodeElement> | ReachingDefs defines an abstract class for
analyzing reaching definitions. |
ReachingDefsAltImpl<HCE extends HCodeElement> | ReachingDefsAltImpl |
ReachingDefsCachingImpl<HCE extends HCodeElement> | ReachingDefsCachingImpl is an extension of
ReachingDefsImpl that keeps a BasicBlock local cache
mapping Temp:t -> HCodeElement:h -> Set:s where s is the result of
calling reachingDefs(h, t). |
ReachingDefsImpl<HCE extends HCodeElement> | ReachingDefsImpl defines an implementation
for analyzing reaching definitions. |
SESE | SESE computes nested single-entry single-exit regions
from a cycle-equivalency set. |
SESE.Region | SESE.Region represents a single-entry single-exit
(SESE) Region, as computed by the SESE object. |
SSxReachingDefsImpl<HCE extends HCodeElement> | SSxReachingDefsImpl is a ReachingDefs
implementation that works on codeviews in SSA or SSI form. |
UseDef<HCE extends HCodeElement> | UseDef objects map Temp s to the
HCodeElement s which use or define
them. |
UseDefChecker | UseDefChecker verifies that all variables are defined
before they are used. |
UseDefChecker.ReachingDefsFactory | The UseDefChecker constructor takes a
ReachingDefsFactory argument to specify which
ReachingDefs implementation it should use. |
This package contains analysis routines applicable to a variety of
intermediate representations. Typically, the only requirement is
that the IR implement some set of properties from
harpoon.IR.Properties
.
IR-specific analysis should not be placed in this package. In addition, if you analysis is very complicated, you should also create a separate package for it. Primarily basic compiler algorithms go here, including construction of dominance trees and frontiers and basic graph algorithms.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |