PIPS
|
#include "defines-local.h"
#include "control.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "effects-convex.h"
Go to the source code of this file.
Macros | |
#define | RETAL(msg, res) { pips_debug(7, "%d because %s\n", res, msg); return res;} |
#define | RET(msg, what) { pips_debug(6, "not similar because %s\n", msg); return what;} |
#define | ret(why, what) { pips_debug(9, "ret %d because %s\n", what, why); return what; } |
true if not a remapping for old. More... | |
#define | elst_ifdef(what, name, s) |
Variables | |
bool(* | dynamic_entity_p )(entity) = bound_dynamic_hpf_p |
as expected, true if entity e is dynamic. More... | |
static entity | old_variable = entity_undefined |
void propagate_synonym(s, old, new) statement s; entity old, new; More... | |
static entity | new_variable = entity_undefined |
entity to be replaced, the primary? More... | |
static bool | array_propagation |
replacement More... | |
static bool | array_used |
true if an array is propagated, false if template More... | |
static bool | array_modified |
true if the array was actually used More... | |
static statement | initial_statement = statement_undefined |
true if the array may be modified... More... | |
#define elst_ifdef | ( | what, | |
name, | |||
s | |||
) |
#define RET | ( | msg, | |
what | |||
) | { pips_debug(6, "not similar because %s\n", msg); return what;} |
#define ret | ( | why, | |
what | |||
) | { pips_debug(9, "ret %d because %s\n", what, why); return what; } |
#define RETAL | ( | msg, | |
res | |||
) | { pips_debug(7, "%d because %s\n", res, msg); return res;} |
lazy initialization
Definition at line 916 of file dynamic.c.
References entities_list, gen_once(), make_entities(), and NIL.
Referenced by continue_propagation_p().
|
static |
Definition at line 882 of file dynamic.c.
References control_predecessors, control_successors, gen_once(), initial_statement, lazy_initialize_for_statement(), and what_stat_debug.
Referenced by continue_propagation_p().
|
static |
Definition at line 910 of file dynamic.c.
References entities_list, gen_once(), initial_statement, and load_primary_entity().
Referenced by propagate_synonym().
Definition at line 904 of file dynamic.c.
References entities_list, gen_once(), and load_primary_entity().
Referenced by initial_alignment().
|
static |
Definition at line 897 of file dynamic.c.
References entities_list, gen_once(), initial_statement, and load_primary_entity().
Referenced by propagate_synonym().
what: new_e is stored as a synonym of e.
Definition at line 149 of file dynamic.c.
References CONS, dynamic_entity_p, entities_list, ENTITY, entity_name, load_dynamic_hpf(), load_primary_entity(), pips_assert, pips_debug, store_dynamic_hpf(), and store_primary_entity().
Referenced by new_synonym().
of renaming
l | of renaming |
Definition at line 665 of file dynamic.c.
References CONS, make_renaming(), MAP, pips_assert, RENAMING, renaming_new, and renaming_old.
Referenced by hpfc_translate_call_with_distributed_args().
what: returns the list of alive arrays for statement s and template t.
how: uses the alive_synonym, and computes the defaults. input: statement s and template t which are of interest. output: a list of entities which is allocated. side effects: none. of entities
of entities
to tag seen primaries.
??? well, it is not necessarily initialized, I guess...
first the alive list is scanned.
second the defaults are looked for. namely the primary entities.
Definition at line 1504 of file dynamic.c.
References align_template, array, CONS, DEBUG_ELST, entities_list, ENTITY, entity_name, entity_template_p(), gen_free_list(), gen_in_list_p(), list_of_distributed_arrays(), load_hpf_alignment(), load_primary_entity(), make_entities(), MAP, NIL, pips_assert, pips_debug, primary_entity_p, and safe_load_primary_entity().
Referenced by one_distribute_directive().
conformant processors ??? could assume that P(1:1,1:n) is conformant to P'(1:n)?
considering ith dim of proc
conformant distributions
if the size is 1, whatever the distribution it is ok!
conformant alignments for that pe dim !!! the HPF mapping "semantics" insure that the corresponding dimension is distributed!
a1 | 1 |
a2 | 2 |
Definition at line 578 of file dynamic.c.
References align_alignment, align_template, conformant_entities_p(), distribute_distribution, distribute_processors, entity_name, FindAlignmentOfTemplateDim(), FindDistributionOfProcessorDim(), load_hpf_alignment(), load_hpf_distribution(), load_primary_entity(), NumberOfDimension(), pips_assert, pips_debug, RET, same_alignment_p(), same_distribution_p(), and SizeOfIthDimension().
Referenced by check_for_similarity().
entity array_synonym_aligned_as(array, a) entity array; align a;
what: finds or creates a new entity aligned as needed. input: an array (which must be dynamic) and an align output: returns an array aligned as specified by align a side effects:
the one found is returned
else no compatible array does exist, so one must be created
array | rray |
Definition at line 449 of file dynamic.c.
References array, entities_list, ENTITY, entity_name, free_align(), ifdebug, load_dynamic_hpf(), load_hpf_alignment(), MAP, new_synonym_array(), pips_debug, print_align(), and same_align_p().
Referenced by hpfc_translate_call_with_distributed_args(), one_align_directive(), and one_distribute_directive().
no templates!
job already done
look for copies with similar mappings for latter update
a -> init[e] for storage purposes
others | array a to be compared against its similars of entity |
Definition at line 230 of file dynamic.c.
References array_distributed_p(), array_distribution_similar_p(), bound_similar_mapping_p(), ENTITY, entity_name, load_similar_mapping(), MAP, pips_debug, and store_similar_mapping().
Referenced by hpfc_check_for_similarities().
void close_dynamic_locals | ( | void | ) |
can't close it directly...
Definition at line 817 of file dynamic.c.
References control_predecessors, control_statement, control_successors, CONTROLMAP_MAP, gen_free_list(), NIL, statement_undefined, and what_stat_debug.
Referenced by handle_hpf_directives().
void close_dynamic_status | ( | void | ) |
Definition at line 117 of file dynamic.c.
References close_dynamic_hpf(), close_maybeuseful_mappings(), close_primary_entity(), close_renamings(), and close_similar_mapping().
Definition at line 329 of file dynamic.c.
References get_entity_dimensions(), and NumberOfDimension().
Referenced by array_distribution_similar_p(), conformant_templates_p(), hpfc_translate_call_with_distributed_args(), and same_distribute_p().
t1 | 1 |
t2 | 2 |
Definition at line 405 of file dynamic.c.
References conformant_entities_p(), load_hpf_distribution(), and same_distribute_p().
Referenced by align_check(), and same_align_p().
up to the template!
the variable is realigned.
else it may be a call because of ALIGN () WITH T()X...
up to the processor, stop
if template t is redistributed...
Definition at line 990 of file dynamic.c.
References add_alive_synonym(), add_as_a_closing_statement(), align_template, array, array_propagation, call_arguments, call_function, CAR, dead_fcd_directive_p(), DEBUG_STAT, entity_template_p(), EXPRESSION, expression_reference_p(), expression_to_entity(), expression_to_reference(), gen_length(), instruction_call, instruction_call_p, load_hpf_alignment(), MAP, new_variable, old_variable, realign_directive_p(), redistribute_directive_p(), reference_variable, rename_directive_p(), ret, safe_load_primary_entity(), statement_instruction, and what_stat_debug.
Referenced by propagate_synonym().
void dump_current_remapping_graph | ( | string | when | ) |
when | hen |
Definition at line 1440 of file dynamic.c.
References dump_remapping_graph(), and list_of_remapping_statements().
Referenced by handle_hpf_directives().
ls | of statement |
Definition at line 1431 of file dynamic.c.
References dump_remapping_graph_info(), fprintf(), and gen_map().
Referenced by dump_current_remapping_graph(), and simplify_remapping_graph().
|
static |
Definition at line 1410 of file dynamic.c.
References control_predecessors, control_successors, elst_ifdef, fprintf(), gen_map(), print_control_ordering(), and what_stat_debug.
Referenced by dump_remapping_graph().
statement generate_copy_loop_nest(src, trg) entity src, trg;
what: generates a parallel loop nest that copies src in trg. how: by building the corresponding AST. input: the two entities, which should be arrays with the same shape. output: a statement containing the loop nest. side effects:
of entities
of expressions
of dimensions
???
builds the set of indexes needed to scan the dimensions.
builds the assign statement to put in the body. TRG(indexes) = SRC(indexes)
builds the copy loop nest
src | rc |
trg | rg |
Definition at line 1568 of file dynamic.c.
References array_distributed_p(), CAR, concatenate(), CONS, copy_expression(), current, DEBUG_STAT, DIMENSION, dimension_lower, dimension_upper, entities_to_expressions(), ENTITY, entity_empty_label(), entity_name, entity_type, gen_copy_seq(), gen_length(), get_current_module_entity(), hpfc_new_variable(), int_to_expression(), is_basic_int, is_execution_parallel, load_primary_entity(), loop_to_statement, make_assign_statement(), make_empty_statement, make_execution(), make_loop(), make_range(), make_reference(), MakeBasic(), module, NIL, pips_assert, POP, reference_to_expression(), src, type_variable, type_variable_p, UU, and variable_dimensions.
Referenced by clean_statement().
dynamic_status get_dynamic_status | ( | void | ) |
Definition at line 99 of file dynamic.c.
References get_dynamic_hpf(), get_maybeuseful_mappings(), get_primary_entity(), get_renamings(), and make_dynamic_status().
Referenced by init_hpfc_status(), and save_hpfc_status().
whether call c inplies a distributed argument
no intrinsics
else checks for distributed arguments
Definition at line 645 of file dynamic.c.
References array_distributed_p(), call_arguments, call_function, entity_initial, f(), find_ith_parameter(), gen_length(), hpf_directive_entity_p(), and value_intrinsic_p.
Referenced by prescription_filter().
void hpfc_check_for_similarities | ( | list | le | ) |
check all dynamic arrays for some similars...
of entity
similar bases
le | of entity |
Definition at line 269 of file dynamic.c.
References array, array_distributed_p(), check_for_similarity(), CONS, entities_list, ENTITY, entity_name, gen_free_list(), gen_in_list_p(), gen_once(), load_dynamic_hpf(), load_similar_mapping(), MAP, NIL, pips_assert, pips_debug, and primary_entity_p.
Referenced by handle_hpf_directives().
??? only simple calls are handled.
imbrication may cause problems. ??? should recurse thru all the calls at a call instruction... the call. (not necessarily an instruction)
of remapping
of expression
the substitution in the call will be performed at the propagation phase of dynamic arrays, later on.
add the renaming in the list. ??? should be added only once! what about call(A,A)...
should always be the case
of statement
Do not forget to move forbidden information associated with block:
c | the statement the call belongs to |
Definition at line 687 of file dynamic.c.
References add_a_dynamic(), add_once_to_renaming_list(), array_distributed_p(), array_synonym_aligned_as(), call_arguments, call_function, call_to_statement, CAR, conformant_entities_p(), CONS, copy_align(), DEBUG_STAT, entity_name, entity_to_expression(), EXPRESSION, expression_to_entity(), f(), find_ith_parameter(), fix_sequence_statement_attributes(), gen_length(), gen_nconc(), HPF_PREFIX, hpfc_name_to_entity(), instruction_to_statement(), load_hpf_alignment(), make_call(), make_instruction_block(), MAP, NIL, pips_assert, pips_debug, POP, RENAME_SUFFIX, RENAMING, renaming_new, renaming_old, set_entity_as_dynamic(), STATEMENT, and statement_instruction.
Referenced by prescription_filter().
void init_dynamic_locals | ( | void | ) |
DYNAMIC LOCAL DATA.
these static functions are used to store the remapping graph while it is built, or when optimizations are performed on it.
Definition at line 806 of file dynamic.c.
Referenced by handle_hpf_directives().
void init_dynamic_status | ( | void | ) |
DYNAMIC STATUS management.
Definition at line 81 of file dynamic.c.
References init_dynamic_hpf(), init_maybeuseful_mappings(), init_primary_entity(), init_renamings(), and init_similar_mapping().
Referenced by init_hpfc_status().
|
static |
must be called after useless leaving mappings removal
Definition at line 1194 of file dynamic.c.
References copy_entities(), and store_maybeuseful_mappings().
Referenced by simplify_remapping_graph().
|
static |
for statement s
of entities
Definition at line 1142 of file dynamic.c.
References gen_once(), load_primary_entity(), load_renamings(), make_entities(), MAP, NIL, RENAMING, renaming_new, renaming_old, and what_stat_debug.
Referenced by simplify_remapping_graph().
|
static |
starting point
initialize both the remapping graph and the used dynamics for s
Definition at line 870 of file dynamic.c.
References make_control(), make_entities(), and NIL.
Referenced by add_as_a_closing_statement(), and propagate_synonym().
|
static |
of statements
of statements
Definition at line 1383 of file dynamic.c.
References CONS, CONTROLMAP_MAP, NIL, pips_debug, and STATEMENT.
Referenced by dump_current_remapping_graph(), and simplify_remapping_graph().
Definition at line 474 of file dynamic.c.
References align_template, and copy_align().
Referenced by one_distribute_directive().
builds a synonym for entity e.
The name is based on e, plus an underscore and a number added. May be used for templates and arrays. the new synonym is added as a synonym of e.
syn. number
the new entity is rather local!
Definition at line 198 of file dynamic.c.
References add_dynamic_synonym(), AddEntityToDeclarations(), DYNAMIC_AREA_LOCAL_NAME, entities_list, entity_local_name(), entity_module_name(), entity_storage, FindEntity(), FindOrCreateEntityLikeModel(), free_storage(), gen_length(), get_current_module_entity(), is_storage_ram, load_dynamic_hpf(), load_primary_entity(), make_ram(), make_storage(), module, NIL, pips_debug, and storage_formal_p.
Referenced by new_synonym_array(), and new_synonym_template().
builds a new synonym for array a, the alignment of which will be al.
The new array is set as distributed.
Definition at line 306 of file dynamic.c.
References new_synonym(), set_array_as_distributed(), and store_hpf_alignment().
Referenced by array_synonym_aligned_as().
|
static |
builds a new synonym for template t, the distribution of which will be di.
the new entity is set as a template, and/or as an array
Definition at line 319 of file dynamic.c.
References new_synonym(), set_template(), and store_hpf_distribution().
Referenced by template_synonym_distributed_as().
|
static |
functions used for debug.
Definition at line 1397 of file dynamic.c.
References control_statement, fprintf(), ORDERING_NUMBER, ORDERING_STATEMENT, and statement_ordering.
Referenced by dump_remapping_graph_info().
of statements
ls | of statement |
Definition at line 1286 of file dynamic.c.
References load_maybeuseful_mappings(), and propagation_on_remapping_graph().
Referenced by simplify_remapping_graph().
old | starting statement for the propagation |
new | entity to be replaced |
is_array | replacement for the entity true if array, false if template |
Definition at line 1096 of file dynamic.c.
References add_as_a_modified_variable(), add_as_a_used_variable(), array_modified, array_propagation, array_used, close_ctrl_graph_travel(), continue_propagation_p(), current, DEBUG_STAT, entity_name, entity_undefined, get_current_module_statement(), init_ctrl_graph_travel(), initial_statement, lazy_initialize_for_statement(), new_variable, next_ctrl_graph_travel(), old_variable, pips_debug, safe_load_primary_entity(), simple_switch_old_to_new(), and what_stat_debug.
Referenced by handle_prescriptive_directive(), initial_alignment(), one_align_directive(), and one_distribute_directive().
of statements
ls | of statements |
Definition at line 1277 of file dynamic.c.
References propagation_on_remapping_graph().
Referenced by simplify_remapping_graph().
|
static |
more options, such as may or must?
of statement backward or forward
of entity
of entity
idem
if the built set was modified, must propagate at next step...
ls | of statement |
forward | local or remote condition |
Definition at line 1223 of file dynamic.c.
References CONS, CONTROL, control_predecessors, control_statement, control_successors, current, entities_list, ENTITY, entity_local_name(), gen_in_list_p(), gen_once(), load_primary_entity(), MAP, pips_debug, and what_stat_debug.
Referenced by propagate_maybeuseful_mappings(), and propagate_used_arrays().
|
static |
Definition at line 931 of file dynamic.c.
References array_used, new_variable, old_variable, and reference_variable.
Referenced by simple_switch_old_to_new().
|
static |
regenerate the renaming structures after the optimizations performed on the remapping graph.
of entity(s)
ensures some remapping to enforce an update of the status, which may be necessary, for instance if KILL was used.
of renaming(s)
???
Definition at line 1338 of file dynamic.c.
References CONS, entities_list, ENTITY, entity_name, gen_free(), gen_free_list(), gen_map(), load_primary_entity(), load_renamings(), make_renaming(), MAP, NIL, pips_debug, RENAMING, update_renamings(), and what_stat_debug.
Referenced by simplify_remapping_graph().
|
static |
of entity
new reachings
Definition at line 1199 of file dynamic.c.
References CONTROL, control_predecessors, control_statement, entities_list, ENTITY, gen_free_list(), gen_in_list_p(), gen_once(), load_primary_entity(), MAP, and NIL.
Referenced by simplify_remapping_graph().
of entity(s)
Definition at line 1294 of file dynamic.c.
References array, entities_list, ENTITY, gen_copy_seq(), gen_free_list(), gen_remove(), load_primary_entity(), and MAP.
Referenced by remove_unused_remappings().
|
static |
of entities
REMAPPED and
NOT USED
=> NOT LEAVED
Definition at line 1166 of file dynamic.c.
References array, entities_list, ENTITY, entity_name, gen_copy_seq(), gen_free_list(), gen_in_list_p(), gen_remove(), load_primary_entity(), MAP, pips_debug, and what_stat_debug.
Referenced by simplify_remapping_graph().
|
static |
of entity(s)
Definition at line 1310 of file dynamic.c.
References entities_list, ENTITY, entity_name, entity_storage, gen_copy_seq(), gen_free_list(), gen_in_list_p(), MAP, pips_debug, remove_from_entities(), and storage_formal_p.
Referenced by simplify_remapping_graph().
Definition at line 978 of file dynamic.c.
References entity_local_name(), f(), HPF_PREFIX, RENAME_SUFFIX, and same_string_p.
Referenced by continue_propagation_p().
void reset_dynamic_status | ( | void | ) |
Definition at line 90 of file dynamic.c.
References reset_dynamic_hpf(), reset_maybeuseful_mappings(), reset_primary_entity(), and reset_renamings().
Referenced by reset_hpfc_status().
HPFC module by Fabien COELHO.
This file provides functions used by directives.c to deal with dynamic mappings (re*). It includes keeping track of variables tagged as dynamic, and managing the static synonyms introduced to deal with them in HPFC. DYNAMIC MANAGEMENT
the synonyms of a given array are stored in a entities. What I intend as a synonym is a version of the array or template which is distributed or aligned in a different way. the renamings are associated to the remapping statements here.
Definition at line 61 of file dynamic.c.
References bound_dynamic_hpf_p(), entity_local_name(), load_primary_entity(), and pips_user_error.
Referenced by alive_arrays(), continue_propagation_p(), and propagate_synonym().
of alignments
Definition at line 418 of file dynamic.c.
References align_alignment, align_template, ALIGNMENT, conformant_templates_p(), gen_length(), MAP, and same_alignment_in_list_p().
Referenced by array_synonym_aligned_as().
comparison of ALIGN.
l | of alignments |
Definition at line 385 of file dynamic.c.
References ALIGNMENT, alignment_arraydim, alignment_constant, alignment_rate, alignment_templatedim, expression_equal_p(), intptr_t, and MAP.
Referenced by same_align_p().
|
static |
compares the alignments if any
Definition at line 535 of file dynamic.c.
References alignment_arraydim, alignment_constant, alignment_rate, alignment_templatedim, alignment_undefined_p, b1, b2, dimension_lower, entity_name, expression_equal_p(), FindIthDimension(), HpfcExpressionToInt(), pips_debug, RETAL, and SizeOfIthDimension().
Referenced by array_distribution_similar_p().
|
static |
comparison of DISTRIBUTE.
of distributions
Definition at line 353 of file dynamic.c.
References CAR, conformant_entities_p(), distribute_distribution, distribute_processors, DISTRIBUTION, distribution_parameter, distribution_style, ENDP, expression_equal_p(), gen_length(), is_style_none, pips_assert, POP, s1, and style_tag.
Referenced by conformant_templates_p(), and template_synonym_distributed_as().
|
static |
array_distribution_similar_p
returns whether a1 and a2 are similar, i.e. even if distributed differently, the resulting mapping is similar.
e.g. align a1(i,j) with T(i,j), distribute T(*,block) and align a2(i,j) with T(j,i), distribute T(block,*)
impact: the same area can be used for holding both array versions but the version number must be accurate.
Definition at line 523 of file dynamic.c.
References distribution_parameter, distribution_style, expression_equal_p(), and style_tag.
Referenced by array_distribution_similar_p().
e1 | 1 |
e2 | 2 |
Definition at line 70 of file dynamic.c.
References bound_primary_entity_p(), and load_primary_entity().
Referenced by simple_switch_old_to_new().
void set_dynamic_status | ( | dynamic_status | d | ) |
set_similar_mapping(...)
Definition at line 108 of file dynamic.c.
References dynamic_status_dynamics, dynamic_status_primary, dynamic_status_renamings, dynamic_status_tokeep, set_dynamic_hpf(), set_maybeuseful_mappings(), set_primary_entity(), and set_renamings().
Referenced by load_hpfc_status().
void set_entity_as_dynamic | ( | entity | e | ) |
a new dynamic entity is stored.
HPF allows arrays and templates as dynamic. ??? could be asserted, but not here. should be checked afterward.
else the entity was already declared as dynamic...
Definition at line 130 of file dynamic.c.
References bound_dynamic_hpf_p(), CONS, ENTITY, make_entities(), NIL, store_dynamic_hpf(), store_primary_entity(), and store_similar_mapping().
Referenced by hpfc_translate_call_with_distributed_args(), and new_dynamic().
void set_similar_mappings_for_updates | ( | void | ) |
??? for final update after compilation! hummm....
??? should not deal with the same array twice...
may be in another module
Definition at line 162 of file dynamic.c.
References array, bound_new_node_p(), bound_similar_mapping_p(), dynamic_entity_p, ENTITY, entity_name, list_of_distributed_arrays(), load_new_node(), load_similar_mapping(), MAP, pips_debug, and store_new_node_variable().
Referenced by compile_module().
|
static |
looks for direct references in s and switch them
STATEMENT
UNSTRUCTURED ?
REFERENCE
whether the array may be written... by scanning the proper effects of s. (caution, was just switched to the new_variable!)
Definition at line 941 of file dynamic.c.
References array_modified, bound_proper_rw_effects_p(), DEBUG_STAT, EFFECT, effect_any_reference, effect_write_p, entity_name, FOREACH, gen_false(), gen_multi_recurse(), gen_null(), gen_true(), load_proper_rw_effects_list(), new_variable, pips_debug, ref_rwt(), reference_domain, reference_variable, same_primary_entity_p(), statement_domain, statement_instruction, store_effect_p(), and unstructured_domain.
Referenced by propagate_synonym().
void simplify_remapping_graph | ( | void | ) |
void simplify_remapping_graph()
what: simplifies the remapping graph. how: propagate unused reaching mappings to the next remappings, and remove unnecessary remappings. input: none. output: none. side effects: all is there!
of statements
Definition at line 1467 of file dynamic.c.
References dump_remapping_graph(), gen_closure(), gen_free_list(), gen_map(), get_current_module_statement(), ifdebug, initialize_maybeuseful_mappings(), initialize_reaching_propagation(), list_of_remapping_statements(), pips_debug, propagate_maybeuseful_mappings(), propagate_used_arrays(), regenerate_renamings(), reinitialize_reaching_mappings(), remove_not_remapped_leavings(), remove_unused_remappings(), and what_stat_debug.
Referenced by handle_hpf_directives().
entity template_synonym_distributed_as | ( | entity | temp, |
distribute | d | ||
) |
what: finds or creates a new entity distributed as needed.
input: an template (which must be dynamic) and a distribute output: returns a template distributed as specified by d side effects:
the one found is returned
else no compatible template does exist, so one must be created
temp | emp |
Definition at line 491 of file dynamic.c.
References entities_list, ENTITY, free_distribute(), load_dynamic_hpf(), load_hpf_distribution(), MAP, new_synonym_template(), and same_distribute_p().
Referenced by one_distribute_directive().
|
static |
true if the array was actually used
Definition at line 864 of file dynamic.c.
Referenced by propagate_synonym(), and simple_switch_old_to_new().
|
static |
replacement
Definition at line 862 of file dynamic.c.
Referenced by continue_propagation_p(), and propagate_synonym().
|
static |
true if an array is propagated, false if template
Definition at line 863 of file dynamic.c.
Referenced by propagate_synonym(), and ref_rwt().
bool(* dynamic_entity_p) (entity) | ( | entity | ) | = bound_dynamic_hpf_p |
as expected, true if entity e is dynamic.
it is just a function name nicer than bound_...
Definition at line 145 of file dynamic.c.
Referenced by add_declaration_to_host_and_link(), add_dynamic_synonym(), create_init_common_param_for_arrays(), create_parameters_h(), one_align_directive(), one_distribute_directive(), and set_similar_mappings_for_updates().
|
static |
true if the array may be modified...
Definition at line 866 of file dynamic.c.
Referenced by add_as_a_closing_statement(), add_as_a_modified_variable(), add_as_a_used_variable(), and propagate_synonym().
|
static |
entity to be replaced, the primary?
Definition at line 860 of file dynamic.c.
Referenced by add_parameter_variable_to_module(), add_private_variable_to_module(), build_sc_with_several_uniform_ref(), clone_variable_with_new_name(), continue_propagation_p(), create_parameter_for_new_module(), create_parameter_variable_for_new_module(), create_private_integer_variable_for_new_module(), create_private_variable_for_new_module(), declare_common_variables_in_module(), generic_clone_variable_with_unique_name(), propagate_synonym(), ref_rwt(), sc_rename_variables(), simple_switch_old_to_new(), and vect_rename_variables().
|
static |
void propagate_synonym(s, old, new) statement s; entity old, new;
what: propagates a new array/template synonym (old->new) from statement s. how: travels thru the control graph till the next remapping. input: the starting statement, plus the two entities. output: none. side effects:
Definition at line 859 of file dynamic.c.
Referenced by clone_variable_with_unique_name(), continue_propagation_p(), generic_clone_variable_with_unique_name(), propagate_synonym(), and ref_rwt().