All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
misc.h File Reference
#include "rose.h"
#include <string>
Include dependency graph for misc.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

bool risc::tools::is_data_structure (SgType *type)
 This function checks if the passed type represents a data structure. More...
 
bool risc::tools::is_builtin_type (SgType *type)
 This function checks if the passed type represents a C++ builtin type. More...
 
bool risc::tools::class_types_are_identical (SgClassDefinition *cd1, SgClassDefinition *cd2)
 Compares two classes. More...
 
bool risc::tools::is_func_name (const SgFunctionDeclaration *function, const std::string &name)
 Compares the function name with the given string. More...
 
void risc::tools::print_indented (std::string s, unsigned indent)
 Prints a string with indention. More...
 
SgClassDefinition * risc::tools::class_definition_of_variable (SgVariableDeclaration *var_decl)
 Determines the class defintion of varialbe It is expected that the type is SgClassType. More...
 
bool risc::tools::is_builtin_function (SgFunctionDeclaration *func_decl)
 Checks if a given function is a C++ builtin function This function is taken/inspired from the Rose builtinFilter structure. More...
 
bool risc::tools::all_cfg_branches_end_in_break (SgNode *node, int &break_counter)
 This function determines if all cfg branches in the statement 'node' will end in a break statement. The statement in end will be excluded. Some examples: More...
 
bool risc::tools::all_cfg_branches_end_in_continue (SgNode *node, int &continue_counter)
 This function determines if all cfg branches in the statement 'node' will end in a continue statement. The statement in end will be excluded. Some examples: More...
 
SgStatement * risc::tools::get_previous_stmt_in_basic_block (SgNode *node)
 This function determines the previous statement of the statement 'node' in the next surrounding basic block. If 'node' is the first statement, the return value will be NULL. More...
 
bool risc::tools::is_conditional_break (SgScopeStatement const *const loop_stmt, SgBreakStmt const *const break_stmt)
 This function checks if a given break statement is unconditioned. More...
 
SgScopeStatement * risc::tools::find_break_surrounding_scope (SgBreakStmt *break_stmt)
 This function finds the surrounding scope statement of a break. The break can be surrounded by a while, do while, for loop or by a switch statement. More...
 
bool risc::tools::break_belongs_to_loop (SgScopeStatement *loop_stmt, SgBreakStmt const *const break_stmt)
 This function checks if a given break statement belongs to a given loop statements. More...
 
bool risc::tools::is_located_in_rose_header (SgNode *node)
 
SgMemberFunctionDeclaration * risc::tools::get_constructor (SgClassDefinition *class_def)
 This function returns the constructor of class. For a module, primitive channel, and a hierarchical channel we expect exactly one constructor. So, we return the first SgFunctionDefinition which es a constructor. More...
 
void risc::tools::find_and_replace_all (std::string &input, const std::string &from, const std::string &to)
 This function searches for the given string from and replaces all occurrences with the string to in the input string input. More...
 
std::string risc::tools::get_mangled_name (SgClassDefinition *class_def)
 This function returns the mangled name of a class definition. The mangled name is in the style of A::B::C. More...
 
SgVariableSymbol * risc::tools::find_global_variable (std::string name, SgProject *project)
 This function search in the global namespace for the variable with the name 'name' and return the associated symbol. More...
 
bool risc::tools::is_known_function (SgFunctionDeclaration *statement)
 This function checks if the statement is ::memset ::free ::rand ::putchar ::printf. More...
 
bool risc::tools::is_in_std_namespace (SgDeclarationStatement *statement)
 This function checks if the statement is declared in the std namespace. More...
 
bool risc::tools::is_in_systemc_namespace (SgDeclarationStatement *statement)
 This function checks if the statement is declared in the systemc namespace (sc_core/sc_dt) More...
 
bool risc::tools::is_in_gnu_cxx_namespace (SgDeclarationStatement *statement)
 This function checks if the statement is declared in the systemc namespace (sc_core/sc_dt) More...
 
SgVariableSymbol * risc::tools::get_most_outer_var (SgExpression *expr)
 The function returns the most outer variable in an expression. Example: a -> a array[i] -> array array[i][43*k] -> array. More...
 
bool risc::tools::has_no_variable_expressions (SgExpression *expr)
 This function returns true, if the expression contains only literals. More...