2 #include "pips_config.h"
28 #include "resources.h"
60 int Ps = p - stage_mod;
61 bool costly_p =
false;
72 int physical_cluster = i;
223 char *rtl_prefix =
"_rtl";
list topological_sort(statement stmt)
persistant_statement_to_cluster stmt_to_cluster
graph kdg
Global variables.
int get_int_property(const string)
void update_persistant_statement_to_cluster(persistant_statement_to_cluster f, intptr_t k, intptr_t v)
statement copy_statement(statement p)
STATEMENT.
statement make_statement(entity a1, intptr_t a2, intptr_t a3, string a4, instruction a5, list a6, string a7, extensions a8, synchronization a9)
instruction make_instruction_sequence(sequence _field_)
intptr_t apply_persistant_statement_to_cluster(persistant_statement_to_cluster f, intptr_t k)
synchronization make_synchronization_none(void)
persistant_statement_to_cluster copy_persistant_statement_to_cluster(persistant_statement_to_cluster p)
PERSISTANT_STATEMENT_TO_CLUSTER.
sequence make_sequence(list a)
synchronization make_synchronization_barrier(void)
synchronization make_synchronization_spawn(entity _field_)
int NBCLUSTERS
parameters of BDSC, to be recovered using pips properties
struct _newgen_struct_statement_ * statement
void communications_construction(graph tg, statement stmt, persistant_statement_to_cluster st_to_cluster, int kp)
entity make_constant_entity(string name, tag bt, size_t size)
For historical reason, call the Fortran version.
bool costly_task(statement st)
cost_model.c
void set_methods_for_convex_effects(void)
methods.c
void init_convex_rw_prettyprint(const char *)
void set_rw_effects(statement_effects)
void reset_out_effects(void)
void reset_proper_rw_effects(void)
void set_proper_rw_effects(statement_effects)
void set_cumulated_rw_effects(statement_effects)
void set_out_effects(statement_effects)
void set_in_effects(statement_effects)
void reset_in_effects(void)
void generic_effects_reset_all_methods(void)
void reset_cumulated_rw_effects(void)
void reset_rw_effects(void)
const char * module_name(const char *s)
Return the module part of an entity name.
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
struct _newgen_struct_graph_ * graph
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
statement set_current_module_statement(statement)
Set the current module statement.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
bool gen_true(__attribute__((unused)) gen_chunk *unused)
Return true and ignore the argument.
list gen_nreverse(list cp)
reverse a list in place
#define NIL
The empty list (nil in Lisp)
size_t gen_length(const list l)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
void gen_free_list(list l)
free the spine of the list
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define DB_PUT_MEMORY_RESOURCE(res_name, own_name, res_val)
conform to old interface.
loop statement_loop(statement)
Get the loop of a statement.
statement add_declaration_statement_at_beginning(statement, entity)
void insert_statement(statement, statement, bool)
This is the normal entry point.
statement add_declaration_statement(statement, entity)
#define STATEMENT_ORDERING_UNDEFINED
mapping.h inclusion
char * i2a(int)
I2A (Integer TO Ascii) yields a string for a given Integer.
list gen_filter_tabulated(bool(*)(gen_chunk *), int)
returns the list of entities with this caracteristics.
hash_table set_ordering_to_statement(statement s)
To be used instead of initialize_ordering_to_statement() to make sure that the hash table ots is in s...
void reset_ordering_to_statement(void)
Reset the mapping from ordering to statement.
bool module_reorder(statement body)
Reorder a module and recompute order to statement if any.
#define STATEMENT_NUMBER_UNDEFINED
default values
#define is_instruction_block
soft block->sequence transition
#define empty_comments
Empty comments (i.e.
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
entity module_name_to_entity(const char *mn)
This is an alias for local_name_to_top_level_entity.
entity entity_empty_label(void)
extensions empty_extensions(void)
extension.c
#define statement_ordering(x)
#define instruction_tag(x)
#define statement_declarations(x)
#define statement_instruction(x)
struct _newgen_struct_persistant_statement_to_cluster_ * persistant_statement_to_cluster
#define instruction_test(x)
#define statement_undefined_p(x)
#define entity_domain
newgen_syntax_domain_defined
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
void module_to_value_mappings(entity m)
void module_to_value_mappings(entity m): build hash tables between variables and values (old,...
void set_transformer_map(statement_mapping)
void reset_precondition_map(void)
void set_precondition_map(statement_mapping)
void reset_transformer_map(void)
bool spire_distributed_unstructured_to_structured(char *module_name)
bool spire_shared_unstructured_to_structured(char *module_name)
void cluster_stage_spire_generation(persistant_statement_to_cluster stmt_to_cluster, graph tg, statement stmt, int P)
he main function
dg_vertex_label vertex_label
list com_declarations_to_add
spire_generation.c
dg_arc_label arc_label
Instantiation of the dependence graph:
static statement cluster_stage_spire(persistant_statement_to_cluster stmt_to_cluster, graph tg, list cluster_stage, int p)
return SPIRE for a cluster stage
The structure used to build lists in NewGen.
void gen_clear_tabulated_element(gen_chunk *obj)
GEN_CLEAR_TABULATED_ELEMENT only clears the entry for object OBJ in the gen_tabulated_ and gen_tabula...
A gen_chunk is used to store every object.