PIPS
|
#include <stdio.h>
#include <ctype.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "resources.h"
#include "misc.h"
#include "ri-util.h"
#include "prettyprint.h"
#include "effects-util.h"
#include "text-util.h"
#include "ray_dte.h"
#include "sommet.h"
#include "sg.h"
#include "polyedre.h"
#include "phrase_tools.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "effects-convex.h"
#include "phrase_distribution.h"
#include "comEngine.h"
#include "phrase.h"
Go to the source code of this file.
Macros | |
#define | LESSER_DIRECTION 4 |
#define | GREATER_DIRECTION 1 |
#define | ZERO_DIRECTION 2 |
#define | ANY_DIRECTION 7 |
#define | NO_DIRECTION 0 |
Variables | |
static int | gIfCount = 0 |
static hash_table | gRefToEncLoop |
static list | lLoop |
static list | glIndUsed |
static graph | gDg |
static statement | g_externalized_code |
static int | vertex_to_direction [3] = {LESSER_DIRECTION, ZERO_DIRECTION, GREATER_DIRECTION} |
static int | ray_to_direction [3] = {LESSER_DIRECTION, NO_DIRECTION, GREATER_DIRECTION} |
static int | line_to_direction [3] = {ANY_DIRECTION, NO_DIRECTION, ANY_DIRECTION} |
static char * | direction_to_representation [8] = {"?", "<", "=", "<=", ">", "*", ">=", "*"} |
#define ANY_DIRECTION 7 |
Definition at line 626 of file comEngine_feasability.c.
#define GREATER_DIRECTION 1 |
Definition at line 624 of file comEngine_feasability.c.
#define LESSER_DIRECTION 4 |
Definition at line 623 of file comEngine_feasability.c.
#define NO_DIRECTION 0 |
Definition at line 627 of file comEngine_feasability.c.
#define ZERO_DIRECTION 2 |
Definition at line 625 of file comEngine_feasability.c.
|
static |
Definition at line 884 of file comEngine_feasability.c.
References attach_ref_to_stat(), CAR, check_for_conflict(), gen_last(), gIfCount, gLoopToRef, gStatToRef, lLoop, loop_index, MAP, MAPL, pips_internal_error, REFERENCE, reference_to_string(), reference_variable, same_entity_p(), STATEMENT, and statement_loop().
Referenced by process_ref_list().
|
static |
Definition at line 381 of file comEngine_feasability.c.
References compute_fifo_from_ref(), CONS, gen_nconc(), gRefToEff, hash_get(), hash_put(), HASH_UNDEFINED_VALUE, MAP, NIL, pips_assert, R_EFFECT, REFERENCE, reference_equal_p(), and W_EFFECT.
Referenced by attach_ref_to_loop(), check_loop_distribution_feasability(), and process_ref_list().
Definition at line 1049 of file comEngine_feasability.c.
References call_arguments, comEngine_expression_to_reference_list(), exp, EXPRESSION, gen_concatenate(), gen_free_list(), instruction_call, MAP, NIL, process_ref_list(), and statement_instruction.
Referenced by check_distribution_feasability().
Definition at line 1132 of file comEngine_feasability.c.
References check_call_distribution_feasability(), check_loop_distribution_feasability(), check_test_distribution_feasability(), instruction_sequence, instruction_tag, is_instruction_call, is_instruction_loop, is_instruction_sequence, is_instruction_test, MAP, sequence_statements, STATEMENT, and statement_instruction.
Referenced by check_loop_distribution_feasability(), check_test_distribution_feasability(), and comEngine_feasability().
rintf("conf\n"); printf("read\n"); print_reference(readRef);printf("\n"); printf("write\n"); print_reference(writeRef);printf("\n");
Definition at line 734 of file comEngine_feasability.c.
References CAR, cone_generating_system, cone_levels, cone_undefined, CONFLICT, conflict_cone, conflict_sink, conflict_source, dg_arc_label_conflicts, effect_any_reference, effect_read_p, effect_write_p, find_common_loop(), gDg, gen_free_list(), gen_last(), gLoopToSync, graph_vertices, gRefToEncLoop, hash_get(), hash_put(), HASH_UNDEFINED_VALUE, INT, is_good_direction_p(), MAP, MAPL, NIL, pips_assert, pl, ref, reference_equal_p(), sg_fprint_as_ddv(), SG_UNDEFINED_P, STATEMENT, statement_undefined, SUCCESSOR, successor_arc_label, VERTEX, and vertex_successors.
Referenced by attach_ref_to_loop().
Definition at line 443 of file comEngine_feasability.c.
References action_write_p, attach_ref_to_stat(), check_distribution_feasability(), code_has_write_eff_ref_p(), CONS, EFFECT, effect_action, effect_entity(), ENTITY, entity_in_ref_list(), entity_user_name(), expression_to_reference_list(), g_externalized_code, gen_free_list(), gen_in_list_p(), gen_length(), gen_remove(), glIndUsed, gStatToRef, int_to_expression(), lLoop, load_cumulated_rw_effects_list(), loop_body, loop_index, loop_range, MAP, NIL, pips_internal_error, range_increment, range_lower, range_upper, REFERENCE, reference_indices, same_entity_p(), same_expression_p(), STATEMENT, and statement_loop().
Referenced by check_distribution_feasability().
Definition at line 1080 of file comEngine_feasability.c.
References check_distribution_feasability(), comEngine_expression_to_reference_list(), gen_free_list(), gIfCount, has_loop_inside(), NIL, process_ref_list(), statement_test(), statement_undefined, test_condition, test_false, and test_true.
Referenced by check_distribution_feasability().
ref | ef |
stat | tat |
Definition at line 563 of file comEngine_feasability.c.
References action_write_p, EFFECT, effect_action, effect_entity(), f(), lLoop, load_cumulated_rw_effects_list(), loop_index, MAP, ref, reference_variable, same_entity_p(), STATEMENT, and statement_loop().
Referenced by check_loop_distribution_feasability(), phrase_check_reference(), and process_ref_list().
list comEngine_expression_to_reference_list | ( | expression | e, |
list | lr | ||
) |
conversion of an expression into a list of references; references are appended to list lr as they are encountered; array references are added before their index expressions are scanned;
references to functions and constants (which are encoded as null-ary functions) are not recorded
lr | r |
Definition at line 100 of file comEngine_feasability.c.
References expression_syntax, and local_syntax_to_reference_list().
Referenced by check_call_distribution_feasability(), check_test_distribution_feasability(), fill_gRefToEncLoop_call(), fill_gRefToEncLoop_test(), generate_code_call(), HRE_distribute_call(), HRE_distribute_test(), local_syntax_to_reference_list(), and reference_indices_entity_list().
externalized_code | xternalized_code |
dg | g |
Definition at line 1177 of file comEngine_feasability.c.
References check_distribution_feasability(), dg, fill_gRefToEncLoop(), g_externalized_code, gDg, gen_free_list(), gIfCount, glIndUsed, gRefToEncLoop, hash_dont_warn_on_redefinition(), HASH_MAP, hash_pointer, hash_table_free(), hash_table_make(), hash_warn_on_redefinition(), lLoop, NIL, and pips_assert.
Referenced by comEngine_distribute_code().
Definition at line 367 of file comEngine_feasability.c.
References find_or_create_fifo_from_ref(), gRefToFifo, gRefToHREFifo, hash_put(), intptr_t, and ref.
Referenced by attach_ref_to_stat().
Definition at line 296 of file comEngine_feasability.c.
References MAP, ref, REFERENCE, reference_variable, and same_entity_p().
Referenced by check_loop_distribution_feasability().
|
static |
Definition at line 255 of file comEngine_feasability.c.
References fill_gRefToEncLoop_call(), fill_gRefToEncLoop_loop(), fill_gRefToEncLoop_test(), instruction_sequence, instruction_tag, is_instruction_call, is_instruction_loop, is_instruction_sequence, is_instruction_test, MAP, sequence_statements, STATEMENT, and statement_instruction.
Referenced by comEngine_feasability(), fill_gRefToEncLoop_loop(), and fill_gRefToEncLoop_test().
|
static |
Definition at line 192 of file comEngine_feasability.c.
References call_arguments, comEngine_expression_to_reference_list(), exp, EXPRESSION, gen_concatenate(), gen_copy_seq(), gen_free_list(), gRefToEncLoop, hash_put(), instruction_call, lLoop, MAP, NIL, REFERENCE, and statement_instruction.
Referenced by fill_gRefToEncLoop().
|
static |
Definition at line 176 of file comEngine_feasability.c.
References CONS, fill_gRefToEncLoop(), gen_nconc(), gen_remove(), lLoop, loop_body, NIL, STATEMENT, and statement_loop().
Referenced by fill_gRefToEncLoop().
|
static |
Definition at line 222 of file comEngine_feasability.c.
References comEngine_expression_to_reference_list(), fill_gRefToEncLoop(), gen_copy_seq(), gen_free_list(), gen_length(), gRefToEncLoop, hash_put(), lLoop, MAP, NIL, REFERENCE, reference_indices, statement_test(), statement_undefined, test_condition, test_false, and test_true.
Referenced by fill_gRefToEncLoop().
Definition at line 703 of file comEngine_feasability.c.
References CAR, CDR, CONS, gen_nconc(), NIL, STATEMENT, and statement_undefined.
Referenced by check_for_conflict().
|
static |
Definition at line 316 of file comEngine_feasability.c.
References HASH_MAP, hash_put(), intptr_t, pips_assert, ref, and reference_equal_p().
Referenced by compute_fifo_from_ref().
Definition at line 161 of file comEngine_feasability.c.
References gen_context_recurse, gen_true2(), has_loop_inside_rwt(), and statement_domain.
Referenced by check_test_distribution_feasability().
Definition at line 141 of file comEngine_feasability.c.
References instruction_tag, is_instruction_forloop, is_instruction_loop, is_instruction_whileloop, and statement_instruction.
Referenced by has_loop_inside().
For each coordinate
For all vertices
For all rays
For all lines
Definition at line 641 of file comEngine_feasability.c.
References type_sg::base, BASE_NULLE, BASE_NULLE_P, direction_to_representation, line_to_direction, ray_to_direction, sg, sg_droites, sg_rayons, sg_sommets, rdte::succ, typ_som::succ, Svecteur::succ, value_sign, vect_coeff(), rdte::vecteur, typ_som::vecteur, vecteur_var, and vertex_to_direction.
Referenced by check_for_conflict().
Definition at line 109 of file comEngine_feasability.c.
References call_arguments, CAR, comEngine_expression_to_reference_list(), CONS, EXPRESSION, gen_nconc(), is_syntax_call, is_syntax_range, is_syntax_reference, MAPL, NIL, pips_internal_error, range_increment, range_lower, range_upper, REFERENCE, syntax_call, syntax_range, syntax_reference, and syntax_tag.
Referenced by comEngine_expression_to_reference_list().
rintf("call ref\n"); print_reference(callRef); printf("\n");
Definition at line 953 of file comEngine_feasability.c.
References attach_ref_to_loop(), attach_ref_to_stat(), code_has_write_eff_ref_p(), g_externalized_code, gen_free_list(), gen_length(), gStatToRef, lLoop, loop_index, MAP, NIL, pips_internal_error, REFERENCE, reference_indices, reference_indices_entity_list(), reference_to_string(), reference_variable, same_entity_p(), STATEMENT, and statement_loop().
Referenced by check_call_distribution_feasability(), and check_test_distribution_feasability().
ref | ef |
Definition at line 603 of file comEngine_feasability.c.
References comEngine_expression_to_reference_list(), EXPRESSION, gen_concatenate(), gen_free_list(), MAP, NIL, ref, and reference_indices.
Referenced by phrase_check_reference(), and process_ref_list().
|
static |
Definition at line 635 of file comEngine_feasability.c.
Referenced by is_good_direction_p().
|
static |
Definition at line 89 of file comEngine_feasability.c.
Referenced by check_loop_distribution_feasability(), comEngine_feasability(), and process_ref_list().
|
static |
Definition at line 85 of file comEngine_feasability.c.
Referenced by check_for_conflict(), and comEngine_feasability().
|
static |
Definition at line 71 of file comEngine_feasability.c.
Referenced by attach_ref_to_loop(), check_test_distribution_feasability(), and comEngine_feasability().
|
static |
Definition at line 82 of file comEngine_feasability.c.
Referenced by check_loop_distribution_feasability(), and comEngine_feasability().
|
static |
Definition at line 75 of file comEngine_feasability.c.
Referenced by check_for_conflict(), comEngine_feasability(), fill_gRefToEncLoop_call(), and fill_gRefToEncLoop_test().
|
static |
Definition at line 633 of file comEngine_feasability.c.
Referenced by is_good_direction_p().
|
static |
Definition at line 79 of file comEngine_feasability.c.
Referenced by attach_ref_to_loop(), check_loop_distribution_feasability(), code_has_write_eff_ref_p(), comEngine_feasability(), fill_gRefToEncLoop_call(), fill_gRefToEncLoop_loop(), fill_gRefToEncLoop_test(), and process_ref_list().
|
static |
Definition at line 631 of file comEngine_feasability.c.
Referenced by is_good_direction_p().
|
static |
Definition at line 629 of file comEngine_feasability.c.
Referenced by is_good_direction_p().