25 #include "pips_config.h"
51 pips_debug(1,
"Index for loop %" PRIdPTR
" privatized\n",
55 pips_debug(1,
"could not privatize loop %" PRIdPTR
"\n",
111 pips_debug(3,
"the arc goes outside the loop body.\n");
131 pips_debug(3,
"index read in range expressions\n");
effects make_effects(list a)
void free_effects(effects p)
static list successors(list l)
struct _newgen_struct_dg_arc_label_ * dg_arc_label
#define CONFLICT(x)
CONFLICT.
#define dg_arc_label_conflicts(x)
#define conflict_source(x)
list proper_effects_of_range(range)
bool is_implied_do_index(entity, instruction)
#define effect_any_reference(e)
FI: cannot be used as a left hand side.
#define action_write_p(x)
#define successor_vertex(x)
#define successor_arc_label(x)
#define vertex_successors(x)
#define SUCCESSOR(x)
SUCCESSOR.
#define graph_vertices(x)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
void * gen_find_eq(const void *item, const list seq)
loop statement_loop(statement)
Get the loop of a statement.
bool statement_loop_p(statement)
statement vertex_to_statement(vertex v)
Vertex_to_statement looks for the statement that is pointed to by vertex v.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
int f2(int off1, int off2, int w, int n, float r[n], float a[n], float b[n])
void quick_privatize_graph(graph dep_graph)
quick_privatize.c
static bool quick_privatize_statement_pair(statement, statement, list)
static bool quick_privatize_loop(statement, list)
QUICK PRIVATIZATION
list load_statement_enclosing_loops(statement)
#define reference_variable(x)
#define statement_instruction(x)
#define statement_number(x)
The structure used to build lists in NewGen.