harpoon.Analysis.DataFlow
Class BackwardDataFlowBasicBlockVisitor

java.lang.Object
  extended by harpoon.Analysis.BasicBlockInterfVisitor
      extended by harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
          extended by harpoon.Analysis.DataFlow.BackwardDataFlowBasicBlockVisitor
Direct Known Subclasses:
LiveVars.BBVisitor

public abstract class BackwardDataFlowBasicBlockVisitor
extends DataFlowBasicBlockVisitor

BackwardDataFlowBasicBlockVisitor

Version:
$Id: BackwardDataFlowBasicBlockVisitor.java,v 1.6 2004/02/08 03:19:21 cananian Exp $
Author:
Felix S. Klock II <pnkfelix@mit.edu>

Constructor Summary
BackwardDataFlowBasicBlockVisitor()
           
 
Method Summary
 void addSuccessors(WorkSet W, BasicBlockInterf q)
          Performs the merge operation between q and its predecessors, readding BasicBlocks to W where necessary.
 
Methods inherited from class harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
db, merge, visit, visit
 
Methods inherited from class harpoon.Analysis.BasicBlockInterfVisitor
visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BackwardDataFlowBasicBlockVisitor

public BackwardDataFlowBasicBlockVisitor()
Method Detail

addSuccessors

public void addSuccessors(WorkSet W,
                          BasicBlockInterf q)
Performs the merge operation between q and its predecessors, readding BasicBlocks to W where necessary.
effects: Runs merge(q, p) for all p element of Predecessors(q). If the merge(q, p) operation returns true for a given p, adds p to W, indicating that p must be revisited by this.

Specified by:
addSuccessors in class DataFlowBasicBlockVisitor
See Also:
#merge(BasicBlock, BasicBlock)