risc::inst Namespace Reference

Classes

class  InstrumentationTraversal
 The AST traversal class. More...

Functions

void print_event_list (SgFunctionDefinition *func_def, SgVariableDeclaration *systemc_event_list, SgVariableDeclaration *PLACEHOLDER, bool is_and_event_list)
void print_variable (SgFunctionDefinition *func_def, SgVariableDeclaration *var_decl, std::string printf_format_string, std::string printf_pre_format_string)
void print_port (SgFunctionDefinition *func_def, SgVariableDeclaration *var_decl)
void print_channel (SgFunctionDefinition *func_def, risc::Instance *channel)
SgFunctionDefinition * add_function_to_class (SgScopeStatement *class_def, std::string func_name)
void instrument_reference_printing (std::string filename)
std::pair< SgForStatement
*, SgVariableDeclaration * > 
insert_loop_iteration_over_vector_elements (SgVariableDeclaration *event_list, SgBasicBlock *body)
void fix_static_cast_issue ()
 This function fixes the missing static cast operator in the rose backend.
int risc_link (SgProject *project, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
void risc_buildCompilerCommandLineOptions (SgFile *file, std::vector< std::string > &argv, std::vector< std::string > &compilerCmdLine, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
int risc_compileOutputFile (SgFile *file, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
int risc_compileOutput (SgProject *project, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
void risc_unparse (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name, UnparseFormatHelp *unparseFormatHelp, UnparseDelegate *unparseDelegate)
void risc_patch (risc::Design &design, risc::tools::ParseStatus *parseStatus, const char *methodPattern, const char *threadPattern, const char *cthreadPattern, const std::string tool_name)
int risc_compile (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
int risc_backend (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name, UnparseFormatHelp *unparseFormatHelp, UnparseDelegate *unparseDelegate)
void instrumentor (risc::Design &design, risc::sg::SegmentGraph &sg, risc::sg::DataConflictTable *data_conflict_table, risc::sg::EventConflictTable *event_conflict_table, risc::sg::TimeAdvanceTable *time_advance_table, risc::sg::CombinedDataConflictTable *combined_data_conflict_table, risc::sg::PredictionTimeAdvanceTable *prediction_time_advance_table, risc::sg::PredictionEventNotificationTable *prediction_event_notification_table, risc::tools::ParseStatus *parseStatus)
void instrument_port_calls (risc::sg::SegmentGraph &sg)
void instrument_wait_in_channels (risc::sg::SegmentGraph &sg)
std::string generate_unique_name (std::string var_name)

Variables

int counter = 0
 counter to get a unique variable name with number

Function Documentation

SgFunctionDefinition * risc::inst::add_function_to_class ( SgScopeStatement *  class_def,
std::string  func_name 
)
risc::inst::fix_static_cast_issue (  ) 

This function fixes the missing static cast operator in the rose backend.

std::string risc::inst::generate_unique_name ( std::string  var_name  ) 
std::pair< SgForStatement *, SgVariableDeclaration * > risc::inst::insert_loop_iteration_over_vector_elements ( SgVariableDeclaration *  event_list,
SgBasicBlock *  body 
)
void risc::inst::instrument_port_calls ( risc::sg::SegmentGraph sg  ) 
void risc::inst::instrument_reference_printing ( std::string  filename  ) 
void risc::inst::instrument_wait_in_channels ( risc::sg::SegmentGraph sg  ) 
void risc::inst::instrumentor ( risc::Design design,
risc::sg::SegmentGraph sg,
risc::sg::DataConflictTable data_conflict_table,
risc::sg::EventConflictTable event_conflict_table,
risc::sg::TimeAdvanceTable time_advance_table,
risc::sg::CombinedDataConflictTable combined_data_conflict_table,
risc::sg::PredictionTimeAdvanceTable prediction_time_advance_table,
risc::sg::PredictionEventNotificationTable prediction_event_notification_table,
risc::tools::ParseStatus parseStatus 
)
void risc::inst::print_channel ( SgFunctionDefinition *  func_def,
risc::Instance channel 
)
void risc::inst::print_event_list ( SgFunctionDefinition *  func_def,
SgVariableDeclaration *  systemc_event_list,
SgVariableDeclaration *  PLACEHOLDER,
bool  is_and_event_list 
)
void risc::inst::print_port ( SgFunctionDefinition *  func_def,
SgVariableDeclaration *  var_decl 
)
void risc::inst::print_variable ( SgFunctionDefinition *  func_def,
SgVariableDeclaration *  var_decl,
std::string  printf_format_string,
std::string  printf_pre_format_string = "" 
)
int risc::inst::risc_backend ( risc::Design design,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name,
UnparseFormatHelp *  unparseFormatHelp,
UnparseDelegate *  unparseDelegate 
)
void risc::inst::risc_buildCompilerCommandLineOptions ( SgFile *  file,
std::vector< std::string > &  argv,
std::vector< std::string > &  compilerCmdLine,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name 
)
int risc::inst::risc_compile ( risc::Design design,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name 
)
int risc::inst::risc_compileOutput ( SgProject *  project,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name 
)
int risc::inst::risc_compileOutputFile ( SgFile *  file,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name 
)
int risc::inst::risc_link ( SgProject *  project,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name 
)
void risc::inst::risc_patch ( risc::Design design,
risc::tools::ParseStatus parseStatus,
const char *  methodPattern,
const char *  threadPattern,
const char *  cthreadPattern,
const std::string  tool_name 
)
void risc::inst::risc_unparse ( risc::Design design,
risc::tools::ParseStatus parseStatus,
const std::string  tool_name,
UnparseFormatHelp *  unparseFormatHelp,
UnparseDelegate *  unparseDelegate 
)

Variable Documentation

counter to get a unique variable name with number

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Jul 2017 by  doxygen 1.6.1