GCC Middle and Back End API 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 |
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 |
Pretty print to FILE the loop statement tree LST in DOT format.
|
static |
Dump the cases of a graphite basic block GBB on FILE.
References print_gimple_stmt().
|
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 |
Translates LOOP to LST.
Referenced by pbb_number_of_iterations_at_time().
|
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 |
Print to FILE the domain of PBB in OpenScop format, at some VERBOSITY level.
|
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 |
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 |
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 |
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().
isl_ctx* the_isl_ctx |