|
||||||||||
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 | BasicBlockFactoryInterf |
BasicBlockInterf | BasicBlockInterf is the interface that needs to be
implemented by any "basic block"-like structure. |
CallGraph | CallGraph is a general IR-independant interface that
for a call graph. |
InterferenceGraph | InterferenceGraph is an abstract interface for
interference graphs. |
Class Summary | |
AllCallers | AllCallers calculates the transitive closure of the dual
of the call graph for methods that fulfill a certain condition. |
AllocationInformationMap | An AllocationInformationMap makes it easy to create a
map-based AllocationInformation structure. |
AllocationInformationMap.AllocationPropertiesImpl | A simple implementation of AllocationProperties . |
BasicBlock | BasicBlock collects a sequence of operations. |
BasicBlock.Factory | 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. |
ClassHierarchy | A ClassHierarchy enumerates reachable/usable classes
and methods. |
Context | 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. |
DomFrontier | DomFrontier computes the dominance frontier of a
flowgraph-structured IR. |
DomTree | 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 | A GenericContextFactory can create Context
objects for any desired level of context-sensitivity. |
Liveness | Liveness defines an abstract class for live variable analysis. |
Place | Place determines the proper locations for phi/sigma
functions. |
ReachingDefs | ReachingDefs defines an abstract class for
analyzing reaching definitions. |
ReachingDefsAltImpl | ReachingDefsAltImpl |
ReachingDefsCachingImpl | 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 | 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 | SSxReachingDefsImpl is a ReachingDefs
implementation that works on codeviews in SSA or SSI form. |
UseDef | 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 |