scale.backend.trips2
Class DataflowAnalysis

java.lang.Object
  extended by scale.backend.trips2.DataflowAnalysis

public class DataflowAnalysis
extends java.lang.Object

This class computes liveness on the Hyperblock Flow Graph.

$Id: DataflowAnalysis.java,v 1.31 2006-11-16 17:49:39 burrill Exp $

Copyright 2008 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.


Constructor Summary
DataflowAnalysis(Hyperblock hbStart, RegisterSet regs)
          The default constructor.
 
Method Summary
protected  void computeLiveness()
          Compute liveness -- all registers live for a hyperblock.
protected  void computeLiveness3()
          Compute liveness -- all registers live for a hyperblock and its predicate blocks.
 BitVect getBlockIn(int tag)
          Return the registers live-in to a predicate block.
 BitVect getBlockOut(int tag)
          Return the registers live-out of a predicate block.
 BitVect getDef(int tag)
          Return the registers defined in a hyperblock.
 BitVect[] getDefs()
          Return the registers defined.
 BitVect getIn(int tag)
          Return the live-in's for a hyperblock.
 BitVect[] getIns()
          Return the registers live-in.
 BitVect getMod(int tag)
          Return the registers clobered by a hyperblock.
 BitVect[] getMods()
          Return the registers modified.
 BitVect getOut(int tag)
          Return the live-out's for a hyperblock.
 BitVect[] getOuts()
          Return the registers live-out.
 BitVect getUse(int tag)
          Return the registers used in a hyperblock.
 BitVect[] getUses()
          Return the registers used.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataflowAnalysis

public DataflowAnalysis(Hyperblock hbStart,
                        RegisterSet regs)
The default constructor.

Method Detail

getIn

public BitVect getIn(int tag)
Return the live-in's for a hyperblock.


getIns

public BitVect[] getIns()
Return the registers live-in.


getOut

public BitVect getOut(int tag)
Return the live-out's for a hyperblock.


getOuts

public BitVect[] getOuts()
Return the registers live-out.


getDef

public BitVect getDef(int tag)
Return the registers defined in a hyperblock.


getDefs

public BitVect[] getDefs()
Return the registers defined.


getUse

public BitVect getUse(int tag)
Return the registers used in a hyperblock.


getUses

public BitVect[] getUses()
Return the registers used.


getMod

public BitVect getMod(int tag)
Return the registers clobered by a hyperblock.


getMods

public BitVect[] getMods()
Return the registers modified.


getBlockIn

public BitVect getBlockIn(int tag)
Return the registers live-in to a predicate block.


getBlockOut

public BitVect getBlockOut(int tag)
Return the registers live-out of a predicate block.


computeLiveness

protected void computeLiveness()
Compute liveness -- all registers live for a hyperblock.


computeLiveness3

protected void computeLiveness3()
Compute liveness -- all registers live for a hyperblock and its predicate blocks.