Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

BB_Edge_Profile Class Reference

#include <bb_edge_profile.h>

List of all members.

Public Member Functions

 BB_Edge_Profile ()
 ~BB_Edge_Profile ()
void set_bb_profile_table_string (char *i)
void set_edge_profile_table_string (char *i)
void doit (legoModule *ModulePtr, int option)
void instrument (legoProc *proc_ptr)
void recursive_instrument (legoProc *proc_ptr, legoRegion *region_ptr)
void insert_probe (legoProc *proc_ptr, legoRegion *region_ptr)
void instrument_exit_op (legoProc *proc_ptr, legoRegion *region_ptr, legoOp *exit_op)
void insert_3_probes (legoProc *proc_ptr, legoRegion *region_ptr, legoOprd *predicate_oprd, int true_path_mapping, int false_path_mapping, legoOp *from_op_ptr)
void open_main_file (int bb_max_entry, int edge_max_entry)
void close_main_file ()
void open_header_file ()
void close_header_file ()
void lego_write (legoModule *module_ptr, char *input_filename)
int bbid_end_has_probe (int region_id)
void bbid_end_insert (int region_id)
int bbid_start_has_probe (int region_id)
void bbid_start_insert (int region_id)
void reset_bbid_start ()
void reset_bbid_end ()
 BB_Edge_Profile ()
 ~BB_Edge_Profile ()
void set_bb_profile_table_string (char *i)
void set_edge_profile_table_string (char *i)
void doit (legoModule *ModulePtr, int option)
void instrument (legoProc *proc_ptr)
void recursive_instrument (legoProc *proc_ptr, legoRegion *region_ptr)
void insert_probe (legoProc *proc_ptr, legoRegion *region_ptr)
void instrument_exit_op (legoProc *proc_ptr, legoRegion *region_ptr, legoOp *exit_op)
void insert_3_probes (legoProc *proc_ptr, legoRegion *region_ptr, legoOprd *predicate_oprd, int true_path_mapping, int false_path_mapping, legoOp *from_op_ptr)
void open_main_file (int bb_max_entry, int edge_max_entry)
void close_main_file ()
void open_header_file ()
void close_header_file ()
void lego_write (legoModule *module_ptr, char *input_filename)
int bbid_end_has_probe (int region_id)
void bbid_end_insert (int region_id)
int bbid_start_has_probe (int region_id)
void bbid_start_insert (int region_id)
void reset_bbid_start ()
void reset_bbid_end ()

Private Attributes

FILE * _main_fp
FILE * _header_fp
char * _bb_profile_table_string
char * _edge_profile_table_string
int _bbid_start [MAX_BB_ENTRY]
int _bbid_end [MAX_BB_ENTRY]
int _bbid_start_index
int _bbid_end_index
Instrument _my_instrument
Node_Table_bb_node_table
Edge_Table_edge_table
FILE * _main_fp
FILE * _header_fp
char * _bb_profile_table_string
char * _edge_profile_table_string
Node_Table_bb_node_table
Edge_Table_edge_table


Constructor & Destructor Documentation

BB_Edge_Profile::BB_Edge_Profile  )  [inline]
 

Definition at line 32 of file include/bb_edge_profile.h.

References _bb_node_table, _bb_profile_table_string, _bbid_end_index, _bbid_start_index, _edge_profile_table_string, and _edge_table.

BB_Edge_Profile::~BB_Edge_Profile  )  [inline]
 

Definition at line 34 of file include/bb_edge_profile.h.

References _bb_profile_table_string, and _edge_profile_table_string.

BB_Edge_Profile::BB_Edge_Profile  )  [inline]
 

Definition at line 32 of file src/bb_edge_profile.h.

References _bb_node_table, _bb_profile_table_string, _bbid_end_index, _bbid_start_index, _edge_profile_table_string, and _edge_table.

BB_Edge_Profile::~BB_Edge_Profile  )  [inline]
 

Definition at line 34 of file src/bb_edge_profile.h.

References _bb_profile_table_string, and _edge_profile_table_string.


Member Function Documentation

int BB_Edge_Profile::bbid_end_has_probe int  region_id  ) 
 

int BB_Edge_Profile::bbid_end_has_probe int  region_id  ) 
 

Definition at line 280 of file bb_edge_profile.cpp.

References _bbid_end, _bbid_end_index, and i.

Referenced by instrument_exit_op().

void BB_Edge_Profile::bbid_end_insert int  region_id  ) 
 

void BB_Edge_Profile::bbid_end_insert int  region_id  ) 
 

Definition at line 290 of file bb_edge_profile.cpp.

References _bbid_end, _bbid_end_index, and MAX_BB_ENTRY.

Referenced by instrument_exit_op().

int BB_Edge_Profile::bbid_start_has_probe int  region_id  ) 
 

int BB_Edge_Profile::bbid_start_has_probe int  region_id  ) 
 

Definition at line 321 of file bb_edge_profile.cpp.

References _bbid_start, _bbid_start_index, and i.

void BB_Edge_Profile::bbid_start_insert int  region_id  ) 
 

void BB_Edge_Profile::bbid_start_insert int  region_id  ) 
 

Definition at line 331 of file bb_edge_profile.cpp.

References _bbid_start, _bbid_start_index, and MAX_BB_ENTRY.

void BB_Edge_Profile::close_header_file  ) 
 

void BB_Edge_Profile::close_header_file  ) 
 

Definition at line 839 of file bb_edge_profile.cpp.

References _header_fp, and fclose().

Referenced by doit().

void BB_Edge_Profile::close_main_file  ) 
 

void BB_Edge_Profile::close_main_file  ) 
 

Definition at line 1060 of file bb_edge_profile.cpp.

References _main_fp, and fclose().

Referenced by doit().

void BB_Edge_Profile::doit legoModule ModulePtr,
int  option
 

void BB_Edge_Profile::doit legoModule ModulePtr,
int  option
 

Definition at line 40 of file bb_edge_profile.cpp.

References _bb_node_table, _edge_table, _my_instrument, Edge_Table::build(), CFG::build(), Node_Table::build_from_proc(), check_max_op_id(), close_header_file(), close_main_file(), fclose(), legoPSet< void * >::GetCount(), legoPSet< void * >::GetItem(), legoProc::GetProcName(), legoRegion::GetRegionType(), i, Predicate::init_true_predicate_oprd(), Instrument::initialize_parameters(), Instrument::initialize_temp_registers(), instrument(), Node_Table::node_table_fp(), Node_Table::open_file(), open_header_file(), open_main_file(), Edge_Table::open_new_or_old_file(), Node_Table::print(), Edge_Table::print_to_file(), Edge_Table::profile_all_edges(), Instrument::rename_main(), reset_bbid_end(), reset_bbid_start(), RT_PROC, Node_Table::set_node_table_fp(), Edge_Table::set_start_index(), Node_Table::set_start_index(), Edge_Table::set_table_fp(), Edge_Table::start_index(), Node_Table::start_index(), strcmp(), and Edge_Table::table_fp().

void BB_Edge_Profile::insert_3_probes legoProc proc_ptr,
legoRegion region_ptr,
legoOprd predicate_oprd,
int  true_path_mapping,
int  false_path_mapping,
legoOp from_op_ptr
 

void BB_Edge_Profile::insert_3_probes legoProc proc_ptr,
legoRegion region_ptr,
legoOprd predicate_oprd,
int  true_path_mapping,
int  false_path_mapping,
legoOp from_op_ptr
 

void BB_Edge_Profile::insert_probe legoProc proc_ptr,
legoRegion region_ptr
 

void BB_Edge_Profile::insert_probe legoProc proc_ptr,
legoRegion region_ptr
 

Definition at line 240 of file bb_edge_profile.cpp.

References _bb_node_table, _my_instrument, Instrument::append_brl_code(), Instrument::append_pbrr_code(), Instrument::append_restore_1_param_code(), Instrument::append_save_and_set_1_param_code(), BB_EDGE_PROFILE_START_PROBE_NAME, BEdb, Node_Table::find(), legoRegion::GetEntryOpsPtr(), legoRegion::GetExitOpsPtr(), opList::GetNextListPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), legoRegion::GetRegionId(), legoOp::GetSchedTime(), instrument_exit_op(), ParseMap(), and Predicate::true_predicate_oprd().

Referenced by recursive_instrument().

void BB_Edge_Profile::instrument legoProc proc_ptr  ) 
 

void BB_Edge_Profile::instrument legoProc proc_ptr  ) 
 

Definition at line 189 of file bb_edge_profile.cpp.

References recursive_instrument().

Referenced by doit().

void BB_Edge_Profile::instrument_exit_op legoProc proc_ptr,
legoRegion region_ptr,
legoOp exit_op
 

void BB_Edge_Profile::instrument_exit_op legoProc proc_ptr,
legoRegion region_ptr,
legoOp exit_op
 

Definition at line 343 of file bb_edge_profile.cpp.

References _bb_node_table, _edge_table, _my_instrument, BB_EDGE_PROFILE_1_PROBE_NAME, BB_EDGE_PROFILE_eND_PROBE_NAME, bbid_end_has_probe(), bbid_end_insert(), BEdb, BRCT, BRU, Edge::counter_index(), DT_B, DT_P, DUMMY_BR, Edge::edge_id(), Node_Table::find(), Edge_Table::find_edge(), find_edgeList_from_op_to_op(), find_lego_block_with_region_id(), fprintf(), FT_BTR, FT_PR, legoOprd::GetBooleanVal(), legoOp::GetDestOprdPtr(), edgeList::GetEdgeId(), legoRegion::GetEntryOpsPtr(), legoOprd::GetLiteralControlBlock(), opList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), legoOprd::GetOprdDataType(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdRegType(), legoOprd::GetOprdType(), legoOp::GetOutListPtr(), legoOp::GetPredOprdPtr(), legoOp::GetPrevLink(), legoProc::GetProcName(), legoRegion::GetRegionId(), legoOp::GetSchedTime(), legoOp::GetSrcOprdPtr(), OT_LITERAL_CB, OT_LITERAL_P, OT_REG, ParseMap(), PBRR, Instrument::prepend_3_probes(), Instrument::prepend_brl_code(), Instrument::prepend_pbrr_code(), Instrument::prepend_restore_1_param_code(), Instrument::prepend_save_and_set_1_param_code(), Edge::profile(), RT_R, RTS, Predicate::true_predicate_oprd(), and Edge::weight().

Referenced by insert_probe().

void BB_Edge_Profile::lego_write legoModule module_ptr,
char *  input_filename
 

void BB_Edge_Profile::lego_write legoModule module_ptr,
char *  input_filename
 

Definition at line 166 of file bb_edge_profile.cpp.

References i, input_filename, LegoWrite(), strcpy(), and strlen().

void BB_Edge_Profile::open_header_file  ) 
 

void BB_Edge_Profile::open_header_file  ) 
 

Definition at line 823 of file bb_edge_profile.cpp.

References _header_fp, BB_EDGE_HEADER_FILENAME, fopen(), and fprintf().

Referenced by doit().

void BB_Edge_Profile::open_main_file int  bb_max_entry,
int  edge_max_entry
 

void BB_Edge_Profile::open_main_file int  bb_max_entry,
int  edge_max_entry
 

Definition at line 844 of file bb_edge_profile.cpp.

References _main_fp, BB_EDGE_MAIN_FILENAME, exit(), fopen(), and fprintf().

Referenced by doit().

void BB_Edge_Profile::recursive_instrument legoProc proc_ptr,
legoRegion region_ptr
 

void BB_Edge_Profile::recursive_instrument legoProc proc_ptr,
legoRegion region_ptr
 

Definition at line 199 of file bb_edge_profile.cpp.

References fprintf(), legoPSet< void * >::GetCount(), legoPSet< void * >::GetItem(), legoRegion::GetRegionType(), i, insert_probe(), regionTypes, RT_BB, RT_HB, RT_LOOP, RT_LOOPBODY, RT_PROC, RT_SB, RT_TRACE, and RT_TREE.

Referenced by instrument().

void BB_Edge_Profile::reset_bbid_end  ) 
 

void BB_Edge_Profile::reset_bbid_end  ) 
 

Definition at line 307 of file bb_edge_profile.cpp.

References _bbid_end, _bbid_end_index, i, and MAX_BB_ENTRY.

Referenced by doit().

void BB_Edge_Profile::reset_bbid_start  ) 
 

void BB_Edge_Profile::reset_bbid_start  ) 
 

Definition at line 297 of file bb_edge_profile.cpp.

References _bbid_start, _bbid_start_index, i, and MAX_BB_ENTRY.

Referenced by doit().

void BB_Edge_Profile::set_bb_profile_table_string char *  i  )  [inline]
 

Definition at line 40 of file src/bb_edge_profile.h.

References _bb_profile_table_string, i, strcpy(), and strlen().

void BB_Edge_Profile::set_bb_profile_table_string char *  i  )  [inline]
 

Definition at line 40 of file include/bb_edge_profile.h.

References _bb_profile_table_string, i, strcpy(), and strlen().

void BB_Edge_Profile::set_edge_profile_table_string char *  i  )  [inline]
 

Definition at line 46 of file src/bb_edge_profile.h.

References _edge_profile_table_string, i, strcpy(), and strlen().

void BB_Edge_Profile::set_edge_profile_table_string char *  i  )  [inline]
 

Definition at line 46 of file include/bb_edge_profile.h.

References _edge_profile_table_string, i, strcpy(), and strlen().


Member Data Documentation

Node_Table* BB_Edge_Profile::_bb_node_table [private]
 

Definition at line 103 of file src/bb_edge_profile.h.

Node_Table* BB_Edge_Profile::_bb_node_table [private]
 

Definition at line 103 of file include/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), doit(), insert_probe(), and instrument_exit_op().

char* BB_Edge_Profile::_bb_profile_table_string [private]
 

Definition at line 85 of file src/bb_edge_profile.h.

char* BB_Edge_Profile::_bb_profile_table_string [private]
 

Definition at line 85 of file include/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), set_bb_profile_table_string(), and ~BB_Edge_Profile().

int BB_Edge_Profile::_bbid_end [private]
 

Definition at line 93 of file src/bb_edge_profile.h.

Referenced by bbid_end_has_probe(), bbid_end_insert(), and reset_bbid_end().

int BB_Edge_Profile::_bbid_end_index [private]
 

Definition at line 95 of file src/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), bbid_end_has_probe(), bbid_end_insert(), and reset_bbid_end().

int BB_Edge_Profile::_bbid_start [private]
 

Definition at line 92 of file src/bb_edge_profile.h.

Referenced by bbid_start_has_probe(), bbid_start_insert(), and reset_bbid_start().

int BB_Edge_Profile::_bbid_start_index [private]
 

Definition at line 94 of file src/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), bbid_start_has_probe(), bbid_start_insert(), and reset_bbid_start().

char* BB_Edge_Profile::_edge_profile_table_string [private]
 

Definition at line 86 of file src/bb_edge_profile.h.

char* BB_Edge_Profile::_edge_profile_table_string [private]
 

Definition at line 86 of file include/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), set_edge_profile_table_string(), and ~BB_Edge_Profile().

Edge_Table* BB_Edge_Profile::_edge_table [private]
 

Definition at line 104 of file src/bb_edge_profile.h.

Edge_Table* BB_Edge_Profile::_edge_table [private]
 

Definition at line 104 of file include/bb_edge_profile.h.

Referenced by BB_Edge_Profile(), doit(), and instrument_exit_op().

FILE* BB_Edge_Profile::_header_fp [private]
 

Definition at line 84 of file src/bb_edge_profile.h.

FILE* BB_Edge_Profile::_header_fp [private]
 

Definition at line 84 of file include/bb_edge_profile.h.

Referenced by close_header_file(), and open_header_file().

FILE* BB_Edge_Profile::_main_fp [private]
 

Definition at line 83 of file src/bb_edge_profile.h.

FILE* BB_Edge_Profile::_main_fp [private]
 

Definition at line 83 of file include/bb_edge_profile.h.

Referenced by close_main_file(), and open_main_file().

Instrument BB_Edge_Profile::_my_instrument [private]
 

Definition at line 98 of file src/bb_edge_profile.h.

Referenced by doit(), insert_probe(), and instrument_exit_op().


The documentation for this class was generated from the following files:
Generated on Mon Jul 21 20:30:52 2003 for TINKER LEGO DOC by doxygen 1.3.2