PIPS
Methods related to the current module

Many parts of PIPS guesses that a current module is defined. More...

Functions

entity set_current_module_entity (entity e)
 Set the current module entity. More...
 
entity get_current_module_entity ()
 Get the entity of the current module. More...
 
void reset_current_module_entity ()
 Reset the current module entity. More...
 
const char * get_current_module_name ()
 Get the name of the current module. More...
 
void set_current_module_declarations (list l)
 
void reset_current_module_declarations ()
 
list get_current_module_declarations ()
 
statement set_current_module_statement (statement s)
 Set the current module statement. More...
 
void push_current_module_statement (statement s)
 Set the statement of the current module and push the statement of the previous one on a stack. More...
 
void pop_current_module_statement (void)
 Pop the current module statement stack and use it as the current module statement. More...
 
statement get_current_module_statement ()
 Get the current module statement. More...
 
void reset_current_module_statement ()
 Reset the current module statement. More...
 

Detailed Description

Many parts of PIPS guesses that a current module is defined.

These methods are used to set or get the module statement, entity, name...

Function Documentation

◆ get_current_module_declarations()

list get_current_module_declarations ( void  )

Definition at line 141 of file static.c.

142 {
144 }
static list current_module_declaration_list
Definition: static.c:50

References current_module_declaration_list.

Referenced by module_declarations().

+ Here is the caller graph for this function:

◆ get_current_module_entity()

entity get_current_module_entity ( void  )

Get the entity of the current module.

Definition at line 85 of file static.c.

86 {
87  return current_module_entity;
88 }
static entity current_module_entity
static variables and related access functions concerning the current module
Definition: static.c:49

References current_module_entity.

Referenced by actual_symbol_table_dump(), add_declaration_list_information(), add_entity_to_declarations(), add_module_call_site_precondition(), add_parameter_aliases_for_this_call_site(), add_values_for_simple_effects_of_statement(), AddEntityToCompilationUnit(), AddEntityToCurrentModule(), AddEntityToCurrentModuleWithoutDeclaration(), AddVariableToCommon(), adg_get_integer_entity(), adg_rename_entities(), alias_classes(), alias_lists(), alias_pairs(), aliases_text(), AnalyzeData(), any_complexities(), any_user_call_site_to_transformer(), append_data_current_stmt_buffer_to_declarations(), apply_array_effect_to_transformer(), arguments_are_something(), array_expansion(), atomize_this_expression(), bdsc_code_instrumentation(), begin_omp_construct(), bound_to_statement(), c_call(), c_convex_effects_on_actual_parameter_forward_translation(), c_entity_local_name(), C_MakeReturnStatement(), c_parser_error(), c_return_to_transformer(), call_flt(), call_STEP_subroutine3(), call_to_postcondition(), call_to_summary_precondition(), callnodeclfilter(), cast_STEP_ARG(), cell_reference_compare(), check_abstract_locations(), check_first_statement(), CheckExternList(), clean_declarations(), clean_up_sequences_rewrite(), CleanUpEntities(), com_call(), comEngine_make_new_scalar_variable(), common_region_translation(), comp_regions(), compare_formal_parameters(), compile_body(), compile_mpi(), compile_omp(), complexity_sigma(), compute_directive_regions(), compute_region(), ComputeAddresses(), constraints_to_loop_bound(), continuation_conditions(), convex_regions_forward_translation(), copy_write_statement_with_cumulated_regions(), create_HRE_module(), create_module_with_statement(), create_new_ent_list(), create_new_entity(), create_new_module_entity(), create_pointer_to_array_stub_points_to(), CreateEntityFromLocalNameAndPrefix(), CreateMemberScope(), current_module_declarations(), declaration_to_post_pv(), DeclareIntrinsic(), DeclarePointer(), DeclareVariable(), delay_communications_init(), delay_communications_interprocedurally(), dimensions_to_dma(), do_array_expansion(), do_atomize_call(), do_check_isolate_statement_preconditions_on_call(), do_delay_communications_interprocedurally(), do_group_constants_terapix(), do_kernelize(), do_linearize_array(), do_linearize_array_reference(), do_linearize_patch_expressions(), do_linearize_remove_dereferencment(), do_linearize_type(), do_loop_expansion(), do_loop_expansion_init(), do_loop_nest_unswitching(), do_loop_nest_unswitching_purge(), do_loop_unroll_with_epilogue(), do_loop_unroll_with_prologue(), do_reduction_detection(), do_scalar_renaming_in_vertex(), do_simdizer_auto_tile_generate_all_tests(), do_solve_hardware_constraints(), do_split_structure(), do_split_structures(), do_symbolic_tiling(), do_terapix_argument_handler(), dowhile_to_while_walker(), dprint(), dsc_code_parallelization(), dump_common_layout(), effects_to_dma(), eliminate_original_variables(), emit_message_and_stop(), enclose_in_a_parallel_loop(), end_omp_construct(), EndOfProcedure(), entities_maymust_conflict_p(), entity_and_common_name(), entity_clean_declarations(), entity_flow_or_context_sentitive_heap_location(), entity_from_user_name(), entity_more_or_less_minimal_name(), entity_unambiguous_user_name(), external_value_name(), fill_HRE_module(), filtered_declaration_list(), find_or_create_newInd(), FindEntityFromLocalNameAndPrefixAndScope(), FindOrCreateCurrentEntity(), fix_loop_index_sign(), fix_storage(), flag_loop(), flatten_code(), flow_sensitive_malloc_to_points_to_sinks(), formal_regions_backward_translation(), fortran_user_call_to_transformer(), freia_compute_current_output_images(), freia_data2d_field(), full_loop_unroll(), fusion_buffer(), gcd_and_constant_dependence_test(), Generate_C_ReturnStatement(), generate_compact(), generate_copy_loop_nest(), generate_parallel_body(), generate_read_of_ref_for_all(), generate_read_of_ref_for_computer(), generate_scalar_variables(), generate_scalar_variables_from_list(), generate_starpu_pragma(), generate_update_distributed_value_from_host(), generic_module_initial_pointer_values(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_print_code_pv(), generic_print_xml_application(), generic_reference_to_transformer(), generic_transformer_intra_to_inter(), get_any_comp_regions_text(), get_continuation_condition_text(), get_current_step_directive(), get_expression_addr(), get_module_name_directive_suffix(), get_next_task_name(), get_semantic_text(), gfc2pips_code2instruction__TOP(), gfc2pips_computeAdressesOfArea(), gfc2pips_expr2entity(), gfc2pips_expr2expression(), gfc2pips_namespace(), gfc2pips_parameters(), gfc2pips_shiftAdressesOfArea(), gfc2pips_vars_(), gpu_ify(), gpu_ify_statement(), gpu_qualify_pointers(), gpu_xml_dump(), handle_fake_directive(), handle_hpf_directives(), handle_io_directive(), handle_pure_directive(), hbdsc_parallelization(), heap_intrinsic_to_post_pv(), init_c_areas(), init_expression_is_pointer(), init_host_and_node_entities(), init_points_to_analysis(), InitAreas(), initialization_list_to_statements(), initiliaze_marked_list(), inline_expression_call(), interprocedural_abc_arrays(), intrinsic_call_to_points_to(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), linearize_array_generic(), live_in_paths_of_statement(), load_module_intraprocedural_effects(), loop_basic_workchunk_to_workchunk(), loop_expansion(), loop_expansion_init(), loop_flt(), loop_normalize_of_loop(), loop_strip_mine(), loop_to_complexity(), make_any_print_statement(), make_array_bounds(), make_array_communication_module(), make_bottom_up_abc_tests(), make_bound_expression(), make_common_entity(), make_constraint_expression(), make_dma_transfert(), make_filtered_dg_or_dvdg(), make_loadsave_statement(), make_new_entity(), make_new_loop_statement(), make_new_simd_vector_with_prefix(), make_nlc_entity(), make_nsp_entity(), make_nub_entity(), make_place_holder_variable(), make_reduction_vector_entity(), make_scalar_communication_module(), make_start_ru_module(), make_temporary_scalar_entity(), make_wait_ru_module(), MakeAssignedOrComputedGotoInst(), MakeCommon(), MakeDataStatement(), MakeDerivedEntity(), MakeDoInst(), MakeEntry(), MakeExternalFunction(), MakeFunctionExpression(), MakeStorageRam(), maxima_simplify(), module_initial_parameter_pv(), module_name_to_preconditions(), module_name_to_runtime_entity(), module_name_to_total_preconditions(), mpi_conversion(), my_build_new_ref(), new_local_image_variable(), new_synonym(), normalize_microcode(), normalize_microcode_anotate(), old_array_bound_check_instrumentation(), outline(), outliner(), outliner_compilation_unit(), outliner_extract_loop_bound(), outliner_file(), outliner_independent(), outliner_independent_recursively(), outliner_parameters(), outliner_scan(), ParserError(), partial_eval(), phi_free_contraints_to_expressions(), points_to_function_projection(), points_to_set_block_projection(), pragma_outliner(), precondition_intra_to_inter(), prettyprint_dependence_graph(), print_C_common_layout(), print_code_or_source_comp(), print_code_points_to(), print_common_layout(), print_or_dump_points_to(), print_parallelizedCMF_code(), print_parallelizedCRAFT_code(), print_points_to_cells(), print_statement_of_module(), process_static_initializations(), process_true_call_stat(), ProcessEntries(), promote_local_entities(), promote_statement(), put_generated_resources_for_module(), real_regions_forward_translation(), redeclaration_enter_statement(), referencenodeclfilter(), references_may_conflict_p(), region_to_address(), region_to_minimal_dimensions(), regions_to_loops(), reindexing(), remove_simple_scalar_pointers(), remove_unread_variables(), RemoveEntityFromCompilationUnit(), RemoveFromExterns(), rename_statement_declarations(), ResetCurrentCompilationUnitEntity(), ResetCurrentModule(), retype_formal_parameters(), root_statement_remapping_inits(), SafeFindOrCreateEntity(), SafeMakeConstant(), save_all_entities(), SaveEntity(), scalar_renaming(), sequence_dependence_graph(), sequence_rewrite(), sesamify(), set_the_i(), simd_atomize_this_expression(), simd_memory_packing(), simd_replace_parameters(), simplify_complex(), simplify_dg(), simplify_subscript(), single_assign(), solve_hardware_constraints(), spire_distributed_unstructured_to_structured(), split_structures(), st_call(), st_entity_local_name(), statement_clean_declarations_helper(), statement_filter(), statement_flt(), statement_remove_useless_label(), statement_to_points_to(), step_compile_analysed_module(), step_directive_parser(), step_directive_print(), step_directives_init(), step_directives_save(), step_local_regionArray(), step_local_RT_Integer(), step_parameter(), step_summarize_and_map_step_regions(), step_translate_and_map(), step_update_comm(), store_new_module(), struct_reference_assignment_or_equality_to_transformer(), substitute_stubs_in_transformer(), summary_precondition(), summary_reductions(), summary_total_postcondition(), symbolic_tiling(), task_mapping(), terapix_loop_handler(), terapix_loop_optimizer(), text_code_points_to(), text_code_reductions(), Tiling_buffer_allocation(), translate_arguments(), translate_unary_into_binary_ref(), update_called_modules(), update_precondition_with_call_site_preconditions(), update_referenced_entities(), update_unstructured_declarations(), UpdateEntity(), UpdateFunctionEntity(), user_call_to_points_to_interprocedural_binding_set(), variable_entities_may_conflict_p(), variable_to_dimensions(), words_goto_label(), wrap_argument(), xml_entity_local_name(), and xml_ParameterUseToArrayBound().

◆ get_current_module_name()

const char* get_current_module_name ( void  )

Get the name of the current module.

return entity_user_name(current_module_entity);

Definition at line 121 of file static.c.

122 {
124  return string_undefined;
125  else
127  /* return entity_user_name(current_module_entity); */
128 }
#define string_undefined
Definition: newgen_types.h:40
const char * module_local_name(entity e)
Returns the module local user name.
Definition: entity.c:582
#define entity_undefined_p(x)
Definition: ri.h:2762

References current_module_entity, entity_undefined_p, module_local_name(), and string_undefined.

Referenced by AddVariableToCommon(), callnodeclfilter(), cast_STEP_ARG(), check_tiling_legality(), CheckLeftHandSide(), compile_body(), compile_mpi(), create_module_with_statement(), create_pointer_to_array_stub_points_to(), CreateEntityFromLocalNameAndPrefix(), CreateMemberScope(), davinci_print_control_nodes(), davinci_print_non_deterministic_unstructured(), delay_communications_interprocedurally(), do_kernelize(), do_split_structure(), effect_on_non_local_variable_p(), entity_flow_or_context_sentitive_heap_location(), entity_from_user_name(), FindEntityFromLocalNameAndPrefixAndScope(), FindOrCreateCurrentEntity(), fortran_user_call_to_transformer(), GetFullyDefinedReturnCodeVariable(), GetReturnCodeVariable(), gfc2pips_parameters(), icm_codegen(), init_c_areas(), inline_expression_call(), isolate_statement(), label_string_defined_in_current_module_p(), label_string_defined_in_statement_p(), loop_expansion(), MakeCLabel(), MakeReturn(), module_initial_parameter_pv(), normalize_microcode(), normalize_microcode_anotate(), outline(), outliner(), outliner_file(), outliner_scan(), reduction_atomization(), referencenodeclfilter(), region_entity_variable_to_new_declare_entity(), ResetCurrentCompilationUnitEntity(), ResetCurrentModule(), semantics_user_warning_alist(), sesam_buffer_to_server_entity(), set_entity_initial(), simd_memory_packing(), solve_hardware_constraints(), sort_parameters(), split_initializations_in_statement(), statement_insertion_fix_access(), step_parameter(), symbolic_tiling(), task_time_polynome(), terapix_loop_handler(), terapix_optimize_accumulator(), update_referenced_entities(), UpdateEntity(), UpdateFunctionEntity(), words_regular_call(), xml_Application(), xml_code(), and xml_tasks().

+ Here is the call graph for this function:

◆ get_current_module_statement()

statement get_current_module_statement ( void  )

Get the current module statement.

It returns also the given statement to ease macro writing

Definition at line 208 of file static.c.

209 {
210  pips_assert("The current module statement is defined",
213 }
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
Definition: misc-local.h:172
#define statement_undefined
Definition: ri.h:2419
static statement current_module_statement
used to retrieve the intraprocedural effects of the current module
Definition: static.c:153

References current_module_statement, pips_assert, and statement_undefined.

Referenced by add_alias_pairs_for_this_caller(), AddEntityToCompilationUnit(), AddEntityToCurrentModule(), AddEntityToCurrentModuleWithoutDeclaration(), any_complexities(), array_expansion(), BuildStatementForEntry(), chains(), clean_declarations(), comp_regions(), compile_module(), computation_intensity(), compute_summary_reductions(), continuation_conditions(), copy_value_of_write(), copy_value_of_write_with_cumulated_regions(), cumulated_reductions(), delay_communications_interprocedurally(), do_array_expansion(), do_array_to_pointer(), do_it(), do_kernelize(), do_loop_expansion(), do_loop_expansion_init(), do_loop_nest_unswitching_purge(), do_loop_unroll_with_epilogue(), do_loop_unroll_with_prologue(), do_reduction_detection(), do_simdizer_auto_tile_generate_all_tests(), do_simplify_dg(), do_solve_hardware_constraints_on_volume(), do_split_structure_parameter(), do_split_structure_return_hook(), do_terapix_argument_handler(), dowhile_to_while(), eliminate_original_variables(), entity_used_in_calls(), entity_used_in_loop_bound_p(), expression_substitution(), filter_proper_effects(), first_precondition_of_module(), flag_loops(), flatten_code(), forward_substitute(), freia_allocate_new_images_if_needed(), freia_compute_current_output_images(), full_loop_unroll(), gen_multi_recurse_explorer(), generate_starpu_pragma(), generate_two_addresses_code(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_points_to_analysis(), generic_print_code_pv(), get_any_comp_regions_text(), get_continuation_condition_text(), get_loop_execution_parallel(), get_semantic_text(), gpu_ify(), gpu_memory(), gpu_qualify_pointers(), group_constants(), hpf_compiler(), ikernel_load_store(), instruction_selection(), instruction_to_wp65_code(), invariant_code_motion(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), kernelize(), label_defined_in_current_module_p(), label_string_defined_in_current_module_p(), linearize_array_generic(), live_in_summary_paths_engine(), live_out_paths_from_caller_to_callee(), live_out_region_engine(), live_paths_engine(), load_module_intraprocedural_effects(), loop_auto_unroll(), loop_expansion(), loop_expansion_init(), loop_nest_unswitching(), loop_pragma(), make_loadsave_statement(), make_new_loop_statement(), make_reduction_vector_entity(), memory_location_for_array_p(), module_loops(), module_name_to_preconditions(), module_name_to_total_preconditions(), module_to_value_mappings(), mpi_conversion(), new_atomizer(), normalize_microcode(), normalize_microcode_anotate(), old__gpu_ify(), optimize_expressions(), outline(), outliner(), outliner_independent(), parallel_tiling(), partial_eval(), phrase_remove_dependences(), pocc_prettyprinter(), pragma_outliner(), print_any_reductions(), print_code_or_source_comp(), print_code_points_to(), print_dependence_or_chains_graph(), print_dot_dependence_or_chains_graph(), print_filtered_dg_or_dvdg(), print_loopnest_dependence_cone(), process_reduced_loops(), ProcessEntries(), ProcessEntry(), promote_local_entities(), propagate_synonym(), proper_reductions(), reduction_atomization(), reduction_propagation(), redundant_load_store_elimination(), reindexing(), RemoveEntityFromCompilationUnit(), rename_operator(), replace_field_by_reference(), rice_dependence_graph(), rice_update_dependence_graph(), rstream_interface(), sac_make_new_variable(), scalar_renaming(), scalopify(), scalopragma(), sesamify(), set_loop_execution_parallel(), set_resources_for_module(), simd_memory_packing(), simd_remove_reductions(), simdizer_auto_tile(), simdizer_init(), simplify_complex(), simplify_constant_address_expressions(), simplify_remapping_graph(), simplify_subscripts(), solve_hardware_constraints(), split_initializations(), split_structures(), split_update_operator(), statement_insertion(), statement_to_points_to(), step_summarize_and_map_step_regions(), step_update_SUMMARY_SENDRECV_regions(), summary_complexity(), symbolic_tiling(), task_mapping(), task_time_polynome(), taskify(), terapix_loop_handler(), terapix_pointer_initialized_from_a_mask_p(), terapix_remove_divide(), terapix_warmup(), update_precondition_with_call_site_preconditions(), values_for_current_module_intraprocedural_simple_effects(), variable_replication(), wrap_kernel_argument(), xml_Application(), xml_Boxes(), xml_GlobalVariables(), and xml_LocalVariables().

◆ pop_current_module_statement()

void pop_current_module_statement ( void  )

Pop the current module statement stack and use it as the current module statement.

Definition at line 194 of file static.c.

195 {
196  pips_assert("The current module statement is undefined",
200 }
static statement stacked_current_module_statement
Definition: static.c:154

References current_module_statement, pips_assert, stacked_current_module_statement, and statement_undefined.

Referenced by fprint_statement(), and xml_Task().

+ Here is the caller graph for this function:

◆ push_current_module_statement()

void push_current_module_statement ( statement  s)

Set the statement of the current module and push the statement of the previous one on a stack.

Definition at line 180 of file static.c.

181 {
182  pips_assert("The stacked_current module statement is undefined",
184  pips_assert("The new module statement is not undefined",
185  s != statement_undefined);
188 }

References current_module_statement, pips_assert, stacked_current_module_statement, and statement_undefined.

Referenced by fprint_statement(), and xml_Task().

+ Here is the caller graph for this function:

◆ reset_current_module_declarations()

void reset_current_module_declarations ( void  )

◆ reset_current_module_entity()

void reset_current_module_entity ( void  )

Reset the current module entity.

It asserts the module entity was previously set.

Definition at line 97 of file static.c.

98 {
99  pips_assert("current entity defined",
103 }
void reset_current_module_declarations()
Definition: static.c:136
#define entity_undefined
Definition: ri.h:2761

References current_module_entity, entity_undefined, entity_undefined_p, pips_assert, and reset_current_module_declarations().

Referenced by actual_symbol_table_dump(), add_alias_pairs_for_this_caller(), add_control_counters(), AddEntityToCompilationUnit(), alias_check(), alias_classes(), alias_lists(), alias_pairs(), alias_propagation(), aliases_text(), any_complexities(), array_bound_check_bottom_up(), array_bound_check_interprocedural(), array_bound_check_top_down(), array_dfg(), array_expansion(), atomizer(), bdsc_code_instrumentation(), call_flt(), call_site_to_module_precondition_text(), chains(), clean_declarations(), clean_labels(), clear_pragma(), comEngine_generate_HRECode(), comp_regions(), computation_intensity(), continuation_conditions(), controlizer(), copy_value_of_write(), copy_value_of_write_with_cumulated_regions(), create_HRE_module(), CreateAbstractStateVariable(), CreateLogicalUnits(), cumulated_reductions(), deatomizer(), delay_communications(), delay_load_communications(), delay_store_communications(), do_it(), do_kernelize(), dowhile_to_while(), dsc_code_parallelization(), eliminate_original_variables(), EndOfProcedure(), entity_clean_declarations(), expression_substitution(), filter_proper_effects(), FixCReturnStatements(), flag_loops(), flatten_code(), flinter(), for_loop_to_do_loop(), for_loop_to_while_loop(), forward_substitute(), freia_compiler(), freia_remove_scalar_ww_deps(), freia_unroll_while(), fsm_generation(), fsm_merge_states(), fsm_split_state(), full_fsm_generation(), full_spaghettify(), full_unroll(), full_unroll_pragma(), generate_starpu_pragma(), generate_two_addresses_code(), generic_module_initial_pointer_values(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_points_to_analysis(), generic_print_code_pv(), generic_print_xml_application(), generic_program_pointer_values(), get_any_comp_regions_text(), get_continuation_condition_text(), get_loop_execution_parallel(), get_semantic_text(), gfc2pips_namespace(), gpu_promote_sequential(), gpu_qualify_pointers(), gpu_xml_dump(), group_constants(), guard_elimination(), hbdsc_parallelization(), hpfc_compile(), hpfc_directives_handler(), html_prettyprint(), if_conversion(), if_conversion_compact(), if_conversion_init(), ikernel_load_store(), impact_check(), init_points_to_analysis(), initial_points_to(), initial_precondition(), inline_calls(), instruction_selection(), interactive_loop_transformation(), invariant_code_motion(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), kernelize(), linearize_array_generic(), live_in_summary_paths_engine(), live_out_paths_from_caller_to_callee(), live_out_region_engine(), live_out_summary_paths_engine(), live_paths_engine(), loop_auto_unroll(), loop_expansion(), loop_expansion_init(), loop_nest_unswitching(), loop_pragma(), loop_statistics(), make_array_communication_module(), make_HRE_empty_module(), make_scalar_communication_module(), make_start_ru_module(), make_wait_ru_module(), module_loops(), module_name_to_preconditions(), module_name_to_total_preconditions(), mpi_conversion(), mpi_task_generation(), new_atomizer(), new_controlizer(), normalize_microcode(), old_array_bound_check_instrumentation(), omp_loop_parallel_threshold_set(), one_thread_parallelize(), openmp_task_generation(), optimize_expressions(), out_regions_from_caller_to_callee(), outline(), outliner_independent(), partial_eval(), phrase_comEngine_distributor(), phrase_distributor(), phrase_distributor_control_code(), phrase_distributor_init(), phrase_remove_dependences(), pocc_prettyprinter(), pragma_outliner(), prgm_mapping(), print_any_reductions(), print_code_or_source(), print_code_or_source_comp(), print_code_points_to(), print_code_smalltalk(), print_crough(), print_dependence_or_chains_graph(), print_dot_dependence_or_chains_graph(), print_filtered_dg_or_dvdg(), print_initial_precondition(), print_interface(), print_loopnest_dependence_cone(), print_loops(), print_module_icfg(), print_parallelized_code_common(), print_parallelizedCMF_code(), print_parallelizedCRAFT_code(), print_program_precondition(), print_statement_of_module(), print_xml_code(), print_xml_code_with_explicit_motif(), process_reduced_loops(), program_points_to(), program_precondition(), proper_reductions(), reduction_atomization(), reduction_detection(), reduction_propagation(), redundant_load_store_elimination(), regions_to_loops(), reindexing(), remove_simple_scalar_pointers(), RemoveEntityFromCompilationUnit(), rename_operator(), ResetCurrentCompilationUnitEntity(), ResetCurrentModule(), restructure_control(), rice_dependence_graph(), rstream_interface(), safescale_distributor(), safescale_distributor_init(), safescale_module_analysis(), scalar_renaming(), scheduling(), sequence_dependence_graph(), sesamify(), set_loop_execution_parallel(), simd_atomizer(), simd_memory_packing(), simd_remove_reductions(), simdizer(), simdizer_auto_tile(), simdizer_auto_unroll(), simdizer_init(), simplify_complex(), simplify_constant_address_expressions(), simplify_subscripts(), single_assign(), solve_hardware_constraints(), spaghettify(), spire_distributed_unstructured_to_structured(), spire_shared_unstructured_to_structured(), split_initializations(), split_structures(), split_update_operator(), statement_insertion(), static_controlize(), step_analyse(), step_compile_analysed_module(), step_parser(), store_new_module(), strip_mine(), summary_precondition(), summary_reductions(), summary_total_postcondition(), symbolic_tiling(), task_mapping(), taskify(), terapix_remove_divide(), terapix_warmup(), tiling_sequence(), type_checker(), unroll(), unspaghettify(), update_precondition_with_call_site_preconditions(), used_before_set(), variable_replication(), wp65(), and wrap_kernel_argument().

+ Here is the call graph for this function:

◆ reset_current_module_statement()

void reset_current_module_statement ( void  )

Reset the current module statement.

It asserts the module statement was previously set.

Definition at line 221 of file static.c.

222 {
223  pips_assert("current module statement defined",
227 }
#define statement_undefined_p(x)
Definition: ri.h:2420

References current_module_statement, pips_assert, reset_current_module_declarations(), statement_undefined, and statement_undefined_p.

Referenced by add_alias_pairs_for_this_caller(), add_control_counters(), AddEntityToCompilationUnit(), alias_classes(), alias_lists(), alias_pairs(), aliases_text(), any_complexities(), array_bound_check_bottom_up(), array_bound_check_top_down(), array_dfg(), array_expansion(), atomizer(), bdsc_code_instrumentation(), call_site_to_module_precondition_text(), chains(), clean_declarations(), clean_labels(), clear_pragma(), comp_regions(), computation_intensity(), continuation_conditions(), controlizer(), copy_value_of_write(), copy_value_of_write_with_cumulated_regions(), cumulated_reductions(), deatomizer(), delay_communications(), delay_load_communications(), delay_store_communications(), do_it(), do_kernelize(), dowhile_to_while(), dsc_code_parallelization(), eliminate_original_variables(), EndOfProcedure(), expression_substitution(), filter_proper_effects(), flag_loops(), flatten_code(), flinter(), for_loop_to_do_loop(), for_loop_to_while_loop(), forward_substitute(), freia_compiler(), freia_remove_scalar_ww_deps(), freia_unroll_while(), fsm_generation(), fsm_merge_states(), fsm_split_state(), full_fsm_generation(), full_spaghettify(), full_unroll(), full_unroll_pragma(), generate_starpu_pragma(), generate_two_addresses_code(), generic_module_initial_pointer_values(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_points_to_analysis(), generic_print_code_pv(), generic_print_xml_application(), get_any_comp_regions_text(), get_continuation_condition_text(), get_loop_execution_parallel(), get_semantic_text(), gpu_promote_sequential(), gpu_qualify_pointers(), gpu_xml_dump(), group_constants(), guard_elimination(), hbdsc_parallelization(), hpfc_directives_handler(), html_prettyprint(), if_conversion(), if_conversion_compact(), if_conversion_init(), ikernel_load_store(), initial_precondition(), inline_calls(), instruction_selection(), instruction_to_wp65_code(), interactive_loop_transformation(), invariant_code_motion(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), kernelize(), linearize_array_generic(), live_in_summary_paths_engine(), live_out_paths_from_caller_to_callee(), live_out_region_engine(), live_out_summary_paths_engine(), live_paths_engine(), loop_auto_unroll(), loop_expansion(), loop_expansion_init(), loop_nest_unswitching(), loop_pragma(), module_loops(), module_name_to_preconditions(), module_name_to_total_preconditions(), mpi_conversion(), mpi_task_generation(), new_atomizer(), new_controlizer(), normalize_microcode(), old_array_bound_check_instrumentation(), omp_loop_parallel_threshold_set(), one_thread_parallelize(), openmp_task_generation(), optimize_expressions(), out_regions_from_caller_to_callee(), outline(), outliner_independent(), partial_eval(), phrase_comEngine_distributor(), phrase_distributor(), phrase_distributor_control_code(), phrase_distributor_init(), phrase_remove_dependences(), pocc_prettyprinter(), pragma_outliner(), print_any_reductions(), print_code_or_source(), print_code_or_source_comp(), print_code_points_to(), print_code_smalltalk(), print_crough(), print_dependence_or_chains_graph(), print_dot_dependence_or_chains_graph(), print_filtered_dg_or_dvdg(), print_initial_precondition(), print_interface(), print_loopnest_dependence_cone(), print_loops(), print_program_precondition(), print_xml_code(), print_xml_code_with_explicit_motif(), process_reduced_loops(), program_points_to(), program_precondition(), proper_reductions(), reduction_atomization(), reduction_detection(), reduction_propagation(), redundant_load_store_elimination(), regions_to_loops(), reindexing(), remove_simple_scalar_pointers(), RemoveEntityFromCompilationUnit(), rename_operator(), reset_resources_for_module(), restructure_control(), rice_dependence_graph(), rstream_interface(), safescale_distributor(), safescale_distributor_init(), safescale_module_analysis(), scalar_renaming(), sequence_dependence_graph(), sesamify(), set_loop_execution_parallel(), simd_atomizer(), simd_memory_packing(), simd_remove_reductions(), simdizer(), simdizer_auto_tile(), simdizer_auto_unroll(), simdizer_init(), simplify_complex(), simplify_constant_address_expressions(), simplify_subscripts(), solve_hardware_constraints(), spaghettify(), spire_distributed_unstructured_to_structured(), spire_shared_unstructured_to_structured(), split_initializations(), split_structures(), split_update_operator(), statement_insertion(), step_analyse(), step_compile_analysed_module(), strip_mine(), summary_complexity(), summary_precondition(), summary_reductions(), summary_total_postcondition(), symbolic_tiling(), task_mapping(), taskify(), terapix_remove_divide(), terapix_warmup(), type_checker(), unroll(), unspaghettify(), update_precondition_with_call_site_preconditions(), used_before_set(), variable_replication(), and wrap_kernel_argument().

+ Here is the call graph for this function:

◆ set_current_module_declarations()

void set_current_module_declarations ( list  l)

Definition at line 131 of file static.c.

132 {
134 }

References current_module_declaration_list.

Referenced by module_declarations().

+ Here is the caller graph for this function:

◆ set_current_module_entity()

entity set_current_module_entity ( entity  e)

Set the current module entity.

static.c

It returns also the given entity to ease macro writing

FI: I should perform some kind of memorization for all static variables including the value maps (especially them)

Definition at line 66 of file static.c.

67 {
68  pips_assert("entity is a module", entity_module_p(e));
69 
70  /* FI: I should perform some kind of memorization for all static variables
71  including the value maps (especially them) */
72 
73  pips_assert("current module is undefined",
75 
78  return e;
79 }
bool entity_module_p(entity e)
Definition: entity.c:683

References current_module_entity, entity_module_p(), entity_undefined_p, pips_assert, and reset_current_module_declarations().

Referenced by actual_symbol_table_dump(), add_alias_pairs_for_this_caller(), add_control_counters(), AddEntityToCompilationUnit(), alias_check(), alias_classes(), alias_lists(), alias_pairs(), alias_propagation(), aliases_text(), any_complexities(), array_bound_check_bottom_up(), array_bound_check_interprocedural(), array_bound_check_top_down(), array_dfg(), array_expansion(), atomizer(), bdsc_code_instrumentation(), call_flt(), call_site_to_module_precondition_text(), chains(), clean_declarations(), clean_labels(), clear_pragma(), comEngine_generate_HRECode(), comp_regions(), computation_intensity(), continuation_conditions(), controlizer(), copy_value_of_write(), copy_value_of_write_with_cumulated_regions(), create_HRE_module(), CreateAbstractStateVariable(), CreateLogicalUnits(), cumulated_reductions(), deatomizer(), delay_communications(), delay_load_communications(), delay_store_communications(), do_it(), do_kernelize(), dowhile_to_while(), dsc_code_parallelization(), eliminate_original_variables(), entity_clean_declarations(), expression_substitution(), filter_proper_effects(), FixCReturnStatements(), flag_loops(), flatten_code(), flinter(), for_loop_to_do_loop(), for_loop_to_while_loop(), forward_substitute(), freia_compiler(), freia_remove_scalar_ww_deps(), freia_unroll_while(), fsm_generation(), fsm_merge_states(), fsm_split_state(), full_fsm_generation(), full_spaghettify(), full_unroll(), full_unroll_pragma(), gen_multi_recurse_explorer(), generate_starpu_pragma(), generate_two_addresses_code(), generic_module_initial_pointer_values(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_points_to_analysis(), generic_print_code_pv(), generic_print_xml_application(), generic_program_pointer_values(), get_any_comp_regions_text(), get_continuation_condition_text(), get_loop_execution_parallel(), get_semantic_text(), gfc2pips_namespace(), gpu_promote_sequential(), gpu_qualify_pointers(), gpu_xml_dump(), group_constants(), guard_elimination(), hbdsc_parallelization(), hpfc_compile(), hpfc_directives_handler(), html_prettyprint(), if_conversion(), if_conversion_compact(), if_conversion_init(), ikernel_load_store(), impact_check(), init_points_to_analysis(), initial_points_to(), initial_precondition(), inline_calls(), instruction_selection(), interactive_loop_transformation(), invariant_code_motion(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), kernelize(), linearize_array_generic(), live_in_summary_paths_engine(), live_out_paths_from_caller_to_callee(), live_out_region_engine(), live_out_summary_paths_engine(), live_paths_engine(), loop_auto_unroll(), loop_expansion(), loop_expansion_init(), loop_nest_unswitching(), loop_pragma(), loop_statistics(), make_array_communication_module(), make_HRE_empty_module(), make_scalar_communication_module(), make_start_ru_module(), make_wait_ru_module(), MakeCurrentCompilationUnitEntity(), MakeCurrentFunction(), MakeCurrentModule(), module_loops(), module_name_to_preconditions(), module_name_to_total_preconditions(), mpi_conversion(), mpi_task_generation(), new_atomizer(), new_controlizer(), normalize_microcode(), old_array_bound_check_instrumentation(), omp_loop_parallel_threshold_set(), one_thread_parallelize(), openmp_task_generation(), optimize_expressions(), out_regions_from_caller_to_callee(), outline(), outliner_independent(), partial_eval(), phrase_comEngine_distributor(), phrase_distributor(), phrase_distributor_control_code(), phrase_distributor_init(), phrase_remove_dependences(), pocc_prettyprinter(), pragma_outliner(), prgm_mapping(), print_any_reductions(), print_code_or_source(), print_code_or_source_comp(), print_code_points_to(), print_code_smalltalk(), print_crough(), print_dependence_or_chains_graph(), print_dot_dependence_or_chains_graph(), print_filtered_dg_or_dvdg(), print_initial_precondition(), print_interface(), print_loopnest_dependence_cone(), print_loops(), print_module_icfg(), print_parallelized_code_common(), print_parallelizedCMF_code(), print_parallelizedCRAFT_code(), print_program_precondition(), print_statement_of_module(), print_xml_code(), print_xml_code_with_explicit_motif(), process_reduced_loops(), program_points_to(), program_precondition(), proper_reductions(), reduction_atomization(), reduction_detection(), reduction_propagation(), redundant_load_store_elimination(), regions_to_loops(), reindexing(), remove_simple_scalar_pointers(), RemoveEntityFromCompilationUnit(), rename_operator(), restructure_control(), rice_dependence_graph(), rstream_interface(), safescale_distributor(), safescale_distributor_init(), safescale_module_analysis(), scalar_renaming(), scheduling(), sequence_dependence_graph(), sesamify(), set_loop_execution_parallel(), simd_atomizer(), simd_memory_packing(), simd_remove_reductions(), simdizer(), simdizer_auto_tile(), simdizer_auto_unroll(), simdizer_init(), simplify_complex(), simplify_constant_address_expressions(), simplify_subscripts(), single_assign(), solve_hardware_constraints(), spaghettify(), spire_distributed_unstructured_to_structured(), spire_shared_unstructured_to_structured(), split_initializations(), split_structures(), split_update_operator(), statement_insertion(), static_controlize(), step_analyse(), step_compile_analysed_module(), step_parser(), store_new_module(), strip_mine(), summary_precondition(), summary_reductions(), summary_total_postcondition(), symbolic_tiling(), task_mapping(), taskify(), terapix_remove_divide(), terapix_warmup(), tiling_sequence(), type_checker(), unroll(), unspaghettify(), update_precondition_with_call_site_preconditions(), used_before_set(), variable_replication(), wp65(), and wrap_kernel_argument().

+ Here is the call graph for this function:

◆ set_current_module_statement()

statement set_current_module_statement ( statement  s)

Set the current module statement.

It returns also the given statement to ease macro writing

Definition at line 165 of file static.c.

166 {
167  pips_assert("The current module statement is undefined",
169  pips_assert("The new module statement is not undefined",
170  s != statement_undefined);
173  return s;
174 }

References current_module_statement, pips_assert, reset_current_module_declarations(), and statement_undefined.

Referenced by add_alias_pairs_for_this_caller(), add_control_counters(), AddEntityToCompilationUnit(), alias_classes(), alias_lists(), alias_pairs(), aliases_text(), any_complexities(), array_bound_check_bottom_up(), array_bound_check_top_down(), array_expansion(), atomizer(), bdsc_code_instrumentation(), call_site_to_module_precondition_text(), chains(), clean_declarations(), clean_labels(), clear_pragma(), comp_regions(), computation_intensity(), continuation_conditions(), controlizer(), copy_value_of_write(), copy_value_of_write_with_cumulated_regions(), cumulated_reductions(), deatomizer(), delay_communications(), delay_load_communications(), delay_store_communications(), do_it(), do_kernelize(), dowhile_to_while(), dsc_code_parallelization(), eliminate_original_variables(), EndOfProcedure(), expression_substitution(), filter_proper_effects(), flag_loops(), flatten_code(), flinter(), for_loop_to_do_loop(), for_loop_to_while_loop(), forward_substitute(), freia_compiler(), freia_remove_scalar_ww_deps(), freia_unroll_while(), fsm_generation(), fsm_merge_states(), fsm_split_state(), full_fsm_generation(), full_spaghettify(), full_unroll(), full_unroll_pragma(), gen_multi_recurse_explorer(), generate_starpu_pragma(), generate_two_addresses_code(), generic_module_initial_pointer_values(), generic_module_name_to_transformers(), generic_module_pointer_values(), generic_points_to_analysis(), generic_print_code_pv(), generic_print_xml_application(), get_any_comp_regions_text(), get_continuation_condition_text(), get_loop_execution_parallel(), get_semantic_text(), gpu_promote_sequential(), gpu_qualify_pointers(), gpu_xml_dump(), group_constants(), guard_elimination(), hbdsc_parallelization(), hpfc_directives_handler(), html_prettyprint(), if_conversion(), if_conversion_compact(), if_conversion_init(), ikernel_load_store(), initial_precondition(), inline_calls(), instruction_selection(), instruction_to_wp65_code(), interactive_loop_transformation(), invariant_code_motion(), isolate_statement(), kernel_data_mapping(), kernel_load_store_engine(), kernelize(), linearize_array_generic(), live_in_summary_paths_engine(), live_out_paths_from_caller_to_callee(), live_out_region_engine(), live_out_summary_paths_engine(), live_paths_engine(), loop_auto_unroll(), loop_expansion(), loop_expansion_init(), loop_nest_unswitching(), loop_pragma(), module_loops(), module_name_to_preconditions(), module_name_to_total_preconditions(), mpi_conversion(), mpi_task_generation(), new_atomizer(), new_controlizer(), normalize_microcode(), old_array_bound_check_instrumentation(), omp_loop_parallel_threshold_set(), one_thread_parallelize(), openmp_task_generation(), optimize_expressions(), out_regions_from_caller_to_callee(), outline(), outliner_independent(), partial_eval(), phrase_comEngine_distributor(), phrase_distributor(), phrase_distributor_control_code(), phrase_distributor_init(), phrase_remove_dependences(), pocc_prettyprinter(), pragma_outliner(), print_any_reductions(), print_code_or_source(), print_code_or_source_comp(), print_code_points_to(), print_code_smalltalk(), print_crough(), print_dependence_or_chains_graph(), print_dot_dependence_or_chains_graph(), print_filtered_dg_or_dvdg(), print_initial_precondition(), print_interface(), print_loopnest_dependence_cone(), print_loops(), print_program_precondition(), print_xml_code(), print_xml_code_with_explicit_motif(), process_reduced_loops(), program_points_to(), program_precondition(), proper_reductions(), reduction_atomization(), reduction_detection(), reduction_propagation(), redundant_load_store_elimination(), regions_to_loops(), reindexing(), remove_simple_scalar_pointers(), RemoveEntityFromCompilationUnit(), rename_operator(), restructure_control(), rice_dependence_graph(), rstream_interface(), safescale_distributor(), safescale_distributor_init(), safescale_module_analysis(), scalar_renaming(), sequence_dependence_graph(), sesamify(), set_loop_execution_parallel(), set_resources_for_module(), simd_atomizer(), simd_memory_packing(), simd_remove_reductions(), simdizer(), simdizer_auto_tile(), simdizer_auto_unroll(), simdizer_init(), simplify_complex(), simplify_constant_address_expressions(), simplify_subscripts(), solve_hardware_constraints(), spaghettify(), spire_distributed_unstructured_to_structured(), spire_shared_unstructured_to_structured(), split_initializations(), split_structures(), split_update_operator(), statement_insertion(), step_analyse(), step_compile_analysed_module(), strip_mine(), summary_complexity(), summary_precondition(), summary_reductions(), summary_total_postcondition(), symbolic_tiling(), task_mapping(), taskify(), terapix_remove_divide(), terapix_warmup(), type_checker(), unroll(), unspaghettify(), update_precondition_with_call_site_preconditions(), used_before_set(), variable_replication(), and wrap_kernel_argument().

+ Here is the call graph for this function: