All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
function_helper.h File Reference
#include "rose.h"
#include "../segment_graph/segment_graph.h"
#include <list>
Include dependency graph for function_helper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 risc
 
 risc::tools
 

Functions

SgFunctionDeclaration * risc::tools::get_function_declaration_of_channel_call_statically (SgFunctionCallExp *func_call)
 This function determines which virtual function will be called in a case of channel access. For instance, my_port->send(some_data); Through the port declaration and the function signature we can determine which function will be called. This concept cannot be generalized. More...
 
SgFunctionDeclaration * risc::tools::get_function_declaration_of_channel_call_dynamically (SgFunctionCallExp *func_call)
 This function determines which function will be called in a case of channel access. The results from dynamic analysis will be taken into account. More...
 
bool risc::tools::function_call_belongs_to_a_port (SgFunctionCallExp *func_call_exp)
 This functions checks if the function call belongs to a port. This function should be only called after a function call is decomposed through the segment graph. More...
 
bool risc::tools::function_call_is_in_user_domain (SgFunctionCallExp *func_call_exp)
 This function checks if a function call is in the user domain. More...
 
std::vector
< SgFunctionDeclaration * > 
risc::tools::get_all_other_function_declarations (SgFunctionDeclaration *func_decl)
 This function gets all other functions declarations which are associated with the same function declaration like func_decl. More...
 
std::list< SgClassDefinition * > risc::tools::get_channel_interfaces (SgClassDefinition *channel_def)
 This function returns all used interfaces of the channel channel_def. More...
 
std::list< SgClassDefinition * > risc::tools::get_all_used_interfaces (bool only_in_user_domain=true)
 This function traverses over all channel definitions in the design. For each individual channel, the function collects all used interfaces. This function will not return an interface which is not used in any channel. More...
 
std::list< SgFunctionCallExp * > risc::tools::get_all_port_calls_to_annotated_functions (risc::sg::SegmentGraph &graph)
 This function returns all port calls. More...
 
std::list
< SgFunctionDeclaration * > 
risc::tools::get_interface_functions (SgClassDefinition *channel_def, bool only_annotated=false)
 This function returns all function declarations of the channel channel_def which belong to an interface. More...
 
std::list
< SgFunctionDeclaration * > 
risc::tools::get_all_implemented_interface_functions (bool only_in_user_domain=true, bool only_annotated=false)
 This functions traverses over all channels and collects the function declarations of the implemented interfaces. More...
 
bool risc::tools::is_annotated_function (SgFunctionDeclaration *func_decl)
 This function returns true if the annotated. More...
 
bool risc::tools::has_reference_parameter (SgFunctionDeclaration *func_decl)
 This function returns true if the function has at least one parameter which is taken via reference. More...
 
SgFunctionDeclaration * risc::tools::get_first_non_defining_function_declaration (SgFunctionCallExp *func_call_exp)
 This function returns for a function call the first non defining function declaration. It will be considered if it is a port call. If so, statically or dynamically the port mapping will be solved. More...
 
bool risc::tools::is_overloaded_operator (SgFunctionDeclaration *func_decl)
 This function returns true if the function overloads an operator CAUTION: This is a pre release. The functionality is incomplete. E.g. global declared operators are not considered. More...
 
SgVariableDefinition * risc::tools::get_port_variable (SgFunctionCallExp *func_call_exp)
 This function returns the port variable of a function call. More...
 
SgVariableDefinition * risc::tools::get_socket_variable (SgExpression *expr, int &type)
 This function returns the socket variable of a function call. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_b_transport_funcs (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's b_transport. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_b_transport_funcs_statically (SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's b_transport. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_b_transport_funcs_dynamically (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's b_transport. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_get_dmi_funcs (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's get_dmi_ptr. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_get_dmi_funcs_statically (SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's get_dmi_ptr. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_get_dmi_funcs_dynamically (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's get_dmi_ptr. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_fw_funcs (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_fw. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_fw_funcs_statically (SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_fw. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_fw_funcs_dynamically (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_fw. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_bw_funcs (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_bw. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_bw_funcs_statically (SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_bw. More...
 
std::set< SgFunctionDeclaration * > risc::tools::get_registered_nb_transport_bw_funcs_dynamically (SgFunctionCallExp *func_call, SgVariableDefinition *socket_var)
 This function returns a set of functions that could potentially be socket's nb_transport_bw. More...
 
SgSymbol * risc::tools::get_sym_from_def (SgVariableDefinition *def)
 This function returns the SgSymbol* from a given SgVariableDefinition*. More...