26 #include "pips_config.h"
119 if (!
ENDP(enclosing_loops)) {
void get_variables_to_remove(list ref_ent, statement s, list *l)
Modifies the list l so it contains all the loop indexes and scalar written variables It is a little "...
bool find_write_effect_on_entity(statement, entity)
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
bool index_of_a_loop_p(Variable v, list loops)
Check if variable v is an index for an enclosing loop.
#define ENDP(l)
Test if a list is empty.
list gen_once(const void *vo, list l)
Prepend an item to a list only if it is not already in the list.
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
loop statement_loop(statement)
Get the loop of a statement.
whileloop statement_whileloop(statement)
Get the whileloop of a statement.
bool statement_loop_p(statement)
bool entity_array_p(entity e)
Is e a variable with an array type?
list load_statement_enclosing_loops(statement)
#define instruction_loop(x)
@ is_instruction_whileloop
@ is_instruction_sequence
#define instruction_tag(x)
#define sequence_statements(x)
#define instruction_sequence(x)
#define instruction_whileloop(x)
#define whileloop_body(x)
#define statement_instruction(x)
#define instruction_test(x)
The structure used to build lists in NewGen.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....