27 #ifdef BUILDER_LOOP_NORMALIZE
30 #include "pips_config.h"
132 pips_debug(2,
"Do not normalize this loop because it's sequential and "
133 "we asked to normalize only parallel loops\n");
235 debug_on(
"LOOP_NORMALIZE_DEBUG_LEVEL");
236 pips_debug(1,
"\n\n *** LOOP_NORMALIZE for %s\n", mod_name);
269 pips_debug(1,
"\n\n *** LOOP_NORMALIZE done\n");
277 static void do_linearize_loop_range(
statement st,
bool * did_something) {
285 for(
size_t i = 0; i<
sizeof(bounds) /
sizeof(bounds[0]) ; i++) {
309 bool did_something =
false;
325 do_linearize_loop_range(sloop,&did_something);
int get_int_property(const string)
value make_value_expression(expression _field_)
expression copy_expression(expression p)
EXPRESSION.
bool empty_string_p(const char *s)
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)
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
const char * get_current_module_name(void)
Get the name of the current module.
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 replace_entity_by_expression(void *s, entity ent, expression exp)
replace all reference to entity ent by expression exp in s.
bool gen_true2(__attribute__((unused)) gen_chunk *u1, __attribute__((unused)) void *u2)
bool gen_true(__attribute__((unused)) gen_chunk *unused)
Return true and ignore the argument.
bool loop_sequential_p(loop l)
Test if a loop is sequential.
bool constant_step_loop_p(loop l)
Test if a loop has a constant step loop.
bool normal_loop_p(loop l)
Test if a loop does have a 1-increment step.
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.
loop statement_loop(statement)
Get the loop of a statement.
bool statement_loop_p(statement)
statement make_assign_statement(expression, expression)
void insert_statement(statement, statement, bool)
This is the normal entry point.
bool expression_constant_p(expression)
HPFC module by Fabien COELHO.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
expression make_max_exp(entity ent, expression exp1, expression exp2)
================================================================
#define TOP_LEVEL_MODULE_NAME
Module containing the global variables in Fortran and C.
bool module_reorder(statement body)
Reorder a module and recompute order to statement if any.
#define MAX_OPERATOR_NAME
#define MINUS_OPERATOR_NAME
#define PLUS_OPERATOR_NAME
#define NORMALIZE_EXPRESSION(e)
#define DIVIDE_OPERATOR_NAME
#define MULTIPLY_OPERATOR_NAME
entity FindEntity(const char *package, const char *name)
Retrieve an entity from its package/module name and its local name.
bool entity_in_list_p(entity ent, list ent_l)
look for ent in ent_l
entity module_name_to_entity(const char *mn)
This is an alias for local_name_to_top_level_entity.
int expression_to_int(expression exp)
================================================================
expression entity_to_expression(entity e)
if v is a constant, returns a constant call.
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
expression make_op_exp(char *op_name, expression exp1, expression exp2)
================================================================
basic basic_of_expression(expression)
basic basic_of_expression(expression exp): Makes a basic of the same basic as the expression "exp".
void AddLocalEntityToDeclarations(entity, entity, statement)
Add the variable entity e to the list of variables of the function module.
entity make_new_scalar_variable(entity, basic)
entity find_label_entity(const char *, const char *)
util.c
#define normalized_complex_p(x)
#define statement_domain
newgen_sizeofexpression_domain_defined
#define range_increment(x)
#define entity_undefined_p(x)
#define expression_undefined
#define expression_undefined_p(x)
#define statement_undefined_p(x)
#define statement_undefined
#define entity_initial(x)