|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
---|---|
BackwardDataFlowBasicBlockVisitor | BackwardDataFlowBasicBlockVisitor |
BackwardDataFlowQuadVisitor | BackwardDataFlowQuadVisitor |
CachingLiveTemps | CachingLiveTemps is an extension of
LiveTemps that keeps a cache of the recent results
that it calculated. |
DataFlowBasicBlockVisitor | DataFlowBasicBlockVisitor is a specialized
BasicBlockVisitor for performing data flow analysis on
a set of BasicBlock . |
DataFlowQuadVisitor | DataFlowQuadVisitor |
ForwardDataFlowBasicBlockVisitor | ForwardDataFlowBasicBlockVisitor |
ForwardDataFlowQuadVisitor | ForwardDataFlowQuadVisitor |
InstrSolver | InstrSolver |
LiveTemps | LiveTemps is an extension of LiveVars for
performing liveness analysis on Temp s. |
LiveVars | LiveVars performs Liveness Analysis for the variables
in the HCode s passed to it. |
LiveVars.BBVisitor | |
LiveVars.BBVisitor.LiveVarInfo | |
ReachingDefs | ReachingDefs is a ForwardDataFlowBasicBlockVisitor
for performing reaching definitions analysis on any IR that implements
HCodeElement , CFGraphable , and
UseDefable . |
ReachingHCodeElements | ReachingHCodeElements is an extension of
ReachingDefs for performing reaching definitions analysis on
HCodeElements s. |
ReversePostOrderEnumerator | |
ReversePostOrderIterator | |
Solver | Solver contains static methods to find the fixed point
of a set of data-flow equations. |
SpaceHeavyLiveTemps | SpaceHeavyLiveTemps is an extension of
LiveTemps that keeps ALL of the results of the queries
that it has calculated alive. |
TreeSolver | A blatant rip-off of Whaley's QuadSolver class, used to
solve data flow equations (baby). |
Provides the classes for performing Data-Flow Analysis on a number of Intermediate Representations.
The purpose of data-flow analysis is to provide global information about how a procedure (or a larger segment of a program) manipulates its data. For example, constant-propagation analysis seeks to determine whether all asssignments to a particular variable that may provide the value of that variable at some particular point necessarily give it the same constant value. If so, a use of the variable at that point can be replaced by the constant.Muchnick, Steven S., Advanced Compiler Design & Implementation, pg. 217
The design of the DataFlow package implements data-flow analysis passes in terms of three parts: a flowgraph of nodes, a node-visitor to calculate flow functions defined according to a lattice, and a solver to find a maximum fixed point of the lattice.
Generally the nodes of an analysis will be BasicBlock objects, and the corresponding visitor will be an subclass of BasicBlockVisitor.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |