All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions | Variables
ooo_instrumentation.cpp File Reference
#include "ooo_instrumentation.h"
#include <map>
#include <fstream>
#include "../internal_representation/design.h"
#include "../internal_representation/thread.h"
#include "../internal_representation/module.h"
#include "../internal_representation/method.h"
#include "../tools/class_is_derived_from.h"
#include "../tools/command_line_parsing.h"
#include "../tools/function_helper.h"
#include "../tools/rose_nodes.h"
#include "../tools/systemc_definitions.h"
#include "../segment_graph/combined_data_conflict_table.h"
#include "../segment_graph/data_conflict_table.h"
#include "../segment_graph/event_conflict_table.h"
#include "../segment_graph/port_call_attribute.h"
#include "../segment_graph/prediction_event_notification_table.h"
#include "../segment_graph/prediction_time_advance_table.h"
#include "../segment_graph/segment.h"
#include "../segment_graph/segment_graph.h"
#include "../segment_graph/time_advance_table.h"
#include "../macros.h"
Include dependency graph for ooo_instrumentation.cpp:

Namespaces

 risc
 
 risc::inst
 

Functions

int risc::inst::risc_link (SgProject *project, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
 Tailored SgProject::link for customized linker. The original ROSE codes are at ~src/frontend/SageIII/sage_support/sage_support.cpp. More...
 
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)
 Tailored SgFile::buildCompilerCommandLineOptions for customized compiler. The original ROSE codes are at ~src/frontend/SageIII/sage_support/cmdline.cpp. More...
 
int risc::inst::risc_compileOutputFile (SgFile *file, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
 Tailored SgFile::compileOutput for customized compiler. The original ROSE codes are at ~src/ROSETTA/Grammer/Support.code and ~src/frontend/SageIII/sage_support/sage_support.cpp. More...
 
int risc::inst::risc_compileOutput (SgProject *project, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
 Tailored SgProject::compileOutput for customized compiler. The original ROSE codes are at ~src/frontend/SageIII/sage_support/sage_support.cpp. More...
 
void risc::inst::risc_unparse (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name, UnparseFormatHelp *unparseFormatHelp, UnparseDelegate *unparseDelegate)
 This function unparses AST trees to source code file(s) More...
 
int risc::inst::risc_compile (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name)
 This function compiles and links the unparsed source code file(s) using the customized compiler. More...
 
int risc::inst::risc_backend (risc::Design &design, risc::tools::ParseStatus *parseStatus, const std::string tool_name, UnparseFormatHelp *unparseFormatHelp, UnparseDelegate *unparseDelegate)
 Tailored backend for SystemC source files. The original ROSE codes are at ~src/roseSupport/utility_functions.C. More...
 
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::sg::PredictionEventNotificationTable *prediction_event_notification_table_no_indirect, risc::tools::ParseStatus *parseStatus, std::string design_file_name, std::vector< std::vector< int > > &psg_seg_id_array, std::vector< std::string > &file_names, std::vector< std::vector< int > > &channel_seg_id_array, std::vector< std::string > &channel_seg_id_array_names)
 This function instruments the AST tree of SystemC designs, and compiles unparsed source file(s) using customized vendor compiler. More...
 
void risc::inst::dump_table_to_file (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::sg::PredictionEventNotificationTable *prediction_event_notification_table_no_indirect, risc::tools::ParseStatus *parseStatus)
 This function dumps all the lookup tables to a file. More...
 
void risc::inst::instrument_port_calls (risc::sg::SegmentGraph &sg)
 instruments the upcoming segments ids to thread local data More...
 
void risc::inst::instrument_wait_in_channels (risc::sg::SegmentGraph &sg)
 changes the segment id passing from constants to variables in channels which are passed by thread local data More...
 
void risc::inst::instrument_offset_before_and_after_b_transports (risc::sg::SegmentGraph &sg)
 sets the segment offset value before and after b_transport More...
 
void risc::inst::instrument_wait_in_b_transports (risc::sg::SegmentGraph &sg)
 changes the segment id passing from constants to variables in b_transports which are passed by thread local data More...
 
std::string risc::inst::generate_unique_name (std::string var_name)
 generates a unique variable based on var_name More...
 

Variables

int risc::inst::counter = 0
 counter to get a unique variable name with number More...