60 const DesignFlowManagerConstRef _design_flow_manager,
61 const unsigned int _function_index,
76 switch(relationship_type)
80 relationships.insert(std::make_pair(BUILD_VIRTUAL_PHI,
SAME_FUNCTION));
81 relationships.insert(std::make_pair(OP_REACHABILITY_COMPUTATION,
SAME_FUNCTION));
82 relationships.insert(std::make_pair(VAR_ANALYSIS,
SAME_FUNCTION));
103 if(boost::num_vertices(*fsaodg) != 0)
106 for(boost::tie(edge, edge_end) =
boost::edges(*fsaodg); edge != edge_end; edge++)
VirtualAggregateDataFlowAnalysis(const application_managerRef AppM, const DesignFlowManagerConstRef design_flow_manager, const unsigned int _function_index, const ParameterConstRef parameters)
Constructor.
#define GET_CLASS(obj)
Macro returning the actual type of an object.
Analysis step performing aggregate variable computation on the basis of gcc virtual operands...
RelationshipType
The relationship type.
Source must be executed to satisfy target.
unsigned int bb_version
The version of the basic block intermediate representation on which this step has been applied...
Auxiliary methods for manipulating string.
boost::graph_traits< graph >::edge_iterator EdgeIterator
edge_iterator definition.
#define THROW_UNREACHABLE(str_expr)
helper function used to specify that some points should never be reached
#define FB_DFG_AGG_SELECTOR
Data flow graph edge selector between computed on aggregates.
System dependence + anti-dependence graph + output dependence graph with feedback.
#define FB_ODG_AGG_SELECTOR
Feedback Output-dependence graph edge selector computed on aggregates.
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
Target must be reexecuted.
const ParameterConstRef parameters
Set of input parameters.
~VirtualAggregateDataFlowAnalysis() override
Destructor.
#define FB_ADG_AGG_SELECTOR
Feedback Anti-dependence graph edge selector computed on aggregates.
This file collects some hash functors.
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.
#define ODG_AGG_SELECTOR
Output-dependence graph edge selector computed on aggregates.
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 DFG_AGG_SELECTOR
Data flow graph edge selector between computed on aggregates.
int debug_level
The debug level.
This class provides methods to build an operations graph.
#define ADG_AGG_SELECTOR
Anti-dependence graph edge selector computed on aggregates.
A brief description of the C++ Header File.
const FunctionBehaviorRef function_behavior
The function behavior of the function to be analyzed.