harpoon.Analysis.DataFlow
Class ForwardDataFlowBasicBlockVisitor

java.lang.Object
  extended by harpoon.Analysis.BasicBlockInterfVisitor
      extended by harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
          extended by harpoon.Analysis.DataFlow.ForwardDataFlowBasicBlockVisitor
Direct Known Subclasses:
ReachingHCodeElements, TreeFolding

public abstract class ForwardDataFlowBasicBlockVisitor
extends DataFlowBasicBlockVisitor

ForwardDataFlowBasicBlockVisitor

Version:
$Id: ForwardDataFlowBasicBlockVisitor.java,v 1.6 2004/02/08 03:19:21 cananian Exp $
Author:
John Whaley <jwhaley@alum.mit.edu>

Constructor Summary
ForwardDataFlowBasicBlockVisitor()
           
 
Method Summary
 void addSuccessors(WorkSet W, BasicBlockInterf q)
          Performs the merge operation between q and its successors, 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

ForwardDataFlowBasicBlockVisitor

public ForwardDataFlowBasicBlockVisitor()
Method Detail

addSuccessors

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

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