harpoon.Analysis.DataFlow
Class SpaceHeavyLiveTemps
java.lang.Object
harpoon.Analysis.BasicBlockInterfVisitor
harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
harpoon.Analysis.DataFlow.BackwardDataFlowBasicBlockVisitor
harpoon.Analysis.DataFlow.LiveVars.BBVisitor
harpoon.Analysis.DataFlow.LiveTemps
harpoon.Analysis.DataFlow.SpaceHeavyLiveTemps
public class SpaceHeavyLiveTemps
- extends LiveTemps
SpaceHeavyLiveTemps
is an extension of
LiveTemps
that keeps ALL of the results of the queries
that it has calculated alive. This can lead to large space
overhead but this is offset by the decrease in required time for
repeated queries.
I plan to eventually paraterize this class with a scaling factor so
that space can be decreased by a constant-factor at the cost of a
corresponding increase in recomputation-times; for now the class
can be treated as if the scaling factor were equal to 1.
- Version:
- $Id: SpaceHeavyLiveTemps.java,v 1.7 2004/02/08 01:51:05 cananian Exp $
- Author:
- Felix S. Klock II <pnkfelix@mit.edu>
Constructor Summary |
SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit)
Creates a SpaceHeavyLiveTemps . |
SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
SetFactory tempSetFact,
UseDefer ud)
|
SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
SetFactory tempSetFact,
UseDefer ud,
CFGrapher grapher)
|
SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
UseDefer ud)
|
SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
UseDefer ud,
CFGrapher grapher)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SpaceHeavyLiveTemps
public SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit)
- Creates a
SpaceHeavyLiveTemps
.
SpaceHeavyLiveTemps
public SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
UseDefer ud)
SpaceHeavyLiveTemps
public SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
UseDefer ud,
CFGrapher grapher)
SpaceHeavyLiveTemps
public SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
SetFactory tempSetFact,
UseDefer ud)
SpaceHeavyLiveTemps
public SpaceHeavyLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
SetFactory tempSetFact,
UseDefer ud,
CFGrapher grapher)
make
public static LiveTemps make(HCode code,
Set liveOnExit)
getLiveAfter
public Set getLiveAfter(HCodeElement hce)
- Description copied from class:
LiveTemps
- Returns the
Set
of Temp
s that are
live on exit from hce
.
requires: A DataFlow Equation Solver has been run
to completion on the graph of BasicBlock
s
containing some block that contains hce
,
with this
as the
DataFlowBasicBlockVisitor
.
effects: Returns a Set
of
Temp
s that are live on exit from
hce
.
- Overrides:
getLiveAfter
in class LiveTemps