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

Branch_Profile Class Reference

#include <branch_profile.h>

List of all members.

Public Member Functions

 Branch_Profile ()
 ~Branch_Profile ()
void doit (legoModule *module_ptr, int interested_opcode)
void lego_write (legoModule *module_ptr, char *input_filename)
void instrument_main (legoModule *module_ptr, legoProc *proc_ptr)
void instrument (legoProc *proc_ptr, Node_Table *node_table, int interested_opcode)
void instrument_from_table (legoProc *proc_ptr, Node_Table *node_table)
void insert_branch_predictor (int index, legoProc *proc_ptr, legoRegion *region_ptr, legoOprd *address_oprd, legoOprd *save_p1_oprd, legoOprd *dest_p1_oprd, legoOprd *save_p2_oprd, legoOprd *dest_p2_oprd, legoOprd *predicate_oprd, legoOp *from_op_ptr, legoOprd *taken_oprd, char *probe_name, attrList *attr_list, legoOprd *dest_ret_oprd)
void open_main_file (unsigned int max_entry)
void open_header_file ()
void close_main_file ()
void close_header_file ()
attrswrite_attribute (legoProc *proc_ptr)
 Branch_Profile ()
 ~Branch_Profile ()
void doit (legoModule *module_ptr, int interested_opcode)
void lego_write (legoModule *module_ptr, char *input_filename)
void instrument_main (legoModule *module_ptr, legoProc *proc_ptr)
void instrument (legoProc *proc_ptr, Node_Table *node_table, int interested_opcode)
void instrument_from_table (legoProc *proc_ptr, Node_Table *node_table)
void insert_branch_predictor (int index, legoProc *proc_ptr, legoRegion *region_ptr, legoOprd *address_oprd, legoOprd *save_p1_oprd, legoOprd *dest_p1_oprd, legoOprd *save_p2_oprd, legoOprd *dest_p2_oprd, legoOprd *predicate_oprd, legoOp *from_op_ptr, legoOprd *taken_oprd, char *probe_name, attrList *attr_list, legoOprd *dest_ret_oprd)
void open_main_file (unsigned int max_entry)
void open_header_file ()
void close_main_file ()
void close_header_file ()
attrswrite_attribute (legoProc *proc_ptr)

Private Attributes

FILE * _main_fp
FILE * _header_fp
FILE * _main_fp
FILE * _header_fp


Constructor & Destructor Documentation

Branch_Profile::Branch_Profile  )  [inline]
 

Definition at line 30 of file include/branch_profile.h.

Branch_Profile::~Branch_Profile  )  [inline]
 

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

Branch_Profile::Branch_Profile  )  [inline]
 

Definition at line 30 of file src/branch_profile.h.

Branch_Profile::~Branch_Profile  )  [inline]
 

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


Member Function Documentation

void Branch_Profile::close_header_file  ) 
 

void Branch_Profile::close_header_file  ) 
 

Definition at line 637 of file branch_profile.cpp.

References _header_fp, and fclose().

Referenced by doit().

void Branch_Profile::close_main_file  ) 
 

void Branch_Profile::close_main_file  ) 
 

Definition at line 618 of file branch_profile.cpp.

References _main_fp, and fclose().

Referenced by doit().

void Branch_Profile::doit legoModule module_ptr,
int  interested_opcode
 

void Branch_Profile::doit legoModule module_ptr,
int  interested_opcode
 

Definition at line 44 of file branch_profile.cpp.

References Node_Table::add_num_of_entries(), Bdb, Bdb_call, BRCT, close_header_file(), close_main_file(), fclose(), legoPSet< void * >::GetCount(), legoRegion::GetEntryOpsPtr(), legoPSet< void * >::GetItem(), legoOp::GetNextLink(), legoOp::GetOpcode(), opList::GetOpPtr(), legoProc::GetProcName(), legoRegion::GetRegionId(), legoRegion::GetRegionType(), i, Predicate::init_true_predicate_oprd(), instrument(), instrument_main(), IS_BLOCK, Node_Table::node_table_fp(), Node_Table::open_file(), open_header_file(), open_main_file(), ParseMap(), Node_Table::print(), RT_PROC, Node_Table::set_node_table_fp(), Node_Table::set_proc_name(), Node_Table::set_start_index(), Node_Table::start_index(), and strcmp().

void Branch_Profile::insert_branch_predictor int  index,
legoProc proc_ptr,
legoRegion region_ptr,
legoOprd address_oprd,
legoOprd save_p1_oprd,
legoOprd dest_p1_oprd,
legoOprd save_p2_oprd,
legoOprd dest_p2_oprd,
legoOprd predicate_oprd,
legoOp from_op_ptr,
legoOprd taken_oprd,
char *  probe_name,
attrList attr_list,
legoOprd dest_ret_oprd
 

void Branch_Profile::insert_branch_predictor int  index,
legoProc proc_ptr,
legoRegion region_ptr,
legoOprd address_oprd,
legoOprd save_p1_oprd,
legoOprd dest_p1_oprd,
legoOprd save_p2_oprd,
legoOprd dest_p2_oprd,
legoOprd predicate_oprd,
legoOp from_op_ptr,
legoOprd taken_oprd,
char *  probe_name,
attrList attr_list,
legoOprd dest_ret_oprd
 

Definition at line 361 of file branch_profile.cpp.

References AS_G_ABS, Bdb_call, BRL, FindMaxOpId(), legoOp::GetSchedTime(), index(), insert_new_op_before(), MOVE, OT_LITERAL_I, OT_LITERAL_L, PBRR, legoOp::SetDestOprdPtr(), legoOprd::SetLiteralAddrStyle(), legoOprd::SetLiteralInteger(), legoOprd::SetLiteralLabel(), legoOp::SetOpAttrListPtr(), legoOp::SetOpcode(), legoOprd::SetOprdType(), legoOp::SetPredOprdPtr(), legoOp::SetSchedTime(), legoOp::SetSrcOprdPtr(), and WriteOps().

Referenced by instrument().

void Branch_Profile::instrument legoProc proc_ptr,
Node_Table node_table,
int  interested_opcode
 

void Branch_Profile::instrument legoProc proc_ptr,
Node_Table node_table,
int  interested_opcode
 

Definition at line 197 of file branch_profile.cpp.

References Node_Table::add_entry(), Bdb, BRCT, DT_B, DT_I, find_max_reg_num(), FT_BTR, FT_GPR, attrs::GetAttrId(), attrs::GetAttrType(), legoPSet< void * >::GetCount(), legoRegion::GetEntryOpsPtr(), legoPSet< void * >::GetItem(), legoOp::GetNextLink(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), legoRegion::GetRegionId(), legoRegion::GetRegionType(), legoOp::GetSrcOprdPtr(), insert_branch_predictor(), INT_P1, INT_P2, IS_BLOCK, OT_MACRO, OT_REG, ParseMap(), RET_ADDR, RT_R, attrList::SetAttrId(), attrList::SetAttrPtr(), attrList::SetAttrType(), legoOprd::SetOprdDataType(), legoOprd::SetOprdFileType(), legoOprd::SetOprdRegNum(), legoOprd::SetOprdRegType(), legoOprd::SetOprdType(), attrList::SetValid(), Node_Table::start_index(), Predicate::true_predicate_oprd(), and write_attribute().

Referenced by doit().

void Branch_Profile::instrument_from_table legoProc proc_ptr,
Node_Table node_table
 

void Branch_Profile::instrument_from_table legoProc proc_ptr,
Node_Table node_table
 

void Branch_Profile::instrument_main legoModule module_ptr,
legoProc proc_ptr
 

void Branch_Profile::instrument_main legoModule module_ptr,
legoProc proc_ptr
 

Definition at line 495 of file branch_profile.cpp.

References Bdb_call, legoModule::GetTextPtr(), symbolTable::GetVarCount(), nameTable::GetVarName(), symbolTable::GetVarTablePtr(), i, legoProc::SetProcName(), nameTable::SetVarName(), strcmp(), nameTable::WriteRebel(), and symbolTable::WriteRebel().

Referenced by doit().

void Branch_Profile::lego_write legoModule module_ptr,
char *  input_filename
 

void Branch_Profile::lego_write legoModule module_ptr,
char *  input_filename
 

Definition at line 521 of file branch_profile.cpp.

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

void Branch_Profile::open_header_file  ) 
 

void Branch_Profile::open_header_file  ) 
 

Definition at line 623 of file branch_profile.cpp.

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

Referenced by doit().

void Branch_Profile::open_main_file unsigned int  max_entry  ) 
 

void Branch_Profile::open_main_file unsigned int  max_entry  ) 
 

Definition at line 544 of file branch_profile.cpp.

References _main_fp, BRANCH_MAIN_FILENAME, exit(), fopen(), fprintf(), fputc(), and log().

Referenced by doit().

attrs* Branch_Profile::write_attribute legoProc proc_ptr  ) 
 

attrs * Branch_Profile::write_attribute legoProc proc_ptr  ) 
 

Definition at line 151 of file branch_profile.cpp.

References ATTR_LC, Bdb_call, legoProc::GetAttrDictionary(), attrs::GetAttrId(), attrs::GetNextAttrPtr(), INT_P1, INT_P2, OT_MACRO, RET_ADDR, attrs::SetAttrId(), attrs::SetAttrOprdPtr(), attrs::SetAttrString(), attrs::SetAttrType(), attrs::SetNextAttrPtr(), attrs::SetNextLcEntryPtr(), legoOprd::SetNextOprdPtr(), legoOprd::SetOprdRegNum(), legoOprd::SetOprdType(), and WriteAttrs().

Referenced by instrument().


Member Data Documentation

FILE* Branch_Profile::_header_fp [private]
 

Definition at line 57 of file src/branch_profile.h.

FILE* Branch_Profile::_header_fp [private]
 

Definition at line 57 of file include/branch_profile.h.

Referenced by close_header_file(), and open_header_file().

FILE* Branch_Profile::_main_fp [private]
 

Definition at line 56 of file src/branch_profile.h.

FILE* Branch_Profile::_main_fp [private]
 

Definition at line 56 of file include/branch_profile.h.

Referenced by close_main_file(), and open_main_file().


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