PIPS
analysis.c
Go to the documentation of this file.
1 /*
2 
3  $Id: analysis.c 23412 2017-08-09 15:07:09Z irigoin $
4 
5  Copyright 1989-2016 MINES ParisTech
6 
7  This file is part of PIPS.
8 
9  PIPS is free software: you can redistribute it and/or modify it
10  under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  any later version.
13 
14  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
15  WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  FITNESS FOR A PARTICULAR PURPOSE.
17 
18  See the GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
22 
23 */
24 #ifdef HAVE_CONFIG_H
25  #include "pips_config.h"
26 #endif
27 #include "safescale.h"
28 
29 
30 /**
31  Analyze a given module
32  */
34 {
36  entity module;
37 
38  /* Initialize the resources */
40  // module = local_name_to_top_level_entity(module_name);
42 
45 
46  /* Get effects of the module */
49 
50  /* Build hash tables between variables and values and between values and names for the module */
52 
53  //debug_on("PHRASE_DISTRIBUTOR_DEBUG_LEVEL");
54 
55  /* Get regions of the module */
59 
60  /* Do the job */
61  //pips_debug(2, "BEGIN of PHRASE_DISTRIBUTOR\n");
62 
63  // convertion_to_kaapi(....); ou identification des blocs délimités par des pragmas selon méthode retenue.
64 
65  //pips_debug(2, "END of PHRASE_DISTRIBUTOR\n");
66 
68 
69  //pips_assert("Statement structure is consistent after PHRASE_DISTRIBUTOR", gen_consistent_p((gen_chunk*) statement));
70  //pips_assert("Statement is consistent after PHRASE_DISTRIBUTOR", statement_consistent_p(statement));
71 
72  /* Update/release resources */
75  //dynamic_area = entity_undefined;
82 
83  //debug_off();
84 
85  return true;
86 }
static statement module_statement
Definition: alias_check.c:125
bool safescale_module_analysis(const char *module_name)
Analyze a given module.
Definition: analysis.c:33
struct _newgen_struct_statement_ * statement
Definition: cloning.h:21
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 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.
Definition: entity_names.c:296
void reset_current_module_entity(void)
Reset the current module entity.
Definition: static.c:97
void reset_current_module_statement(void)
Reset the current module statement.
Definition: static.c:221
statement set_current_module_statement(statement)
Set the current module statement.
Definition: static.c:165
entity set_current_module_entity(entity)
static.c
Definition: static.c:66
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
Definition: database.c:755
static char * module
Definition: pips.c:74
void print_statement(statement)
Print a statement on stderr.
Definition: statement.c:98
entity module_name_to_entity(const char *mn)
This is an alias for local_name_to_top_level_entity.
Definition: entity.c:1479
void module_to_value_mappings(entity m)
void module_to_value_mappings(entity m): build hash tables between variables and values (old,...
Definition: mappings.c:624
void free_value_mappings(void)
Normal call to free the mappings.
Definition: value.c:1212