60 :
EdgeCWriter(_HLSMgr, _instruction_writer, _indented_output_stream, _Param, _verbose)
85 const auto function_name =
HLSMgr->CGetFunctionBehavior(
fun_id)->CGetBehavioralHelper()->get_function_name();
102 for(
const auto function : functions)
104 const auto function_behavior =
HLSMgr->CGetFunctionBehavior(
function);
105 const auto function_name = function_behavior->CGetBehavioralHelper()->get_function_name();
106 const auto fd = GetPointer<const function_decl>(
TM->
CGetTreeNode(
function));
108 const auto biggest_bb_number = sl->list_of_bloc.rbegin()->first;
115 for(
const auto function : functions)
117 const auto function_behavior =
HLSMgr->CGetFunctionBehavior(
function);
118 const auto function_name = function_behavior->CGetBehavioralHelper()->get_function_name();
119 const auto fd = GetPointer<const function_decl>(
TM->
CGetTreeNode(
function));
120 const auto sl = GetPointer<statement_list>(
GET_NODE(fd->body));
121 const auto biggest_bb_number = sl->list_of_bloc.rbegin()->first;
130 Param->getOption<std::string>(OPT_output_temporary_directory) +
133 for(
const auto function : functions)
135 const auto function_behavior =
HLSMgr->CGetFunctionBehavior(
function);
136 const auto function_name = function_behavior->CGetBehavioralHelper()->get_function_name();
137 const auto fd = GetPointer<const function_decl>(
TM->
CGetTreeNode(
function));
138 const auto sl = GetPointer<statement_list>(
GET_NODE(fd->body));
139 const auto biggest_bb_number = sl->list_of_bloc.rbegin()->first;
#define GET_NODE(t)
Macro used to hide implementation details when accessing a tree_node from another tree_node...
Data structure representing the entire HLS information.
#define GET_CLASS(obj)
Macro returning the actual type of an object.
~BasicBlocksProfilingCWriter() final
int debug_level
the debug level
constants used in host profiling library
#define STR_CST_host_profiling_data
The file where profiling data are written by instrumented executable.
void print_loop_switching(EdgeDescriptor e) override
Print operation requested for record information about a path which exit from a loop and immediately ...
unsigned int fun_id
Index of the current function.
Class to print indented code.
BBGraphConstRef support_cfg
Special control flow graphs.
const tree_managerConstRef TM
The tree manager.
Data structure describing a basic block at tree level.
const tree_nodeConstRef CGetTreeNode(const unsigned int i) const
#define STR(s)
Macro which performs a lexical_cast to a string.
Auxiliary methods for manipulating string.
void WriteGlobalDeclarations() final
Writes the global declarations.
Class use to write the C code with instrumented edges.
const IndentedOutputStreamRef indented_output_stream
Represents the stream we are currently writing to.
void print_loop_starting(EdgeDescriptor e) override
Dump initializations of variable for recording a loop path.
void print_loop_ending(EdgeDescriptor e) override
Dump operations requested for record information about a loop path which ends.
const ParameterConstRef Param
set of parameters
void Append(const std::string &str)
Append a string to the output.
This file contains the routines necessary to create a C executable program with instrumented edges fo...
#define GET_CONST_NODE(t)
Classes specification of the tree_node data structures.
BasicBlocksProfilingCWriter(const HLS_managerConstRef _HLSMgr, const InstructionWriterRef instruction_writer, const IndentedOutputStreamRef indented_output_stream, const ParameterConstRef Param, bool verbose=true)
Constructor of the class.
void print_edge(EdgeDescriptor e, unsigned int index) override
Dump operation requested for instrument an edges.
std::set< EdgeDescriptor, ltedge< BBGraph > > dumped_edges
Set of already dumped edges.
const HLS_managerConstRef HLSMgr
the hls manager
Class specification of the tree_reindex support class.
Class specification of the basic_block structure.
const BBNodeInfoConstRef CGetBBNodeInfo(const vertex node) const
Return the info associated with a basic block.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
this class is used to manage the command-line or XML options.
virtual void WriteGlobalDeclarations()
Writes the global declarations.
void print_loop_escaping(EdgeDescriptor e) override
Dump operations requested for record information about a path which exit from a loop.
Class specification of the manager of the tree structures extracted from the raw file.
A brief description of the C++ Header File.
boost::graph_traits< graph >::edge_descriptor EdgeDescriptor
edge definition.