30 #include "pips_config.h"
44 #include "resources.h"
68 bool contains_a_loop =
false;
79 pips_debug(2,
"Ouline statement into a new task : ");
109 bool old_outline_independent_compilation_unit =
118 old_outline_independent_compilation_unit);
statement outliner(const char *, list)
outline the statements in statements_to_outline into a module named outline_module_name the outlined ...
callees compute_callees(const statement stat)
Recompute the callees of a module statement.
struct _newgen_struct_statement_ * statement
#define region
simulation of the type region
void reset_proper_rw_effects(void)
void set_proper_rw_effects(statement_effects)
void set_cumulated_rw_effects(statement_effects)
void reset_cumulated_rw_effects(void)
const char * module_name(const char *s)
Return the module part of an entity name.
char * get_string_property(const char *)
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
#define gen_context_recurse(start, ctxt, domain_number, flt, rwt)
#define gen_recurse(start, domain_number, flt, rwt)
string build_outline_name(const char *base_prefix, const char *mod_name)
Build the outline function name.
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
statement set_current_module_statement(statement)
Set the current module statement.
statement get_current_module_statement(void)
Get the current module statement.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
void gen_null2(__attribute__((unused)) void *u1, __attribute__((unused)) void *u2)
idem with 2 args, to please overpeaky compiler checks
void gen_null(__attribute__((unused)) void *unused)
Ignore the argument.
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define DB_PUT_MEMORY_RESOURCE(res_name, own_name, res_val)
conform to old interface.
bool empty_statement_or_continue_p(statement)
Return true if the statement is an empty instruction block or a continue or a recursive combination o...
bool statement_loop_p(statement)
bool statement_contains_user_call_p(statement)
bool return_statement_p(statement)
Test if a statement is a C or Fortran "return".
bool declaration_statement_p(statement)
Had to be optimized according to Beatrice Creusillet.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
void print_statement(statement)
Print a statement on stderr.
void set_bool_property(const char *, bool)
static const char * prefix
bool module_reorder(statement body)
Reorder a module and recompute order to statement if any.
const char * entity_user_name(entity e)
Since entity_local_name may contain PIPS special characters such as prefixes (label,...
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
#define loop_domain
newgen_language_domain_defined
#define statement_domain
newgen_sizeofexpression_domain_defined
static bool loop_found_p(_UNUSED_ loop l, bool *found)
bool taskify(char *module_name)
bool taskify_statement(statement s)
static string get_next_task_name()