PIPS
|
Go to the source code of this file.
Data Structures | |
struct | context_p |
cette structure contient une pile. More... | |
Typedefs | |
typedef struct context_p | context_t |
Functions | |
bool | loop_statistics (const string) |
cproto-generated files More... | |
statement | permutation (statement, Pmatrix) |
statement | permutation2 (statement, Pmatrix) |
statement | Hierarchical_tiling (void) |
int | position_one_element (Pmatrix, int) |
statement | Tiling_buffer_allocation (void) |
statement | Tiling2_buffer (void) |
bool | tiling_sequence (string) |
statement | unimodular (statement) |
statement | free_guards (statement) |
bool | guard_elimination (string) |
Variables | |
loop | loop1 |
tiling_sequence.c More... | |
entity | first_array |
une copie de l'un des nids de la sequence More... | |
Psysteme | sc_newbase |
guard_elimination.c More... | |
Ptsg | sg |
bool | if1 |
bool | if2 |
sg_dump(sg);
fprint_lsom(stderr, vertice,variable_dump_name );
debut cas1
fins cas1
ebut cas2
fin cas2
debut cas3
s1
in cas3
debut cas4
in cas4
Definition at line 544 of file guard_elimination.c.
References call_arguments, CAR, CDR, CHUNK, CONS, contrainte_make(), contrainte_vecteur, copy_loop(), copy_statement(), typ_som::denominateur, egalite_equal(), entity_intrinsic(), eq_expression, eval2(), exp, EXPRESSION, expression_normalized, expression_syntax, FOREACH, gen_concatenate(), gen_full_copy_list(), gen_last(), gen_nreverse(), if1, if2, Ssysteme::inegalites, instruction_loop, instruction_loop_p, instruction_sequence, instruction_test, instruction_to_statement(), int_to_expression(), is_syntax_call, lexp, loop1, loop_body, loop_index, loop_range, make_block_statement(), make_call(), make_contrainte_expression(), make_expression(), make_instruction_loop(), make_instruction_sequence(), make_sequence(), make_syntax(), MAP, MODULO_OPERATOR_NAME, NIL, norm(), normalize_all_expressions_of(), normalized_linear, normalized_undefined, printf(), Pvecteur_to_expression(), range_equal_p(), range_lower, range_upper, s1, sc_newbase, sequence_statements, sg, sg_nbre_sommets, sg_sommets, STATEMENT, statement_instruction, Scontrainte::succ, typ_som::succ, syntax_call, TCST, test_condition, test_true, value_abs, value_direct_multiply, value_div, value_plus, vect_add_elem(), vect_chg_coeff(), vect_coeff(), vect_dup(), vect_equal(), vect_erase_var(), vect_oppos(), vect_substract(), Scontrainte::vecteur, typ_som::vecteur, and VECTEUR_NUL.
Referenced by guard_elimination().
set_ordering_to_statement(stat);
MAP(STATEMENT,s,{printf("%d \n",statement_ordering(s));},lis)
gen_recurse(stat, statement_domain, gen_true,);
module | odule |
Definition at line 1208 of file guard_elimination.c.
References CAR, CDR, CHUNK, db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, free_guards(), gen_context_multi_recurse(), gen_null(), instruction_sequence, local_name_to_top_level_entity(), loop_domain, loop_flt(), MAP, module, module_reorder(), ordering_to_statement(), pips_debug, reset_current_module_entity(), reset_current_module_statement(), s1, sequence_statements, set_current_module_entity(), set_current_module_statement(), stack_make(), STATEMENT, statement_domain, statement_instruction, statement_ordering, stmt_flt(), stmt_rwt(), unimodular(), and user_request().
statement Hierarchical_tiling | ( | void | ) |
Definition at line 1021 of file tiling_sequence.c.
References A, and_expression, call_arguments, compute_bound_tiled_nest(), compute_delay_tiled_nest(), CONS, copy_expression(), depth, derive_new_basis_deux(), entity_empty_label(), exp, EXPRESSION, expression_syntax, FOREACH, ge_expression, INFO_LOOP::index, instruction_call, instruction_loop, instruction_loop_p, instruction_to_statement(), int_to_expression(), is_execution_sequential, is_instruction_loop, k1, le_expression, loop1, loop_body, loop_iteration_domaine_to_sc(), loop_range, loop_to_statement, INFO_LOOP::lower, make_block_statement(), make_execution(), make_instruction(), make_instruction_sequence(), make_loop(), make_range(), make_sequence(), make_test(), make_tile_index_entity_n(), malloc(), MAP, MATRIX_ELEM, matrix_fscan(), matrix_print(), NIL, permutation(), print_expression(), printf(), Pvecteur_to_expression(), range_lower, range_upper, replace_entity_by_expression(), s1, safe_fopen(), sequen, STATEMENT, statement_instruction, Svecteur::succ, syntax_call, TCST, test_to_statement, tiled_nest, tiling_indice, INFO_LOOP::upper, user_request(), UU, value_div, value_eq, value_minus, value_mod, VALUE_ONE, value_plus, Value_to_expression(), value_uminus, VALUE_ZERO, Svecteur::var, vect_make(), VECTEUR_NUL, and vecteur_var.
Referenced by tiling_sequence().
bool loop_statistics | ( | const | string | ) |
cproto-generated files
string | ame |
Definition at line 450 of file stats.c.
References call_domain, call_flt(), call_rwt(), concatenate(), db_build_file_resource_name(), db_get_current_workspace_directory(), db_get_memory_resource(), DB_PUT_FILE_RESOURCE, debug_off, debug_on, expression_domain, free(), gen_context_multi_recurse(), gen_false(), gen_null(), gen_true(), hash_pointer, hash_table_free(), hash_table_make(), initialize(), local_name_to_top_level_entity(), loop_domain, loop_flt(), loop_rwt(), nbr_no_perf_nest_loop_of_depth, nbr_perf_nest_loop_of_depth, pips_debug, put_result(), reset_current_module_entity(), seq_flt(), seq_rwt(), sequence_domain, set_current_module_entity(), stack_free(), stack_make(), statement_domain, stmt_flt(), stmt_rwt(), strdup(), test_domain, test_flt(), test_rwt(), uns_flt(), uns_rwt(), unstructured_domain, whileloop_domain, and wl_rwt().
Definition at line 957 of file tiling_sequence.c.
References copy_statement(), depth, instruction_loop, loop_body, loop_index, loop_range, MATRIX_ELEM, statement_instruction, value_eq, and VALUE_ONE.
Referenced by Hierarchical_tiling(), and Tiling2_buffer().
Definition at line 989 of file tiling_sequence.c.
References copy_statement(), depth, instruction_loop, loop_body, loop_index, loop_range, MATRIX_ELEM, statement_instruction, value_eq, and VALUE_ONE.
Referenced by Tiling_buffer_allocation().
Definition at line 1232 of file tiling_sequence.c.
References depth, MATRIX_ELEM, pips_internal_error, and VALUE_ONE.
Referenced by Tiling_buffer_allocation().
statement Tiling2_buffer | ( | void | ) |
Definition at line 2265 of file tiling_sequence.c.
References A, and_expression, call_arguments, compute_bound_tiled_nest(), compute_delay_tiled_nest(), CONS, copy_expression(), depth, derive_new_basis_deux(), entity_empty_label(), exp, EXPRESSION, expression_syntax, FOREACH, ge_expression, INFO_LOOP::index, instruction_call, instruction_loop, instruction_loop_p, instruction_to_statement(), int_to_expression(), is_execution_sequential, is_instruction_loop, k1, le_expression, loop1, loop_body, loop_iteration_domaine_to_sc(), loop_range, loop_to_statement, INFO_LOOP::lower, make_block_statement(), make_execution(), make_instruction(), make_instruction_sequence(), make_loop(), make_range(), make_sequence(), make_test(), make_tile_index_entity_n(), malloc(), MAP, MATRIX_ELEM, matrix_fscan(), matrix_new(), matrix_print(), NIL, permutation(), print_statement(), printf(), Pvecteur_to_expression(), range_lower, range_upper, replace_entity_by_expression(), s1, safe_fopen(), sequen, STATEMENT, statement_instruction, Svecteur::succ, syntax_call, TCST, test_to_statement, tiled_nest, tiling_indice, unroll_recursive(), INFO_LOOP::upper, user_request(), UU, value_div, value_eq, value_minus, value_mod, VALUE_ONE, value_plus, Value_to_expression(), value_uminus, VALUE_ZERO, Svecteur::var, vect_make(), VECTEUR_NUL, and vecteur_var.
Referenced by tiling_sequence().
statement Tiling_buffer_allocation | ( | void | ) |
gauche=NULL,droite=NULL
Definition at line 1242 of file tiling_sequence.c.
References A, and_expression, binary_intrinsic_expression, buffer, call_arguments, CAR, CDR, CHUNK, compute_bound_tiled_nest(), compute_delay_tiled_nest(), CONS, copy_expression(), copy_reference(), copy_statement(), depth, derive_new_basis_une(), DIMENSION, entity_empty_label(), exp, EXPRESSION, expression_syntax, expression_undefined, FOREACH, ge_expression, gen_nreverse(), get_current_module_entity(), INFO_LOOP::index, instruction_call, instruction_loop, instruction_loop_p, instruction_sequence, instruction_test, instruction_to_statement(), int_to_expression(), internal_make_new_array_variable(), is_basic_int, is_execution_sequential, is_instruction_loop, k1, le_expression, loop1, loop_body, loop_iteration_domaine_to_sc(), loop_range, loop_to_statement, INFO_LOOP::lower, lt_expression, make_assign_statement(), make_basic(), make_block_statement(), make_dimension(), make_execution(), make_instruction(), make_instruction_sequence(), make_loop(), make_range(), make_reference(), make_scalar_entity(), make_sequence(), make_test(), make_tile_index_entity_n(), malloc(), MAP, MATRIX_ELEM, matrix_fscan(), matrix_multiply(), matrix_new(), matrix_substract(), module_local_name(), NID::nbr_stencil, NID::nd, nid_nbr, NIL, NP, permutation2(), position_one_element(), print_expression(), Pvecteur_to_expression(), range_lower, range_upper, ref, reference_indices, reference_to_expression(), replace_entity_by_expression(), NID::s, s1, safe_fopen(), sequen, sequence_statements, STATEMENT, statement_instruction, statement_undefined, Svecteur::succ, syntax_call, syntax_reference, TCST, test_to_statement, test_true, tiled_nest, tiling_indice, INFO_LOOP::upper, user_request(), UU, value_div, value_eq, value_minus, value_mod, VALUE_MONE, VALUE_ONE, value_plus, Value_to_expression(), value_uminus, VALUE_ZERO, Svecteur::var, vect_dump(), vect_dup(), vect_make(), VECTEUR_NUL, and vecteur_var.
Referenced by tiling_sequence().
module | odule |
Definition at line 2534 of file tiling_sequence.c.
References array_overflow(), call_domain, call_flt(), call_rwt(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, depth, expression_domain, fusion(), fusion_buffer(), gen_context_multi_recurse(), gen_false(), gen_null(), gen_true(), hash_get(), hash_pointer, hash_table_make(), Hierarchical_tiling(), intptr_t, is_a_stencil, local_name_to_top_level_entity(), loop_domain, loop_flt(), loop_rwt(), module, module_reorder(), pips_debug, pips_user_error, printf(), reset_current_module_entity(), s1, seq_flt(), seq_rwt(), sequence_domain, set_current_module_entity(), stack_make(), statement_domain, stmt_flt(), stmt_rwt(), test_domain, test_flt(), test_rwt(), Tiling2_buffer(), Tiling_buffer_allocation(), uns_flt(), uns_rwt(), unstructured_domain, whileloop_domain, and wl_rwt().
|
extern |
une copie de l'un des nids de la sequence
Definition at line 83 of file tiling_sequence.c.
Referenced by array_overflow(), call_rwt(), and top_down_abc_flt().
|
extern |
Definition at line 49 of file guard_elimination.c.
Referenced by free_guards(), and loop_flt().
|
extern |
Definition at line 49 of file guard_elimination.c.
Referenced by free_guards(), and loop_flt().
|
extern |
Definition at line 81 of file tiling_sequence.c.
Referenced by free_guards(), fusion(), fusion_buffer(), Hierarchical_tiling(), ith_loop_in_loop_nest(), loop_flt(), matrice_fprint(), matrice_multiply(), matrice_normalize(), matrice_swap_columns(), matrice_swap_rows(), matrice_transpose(), Tiling2_buffer(), and Tiling_buffer_allocation().
|
extern |
Definition at line 47 of file guard_elimination.c.
Referenced by code_generation(), free_guards(), hyperplane(), and unimodular().
|
extern |
Definition at line 48 of file guard_elimination.c.
Referenced by ajout_dte(), constrs_of_sg(), dte_in_sg_p(), free_guards(), is_good_direction_p(), main(), mk_rn(), ray_in_sg_p(), rays_of_sg(), sc_of_sg(), sc_to_sg_chernikova(), sg_add_ray(), sg_dump(), sg_fprint(), sg_fprint_as_ddv(), sg_fprint_as_dense(), sg_new(), sg_of_constrs(), sg_of_rays(), sg_of_sc(), sg_print(), sg_rm(), sg_rm_droites(), sg_rm_rayons(), sg_rm_sommets(), sg_to_sc_chernikova(), sg_to_sc_chernikova_fixprec(), sg_union(), sommet_in_sg_p(), and unimodular().