43 #ifndef _APPLICATION_MANAGER_HPP_ 44 #define _APPLICATION_MANAGER_HPP_ 46 #include "config_HAVE_FROM_DISCREPANCY_BUILT.hpp" 47 #include "config_HAVE_PRAGMA_BUILT.hpp" 117 #if HAVE_FROM_DISCREPANCY_BUILT 131 application_manager(
const FunctionExpanderConstRef function_expander,
const bool allow_recursive_functions,
206 #if HAVE_PRAGMA_BUILT 251 address_bitsize =
value;
284 unsigned getSSAFromParm(
unsigned int functionID,
unsigned parm_index)
const;
291 void setSSAFromParm(
unsigned int functionID,
unsigned int parm_index,
unsigned ssa_index);
application_manager(const FunctionExpanderConstRef function_expander, const bool allow_recursive_functions, const ParameterConstRef _Param)
Constructor.
const ParameterConstRef get_parameter() const
Returns the parameter data-structure.
CustomMap< unsigned, unsigned > getACopyParm2SSA(unsigned int functionID)
return a copy of parameter to SSA map
CustomOrderedSet< unsigned int > get_functions_with_body() const
Returns the set of functions whose implementation is present in the parsed input specification (i...
std::vector< std::string > input_files
The original input file and the actual source code file to be elaborated.
tree_nodeConstRef GetProducedValue(const tree_nodeConstRef &tn) const
Returns the values produced by a vertex (recursive version)
const tree_managerRef get_tree_manager() const
Returns the tree manager associated with the application.
CallGraphManagerRef GetCallGraphManager()
Returns the call graph associated with the application.
const tree_managerRef TM
class representing the application information at low level
This class manages the tree structures extracted from the raw file.
const FunctionBehaviorConstRef CGetFunctionBehavior(unsigned int index) const
Returns the data-structure associated with the given identifier.
Class specification of the graph structures.
CustomOrderedSet< unsigned int > get_functions_without_body() const
Returns the set of functions whose implementation is not present in the parsed input specification (i...
CustomOrderedMap< T, U > CustomMap
bool hasToBeInterfaced(unsigned int funId) const
Check for interface generation.
CONSTREF_FORWARD_DECL(ActorGraphManager)
redefinition of map to manage ordered/unordered structures
const ParameterConstRef Param
class containing all the parameters
REF_FORWARD_DECL(ActorGraphManager)
size_t cfg_transformations
The number of cfg transformations applied to this function.
A set of const tree node.
CustomOrderedSet< unsigned int > written_objects
store memory objects which can be written
void add_written_object(unsigned int node_id)
Add the node_id to the set of object modified by a store.
void setSSAFromParm(unsigned int functionID, unsigned int parm_index, unsigned ssa_index)
setSSAFromParm defines the parm_decl versus ssa_name relation
This class is used to manage the pragma directives found in the source code.
void AddGlobalVariable(const tree_nodeConstRef &var)
Adds a global variable.
redefinition of set to manage ordered/unordered structures
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
const TreeNodeConstSet & GetGlobalVariables() const
Returns the set of original global variables.
Classes specification of the tree_node data structures.
void clearParm2SSA(unsigned int functionID)
clearParm2SSA cleans the map putting into relation parm_decl and ssa_name
used to avoid expansion of c library function or type
Template definition of refcount.
const int debug_level
debugging level of the class
CustomMap< unsigned, CustomMap< unsigned, unsigned > > Parm2SSA_map
put into relation formal parameters and the associated ssa variables in a given function ...
TreeNodeConstSet global_variables
set of global variables
bool ApplyNewTransformation() const
Return true if a new transformation can be applied.
virtual ~application_manager()
Destructor.
void clean_written_objects()
clean_written_objects clean the written object data structure
unsigned int get_address_bitsize() const
FunctionBehaviorRef GetFunctionBehavior(unsigned int index)
Returns the data structure associated with the given identifier.
unsigned int get_produced_value(const tree_nodeRef &tn) const
Returns the values produced by a vertex (recursive version)
const CallGraphManagerRef call_graph_manager
class representing the call graph of the application
This class manages the accesses to the CallGraph.
void RegisterTransformation(const std::string &step, const tree_nodeConstRef new_tn)
Register a transformation.
unsigned int address_bitsize
unsigned int & Rget_address_bitsize()
return the address bitsize
unsigned getSSAFromParm(unsigned int functionID, unsigned parm_index) const
getSSAFromParm returns the ssa_name index associated with the parm_decl index, 0 in case there is not...
const CustomOrderedSet< unsigned int > & get_written_objects() const
Return the set of variables modified by a store.
void set_address_bitsize(unsigned int value)
set the value of the address bitsize
const CallGraphManagerConstRef CGetCallGraphManager() const
Returns the call graph associated with the application.