52 #include <boost/range/adaptor/reversed.hpp>    63                                                        const DesignFlowManagerConstRef _design_flow_manager,
    76    switch(relationship_type)
    80          relationships.insert(std::make_pair(OPERATIONS_CFG_COMPUTATION, 
SAME_FUNCTION));
    81          relationships.insert(std::make_pair(OP_REACHABILITY_COMPUTATION, 
SAME_FUNCTION));
   108    for(boost::tie(v, v_end) = boost::vertices(*bb_graph); v != v_end; ++v)
   112       const auto& statements_list = bb_graph->
CGetBBNodeInfo(*v)->statements_list;
   113       for(
const auto stmt : statements_list)
   116          const unsigned int st_tn_id = node_info->GetNodeId();
   117          if(not BH->CanBeMoved(st_tn_id))
   119             bool previous = 
true;
   120             for(
const auto other_stmt : statements_list)
   122                if(other_stmt == stmt)
   141    if(
parameters->getOption<
bool>(OPT_print_dot))
 DesignFlowStep_Status InternalExec() override
Performs the adding of flow edges to operation graphs. 
 
#define FLG_SELECTOR
Flow edge selector. 
 
#define DEBUG_LEVEL_VERY_PEDANTIC
extremely verbose debugging print is performed. 
 
#define INDENT_DBG_MEX(dbgLevel, curDbgLevel, mex)
We are producing a debug version of the program, so the message is printed;. 
 
Basic block control flow graph. 
 
File containing functions and utilities to support the printing of debug messagges. 
 
#define GET_CLASS(obj)
Macro returning the actual type of an object. 
 
RelationshipType
The relationship type. 
 
Source must be executed to satisfy target. 
 
Data structure describing a basic block at tree level. 
 
const CustomUnorderedSet< std::pair< FrontendFlowStepType, FunctionRelationship > > ComputeFrontendRelationships(const DesignFlowStep::RelationshipType relationship_type) const override
Return the set of analyses in relationship with this design step. 
 
#define STR(s)
Macro which performs a lexical_cast to a string. 
 
Auxiliary methods for manipulating string. 
 
const OpNodeInfoConstRef CGetOpNodeInfo(const vertex node) const
Returns the info associated with a node. 
 
#define THROW_UNREACHABLE(str_expr)
helper function used to specify that some points should never be reached 
 
Analysis step which adds flow edges to builtin bambu time functions. 
 
Target must be reexecuted. 
 
boost::graph_traits< graph >::vertex_iterator VertexIterator
vertex_iterator definition. 
 
const ParameterConstRef parameters
Set of input parameters. 
 
DesignFlowStep_Status
The status of a step. 
 
#define DEBUG_LEVEL_NONE
no debugging print is performed. 
 
AddArtificialCallFlowEdges(const application_managerRef AppM, unsigned int function_id, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
Constructor. 
 
~AddArtificialCallFlowEdges() override
Destructor. 
 
Class specification of the basic_block structure. 
 
This file collects some hash functors. 
 
const BBNodeInfoConstRef CGetBBNodeInfo(const vertex node) const
Return the info associated with a basic block. 
 
Data structures used in operations graph. 
 
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. 
 
int debug_level
The debug level. 
 
This class provides methods to build an operations graph. 
 
System dependence + anti-dependence + output dependence graph + flow graph with feedback. 
 
const FunctionBehaviorRef function_behavior
The function behavior of the function to be analyzed.