ACT Library
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
ActStatePass Class Reference

#include <statepass.h>

Inheritance diagram for ActStatePass:
ActPass

Public Member Functions

 ActStatePass (Act *a, int inst_offset=0)
 
 ~ActStatePass ()
 
int run (Process *p=NULL)
 
void Print (FILE *fp, Process *p=NULL)
 
stateinfo_tgetStateInfo (Process *p)
 
act_boolean_netlist_tgetBNL (Process *p)
 
int getTypeOffset (stateinfo_t *si, act_connection *c, int *offset, int *type, int *width)
 
int getTypeDynamicStructOffset (stateinfo_t *si, act_connection *c, int *offset_i, int *offset_b)
 
bool connExists (stateinfo_t *si, act_connection *c)
 
int getTypeOffset (Process *p, act_connection *c, int *offset, int *type, int *width)
 
act_connectiongetConnFromOffset (stateinfo_t *si, int offset, int type, int *dy)
 
act_connectiongetConnFromOffset (Process *p, int offset, int type, int *dy)
 
state_counts getGlobals ()
 
stateinfo_trootStateInfo ()
 
int isGlobalOffset (int off)
 
int isPortOffset (int off)
 
int portIdx (int off)
 
int globalIdx (int off)
 
int instOffsets ()
 
int checkIdExists (ActId *id)
 
int globalBoolOffset (ActId *id)
 
- Public Member Functions inherited from ActPass
 ActPass (Act *_a, const char *name, int doroot=0)
 
virtual ~ActPass ()
 release storage
 
void update (Process *p)
 
int rundeps (Process *p=NULL)
 
const char * getName ()
 
virtual int run (Process *p=NULL)
 
int completed ()
 
int pending ()
 
void * getMap (UserDef *u)
 
void * getGlobalInfo ()
 
ActgetAct ()
 
ActPassgetPass (const char *name)
 
ProcessgetRoot ()
 
virtual void run_recursive (Process *p=NULL, int mode=0)
 
void disableUpdate ()
 
void enableUpdate ()
 
void mkStickyVisited ()
 
void clrStickyVisited ()
 

Static Public Member Functions

static void getStructCount (Data *d, state_counts *sc)
 
- Static Public Member Functions inherited from ActPass
static void refreshAll (Act *a, Process *p=NULL)
 

Private Member Functions

void * local_op (Process *p, int mode=0)
 
void free_local (void *)
 
stateinfo_tcountLocalState (Process *p)
 
void printLocal (FILE *fp, Process *p)
 

Private Attributes

int _black_box_mode
 
int _inst_offsets
 
stateinfo_t_root_si
 
state_counts _globals
 
ActBooleanizePassbp
 
FILE * _fp
 

Additional Inherited Members

- Protected Member Functions inherited from ActPass
virtual void _actual_update (Process *p)
 
int AddDependency (const char *pass)
 
- Protected Attributes inherited from ActPass
int _finished
 has the pass finished execution?
 
int _sticky_visited
 
Acta
 
list_t * deps
 
list_t * fwdeps
 
const char * name
 the name for the pass
 
int _update_propagate
 
int _root_dirty
 
Process_root
 the root of the design
 
void * _global_info
 

Constructor & Destructor Documentation

◆ ActStatePass()

ActStatePass::ActStatePass ( Act a,
int  inst_offset = 0 
)

◆ ~ActStatePass()

ActStatePass::~ActStatePass ( )

Member Function Documentation

◆ checkIdExists()

int ActStatePass::checkIdExists ( ActId id)

◆ connExists()

bool ActStatePass::connExists ( stateinfo_t si,
act_connection c 
)

◆ countLocalState()

stateinfo_t * ActStatePass::countLocalState ( Process p)
private

◆ free_local()

void ActStatePass::free_local ( void *  )
privatevirtual

Free the data structure allocated by calls to pre_op()/local_op().

Reimplemented from ActPass.

◆ getBNL()

act_boolean_netlist_t * ActStatePass::getBNL ( Process p)
inline

◆ getConnFromOffset() [1/2]

act_connection * ActStatePass::getConnFromOffset ( Process p,
int  offset,
int  type,
int *  dy 
)
inline

◆ getConnFromOffset() [2/2]

act_connection * ActStatePass::getConnFromOffset ( stateinfo_t si,
int  offset,
int  type,
int *  dy 
)

◆ getGlobals()

state_counts ActStatePass::getGlobals ( )
inline

◆ getStateInfo()

stateinfo_t * ActStatePass::getStateInfo ( Process p)

◆ getStructCount()

static void ActStatePass::getStructCount ( Data d,
state_counts sc 
)
static

◆ getTypeDynamicStructOffset()

int ActStatePass::getTypeDynamicStructOffset ( stateinfo_t si,
act_connection c,
int *  offset_i,
int *  offset_b 
)

◆ getTypeOffset() [1/2]

int ActStatePass::getTypeOffset ( Process p,
act_connection c,
int *  offset,
int *  type,
int *  width 
)
inline

◆ getTypeOffset() [2/2]

int ActStatePass::getTypeOffset ( stateinfo_t si,
act_connection c,
int *  offset,
int *  type,
int *  width 
)

◆ globalBoolOffset()

int ActStatePass::globalBoolOffset ( ActId id)

◆ globalIdx()

int ActStatePass::globalIdx ( int  off)
inline

◆ instOffsets()

int ActStatePass::instOffsets ( )
inline

◆ isGlobalOffset()

int ActStatePass::isGlobalOffset ( int  off)
inline

◆ isPortOffset()

int ActStatePass::isPortOffset ( int  off)
inline

◆ local_op()

void * ActStatePass::local_op ( Process p,
int  mode = 0 
)
privatevirtual

This function is called exactly once per process that is reachable from the root of the pass. It is called after all the types instantiated within the process are visited.

Parameters
pis the process type
modeis the mode flag passed to this call.
Returns
the data structure that is to be associated with this process

Reimplemented from ActPass.

◆ portIdx()

int ActStatePass::portIdx ( int  off)
inline

◆ Print()

void ActStatePass::Print ( FILE *  fp,
Process p = NULL 
)

◆ printLocal()

void ActStatePass::printLocal ( FILE *  fp,
Process p 
)
private

◆ rootStateInfo()

stateinfo_t * ActStatePass::rootStateInfo ( )
inline

◆ run()

int ActStatePass::run ( Process p = NULL)
virtual

Run the entire pass with the specified top-level process name

Parameters
pis the tyoe of the top-level process; NULL means that the top-level of the design is the global namespace and not a specific process.
Returns
1 on success, 0 if any dependencies failed.

Reimplemented from ActPass.

Member Data Documentation

◆ _black_box_mode

int ActStatePass::_black_box_mode
private

◆ _fp

FILE* ActStatePass::_fp
private

◆ _globals

state_counts ActStatePass::_globals
private

◆ _inst_offsets

int ActStatePass::_inst_offsets
private

◆ _root_si

stateinfo_t* ActStatePass::_root_si
private

◆ bp

ActBooleanizePass* ActStatePass::bp
private

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