All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Functions
ooo_instrumentation.h File Reference
#include <iostream>
#include <cstdlib>
#include <unordered_set>
#include <unordered_map>
#include "rose.h"
#include "../segment_graph/combined_data_conflict_table.h"
#include "../segment_graph/prediction_time_advance_table.h"
#include "../segment_graph/prediction_event_notification_table.h"
Include dependency graph for ooo_instrumentation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  risc::inst::InstrumentationTraversal
 The AST traversal class. More...
 

Namespaces

 risc
 
 risc::sg
 
 risc::tools
 
 risc::inst
 

Macros

#define DUMP_TABLE_THRESHOLD   42
 

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_functions_without_definitions (risc::sg::SegmentGraph &sg)
 for test purpose now 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_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...
 
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...
 
std::string risc::inst::generate_unique_name (std::string var_name)
 generates a unique variable based on var_name More...
 

Macro Definition Documentation

#define DUMP_TABLE_THRESHOLD   42