PIPS
|
#include <stdlib.h>
#include <stdio.h>
#include "genC.h"
#include "linear.h"
#include "resources.h"
#include "database.h"
#include "ri.h"
#include "ri-util.h"
#include "pipsdbm.h"
#include "control.h"
#include "misc.h"
#include "properties.h"
#include "task_parallelization.h"
#include "prettyprint.h"
Go to the source code of this file.
Functions | |
static string | variable_replication_declaration_commenter (__attribute__((unused)) entity e) |
Pass: VARIABLE_REPLICATION Debug mode: MPI_GENERATION_DEBUG_LEVEL Properties used: More... | |
static void | replicate_declaration (entity decl, statement module_statement, statement st) |
static bool | make_global_variable_declaration_replication () |
static bool | make_declaration_replication (statement module_statement) |
only replicate declaration declare at the first scope of the function. More... | |
bool | variable_replication (const char *module_name) |
PIPS pass. More... | |
only replicate declaration declare at the first scope of the function.
The sub-scope has to be some pragma and don't have to be replicate. \pragma module_statement statement to work on
Definition at line 118 of file variable_replication.c.
References declaration_statement_p(), ENTITY, FOREACH, gen_position(), load_parallel_task_mapping(), module_statement, pips_internal_error, replicate_declaration(), sequence_statements, STATEMENT, statement_declarations, statement_sequence(), statement_sequence_p(), and task_private_data.
Referenced by variable_replication().
|
static |
Definition at line 107 of file variable_replication.c.
References pips_user_warning.
Referenced by variable_replication().
Definition at line 63 of file variable_replication.c.
References add_declaration_statement_here(), concatenate(), entity_domain, entity_local_name(), entity_module_name(), entity_undefined, entity_user_name(), gen_find_tabulated(), get_int_property(), get_string_property(), i2a(), ifdebug, local_name_to_scope(), make_entity_copy_with_new_name(), MODULE_SEP_STRING, module_statement, MPI_GENERATION_NBR_CLUSTER, MPI_GENERATION_PREFIX, pips_assert, pips_debug, pips_user_error, pop_generated_variable_commenter(), prefix, print_statement(), push_generated_variable_commenter(), statement_consistent_p(), statement_undefined, and variable_replication_declaration_commenter().
Referenced by make_declaration_replication().
bool variable_replication | ( | const char * | module_name | ) |
PIPS pass.
Reorder the module, because some statements have been added. Well, the order on the remaining statements should be the same, but by reordering the statements, the number are consecutive. Just for pretty print... :-)
module_name | odule_name |
Definition at line 148 of file variable_replication.c.
References db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, get_current_module_statement(), make_declaration_replication(), make_global_variable_declaration_replication(), module_name(), module_name_to_entity(), module_reorder(), module_statement, pips_assert, pips_debug, reset_current_module_entity(), reset_current_module_statement(), reset_ordering_to_statement(), reset_parallel_task_mapping(), set_current_module_entity(), set_current_module_statement(), set_ordering_to_statement(), set_parallel_task_mapping(), statement_consistent_p(), and strdup().
|
static |
Pass: VARIABLE_REPLICATION Debug mode: MPI_GENERATION_DEBUG_LEVEL Properties used:
Definition at line 59 of file variable_replication.c.
References COMMENT_VARIABLE_REPLICATION, and strdup().
Referenced by replicate_declaration().