GCC Middle and Back End API Reference
graphite-poly.h File Reference

Go to the source code of this file.

Data Structures

struct  poly_dr
struct  poly_scattering
struct  poly_bb
struct  lst
struct  scop

Typedefs

typedef struct poly_drpoly_dr_p
typedef struct poly_bbpoly_bb_p
typedef struct scopscop_p
typedef unsigned graphite_dim_t
typedef struct poly_scatteringpoly_scattering_p
typedef struct lstlst_p

Enumerations

enum  poly_dr_type { PDR_READ, PDR_WRITE, PDR_MAY_WRITE }

Functions

static graphite_dim_t pbb_dim_iter_domain (const struct poly_bb *)
static graphite_dim_t pbb_nb_params (const struct poly_bb *)
static graphite_dim_t scop_nb_params (scop_p)
void new_poly_dr (poly_bb_p, int, enum poly_dr_type, void *, graphite_dim_t, isl_map *, isl_set *)
void free_poly_dr (poly_dr_p)
void debug_pdr (poly_dr_p, int)
void print_pdr (FILE *, poly_dr_p, int)
static scop_p pdr_scop (poly_dr_p pdr)
static graphite_dim_t pdr_dim_iter_domain ()
static graphite_dim_t pdr_nb_params ()
static graphite_dim_t pdr_alias_set_dim ()
static graphite_dim_t pdr_subscript_dim ()
static graphite_dim_t pdr_iterator_dim ()
static graphite_dim_t pdr_parameter_dim ()
static bool pdr_read_p ()
static bool pdr_write_p ()
static bool pdr_may_write_p ()
static bool same_pdr_p ()
poly_bb_p new_poly_bb (scop_p, void *)
void free_poly_bb (poly_bb_p)
void debug_loop_vec (poly_bb_p)
void schedule_to_scattering (poly_bb_p, int)
void print_pbb_domain (FILE *, poly_bb_p, int)
void print_pbb (FILE *, poly_bb_p, int)
void print_scop_context (FILE *, scop_p, int)
void print_scop (FILE *, scop_p, int)
void print_cloog (FILE *, scop_p, int)
void debug_pbb_domain (poly_bb_p, int)
void debug_pbb (poly_bb_p, int)
void print_pdrs (FILE *, poly_bb_p, int)
void debug_pdrs (poly_bb_p, int)
void debug_scop_context (scop_p, int)
void debug_scop (scop_p, int)
void debug_cloog (scop_p, int)
void print_scop_params (FILE *, scop_p, int)
void debug_scop_params (scop_p, int)
void print_iteration_domain (FILE *, poly_bb_p, int)
void print_iteration_domains (FILE *, scop_p, int)
void debug_iteration_domain (poly_bb_p, int)
void debug_iteration_domains (scop_p, int)
void print_isl_set (FILE *, isl_set *)
void print_isl_map (FILE *, isl_map *)
void print_isl_aff (FILE *, isl_aff *)
void print_isl_constraint (FILE *, isl_constraint *)
void debug_isl_set (isl_set *)
void debug_isl_map (isl_map *)
void debug_isl_aff (isl_aff *)
void debug_isl_constraint (isl_constraint *)
int scop_do_interchange (scop_p)
int scop_do_strip_mine (scop_p, int)
bool scop_do_block (scop_p)
bool flatten_all_loops (scop_p)
bool optimize_isl (scop_p)
void pbb_number_of_iterations_at_time (poly_bb_p, graphite_dim_t, mpz_t)
void debug_gmp_value (mpz_t)
static int number_of_write_pdrs ()
static gimple_bb_p gbb_from_bb ()
static poly_bb_p pbb_from_bb ()
static basic_block pbb_bb ()
static int pbb_index ()
static loop_p pbb_loop ()
static scop_p pdr_scop ()
static void pbb_set_black_box ()
static graphite_dim_t pbb_dim_iter_domain ()
static graphite_dim_t pbb_nb_params ()
static graphite_dim_t pbb_nb_scattering_orig ()
static graphite_dim_t pbb_nb_scattering_transform ()
static graphite_dim_t pbb_nb_dynamic_scattering_transform ()
static graphite_dim_t pbb_nb_local_vars ()
static graphite_dim_t pbb_iterator_dim ()
static graphite_dim_t pbb_parameter_dim ()
static graphite_dim_t psco_scattering_dim ()
static graphite_dim_t psct_scattering_dim ()
static graphite_dim_t psct_local_var_dim ()
static graphite_dim_t psco_iterator_dim ()
static graphite_dim_t psct_iterator_dim ()
static graphite_dim_t psco_parameter_dim ()
static graphite_dim_t psct_parameter_dim ()
static graphite_dim_t psct_dynamic_dim ()
static graphite_dim_t psct_static_dim ()
static graphite_dim_t psct_add_local_variable ()
void scop_to_lst (scop_p)
void print_lst (FILE *, lst_p, int)
void debug_lst (lst_p)
void dot_lst (lst_p)
static lst_p new_lst_loop ()
static lst_p new_lst_stmt ()
static void free_lst ()
static lst_p copy_lst ()
static void lst_add_loop_under_loop ()
static int lst_depth ()
static int lst_dewey_number ()
static int lst_dewey_number_at_depth ()
static lst_p lst_pred ()
static lst_p lst_succ ()
static lst_p lst_find_pbb ()
static lst_p find_lst_loop ()
static lst_p lst_find_first_pbb ()
static bool lst_empty_p ()
static lst_p lst_find_last_pbb ()
static bool lst_contains_p ()
static bool lst_contains_pbb ()
static lst_p lst_create_nest ()
static void lst_remove_from_sequence ()
static void lst_remove_loop_and_inline_stmts_in_loop_father ()
static void lst_niter_for_loop ()
static void pbb_update_scattering ()
static void lst_update_scattering_under ()
static void lst_update_scattering ()
static void lst_insert_in_sequence ()
static void lst_replace ()
static lst_p lst_substitute_3 ()
static void lst_distribute_lst ()
static bool lst_remove_all_before_including_pbb ()
static bool lst_remove_all_before_excluding_pbb ()
scop_p new_scop (void *)
void free_scop (scop_p)
void free_scops (vec< scop_p >)
void print_generated_program (FILE *, scop_p)
void debug_generated_program (scop_p)
void print_scattering_function (FILE *, poly_bb_p, int)
void print_scattering_functions (FILE *, scop_p, int)
void debug_scattering_function (poly_bb_p, int)
void debug_scattering_functions (scop_p, int)
int scop_max_loop_depth (scop_p)
int unify_scattering_dimensions (scop_p)
bool apply_poly_transforms (scop_p)
bool graphite_legal_transform (scop_p)
void cloog_checksum (scop_p)
static void scop_set_region ()
static graphite_dim_t scop_nb_params ()
static void scop_set_nb_params ()
static poly_scattering_p poly_scattering_new ()
static void poly_scattering_free ()
static poly_scattering_p poly_scattering_copy ()
static void store_scattering_pbb ()
static void store_lst_schedule ()
static void restore_lst_schedule ()
static void store_scattering ()
static void restore_scattering_pbb ()
static void restore_scattering ()
isl_map * reverse_loop_at_level (poly_bb_p, int)
isl_union_map * reverse_loop_for_pbbs (scop_p, vec< poly_bb_p >, int)
__isl_give isl_union_map * extend_schedule (__isl_take isl_union_map *)
void compute_deps (scop_p scop, vec< poly_bb_p > pbbs, isl_union_map **must_raw, isl_union_map **may_raw, isl_union_map **must_raw_no_source, isl_union_map **may_raw_no_source, isl_union_map **must_war, isl_union_map **may_war, isl_union_map **must_war_no_source, isl_union_map **may_war_no_source, isl_union_map **must_waw, isl_union_map **may_waw, isl_union_map **must_waw_no_source, isl_union_map **may_waw_no_source)

Typedef Documentation

typedef unsigned graphite_dim_t
typedef struct lst* lst_p
typedef struct poly_bb* poly_bb_p
typedef struct poly_dr* poly_dr_p
typedef struct scop* scop_p

Enumeration Type Documentation

A data reference can write or read some memory or we
   just know it may write some memory.   
Enumerator:
PDR_READ 
PDR_WRITE 
PDR_MAY_WRITE 

Function Documentation

bool apply_poly_transforms ( scop_p  )
void cloog_checksum ( scop_p  )
void compute_deps ( scop_p  scop,
vec< poly_bb_p pbbs,
isl_union_map **  must_raw,
isl_union_map **  may_raw,
isl_union_map **  must_raw_no_source,
isl_union_map **  may_raw_no_source,
isl_union_map **  must_war,
isl_union_map **  may_war,
isl_union_map **  must_war_no_source,
isl_union_map **  may_war_no_source,
isl_union_map **  must_waw,
isl_union_map **  may_waw,
isl_union_map **  must_waw_no_source,
isl_union_map **  may_waw_no_source 
)
Compute the original data dependences in SCOP for all the reads and
   writes in PBBS.   

References scop_get_may_writes(), scop_get_must_writes(), scop_get_original_schedule(), scop_get_reads(), and subtract_commutative_associative_deps().

Referenced by loop_level_carries_dependences(), scop_get_dependences(), and transform_is_safe().

static lst_p copy_lst ( )
inlinestatic
void debug_cloog ( scop_p  ,
int   
)
void debug_generated_program ( scop_p  )
void debug_gmp_value ( mpz_t  )
void debug_isl_aff ( isl_aff *  )
void debug_isl_constraint ( isl_constraint *  )
void debug_isl_map ( isl_map *  )
void debug_isl_set ( isl_set *  )
void debug_iteration_domain ( poly_bb_p  ,
int   
)
void debug_iteration_domains ( scop_p  ,
int   
)
void debug_loop_vec ( poly_bb_p  )
void debug_lst ( lst_p  )
void debug_pbb ( poly_bb_p  ,
int   
)
void debug_pbb_domain ( poly_bb_p  ,
int   
)
void debug_pdr ( poly_dr_p  ,
int   
)
void debug_pdrs ( poly_bb_p  ,
int   
)
void debug_scattering_function ( poly_bb_p  ,
int   
)
void debug_scattering_functions ( scop_p  ,
int   
)
void debug_scop ( scop_p  ,
int   
)
void debug_scop_context ( scop_p  ,
int   
)
void debug_scop_params ( scop_p  ,
int   
)
void dot_lst ( lst_p  )
__isl_give isl_union_map* extend_schedule ( __isl_take isl_union_map *  )
static lst_p find_lst_loop ( )
inlinestatic
Return the LST node corresponding to the loop around STMT at depth
   LOOP_DEPTH.   

References lst_depth().

bool flatten_all_loops ( scop_p  )
void free_poly_bb ( poly_bb_p  )
void free_poly_dr ( poly_dr_p  )
void free_scop ( scop_p  )
void free_scops ( vec< scop_p )
static gimple_bb_p gbb_from_bb ( )
inlinestatic
bool graphite_legal_transform ( scop_p  )
static void lst_add_loop_under_loop ( )
inlinestatic
Adds a new loop under the loop LST.   

References new_lst_loop().

Referenced by lst_do_strip_mine().

static bool lst_contains_p ( )
inlinestatic
Returns true if LOOP contains LST, in other words, if LST is nested
   in LOOP.   
static bool lst_contains_pbb ( )
inlinestatic
Returns true if LOOP contains PBB, in other words, if PBB is nested
   in LOOP.   

References lst_find_pbb().

static lst_p lst_create_nest ( )
inlinestatic
Creates a loop nest of depth NB_LOOPS containing LST.   

References new_lst_loop().

Referenced by lst_distribute_lst().

static int lst_dewey_number_at_depth ( )
inlinestatic
Returns the Dewey number of LST at depth DEPTH.   

References lst_depth(), and lst_dewey_number().

static void lst_distribute_lst ( )
inlinestatic
Moves LST before LOOP if BEFORE is true, and after the LOOP if
   BEFORE is false.   

References loop_depth(), lst_create_nest(), lst_depth(), lst_insert_in_sequence(), and lst_remove_from_sequence().

static bool lst_empty_p ( )
inlinestatic
Returns true when LST is a loop that does not contain
   statements.   

References lst_find_first_pbb().

Referenced by lst_insert_in_sequence(), lst_perfect_nestify(), lst_replace(), and lst_substitute_3().

static lst_p lst_find_first_pbb ( )
inlinestatic
Return the first LST representing a PBB statement in LST.   

Referenced by lst_empty_p(), lst_niter_for_loop(), and lst_perfect_nestify().

static lst_p lst_find_last_pbb ( )
inlinestatic
Return the last LST representing a PBB statement in LST.   

References last.

Referenced by lst_perfect_nestify().

static lst_p lst_find_pbb ( )
inlinestatic
Return the LST node corresponding to PBB.   

Referenced by lst_contains_pbb().

static void lst_insert_in_sequence ( )
inlinestatic
Inserts LST1 before LST2 if BEFORE is true; inserts LST1 after LST2
   if BEFORE is false.   

References lst_dewey_number(), and lst_empty_p().

Referenced by lst_distribute_lst(), and lst_try_interchange_loops().

static void lst_niter_for_loop ( )
inlinestatic
Sets NITER to the upper bound approximation of the number of
   iterations of loop LST.   

References lst_depth(), lst_find_first_pbb(), pbb_number_of_iterations_at_time(), and psct_dynamic_dim().

Referenced by lst_strip_mine_profitable_p().

static lst_p lst_pred ( )
inlinestatic
Returns the predecessor of LST in the sequence of its loop father.
   Returns NULL if LST is the first statement in the sequence.   

References lst_dewey_number().

static bool lst_remove_all_before_excluding_pbb ( )
inlinestatic
Removes from LOOP all the statements before/after and excluding PBB
   if BEFORE is true/false; Returns the negation of BEFORE when the
   statement PBB has been found.   

References free_lst().

Referenced by lst_perfect_nestify().

static bool lst_remove_all_before_including_pbb ( )
inlinestatic
Removes from LOOP all the statements before/after and including PBB
   if BEFORE is true/false.  Returns the negation of BEFORE when the
   statement PBB has been found.   

References free_lst().

Referenced by lst_perfect_nestify().

static void lst_remove_from_sequence ( )
inlinestatic
Removes LST from the sequence of statements of its loop father.   

References lst_dewey_number().

Referenced by lst_distribute_lst().

static void lst_remove_loop_and_inline_stmts_in_loop_father ( )
inlinestatic
Removes the loop LST and inline its body in the father loop.   

References lst_dewey_number().

static void lst_replace ( )
inlinestatic
Replaces LST1 with LST2.   

References lst_dewey_number(), and lst_empty_p().

Referenced by lst_try_interchange_loops().

static lst_p lst_substitute_3 ( )
inlinestatic
Returns a copy of ROOT where LST has been replaced by a copy of the
   LSTs A B C in this sequence.   

References copy_lst(), lst_empty_p(), new_lst_loop(), and new_lst_stmt().

Referenced by lst_try_interchange_loops().

static lst_p lst_succ ( )
inlinestatic
Returns the successor of LST in the sequence of its loop father.
   Returns NULL if there is none.   

References lst_dewey_number().

static void lst_update_scattering ( )
inlinestatic
Updates the all the scattering levels of all the PBBs under
   LST.   

References lst_depth(), lst_dewey_number(), and lst_update_scattering_under().

Referenced by lst_try_interchange_loops(), and scop_do_interchange().

static void lst_update_scattering_under ( )
inlinestatic
Updates the scattering of all the PBBs under LST to be at the DEWEY
   number in the loop at depth LEVEL.   

References pbb_update_scattering().

Referenced by lst_update_scattering().

static lst_p new_lst_loop ( )
inlinestatic
Creates a new LST loop with SEQ.   

Referenced by copy_lst(), loop_to_lst(), lst_add_loop_under_loop(), lst_create_nest(), lst_substitute_3(), and scop_to_lst().

static lst_p new_lst_stmt ( )
inlinestatic
Creates a new LST statement with PBB.   

Referenced by copy_lst(), loop_to_lst(), lst_substitute_3(), and scop_to_lst().

poly_bb_p new_poly_bb ( scop_p  ,
void *   
)
void new_poly_dr ( poly_bb_p  pbb,
int  dr_base_object_set,
enum poly_dr_type  type,
void *  cdr,
graphite_dim_t  nb_subscripts,
isl_map *  acc,
isl_set *  extent 
)
Create a new polyhedral data reference and add it to PBB.  It is
   defined by its ACCESSES, its TYPE, and the number of subscripts
   NB_SUBSCRIPTS.   

References poly_dr::accesses, poly_dr::extent, and type().

Referenced by build_poly_dr().

scop_p new_scop ( void *  )
static int number_of_write_pdrs ( )
inlinestatic
Return the number of write data references in PBB.   

References PDR_WRITE.

bool optimize_isl ( scop_p  )
static basic_block pbb_bb ( )
inlinestatic
The basic block of the PBB.   

Referenced by pbb_index(), and print_pbb_body().

static graphite_dim_t pbb_dim_iter_domain ( )
inlinestatic
The number of loops around PBB: the dimension of the iteration
   domain.   

References poly_bb::domain.

static poly_bb_p pbb_from_bb ( )
inlinestatic
static int pbb_index ( )
inlinestatic
static graphite_dim_t pbb_iterator_dim ( )
inlinestatic
The dimension in the domain of PBB containing the iterator ITER.   
static loop_p pbb_loop ( )
inlinestatic
The loop of the PBB.   

References gbb_loop().

Referenced by build_scop_iteration_domain(), and create_pw_aff_from_tree().

static graphite_dim_t pbb_nb_dynamic_scattering_transform ( )
inlinestatic
The number of dynamic scattering dimensions in PBB.   
static graphite_dim_t pbb_nb_local_vars ( )
inlinestatic
Returns the number of local variables used in the transformed
   scattering polyhedron of PBB.   

Referenced by pdr_stride_in_loop(), print_scattering_function_1(), psct_iterator_dim(), psct_local_var_dim(), and psct_parameter_dim().

static graphite_dim_t pbb_nb_params ( )
inlinestatic
The number of params defined in PBB.   

References scop_nb_params().

static graphite_dim_t pbb_nb_scattering_orig ( )
inlinestatic
The number of scattering dimensions in the SCATTERING polyhedron
   of a PBB for a given SCOP.   

References pbb_dim_iter_domain().

Referenced by psco_iterator_dim(), psco_parameter_dim(), and psco_scattering_dim().

static graphite_dim_t pbb_nb_scattering_transform ( )
inlinestatic
void pbb_number_of_iterations_at_time ( poly_bb_p  pbb,
graphite_dim_t  time_depth,
mpz_t  res 
)
Returns the number of iterations RES of the loop around PBB at
   time(scattering) dimension TIME_DEPTH.   

References poly_bb::domain, and poly_bb::transformed.

Referenced by lst_niter_for_loop().

static graphite_dim_t pbb_parameter_dim ( )
inlinestatic
The dimension in the domain of PBB containing the iterator ITER.   

References pbb_dim_iter_domain().

static void pbb_set_black_box ( )
inlinestatic
Set black box of PBB to BLACKBOX.   

References poly_bb::black_box.

Referenced by new_poly_bb().

static void pbb_update_scattering ( )
inlinestatic
Updates the scattering of PBB to be at the DEWEY number in the loop
   at depth LEVEL.   

References d1, d2, psct_static_dim(), and poly_bb::transformed.

Referenced by lst_update_scattering_under().

static graphite_dim_t pdr_alias_set_dim ( )
inlinestatic
The dimension of the alias set in PDR.   

References pbb_dim_iter_domain(), and pbb_nb_params().

static graphite_dim_t pdr_dim_iter_domain ( )
inlinestatic
The dimension of the iteration domain of the scop of PDR.   

References pbb_dim_iter_domain().

static graphite_dim_t pdr_iterator_dim ( )
inlinestatic
The dimension in PDR containing the loop iterator ITER.   
static bool pdr_may_write_p ( )
inlinestatic
Returns true when PDR is a "may write".   

References PDR_MAY_WRITE.

Referenced by scop_get_may_writes(), and subtract_commutative_associative_deps().

static graphite_dim_t pdr_nb_params ( )
inlinestatic
The number of parameters of the scop of PDR.   

References pdr_scop(), and scop_nb_params().

static graphite_dim_t pdr_parameter_dim ( )
inlinestatic
The dimension in PDR containing parameter PARAM.   

References pbb_dim_iter_domain().

static bool pdr_read_p ( )
inlinestatic
Returns true when PDR is a "read".   

References PDR_READ.

Referenced by scop_get_reads(), and subtract_commutative_associative_deps().

static scop_p pdr_scop ( poly_dr_p  pdr)
inlinestatic

Referenced by pdr_nb_params().

static scop_p pdr_scop ( )
inlinestatic
The scop that contains the PDR.   
static graphite_dim_t pdr_subscript_dim ( )
inlinestatic
The dimension in PDR containing subscript S.   

References pbb_dim_iter_domain(), and pbb_nb_params().

static bool pdr_write_p ( )
inlinestatic
Returns true when PDR is a "write".   

References PDR_WRITE.

Referenced by scop_get_must_writes(), and subtract_commutative_associative_deps().

static poly_scattering_p poly_scattering_copy ( )
inlinestatic
Copies S and return a new scattering.   

References poly_scattering::nb_local_variables, poly_scattering::nb_scattering, and poly_scattering_new().

static void poly_scattering_free ( )
inlinestatic
Free a poly_scattering structure.   

References free().

static poly_scattering_p poly_scattering_new ( )
inlinestatic
Allocates a new empty poly_scattering structure.   

References poly_scattering::nb_local_variables, and poly_scattering::nb_scattering.

Referenced by poly_scattering_copy().

void print_cloog ( FILE *  ,
scop_p  ,
int   
)
void print_generated_program ( FILE *  ,
scop_p   
)
void print_isl_aff ( FILE *  ,
isl_aff *   
)
void print_isl_constraint ( FILE *  ,
isl_constraint *   
)
void print_isl_map ( FILE *  ,
isl_map *   
)
void print_isl_set ( FILE *  ,
isl_set *   
)
void print_iteration_domain ( FILE *  ,
poly_bb_p  ,
int   
)
void print_iteration_domains ( FILE *  ,
scop_p  ,
int   
)
void print_lst ( FILE *  ,
lst_p  ,
int   
)
void print_pbb ( FILE *  ,
poly_bb_p  ,
int   
)
void print_pbb_domain ( FILE *  ,
poly_bb_p  ,
int   
)
void print_pdr ( FILE *  ,
poly_dr_p  ,
int   
)
void print_pdrs ( FILE *  ,
poly_bb_p  ,
int   
)
void print_scattering_function ( FILE *  ,
poly_bb_p  ,
int   
)
void print_scattering_functions ( FILE *  ,
scop_p  ,
int   
)
void print_scop ( FILE *  ,
scop_p  ,
int   
)
void print_scop_context ( FILE *  ,
scop_p  ,
int   
)
void print_scop_params ( FILE *  ,
scop_p  ,
int   
)
static graphite_dim_t psco_iterator_dim ( )
inlinestatic
The dimension in the original scattering polyhedron of PBB
   containing the loop iterator ITER.   

References pbb_dim_iter_domain(), and pbb_nb_scattering_orig().

static graphite_dim_t psco_parameter_dim ( )
inlinestatic
The dimension in the original scattering polyhedron of PBB
   containing parameter PARAM.   

References pbb_dim_iter_domain(), pbb_nb_params(), and pbb_nb_scattering_orig().

static graphite_dim_t psco_scattering_dim ( )
inlinestatic
The dimension in the original scattering polyhedron of PBB
   containing the scattering iterator SCATTER.   

References pbb_nb_scattering_orig().

static graphite_dim_t psct_add_local_variable ( )
inlinestatic
Adds to the transformed scattering polyhedron of PBB a new local
   variable and returns its index.   
static graphite_dim_t psct_dynamic_dim ( )
inlinestatic
The scattering dimension of PBB corresponding to the dynamic level
   LEVEL.   

References pbb_nb_scattering_transform().

Referenced by lst_do_strip_mine_loop(), lst_niter_for_loop(), pbb_interchange_loop_depths(), pdr_stride_in_loop(), and reverse_loop_at_level().

static graphite_dim_t psct_iterator_dim ( )
inlinestatic
The dimension in the transformed scattering polyhedron of PBB
   containing the loop iterator ITER.   

References pbb_dim_iter_domain(), pbb_nb_local_vars(), and pbb_nb_scattering_transform().

static graphite_dim_t psct_local_var_dim ( )
inlinestatic
The dimension in the transformed scattering polyhedron of PBB of
   the local variable LV.   

References pbb_nb_local_vars(), and pbb_nb_scattering_transform().

static graphite_dim_t psct_parameter_dim ( )
inlinestatic
The dimension in the transformed scattering polyhedron of PBB
   containing parameter PARAM.   

References pbb_dim_iter_domain(), pbb_nb_local_vars(), pbb_nb_params(), and pbb_nb_scattering_transform().

static graphite_dim_t psct_scattering_dim ( )
inlinestatic
The dimension in the transformed scattering polyhedron of PBB
   containing the scattering iterator SCATTER.   

References pbb_nb_scattering_transform().

static graphite_dim_t psct_static_dim ( )
inlinestatic
The scattering dimension of PBB corresponding to the static
   sequence of the loop level LEVEL.   

References pbb_nb_scattering_transform().

Referenced by pbb_update_scattering().

static void restore_lst_schedule ( )
inlinestatic
Restores the SCOP_TRANSFORMED_SCHEDULE from SCOP_SAVED_SCHEDULE.   

References copy_lst(), and free_lst().

Referenced by restore_scattering().

static void restore_scattering ( )
inlinestatic
Restores the scattering for all the pbbs in the SCOP.   

References restore_lst_schedule(), and restore_scattering_pbb().

Referenced by scop_do_block().

static void restore_scattering_pbb ( )
inlinestatic
Restores the scattering of PBB.   

References poly_bb::saved, and poly_bb::transformed.

Referenced by restore_scattering().

isl_map* reverse_loop_at_level ( poly_bb_p  ,
int   
)
isl_union_map* reverse_loop_for_pbbs ( scop_p  ,
vec< poly_bb_p ,
int   
)
static bool same_pdr_p ( )
inlinestatic
Return true when PDR1 and PDR2 are similar data accesses: they have
   the same base array, and the same access functions.   
void schedule_to_scattering ( poly_bb_p  ,
int   
)
bool scop_do_block ( scop_p  )
int scop_do_interchange ( scop_p  )
int scop_do_strip_mine ( scop_p  ,
int   
)
int scop_max_loop_depth ( scop_p  )
static graphite_dim_t scop_nb_params ( )
inlinestatic
Returns the number of parameters for SCOP.   

References scop::nb_params.

static void scop_set_nb_params ( )
inlinestatic
Set the number of params of SCOP to NB_PARAMS.   

References scop::nb_params.

Referenced by find_scop_parameters().

static void scop_set_region ( )
inlinestatic
Set the region of SCOP to REGION.   

References scop::region.

Referenced by new_scop().

void scop_to_lst ( scop_p  )
static void store_lst_schedule ( )
inlinestatic
Stores the SCOP_TRANSFORMED_SCHEDULE to SCOP_SAVED_SCHEDULE.   

References copy_lst(), and free_lst().

Referenced by store_scattering().

static void store_scattering ( )
inlinestatic
Saves the scattering for all the pbbs in the SCOP.   

References store_lst_schedule(), and store_scattering_pbb().

Referenced by scop_do_block().

static void store_scattering_pbb ( )
inlinestatic
Saves the transformed scattering of PBB.   

References poly_bb::saved, and poly_bb::transformed.

Referenced by store_scattering().

int unify_scattering_dimensions ( scop_p  )