PIPS
|
Go to the source code of this file.
Macros | |
#define | STEP_GENERATED_SUFFIX_F ".step_generated.f" |
Copyright 2007-2012 Alain Muller, Frederique Silber-Chaussumier. More... | |
#define | STEP_GENERATED_SUFFIX_C ".step_generated.c" |
#define STEP_GENERATED_SUFFIX_F ".step_generated.f" |
void add_omp_guard | ( | statement * | block | ) |
block | lock |
Definition at line 62 of file compile.c.
References compile_omp(), CONS, empty_statement_or_continue_p(), free_step_directive(), make_block_statement(), make_empty_block_statement(), make_step_directive(), NIL, pips_assert, pips_debug, STATEMENT, statement_block_p, statement_undefined, statement_undefined_p, STEP_BARRIER, and STEP_MASTER.
Referenced by compile_body().
Definition at line 215 of file compile.c.
References create_new_module_entity(), directive_txt, entity_name, free(), get_directive_transformation(), get_module_name_directive_suffix(), pips_debug, step_directives_bound_p(), step_directives_load(), STEP_TRANSFORMATION_HYBRID, and STEP_TRANSFORMATION_MPI.
Referenced by step_compile_analysed_module().
statement compile_mpi | ( | statement | stmt, |
string | new_module_name, | ||
step_directive | drt, | ||
int | transformation | ||
) |
Definition at line 517 of file compile_mpi.c.
References c_module_p(), compile_body(), concatenate(), entity_domain, entity_undefined_p, gen_copy_seq(), gen_find_tabulated(), get_current_module_entity(), get_current_module_name(), make_block_statement(), make_empty_block_statement(), make_statement_list, MODULE_SEP_STRING, NIL, outliner_call(), outliner_file(), outliner_init(), outliner_parameters(), outliner_patch_parameters(), outliner_scan(), pips_assert, pips_debug, reset_prettyprinter_head_hook(), set_prettyprinter_head_hook(), step_head_hook(), step_RT_clean_local(), step_RT_set_local_declarations(), TOP_LEVEL_MODULE_NAME, and update_referenced_entities().
Referenced by compile_rewrite().
statement compile_omp | ( | statement | stmt, |
step_directive | d | ||
) |
compile.c
stmt | tmt |
Definition at line 32 of file compile.c.
References add_pragma_str_to_statement(), CAR, ENDP, fortran_module_p(), get_current_module_entity(), insert_statement(), last_statement(), make_plain_continue_statement(), pips_debug, STATEMENT, statement_block(), step_directive_to_strings(), and string_undefined_p.
Referenced by add_omp_guard(), compile_body(), and compile_rewrite().
Definition at line 245 of file compile.c.
References assert, CAR, compile_mpi(), compile_omp(), get_directive_transformation_type(), ifdebug, pips_debug, POP, remove_STEP_pragma(), step_directive_print(), step_directives_bound_p(), step_directives_load(), STEP_TRANSFORMATION_HYBRID, STEP_TRANSFORMATION_MPI, STEP_TRANSFORMATION_OMP, STEP_TRANSFORMATION_SEQ, and STRING.
Referenced by step_compile_analysed_module().
|
static |
Definition at line 196 of file compile.c.
References asprintf, assert, build_new_top_level_module_name(), CAR, CONS, copy_language(), directive_txt, free(), get_current_module_entity(), make_empty_subroutine(), module_language, pips_debug, prefix, and STRING.
Referenced by compile_filter().
|
static |
Definition at line 169 of file compile.c.
References assert, get_directive_transformation_type(), pips_debug, STEP_TRANSFORMATION_HYBRID, STEP_TRANSFORMATION_MPI, STEP_TRANSFORMATION_OMP, STEP_TRANSFORMATION_SEQ, and strdup().
Referenced by compile_filter().
|
static |
que se passe t-il si plusieurs clauses de transformation ?
Definition at line 151 of file compile.c.
References FOREACH, pips_debug, STEP_CLAUSE, step_clause_transformation, step_clause_transformation_p, and step_directive_clauses.
Referenced by compile_rewrite(), and get_directive_transformation().
|
static |
Definition at line 119 of file compile.c.
References assert, directive_txt, fortran_module_p(), get_current_module_entity(), pips_debug, STEP_BARRIER, step_directive_type, STEP_DO, STEP_MASTER, STEP_PARALLEL, STEP_PARALLEL_DO, STEP_SINGLE, and strdup().
Referenced by compile_filter().
Definition at line 87 of file compile.c.
References CONS, EXTENSION, extension_pragma, extensions_extension, FOREACH, free_extension(), gen_free_list(), gen_nreverse(), NIL, pips_debug, pragma_string, pragma_string_p, statement_extensions, and STEP_SENTINELLE.
Referenced by compile_rewrite().
bool step_compile | ( | const char * | module_name | ) |
analysed source : let's do the transformations
generated module: nothing to do but copy the generated source
module_name | odule_name |
Definition at line 393 of file compile.c.
References asprintf, assert, db_build_file_resource_name(), db_get_current_workspace_directory(), DB_PUT_FILE_RESOURCE, debug_off, debug_on, fortran_module_p(), local_name_to_top_level_entity(), module, module_name(), pips_debug, step_analysed_module_p(), step_compile_analysed_module(), step_compile_generated_module(), STEP_GENERATED_SUFFIX_C, and STEP_GENERATED_SUFFIX_F.
void step_compile_analysed_module | ( | const char * | module_name, |
string | finit_name | ||
) |
Code transformation
File generation
module_name | odule_name |
finit_name | init_name |
Definition at line 288 of file compile.c.
References call_STEP_subroutine2(), compile_filter(), compile_rewrite(), CONS, db_get_memory_resource(), entity_main_module_p(), f(), fortran_module_p(), free_statement(), free_statement_effects(), free_text(), gen_context_recurse, get_bool_property(), get_current_module_entity(), init_stmt, insert_statement(), last_statement(), load_step_comm(), local_name_to_top_level_entity(), module, module_name(), NIL, pips_debug, print_text(), reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_rw_effects(), reset_step_comm(), RT_STEP_finalize, RT_STEP_init_c_order, RT_STEP_init_fortran_order, safe_fclose(), safe_fopen(), set_bool_property(), set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_rw_effects(), statement_domain, step_directives_init(), step_directives_reset(), STRING, and text_named_module().
Referenced by step_compile().
void step_compile_generated_module | ( | const char * | module_name, |
string | finit_name | ||
) |
generated source: no analyse and no compilation necessary.
Keep the source as it is.
module_name | odule_name |
finit_name | init_name |
Definition at line 354 of file compile.c.
References asprintf, assert, compilation_unit_of_module(), compilation_unit_p(), concatenate(), CONS, db_get_current_workspace_directory(), db_get_memory_resource(), db_get_module_list_initial_order(), ENTITY, fortran_module_p(), fprint_statement(), free_statement(), gen_array_item(), gen_array_nitems(), local_name_to_top_level_entity(), make_plain_continue_statement(), module, module_name(), module_name_to_entity(), NIL, out, pips_debug, safe_copy(), safe_fclose(), safe_fopen(), safe_system(), same_string_p, statement_declarations, and step_analysed_module_p().
Referenced by step_compile().