Otawa  0.10
otawa::dfa::hai::DefaultListener< P > Class Template Reference

This listener gathers in an array the LUB of the in-states for all analyzed basic blocks. More...

#include <otawa/dfa/hai/DefaultListener.h>

Public Types

typedef P Problem
 

Public Member Functions

 DefaultListener (WorkSpace *_fw, Problem &_prob, bool _store_out=false)
 
 ~DefaultListener ()
 
void blockInterpreted (const DefaultFixPoint< DefaultListener > *fp, BasicBlock *bb, const typename Problem::Domain &in, const typename Problem::Domain &out, CFG *cur_cfg, elm::genstruct::Vector< Edge * > *callStack) const
 This is called whenever a block is processed. More...
 
void fixPointReached (const DefaultFixPoint< DefaultListener > *fp, BasicBlock *bb)
 This is called whenever a loop's fixpoint is reached. More...
 
ProblemgetProb ()
 

Public Attributes

Problem::Domain *** results
 
Problem::Domain *** results_out
 

Static Public Attributes

static Identifier< typename
Problem::Domain * > 
BB_OUT_STATE
 PRIVATE - DO NOT USE. More...
 

Private Attributes

WorkSpacefw
 
Problemprob
 
bool store_out
 

Detailed Description

template<class P>
class otawa::dfa::hai::DefaultListener< P >

This listener gathers in an array the LUB of the in-states for all analyzed basic blocks.

At the end of the analysis, you can access result[CFGNUMBER][BBNUMBER] to obtain the in-state of the basic block BBNUMBER of cfg CFGNUMBER.

Member Typedef Documentation

template<class P>
typedef P otawa::dfa::hai::DefaultListener< P >::Problem

Constructor & Destructor Documentation

Member Function Documentation

template<class Problem >
void otawa::dfa::hai::DefaultListener< P >::blockInterpreted ( const DefaultFixPoint< DefaultListener< P > > *  fp,
BasicBlock bb,
const typename Problem::Domain &  in,
const typename Problem::Domain &  out,
CFG cur_cfg,
elm::genstruct::Vector< Edge * > *  callStack 
) const

This is called whenever a block is processed.

In the DefaultListener, we do the LUB of all the in-states of each block.

Parameters
fpThe FixPoint object
bbThe Basic Block
inIn-state
outOut-state (not used in this class)
cur_cfgCurrent CFG

References cerr, otawa::CFG::number(), and otawa::BasicBlock::number().

template<class Problem >
void otawa::dfa::hai::DefaultListener< P >::fixPointReached ( const DefaultFixPoint< DefaultListener< P > > *  fp,
BasicBlock bb 
)

This is called whenever a loop's fixpoint is reached.

Parameters
fpThe FixPoint object
bbThe loop header.
template<class P>
Problem& otawa::dfa::hai::DefaultListener< P >::getProb ( )
inline

Member Data Documentation

template<class P>
Identifier< typename Problem::Domain * > otawa::dfa::hai::DefaultListener< Problem >::BB_OUT_STATE
static

PRIVATE - DO NOT USE.


The documentation for this class was generated from the following files: