25 #include "pips_config.h"
42 #include "constants.h"
64 cons *list_loop_statement;
74 if ((*loop_predicate)(s)) {
215 new_s = (*loop_transformation)(sl,loop_predicate);
235 new_s = (*loop_transformation)(sl,loop_predicate);
243 new_s = (*loop_transformation)(sl,loop_predicate);
251 new_s = (*loop_transformation)(sl,loop_predicate);
260 new_s = (*loop_transformation)(sl,loop_predicate);
279 new_s = (*loop_transformation)(sl,loop_predicate);
bool statement_consistent_p(statement p)
#define CONTROL_MAP(ctl, code, c, list)
Macro to walk through all the controls reachable from a given control node of an unstructured.
#define ENDP(l)
Test if a list is empty.
#define POP(l)
Modify a list pointer to point on the next element of the list.
#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)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define CDR(pcons)
Get the list less its first element.
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...
statement look_for_inner_loops(loop l, list sl, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement))
FI: I do not understand how debug levels are managed...
void look_for_nested_loop_statements(statement s, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement))
Package generation (for the hyperplane transformation?)
void look_for_nested_loops_unstructured(unstructured u, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement))
oid look_for_nested_loops_unstructured(unstructured u) search the nested loops contained in the unstr...
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
#define instruction_block_p(i)
#define unstructured_control
After the modification in Newgen: unstructured = entry:control x exit:control we have create a macro ...
#define is_instruction_block
soft block->sequence transition
#define instruction_block(i)
#define instruction_loop_p(x)
#define instruction_loop(x)
@ is_instruction_unstructured
@ is_instruction_whileloop
#define instruction_tag(x)
#define instruction_forloop(x)
#define instruction_whileloop(x)
#define whileloop_body(x)
#define statement_instruction(x)
#define control_statement(x)
#define instruction_test(x)
#define instruction_unstructured(x)
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
Value b1
booleen indiquant quel membre est en cours d'analyse
The structure used to build lists in NewGen.