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

Functions

DEBUG_FUNCTION void debug_gmp_value ()
int scop_max_loop_depth ()
static void print_scattering_function_1 ()
void print_scattering_function ()
void print_iteration_domain ()
void print_scattering_functions ()
void print_iteration_domains ()
DEBUG_FUNCTION void debug_scattering_function ()
DEBUG_FUNCTION void debug_iteration_domain ()
DEBUG_FUNCTION void debug_scattering_functions ()
DEBUG_FUNCTION void debug_iteration_domains ()
bool apply_poly_transforms ()
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)
void free_poly_dr ()
poly_bb_p new_poly_bb ()
void free_poly_bb ()
static void print_pdr_access_layout ()
void print_pdr ()
DEBUG_FUNCTION void debug_pdr ()
scop_p new_scop ()
void free_scop ()
static void openscop_print_pbb_domain ()
void print_pbb_domain ()
static void dump_gbb_cases ()
static void dump_gbb_conditions ()
void print_pdrs ()
DEBUG_FUNCTION void debug_pdrs ()
static void print_pbb_body (FILE *file, poly_bb_p pbb, int verbosity, bool statement_body_provided)
void print_pbb ()
void print_scop_params ()
static void openscop_print_scop_context ()
void print_scop_context ()
void print_scop ()
void print_cloog ()
DEBUG_FUNCTION void debug_pbb_domain ()
DEBUG_FUNCTION void debug_pbb ()
DEBUG_FUNCTION void debug_scop_context ()
DEBUG_FUNCTION void debug_scop ()
DEBUG_FUNCTION void debug_cloog ()
DEBUG_FUNCTION void debug_scop_params ()
void print_isl_set ()
DEBUG_FUNCTION void debug_isl_set ()
void print_isl_map ()
DEBUG_FUNCTION void debug_isl_map ()
void print_isl_aff ()
DEBUG_FUNCTION void debug_isl_aff ()
void print_isl_constraint ()
DEBUG_FUNCTION void debug_isl_constraint ()
void pbb_number_of_iterations_at_time (poly_bb_p pbb, graphite_dim_t time_depth, mpz_t res)
static lst_p loop_to_lst ()
void scop_to_lst ()
static void lst_indent_to ()
void print_lst ()
DEBUG_FUNCTION void debug_lst ()
static void dot_lst_1 ()
DEBUG_FUNCTION void dot_lst ()
DEBUG_FUNCTION void cloog_checksum ()
isl_map * reverse_loop_at_level ()
isl_union_map * reverse_loop_for_pbbs ()

Variables

isl_ctx * the_isl_ctx

Function Documentation

bool apply_poly_transforms ( )
   Apply graphite transformations to all the basic blocks of SCOP.  
     Generate code even if we did not apply any real transformation.
     This also allows to check the performance for the identity
     transformation: GIMPLE -> GRAPHITE -> GIMPLE
     Keep in mind that CLooG optimizes in control, so the loop structure
     may change, even if we only use -fgraphite-identity.  
     This pass needs to be run at the final stage, as it does not
     update the lst.  
DEBUG_FUNCTION void cloog_checksum ( )
   Computes a checksum for the code generated by CLooG for SCOP.  
     When debugging, enable the following code.  This cannot be used
     in production compilers because it calls "system".  
DEBUG_FUNCTION void debug_cloog ( )
   Print to STDERR the SCOP under CLooG format, at some VERBOSITY
   level.  
DEBUG_FUNCTION void debug_gmp_value ( )
   Print to STDERR the GMP value VAL.  
DEBUG_FUNCTION void debug_isl_aff ( )
DEBUG_FUNCTION void debug_isl_constraint ( )
DEBUG_FUNCTION void debug_isl_map ( )
DEBUG_FUNCTION void debug_isl_set ( )
DEBUG_FUNCTION void debug_iteration_domain ( )
   Prints to STDERR the iteration domain of PBB, at some VERBOSITY
   level.  

References print_scattering_functions().

DEBUG_FUNCTION void debug_iteration_domains ( )
   Prints to STDERR the iteration domains of every PBB of SCOP, at
   some VERBOSITY level.  
DEBUG_FUNCTION void debug_lst ( )
   Print LST to STDERR.  
DEBUG_FUNCTION void debug_pbb ( )
   Print to FILE the domain and scattering function of PBB, at some
   VERBOSITY level.  
DEBUG_FUNCTION void debug_pbb_domain ( )
   Print to STDERR the domain of PBB, at some VERBOSITY level.  

References print_scop_params().

DEBUG_FUNCTION void debug_pdr ( )
   Prints to STDERR the polyhedral data reference PDR, at some
   VERBOSITY level.  
DEBUG_FUNCTION void debug_pdrs ( )
   Print to STDERR all the data references of PBB.  
DEBUG_FUNCTION void debug_scattering_function ( )
   Prints to STDERR the scattering function of PBB, at some VERBOSITY
   level.  

References print_iteration_domain().

DEBUG_FUNCTION void debug_scattering_functions ( )
   Prints to STDERR the scattering functions of every PBB of SCOP, at
   some VERBOSITY level.  
DEBUG_FUNCTION void debug_scop ( )
   Print to STDERR the SCOP, at some VERBOSITY level.  
DEBUG_FUNCTION void debug_scop_context ( )
   Print to STDERR the context of SCOP, at some VERBOSITY level.  

References print_isl_set().

DEBUG_FUNCTION void debug_scop_params ( )
   Print to STDERR the parameters of SCOP, at some VERBOSITY
   level.  

References print_isl_aff().

DEBUG_FUNCTION void dot_lst ( )
   Display the LST using dotty.  
     When debugging, enable the following code.  This cannot be used
     in production compilers because it calls "system".  
static void dot_lst_1 ( )
static
   Pretty print to FILE the loop statement tree LST in DOT format.  
static void dump_gbb_cases ( )
static
   Dump the cases of a graphite basic block GBB on FILE.  

References print_gimple_stmt().

static void dump_gbb_conditions ( )
static
   Dump conditions of a graphite basic block GBB on FILE.  

References PDR_READ.

void free_poly_bb ( )
   Free polyhedral black box.  

References pbb_dim_iter_domain(), and pbb_nb_params().

Referenced by build_base_obj_set_for_drs().

void free_poly_dr ( )
   Free polyhedral data reference PDR.  
void free_scop ( )
   Deletes SCOP.  

Referenced by remove_gbbs_in_scop().

static lst_p loop_to_lst ( )
static
   Translates LOOP to LST.  

Referenced by pbb_number_of_iterations_at_time().

static void lst_indent_to ( )
static
   Print to FILE on a new line COLUMN white spaces.  

References lst_depth(), and lst_dewey_number().

poly_bb_p new_poly_bb ( )
   Create a new polyhedral black box.  
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.  
scop_p new_scop ( )
   Creates a new SCOP containing REGION.  

Referenced by unmark_exit_edges().

static void openscop_print_pbb_domain ( )
static
   Print to FILE the domain of PBB in OpenScop format, at some VERBOSITY
   level.  
static void openscop_print_scop_context ( )
static
   Print to FILE the context of SCoP in OpenScop format, at some VERBOSITY
   level.  
       XXX isl print context 

References scop_nb_params().

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.  
     Map the iteration domain through the current scatter, and work
     on the resulting set.  
     Select the time_depth' dimension via an affine expression.  
     And find the min/max for that function.  
     XXX isl check results?  

References flow_bb_inside_loop_p(), loop::inner, basic_block_def::loop_father, loop_to_lst(), new_lst_loop(), new_lst_stmt(), and loop::next.

void print_cloog ( )
   Print to FILE the input file that CLooG would expect as input, at
   some VERBOSITY level.  
void print_isl_aff ( )

Referenced by debug_scop_params().

void print_isl_constraint ( )
void print_isl_map ( )
void print_isl_set ( )

Referenced by debug_scop_context().

void print_iteration_domain ( )
   Prints to FILE the iteration domain of PBB, at some VERBOSITY
   level.  

References print_scattering_function().

Referenced by debug_scattering_function().

void print_iteration_domains ( )
   Prints to FILE the iteration domains of every PBB of SCOP, at some
   VERBOSITY level.  

References print_scattering_function().

void print_lst ( )
   Print LST to FILE with INDENT spaces of indentation.  

Referenced by scop_to_lst().

void print_pbb ( )
   Print to FILE the domain and scattering function of PBB, at some
   VERBOSITY level.  
static void print_pbb_body ( FILE *  file,
poly_bb_p  pbb,
int  verbosity,
bool  statement_body_provided 
)
static
   Print to FILE the body of PBB, at some VERBOSITY level.
   If statement_body_provided is false statement body is not printed.  
void print_pbb_domain ( )
   Print to FILE the domain of PBB, at some VERBOSITY level.  

Referenced by print_scop().

void print_pdr ( )
   Prints to FILE the polyhedral data reference PDR, at some VERBOSITY
   level.  
     XXX isl dump accesses/subscripts 
static void print_pdr_access_layout ( )
static

References PDR_MAY_WRITE, PDR_READ, and PDR_WRITE.

void print_pdrs ( )
   Print to FILE all the data references of PBB, at some VERBOSITY
   level.  
void print_scattering_function ( )
   Prints to FILE the scattering function of PBB, at some VERBOSITY
   level.  

Referenced by print_iteration_domain(), and print_iteration_domains().

static void print_scattering_function_1 ( )
static
   Prints to FILE the scattering function of PBB, at some VERBOSITY
   level.  

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

void print_scattering_functions ( )
   Prints to FILE the scattering functions of every PBB of SCOP.  

Referenced by debug_iteration_domain().

void print_scop ( )
   Print to FILE the SCOP, at some VERBOSITY level.  

References pbb_index(), print_pbb_domain(), print_scop_context(), and print_scop_params().

void print_scop_context ( )
   Print to FILE the context of SCoP, at some VERBOSITY level.  

Referenced by print_scop().

void print_scop_params ( )
   Print to FILE the parameters of SCOP, at some VERBOSITY level.  

Referenced by debug_pbb_domain(), and print_scop().

isl_map* reverse_loop_at_level ( )
   Reverse the loop around PBB at level DEPTH.  
isl_union_map* reverse_loop_for_pbbs ( )
   Reverse the loop at level DEPTH for all the PBBS.  
int scop_max_loop_depth ( )
   Return the maximal loop depth in SCOP.  

References pbb_dim_iter_domain().

Referenced by translate_clast_guard().

void scop_to_lst ( )
   Reads the original scattering of the SCOP and returns an LST
   representing it.  

References lst_dewey_number(), and print_lst().


Variable Documentation

isl_ctx* the_isl_ctx