PIPS
|
#include <stdio.h>
#include "genC.h"
#include "database.h"
#include "resources.h"
#include "misc.h"
#include "ri-util.h"
#include "prettyprint.h"
#include "pipsdbm.h"
#include "transformations.h"
#include "locality.h"
Go to the source code of this file.
Data Structures | |
struct | INFO_LOOP |
La structure d'une boucle : son index et ces deux bornes. More... | |
struct | NID |
La structure d'un nid. More... | |
Macros | |
#define | DEFAULT_INT_PREFIX "I_" |
#define | DEFAULT_FLOAT_PREFIX "F_" |
#define | DEFAULT_LOGICAL_PREFIX "L_" |
#define | DEFAULT_COMPLEX_PREFIX "C_" |
#define | DEFAULT_STRING_PREFIX "S_" |
#define | depth_max 40 /**La profondeur des differents nids */ |
#define | st_max 40 /**Le nombre maximum de stencils q'un nid peut contenir */ |
#define | nid_nbr 6 /**nombre de nid de la sequence */ |
Typedefs | |
typedef struct INFO_LOOP | info_loop |
La structure d'une boucle : son index et ces deux bornes. More... | |
typedef struct NID | nid |
La structure d'un nid. More... | |
Enumerations | |
enum | contenu_t { is_unknown , is_a_perf_nes_loop , is_a_no_perf_nes_loop , is_a_no_perf_nes_loop_t , is_a_call , is_a_continue , is_a_while , is_a_test , is_a_stencil , is_a_continue , is_a_no_stencil } |
pour marquer si la sequence repond a nos hypotheses More... | |
Functions | |
static entity | internal_make_new_array_variable (int i, int j, entity module, basic b, list lis) |
le tableau en entree More... | |
static bool | loop_flt (loop l) |
static void | loop_rwt (loop l, context_p context) |
static bool | stmt_flt (statement s, context_p context) |
static void | stmt_rwt (statement s, context_p context) |
static bool | seq_flt () |
static void | seq_rwt (sequence sq, context_p context) |
static bool | uns_flt () |
static void | uns_rwt (context_p context) |
static bool | test_flt () |
static void | test_rwt (context_p context) |
static bool | call_flt () |
static void | call_rwt (call ca, context_p context) |
static void | wl_rwt (context_p context) |
static bool | lexi_sup (Pmatrix a, Pmatrix b) |
Cette fonction retourne true si le vecteur 'a' est lexicographiquement superieur au vecteur 'b'. More... | |
static void | trier (Pmatrix *st, int length) |
Cette fonction trie un tableau de stencil d'un nid donne. More... | |
static void | compute_delay_merged_nest () |
Cette fonction calcule les delais qu'on doit ajouter aux differents nids. More... | |
static void | compute_delay_tiled_nest () |
static void | compute_bound_merged_nest () |
Cette fonction calcule les bornes du nid fusionne. More... | |
static void | compute_bound_tiled_nest () |
static statement | fusion () |
cette fonction donne le code fusionne More... | |
static void | cons_coef (Pmatrix p, int nid) |
N construit la coifficients des fonctions d'acces. More... | |
static Pvecteur | buffer_acces (int nid) |
On construit la foction d'acces More... | |
static statement | fusion_buffer () |
Cette fonction donne le code fusionne avec allocation des tampons. More... | |
static entity | make_tile_index_entity_n (entity old_index, char *su) |
static void | derive_new_basis_deux (Pbase base_oldindex, Pbase *base_newindex, entity(*new_entity)(entity, char *)) |
static void | derive_new_basis_une (Pbase base_oldindex, Pbase *base_newindex, entity(*new_entity)(entity, char *)) |
statement | permutation (statement s, Pmatrix P) |
statement | permutation2 (statement s, Pmatrix P) |
statement | Hierarchical_tiling () |
int | position_one_element (Pmatrix P, int i) |
statement | Tiling_buffer_allocation () |
static bool | array_overflow () |
static void | unroll_recursive (statement s, int n) |
statement | Tiling2_buffer () |
bool | tiling_sequence (string module) |
Variables | |
static Pvecteur * | tiling_indice |
static int | k1 =0 |
static int | k2 =0 |
static nid | sequen [nid_nbr] |
k1 represente le nombre de nid et k2 leur profondeur More... | |
static int | depth |
la sequence de nids More... | |
static info_loop * | merged_nest |
la pronfondeur des nids More... | |
static info_loop * | tiled_nest |
loop | loop1 |
le nid fusionne More... | |
entity | first_array |
une copie de l'un des nids de la sequence More... | |
static bool | first_turn =false |
Compteurs des suffixes de nouvelles references. More... | |
static bool | overflow =false |
#define DEFAULT_COMPLEX_PREFIX "C_" |
Definition at line 41 of file tiling_sequence.c.
#define DEFAULT_FLOAT_PREFIX "F_" |
Definition at line 39 of file tiling_sequence.c.
#define DEFAULT_INT_PREFIX "I_" |
Definition at line 38 of file tiling_sequence.c.
#define DEFAULT_LOGICAL_PREFIX "L_" |
Definition at line 40 of file tiling_sequence.c.
#define DEFAULT_STRING_PREFIX "S_" |
Definition at line 42 of file tiling_sequence.c.
#define depth_max 40 /**La profondeur des differents nids */ |
Definition at line 43 of file tiling_sequence.c.
Definition at line 45 of file tiling_sequence.c.
#define st_max 40 /**Le nombre maximum de stencils q'un nid peut contenir */ |
Definition at line 44 of file tiling_sequence.c.
enum contenu_t |
pour marquer si la sequence repond a nos hypotheses
Enumerator | |
---|---|
is_unknown | |
is_a_perf_nes_loop | |
is_a_no_perf_nes_loop | |
is_a_no_perf_nes_loop_t | |
is_a_call | |
is_a_continue | |
is_a_while | |
is_a_test | |
is_a_stencil | |
is_a_continue | |
is_a_no_stencil |
Definition at line 116 of file tiling_sequence.c.
|
static |
Definition at line 2173 of file tiling_sequence.c.
References depth, DIMENSION, dimension_lower, dimension_upper, entity_name, entity_type, expression_normalized, first_array, k1, INFO_LOOP::lower, MAP, MATRIX_ELEM, NID::nbr_stencil, NID::nd, normalize_all_expressions_of(), normalized_linear, overflow, printf(), sequen, TCST, trier(), true, type_variable, INFO_LOOP::upper, value_plus, variable_dimensions, and vect_coeff().
Referenced by tiling_sequence().
On construit la foction d'acces
-> -> ->
si par exemple f( i )= (N, 1)^t( i- (1,1)^t) alors pv= f( i )
Definition at line 657 of file tiling_sequence.c.
References depth, INFO_LOOP::index, INFO_LOOP::lower, MATRIX_ELEM, sequen, TCST, value_direct_multiply, value_plus, value_uminus, vect_make(), and VECTEUR_NUL.
Referenced by fusion_buffer().
|
static |
Definition at line 251 of file tiling_sequence.c.
References true.
Referenced by tiling_sequence().
Definition at line 256 of file tiling_sequence.c.
References call_arguments, call_function, copy_statement(), entity_name, exp, EXPRESSION, expression_normalized, expression_reference(), expression_syntax, first_array, hash_put(), INFO_LOOP::index, is_a_continue, is_a_no_stencil, is_a_stencil, k1, k2, MAP, MATRIX_ELEM, matrix_new(), NID::nbr_stencil, NID::nd, norm(), normalize_all_expressions_of(), normalized_linear, ref, reference_indices, reference_variable, NID::s, sequen, NID::st, stack_head(), syntax_call, syntax_call_p, syntax_reference, syntax_reference_p, NID::tableau, TCST, VALUE_ONE, VALUE_ZERO, vect_coeff(), vect_equal(), vect_make(), and VECTEUR_NUL.
Referenced by tiling_sequence().
|
static |
Cette fonction calcule les bornes du nid fusionne.
Definition at line 461 of file tiling_sequence.c.
References depth, k1, INFO_LOOP::lower, malloc(), MATRIX_ELEM, merged_nest, NID::nd, sequen, and INFO_LOOP::upper.
Referenced by fusion(), and fusion_buffer().
|
static |
Definition at line 478 of file tiling_sequence.c.
References depth, k1, INFO_LOOP::lower, malloc(), MATRIX_ELEM, NID::nd, sequen, tiled_nest, INFO_LOOP::upper, value_plus, and value_uminus.
Referenced by Hierarchical_tiling(), Tiling2_buffer(), and Tiling_buffer_allocation().
|
static |
Cette fonction calcule les delais qu'on doit ajouter aux differents nids.
le delaie du dernier est le vecteur nul
k=d{k+1} - plus grand vecteur stencil du nid k+1
Definition at line 414 of file tiling_sequence.c.
References NID::delai, depth, k1, matrix_new(), matrix_nulle(), matrix_substract(), and sequen.
Referenced by fusion(), and fusion_buffer().
|
static |
le delaie du dernier est le vecteur nul
k=d{k+1} - plus grand vecteur stencil du nid k+1
Definition at line 428 of file tiling_sequence.c.
References NID::delai, depth, k1, MATRIX_ELEM, matrix_new(), matrix_nulle(), matrix_substract(), NID::nbr_stencil, and sequen.
Referenced by Hierarchical_tiling(), Tiling2_buffer(), and Tiling_buffer_allocation().
N construit la coifficients des fonctions d'acces.
-> ->
si par exemple f( i )= (N, 1)^t( i- (1,1)^t) alors p= (N, 1)^t
Definition at line 638 of file tiling_sequence.c.
References depth, INFO_LOOP::lower, MATRIX_ELEM, sequen, INFO_LOOP::upper, value_direct_multiply, value_minus, VALUE_ONE, and value_plus.
Referenced by fusion_buffer().
|
static |
Definition at line 916 of file tiling_sequence.c.
References base_add_dimension, entity_name, printf(), Svecteur::succ, and Svecteur::var.
Referenced by Hierarchical_tiling(), and Tiling2_buffer().
|
static |
Definition at line 937 of file tiling_sequence.c.
References base_add_dimension, Svecteur::succ, and Svecteur::var.
Referenced by Tiling_buffer_allocation().
|
static |
cette fonction donne le code fusionne
calculer les delais des differents nis
calculer les bornes du nid fusionne
on construit la liste des instructions qui vont former le corps du nid fusionne
Definition at line 509 of file tiling_sequence.c.
References and_expression, call_arguments, compute_bound_merged_nest(), compute_delay_merged_nest(), CONS, depth, entity_to_expression(), exp, EXPRESSION, expression_syntax, FOREACH, ge_expression, INFO_LOOP::index, instruction_call, instruction_loop, instruction_to_statement(), int_to_expression(), k1, le_expression, loop1, loop_body, loop_range, loop_to_statement, INFO_LOOP::lower, make_block_statement(), make_instruction_sequence(), make_sequence(), make_test(), MAP, MATRIX_ELEM, merged_nest, NIL, Pvecteur_to_expression(), range_lower, range_upper, replace_entity_by_expression(), NID::s, sequen, STATEMENT, statement_instruction, syntax_call, TCST, test_to_statement, INFO_LOOP::upper, value_eq, VALUE_ONE, value_plus, Value_to_expression(), value_uminus, vect_make(), and VECTEUR_NUL.
Referenced by tiling_sequence().
|
static |
Cette fonction donne le code fusionne avec allocation des tampons.
Definition at line 684 of file tiling_sequence.c.
References and_expression, binary_intrinsic_expression, buffer_acces(), call_arguments, CAR, CDR, NID::coef, compute_bound_merged_nest(), compute_delay_merged_nest(), CONS, cons_coef(), depth, DIMENSION, entity_to_expression(), exp, EXPRESSION, expression_syntax, FOREACH, ge_expression, gen_nconc(), get_current_module_entity(), INFO_LOOP::index, instruction_call, instruction_loop, instruction_to_statement(), int_to_expression(), internal_make_new_array_variable(), is_basic_int, k1, le_expression, loop1, loop_body, loop_range, loop_to_statement, INFO_LOOP::lower, make_basic(), make_block_statement(), make_dimension(), make_instruction_sequence(), make_reference(), make_sequence(), make_test(), MAP, MATRIX_ELEM, matrix_multiply(), matrix_new(), matrix_substract(), merged_nest, NID::nbr_stencil, NIL, NID::pv_acces, Pvecteur_to_expression(), range_lower, range_upper, NID::ref, ref, replace_entity_by_expression(), NID::s, sequen, STATEMENT, statement_instruction, NID::surface, syntax_call, syntax_reference, TCST, test_to_statement, INFO_LOOP::upper, value_eq, value_minus, VALUE_ONE, value_plus, Value_to_expression(), value_uminus, vect_dup(), vect_make(), and VECTEUR_NUL.
Referenced by tiling_sequence().
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().
|
static |
le tableau en entree
J'ai ameliore la fonction make_new_scalar_variable afin de l'etendre a des tableau
Definition at line 87 of file tiling_sequence.c.
References asprintf, buffer, free(), make_new_array_variable_with_prefix(), and module.
Referenced by fusion_buffer(), and Tiling_buffer_allocation().
Cette fonction retourne true si le vecteur 'a' est lexicographiquement superieur au vecteur 'b'.
Definition at line 377 of file tiling_sequence.c.
References depth, and MATRIX_ELEM.
Referenced by trier().
la premiere boucle d'un nid donne
allouer de la memoire pour les differentes boucles de ce nid
allouer de la memoire pour les differents stencils de ce nid
la borne inferieure
la borne superiere
stocker l'index de la boucle l
stocker sa borne inferieure
stocker sa borne superieure
incrementer le compteur des profondeur des nids
Definition at line 119 of file tiling_sequence.c.
References copy_loop(), depth_max, expression_normalized, first_turn, INFO_LOOP::index, k1, k2, loop1, loop_index, loop_range, INFO_LOOP::lower, malloc(), NID::nd, normalize_all_expressions_of(), normalized_linear, normalized_linear_p, pips_assert, range_lower, range_upper, sequen, NID::st, st_max, TCST, INFO_LOOP::upper, and vect_coeff().
Referenced by tiling_sequence().
recuperer le coprs de le boucle l
Definition at line 153 of file tiling_sequence.c.
References depth, first_turn, hash_get(), hash_put(), intptr_t, k1, k2, loop_body, and stack_head().
Referenced by tiling_sequence().
Should be AddVariableToCommon(DynamicArea) or something similar!
Definition at line 891 of file tiling_sequence.c.
References copy_storage(), copy_type(), copy_value(), entity_domain, entity_initial, entity_name, entity_storage, entity_type, entity_undefined, gen_find_tabulated(), make_entity, malloc(), old_name(), and pips_assert.
Referenced by Hierarchical_tiling(), Tiling2_buffer(), and Tiling_buffer_allocation().
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().
|
static |
Definition at line 184 of file tiling_sequence.c.
Referenced by tiling_sequence().
Definition at line 189 of file tiling_sequence.c.
References hash_get(), hash_put(), intptr_t, is_a_continue, is_a_no_stencil, is_a_stencil, MAP, max, sequence_statements, stack_head(), and STATEMENT.
Referenced by tiling_sequence().
Definition at line 171 of file tiling_sequence.c.
References stack_push().
Referenced by tiling_sequence().
Definition at line 178 of file tiling_sequence.c.
References pips_assert, and stack_pop().
Referenced by tiling_sequence().
|
static |
Definition at line 239 of file tiling_sequence.c.
Referenced by tiling_sequence().
|
static |
Definition at line 244 of file tiling_sequence.c.
References hash_put(), is_a_no_stencil, and stack_head().
Referenced by tiling_sequence().
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().
Cette fonction trie un tableau de stencil d'un nid donne.
st est le tableau de stencils et length sa taille
Definition at line 393 of file tiling_sequence.c.
References depth, lexi_sup(), and MATRIX_ELEM.
Referenced by array_overflow().
Definition at line 2252 of file tiling_sequence.c.
References full_loop_unroll(), instruction_loop, loop_body, and statement_instruction.
Referenced by Tiling2_buffer().
|
static |
Definition at line 226 of file tiling_sequence.c.
Referenced by tiling_sequence().
|
static |
Definition at line 231 of file tiling_sequence.c.
References hash_put(), is_a_no_stencil, and stack_head().
Referenced by tiling_sequence().
|
static |
Definition at line 368 of file tiling_sequence.c.
References hash_put(), is_a_no_stencil, and stack_head().
Referenced by tiling_sequence().
|
static |
la sequence de nids
Definition at line 77 of file tiling_sequence.c.
Referenced by array_overflow(), buffer_acces(), callgraph(), compute_bound_merged_nest(), compute_bound_tiled_nest(), compute_delay_merged_nest(), compute_delay_tiled_nest(), cons_coef(), expression_gravity_rc(), fusion(), fusion_buffer(), gpu_ify_statement(), gpu_memory_apply(), Hierarchical_tiling(), lexi_sup(), loop_rwt(), maximal_type_depth(), module_list_sort(), perfectly_nested_loop_index_at_depth(), perfectly_nested_loop_to_body_at_depth(), permutation(), permutation2(), position_one_element(), seq_rwt(), symbolic_tiling_valid_p(), test_rwt(), Tiling2_buffer(), Tiling_buffer_allocation(), tiling_sequence(), topological_number_assign_to_module(), trier(), type_depth(), uns_rwt(), and xml_array_in_task().
entity first_array |
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().
Compteurs des suffixes de nouvelles references.
first_turn permet de detecter le premier retour de la fonction loop_rwt()
overflow permet de detecter un debordemebnt dans l'un des nids
Definition at line 111 of file tiling_sequence.c.
Referenced by loop_flt(), and loop_rwt().
|
static |
Definition at line 73 of file tiling_sequence.c.
Referenced by alias_check_array_variable_in_caller_flt(), alias_check_array_variable_in_module_flt(), alias_check_scalar_and_array_variables_in_caller(), alias_check_scalar_and_array_variables_in_module(), alias_check_two_array_variables_in_caller(), alias_check_two_array_variables_in_module(), array_overflow(), call_rwt(), compute_bound_merged_nest(), compute_bound_tiled_nest(), compute_delay_merged_nest(), compute_delay_tiled_nest(), correctm(), corrects(), dependencies_filter(), fusion(), fusion_buffer(), Hierarchical_tiling(), loop_flt(), loop_rwt(), sc_safe_elim_db_constraints(), Tiling2_buffer(), and Tiling_buffer_allocation().
|
static |
Definition at line 73 of file tiling_sequence.c.
Referenced by alias_check_array_variable_in_caller_flt(), alias_check_array_variable_in_module_flt(), alias_check_scalar_and_array_variables_in_caller(), alias_check_scalar_and_array_variables_in_module(), alias_check_two_array_variables_in_caller(), alias_check_two_array_variables_in_module(), call_rwt(), correctm(), corrects(), loop_flt(), loop_rwt(), and sc_safe_elim_db_constraints().
loop loop1 |
le nid fusionne
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().
|
static |
la pronfondeur des nids
Definition at line 79 of file tiling_sequence.c.
Referenced by compute_bound_merged_nest(), fusion(), and fusion_buffer().
Definition at line 111 of file tiling_sequence.c.
Referenced by array_overflow(), and VASNPRINTF().
k1 represente le nombre de nid et k2 leur profondeur
Definition at line 75 of file tiling_sequence.c.
Referenced by array_overflow(), buffer_acces(), call_rwt(), compute_bound_merged_nest(), compute_bound_tiled_nest(), compute_delay_merged_nest(), compute_delay_tiled_nest(), cons_coef(), fusion(), fusion_buffer(), Hierarchical_tiling(), loop_flt(), Tiling2_buffer(), and Tiling_buffer_allocation().
|
static |
Definition at line 79 of file tiling_sequence.c.
Referenced by compute_bound_tiled_nest(), Hierarchical_tiling(), Tiling2_buffer(), and Tiling_buffer_allocation().
|
static |
Definition at line 72 of file tiling_sequence.c.
Referenced by Hierarchical_tiling(), Tiling2_buffer(), and Tiling_buffer_allocation().