Polaris: DDgraph Class Reference

DDgraph Class Reference

a semantic interface to the Data Dependence Graph. More...

#include <DDgraph.h>

List of all members.

Public Member Functions

 DDgraph (StmtList &stmts)
 ~DDgraph ()
 A DDiterator object pretends to iterate over each DVfield which embraces the data dependence information between two expressions (See above), but it actually contains at any moment all the data stored in an arc where several DVfields might be included.
void add (List< DVfield > &dv_fields)
 dv_fields is a list of DV fields where each DV field has dependency information between two expressions

Friends

class DDgraphTester
class ActiveArc
class DDiterator
 to use the private member functions


Detailed Description

a semantic interface to the Data Dependence Graph.

Polaris Base

See also:
DDgraph.h

DDgraph.h

Overview

The DDgraph provides the user with information about the data dependences contained in a program.

Description

The DDgraph provides the user with information about the data dependences contained in a program.

Caveats

A paragraph describing unusual features of the class. This paragraph may be omitted.

Definition at line 344 of file DDgraph.h.


Constructor & Destructor Documentation

DDgraph::DDgraph StmtList stmts  )  [inline]
 

< p_assert("sizeof(Arc_type) & sizeof(Binary_flag) must be equal to 1 byte");

Definition at line 570 of file DDgraph.h.

References Arc_type, and Binary_flag.

DDgraph::~DDgraph  )  [inline]
 

A DDiterator object pretends to iterate over each DVfield which embraces the data dependence information between two expressions (See above), but it actually contains at any moment all the data stored in an arc where several DVfields might be included.

When it has ended its iteration over all the DVfields in an arc, it throws away all the information pertaing to the old arc such as List<DVfield>, and moves to the next arc(if necessay, the next Expression and the next Statement too) creating and organizing the information for the new arc.

Definition at line 583 of file DDgraph.h.


Member Function Documentation

void DDgraph::add List< DVfield > &  dv_fields  ) 
 

dv_fields is a list of DV fields where each DV field has dependency information between two expressions

Instead of directly adding these to DDgraph, usually turn them into a compact form and embed them into the ProgramUint for the future use. But, if one of these DVfields would belong to an arc which is currently active, then it must be directly added to the corresponding active structure ActiveArc.

Definition at line 1517 of file DDgraph.cc.

References _DELIM, DVfield::_dep_decided, DVfield::_dep_type, DVfield::_dv, DVfield::_from_expr, ActiveArc::_next_arc, _NORMAL, ActiveArc::_prev_arc, _REVERSE, ActiveArc::_source_expr, ActiveArc::_target_expr, ActiveArc::_this_arc, DVfield::_to_expr, DVfield::_to_stmt, ActiveArc::_working_dv_fields, Arc_type, ARRAY_REF_OP, List< T >::clear(), Expression::clone(), constant(), Iterator< T >::current(), DVfield::dep_decided(), DVfield::dep_type(), ElementDV::direction(), List< T >::entries(), List< T >::grab(), Mutator< T >::grab(), ID_OP, List< T >::ins_first(), List< T >::ins_last(), DVfield::label(), ElementDV::max_distance(), ElementDV::min_distance(), Expression::op(), Iterator< T >::reset(), and Iterator< T >::valid().

Referenced by DDgraphTester::add().


Friends And Related Function Documentation

friend class DDgraphTester [friend]
 

Definition at line 347 of file DDgraph.h.

friend class ActiveArc [friend]
 

Definition at line 349 of file DDgraph.h.

friend class DDiterator [friend]
 

to use the private member functions

Definition at line 351 of file DDgraph.h.


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:09 2005