PIPS
|
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "boolean.h"
#include <stdbool.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "database.h"
#include "misc.h"
#include "text.h"
#include "text-util.h"
#include "ri-util.h"
#include "effects-util.h"
#include "accel-util.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "pipsdbm.h"
#include "resources.h"
#include "control.h"
#include "conversion.h"
#include "properties.h"
#include "semantics.h"
#include "transformations.h"
#include "effects-convex.h"
#include "complexity_ri.h"
#include "dg.h"
#include "graph.h"
#include "ricedg.h"
#include "chains.h"
#include "task_parallelization.h"
Go to the source code of this file.
Typedefs | |
typedef dg_arc_label | arc_label |
Instantiation of the dependence graph: More... | |
typedef dg_vertex_label | vertex_label |
Functions | |
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 More... | |
void | cluster_stage_spire_generation (persistant_statement_to_cluster stmt_to_cluster, graph tg, statement stmt, int P) |
he main function More... | |
bool | spire_shared_unstructured_to_structured (char *module_name) |
bool | spire_distributed_unstructured_to_structured (char *module_name) |
Variables | |
list | com_declarations_to_add |
spire_generation.c More... | |
typedef dg_arc_label arc_label |
Instantiation of the dependence graph:
Definition at line 42 of file spire_generation.c.
typedef dg_vertex_label vertex_label |
Definition at line 43 of file spire_generation.c.
|
static |
return SPIRE for a cluster stage
Definition at line 54 of file spire_generation.c.
References apply_persistant_statement_to_cluster(), cluster_stage_spire_generation(), CONS, costly_task(), empty_comments, empty_extensions(), entity_empty_label(), FOREACH, gen_consistent_p(), gen_length(), gen_nreverse(), get_bool_property(), i2a(), is_basic_int, LIST, make_constant_entity(), make_instruction_sequence(), make_sequence(), make_statement(), make_synchronization_barrier(), make_synchronization_none(), make_synchronization_spawn(), NBCLUSTERS, NIL, STATEMENT, STATEMENT_NUMBER_UNDEFINED, statement_ordering, STATEMENT_ORDERING_UNDEFINED, statement_undefined, stmt_to_cluster, and update_persistant_statement_to_cluster().
Referenced by cluster_stage_spire_generation().
void cluster_stage_spire_generation | ( | persistant_statement_to_cluster | stmt_to_cluster, |
graph | tg, | ||
statement | stmt, | ||
int | P | ||
) |
he main function
stmt_to_cluster | tmt_to_cluster |
tg | g |
stmt | tmt |
Definition at line 120 of file spire_generation.c.
References add_declaration_statement_at_beginning(), cluster_stage_spire(), CONS, costly_task(), ENTITY, FOREACH, gen_consistent_p(), gen_free_list(), gen_nreverse(), get_bool_property(), instruction_tag, instruction_test, is_instruction_block, is_instruction_loop, is_instruction_test, LIST, loop_body, make_instruction_sequence(), make_sequence(), NIL, STATEMENT, statement_declarations, statement_instruction, statement_loop(), statement_undefined, stmt_to_cluster, test_false, test_true, and topological_sort().
Referenced by cluster_stage_spire(), spire_distributed_unstructured_to_structured(), and spire_shared_unstructured_to_structured().
bool spire_distributed_unstructured_to_structured | ( | char * | module_name | ) |
The proper effect to detect the I/O operations:
Reorder the module, because new statements have been generated.
module_name | odule_name |
Definition at line 192 of file spire_generation.c.
References add_declaration_statement(), cluster_stage_spire_generation(), com_declarations_to_add, communications_construction(), copy_persistant_statement_to_cluster(), copy_statement(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, entity_domain, entity_local_name(), FOREACH, free_value_mappings(), gen_clear_tabulated_element(), gen_filter_tabulated(), gen_true(), generic_effects_reset_all_methods(), get_current_module_entity(), get_int_property(), init_convex_rw_prettyprint(), insert_statement(), kdg, MEMORY_SIZE, module_name(), module_name_to_entity(), module_reorder(), module_to_value_mappings(), NBCLUSTERS, NIL, reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_in_effects(), reset_ordering_to_statement(), reset_out_effects(), reset_precondition_map(), reset_proper_rw_effects(), reset_rw_effects(), reset_transformer_map(), return_st, set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_in_effects(), set_methods_for_convex_effects(), set_ordering_to_statement(), set_out_effects(), set_precondition_map(), set_proper_rw_effects(), set_rw_effects(), set_transformer_map(), statement_undefined_p, stmt_to_cluster, and strdup().
bool spire_shared_unstructured_to_structured | ( | char * | module_name | ) |
module_name | odule_name |
Definition at line 163 of file spire_generation.c.
References cluster_stage_spire_generation(), copy_persistant_statement_to_cluster(), copy_statement(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, gen_consistent_p(), get_int_property(), insert_statement(), kdg, MEMORY_SIZE, module_name(), module_name_to_entity(), module_reorder(), NBCLUSTERS, reset_current_module_entity(), reset_current_module_statement(), reset_ordering_to_statement(), return_st, set_current_module_entity(), set_current_module_statement(), set_ordering_to_statement(), statement_undefined_p, stmt_to_cluster, and strdup().
list com_declarations_to_add |
Definition at line 49 of file spire_generation.c.
Referenced by com_call(), and spire_distributed_unstructured_to_structured().