Polaris: GSAWorkSpace Class Reference

GSAWorkSpace Class Reference

GSA extension of DominatorWorkSpace. More...

#include <GSAWorkSpace.h>

Inheritance diagram for GSAWorkSpace:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 GSAWorkSpace (unsigned int pass_tag, int null_set_size=-1)
virtual ~GSAWorkSpace ()
virtual Listablelistable_clone () const
 Copy and return a pointer to any Listable item (MUST be implemented correctly by subclasses for List copy functions to work).
virtual int structures_OK () const
 Pure methods inherited from Listable.h.
virtual void print (ostream &o) const

Public Attributes

int Work
int HasAlready
List< Statement > * PHI
RefList< SymbolPHI_name
 Using bitwise operation.
IntSet_b_sdef
IntSet_b_idef
IntSet_b_def
int _i_b_def
IntSet_b_label_def
 For building gating functions.
GSAPathExprpath_idom
GSAPathExprpath_label
GSAPathExprpath_star
List< GSAPathExprpath
RefList< Statementtails
int number_of_predecessors

Friends

ostream & operator<< (ostream &o, const GSAWorkSpace &d)

Detailed Description

GSA extension of DominatorWorkSpace.

Polaris C++ VDL

See also:
GSAWorkSpace.h

GSAWorkSpace.cc

DESCRIPTION

Find the immediate dominators in a flow graph Algorithm from "A Fast Algorithm for Finding Dominators in a Flowgraph" by T. Lengauer and R. E. Tarjan. ACM TPLS Vol. 1, No.1, July 1979, Pages 121-141

Definition at line 35 of file GSAWorkSpace.h.


Constructor & Destructor Documentation

GSAWorkSpace::GSAWorkSpace unsigned int  pass_tag,
int  null_set_size = -1
[inline]
 

Referenced by listable_clone().

GSAWorkSpace::~GSAWorkSpace  )  [inline, virtual]
 

Definition at line 86 of file GSAWorkSpace.h.

References path_idom, path_label, path_star, PHI, and unregister_instance().


Member Function Documentation

Listable * GSAWorkSpace::listable_clone  )  const [virtual]
 

Copy and return a pointer to any Listable item (MUST be implemented correctly by subclasses for List copy functions to work).

Reimplemented from DominatorWorkSpace.

Definition at line 16 of file GSAWorkSpace.cc.

References DominatorWorkSpace::ancestor, DominatorWorkSpace::branch, DominatorWorkSpace::child, DominatorWorkSpace::DF, GSAWorkSpace(), DominatorWorkSpace::idom, DominatorWorkSpace::label, DominatorWorkSpace::parent, DominatorWorkSpace::semi, and DominatorWorkSpace::size.

int GSAWorkSpace::structures_OK  )  const [virtual]
 

Pure methods inherited from Listable.h.

Reimplemented from DominatorWorkSpace.

Definition at line 33 of file GSAWorkSpace.cc.

void GSAWorkSpace::print ostream &  o  )  const [virtual]
 

Reimplemented from DominatorWorkSpace.

Definition at line 39 of file GSAWorkSpace.cc.

References path_idom, path_star, Statement::tag(), List< T >::valid(), RefList< T >::valid(), and Statement::value().


Friends And Related Function Documentation

ostream& operator<< ostream &  o,
const GSAWorkSpace d
[friend]
 

Definition at line 9 of file GSAWorkSpace.cc.


Member Data Documentation

int GSAWorkSpace::Work
 

Definition at line 39 of file GSAWorkSpace.h.

int GSAWorkSpace::HasAlready
 

Definition at line 39 of file GSAWorkSpace.h.

List<Statement>* GSAWorkSpace::PHI
 

Definition at line 40 of file GSAWorkSpace.h.

Referenced by insert_pseudo_assignment_stmts(), InsertPhiStmt(), SEARCH(), and ~GSAWorkSpace().

RefList<Symbol> GSAWorkSpace::PHI_name
 

Using bitwise operation.

Definition at line 43 of file GSAWorkSpace.h.

Referenced by insert_pseudo_assignment_stmts(), and SEARCH().

IntSet* GSAWorkSpace::_b_sdef
 

Definition at line 44 of file GSAWorkSpace.h.

Referenced by DFS_S(), Dominator_S(), insert_pseudo_assignment_stmts(), and LINK_S().

IntSet* GSAWorkSpace::_b_idef
 

Definition at line 45 of file GSAWorkSpace.h.

Referenced by DFS_S(), Dominator_S(), and insert_pseudo_assignment_stmts().

IntSet* GSAWorkSpace::_b_def
 

Definition at line 46 of file GSAWorkSpace.h.

Referenced by DFS_S(), insert_pseudo_assignment_stmts(), and LINK_S().

int GSAWorkSpace::_i_b_def
 

Definition at line 47 of file GSAWorkSpace.h.

Referenced by DFS_S(), and LINK_S().

IntSet* GSAWorkSpace::_b_label_def
 

For building gating functions.

Definition at line 50 of file GSAWorkSpace.h.

Referenced by COMPRESS_S(), DFS_S(), EVAL_S(), insert_pseudo_assignment_stmts(), and LINK_S().

GSAPathExpr* GSAWorkSpace::path_idom
 

Definition at line 51 of file GSAWorkSpace.h.

Referenced by gating(), InsertPhiStmt(), LINK_PATH(), print(), and ~GSAWorkSpace().

GSAPathExpr* GSAWorkSpace::path_label
 

Definition at line 52 of file GSAWorkSpace.h.

Referenced by COMPRESS_PATH(), EVAL_PATH(), InsertPhiStmt(), LINK_PATH(), and ~GSAWorkSpace().

GSAPathExpr* GSAWorkSpace::path_star
 

Definition at line 53 of file GSAWorkSpace.h.

Referenced by gating(), insert_pseudo_assignment_stmts(), InsertPhiStmt(), print(), and ~GSAWorkSpace().

List<GSAPathExpr> GSAWorkSpace::path
 

Definition at line 54 of file GSAWorkSpace.h.

Referenced by gating().

RefList<Statement> GSAWorkSpace::tails
 

Definition at line 55 of file GSAWorkSpace.h.

Referenced by COMPRESS_PATH(), EVAL_PATH(), and gating().

int GSAWorkSpace::number_of_predecessors
 

Definition at line 56 of file GSAWorkSpace.h.

Referenced by gating().


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:29 2005