22#ifndef GCC_GRAPHITE_POLY_H
23#define GCC_GRAPHITE_POLY_H
181#define PDR_ID(PDR) (PDR->id)
182#define PDR_NB_REFS(PDR) (PDR->nb_refs)
183#define PDR_PBB(PDR) (PDR->pbb)
184#define PDR_TYPE(PDR) (PDR->type)
185#define PDR_ACCESSES(PDR) (NULL)
188 isl_map *, isl_set *);
256#define PBB_BLACK_BOX(PBB) ((gimple_poly_bb_p) PBB->black_box)
257#define PBB_SCOP(PBB) (PBB->scop)
258#define PBB_DRS(PBB) (PBB->drs)
441 __isl_keep isl_union_map *
deps,
class loop * loop_p
Definition cfgloop.h:98
class edge_def * edge
Definition coretypes.h:352
union tree_node * tree
Definition coretypes.h:97
static struct filedep * deps
Definition genmddeps.cc:33
int pbb_index(poly_bb_p pbb)
Definition graphite.h:305
gimple_poly_bb_p new_gimple_poly_bb(basic_block, vec< data_reference_p >, vec< scalar_use >, vec< tree >)
basic_block pbb_bb(poly_bb_p pbb)
Definition graphite.h:299
void debug_pdr(poly_dr_p)
bool pdr_may_write_p(poly_dr_p pdr)
Definition graphite.h:209
void print_iteration_domains(FILE *, scop_p)
void dot_all_sese(FILE *, vec< sese_l > &)
void new_poly_dr(poly_bb_p, gimple *, enum poly_dr_type, isl_map *, isl_set *)
bool pdr_write_p(poly_dr_p pdr)
Definition graphite.h:201
void scop_set_region(scop_p scop, sese_info_p region)
Definition graphite.h:416
void scop_set_nb_params(scop_p scop, graphite_dim_t nb_params)
Definition graphite.h:432
bool carries_deps(__isl_keep isl_union_map *schedule, __isl_keep isl_union_map *deps, int depth)
bool graphite_regenerate_ast_isl(scop_p)
void debug_scop_context(scop_p)
void build_scops(vec< scop_p > *)
void debug_isl_aff(isl_aff *)
void debug_iteration_domains(scop_p)
void debug_gmp_value(mpz_t)
void print_isl_map(FILE *, isl_map *)
void print_schedule_ast(FILE *, __isl_keep isl_schedule *, scop_p)
struct poly_bb * poly_bb_p
Definition graphite.h:29
scop_p pdr_scop(poly_dr_p pdr)
Definition graphite.h:321
void print_pdrs(FILE *, poly_bb_p)
scop_p new_scop(edge, edge)
void debug_pbb_domain(poly_bb_p)
#define PDR_PBB(PDR)
Definition graphite.h:183
bool pdr_read_p(poly_dr_p pdr)
Definition graphite.h:193
tree cached_scalar_evolution_in_region(const sese_l &, loop_p, tree)
unsigned graphite_dim_t
Definition graphite.h:33
void debug_scop_pbb(scop_p scop, int i)
struct scop * scop_p
Definition graphite.h:31
void print_pdr(FILE *, poly_dr_p)
void print_scop_context(FILE *, scop_p)
void debug_isl_union_map(isl_union_map *)
void print_pbb_domain(FILE *, poly_bb_p)
void print_pbb(FILE *, poly_bb_p)
#define PBB_BLACK_BOX(PBB)
Definition graphite.h:256
void debug_iteration_domain(poly_bb_p)
poly_dr_type
Definition graphite.h:40
@ PDR_READ
Definition graphite.h:41
@ PDR_MAY_WRITE
Definition graphite.h:45
@ PDR_WRITE
Definition graphite.h:44
void debug_pdrs(poly_bb_p)
#define PBB_SCOP(PBB)
Definition graphite.h:257
void debug_isl_schedule(isl_schedule *)
void print_iteration_domain(FILE *, poly_bb_p)
void print_scop(FILE *, scop_p)
void debug_isl_constraint(isl_constraint *)
void scop_get_dependences(scop_p scop)
void print_scop_params(FILE *, scop_p)
#define PDR_TYPE(PDR)
Definition graphite.h:184
loop_p pbb_loop(poly_bb_p pbb)
Definition graphite.h:313
struct poly_dr * poly_dr_p
Definition graphite.h:27
void debug_isl_ast(isl_ast_node *)
void print_isl_set(FILE *, isl_set *)
void debug_pbb(poly_bb_p)
bool build_poly_scop(scop_p)
bool apply_poly_transforms(scop_p)
void print_isl_aff(FILE *, isl_aff *)
poly_bb_p new_poly_bb(scop_p, gimple_poly_bb_p)
void pbb_set_black_box(poly_bb_p pbb, gimple_poly_bb_p black_box)
Definition graphite.h:329
void debug_isl_set(isl_set *)
void print_isl_constraint(FILE *, isl_constraint *)
void debug_schedule_ast(__isl_keep isl_schedule *, scop_p)
void print_isl_union_map(FILE *, isl_union_map *)
void debug_scop_params(scop_p)
void print_isl_schedule(FILE *, isl_schedule *)
void print_isl_ast(FILE *, isl_ast_node *)
void debug_isl_map(isl_map *)
graphite_dim_t scop_nb_params(scop_p)
Definition graphite.h:424
i
Definition poly-int.h:776
class sese_info_t * sese_info_p
#define GBB_BB(GBB)
Definition sese.h:267
class loop * gbb_loop(gimple_poly_bb_p gbb)
Definition sese.h:276
Definition basic-block.h:117
int index
Definition basic-block.h:147
Definition tree-data-ref.h:151
Definition graphite.h:338
int alias_set
Definition graphite.h:350
@ invalid_alias_set
Definition graphite.h:340
data_reference_p dr
Definition graphite.h:343
poly_bb_p pbb
Definition graphite.h:346
dr_info(data_reference_p dr, poly_bb_p pbb, int alias_set=invalid_alias_set)
Definition graphite.h:353
Definition graphite.h:217
isl_set * domain
Definition graphite.h:246
vec< poly_dr_p > drs
Definition graphite.h:250
scop_p scop
Definition graphite.h:222
isl_set * iterators
Definition graphite.h:247
basic_block new_bb
Definition graphite.h:253
gimple_poly_bb_p black_box
Definition graphite.h:219
enum poly_dr_type type
Definition graphite.h:62
int id
Definition graphite.h:51
poly_bb_p pbb
Definition graphite.h:60
int nb_refs
Definition graphite.h:54
gimple * stmt
Definition graphite.h:57
isl_map * accesses
Definition graphite.h:177
isl_set * subscript_sizes
Definition graphite.h:178
Definition graphite.h:361
vec< poly_bb_p > pbbs
Definition graphite.h:374
isl_union_map * dependence
Definition graphite.h:404
graphite_dim_t nb_params
Definition graphite.h:366
isl_ctx * isl_context
Definition graphite.h:395
sese_info_p scop_info
Definition graphite.h:363
isl_set * param_context
Definition graphite.h:392
vec< dr_info > drs
Definition graphite.h:377
unsigned max_alias_set
Definition graphite.h:369
isl_schedule * transformed_schedule
Definition graphite.h:401
isl_schedule * original_schedule
Definition graphite.h:398