PIPS
continuation.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool must_continuation_map_undefined_p (void)
 Warning! Do not modify this file that is automatically generated! More...
 
void set_must_continuation_map (statement_mapping)
 
statement_mapping get_must_continuation_map (void)
 
void reset_must_continuation_map (void)
 
void free_must_continuation_map (void)
 
void make_must_continuation_map (void)
 
transformer load_statement_must_continuation (statement)
 
void delete_statement_must_continuation (statement)
 
bool statement_must_continuation_undefined_p (statement)
 
void store_statement_must_continuation (statement, transformer)
 
void update_statement_must_continuation (statement, transformer)
 
bool may_continuation_map_undefined_p (void)
 
void set_may_continuation_map (statement_mapping)
 
statement_mapping get_may_continuation_map (void)
 
void reset_may_continuation_map (void)
 
void free_may_continuation_map (void)
 
void make_may_continuation_map (void)
 
transformer load_statement_may_continuation (statement)
 
void delete_statement_may_continuation (statement)
 
bool statement_may_continuation_undefined_p (statement)
 
void store_statement_may_continuation (statement, transformer)
 
void update_statement_may_continuation (statement, transformer)
 
bool continuation_conditions (const string)
 INTERFACE
More...
 
bool print_code_continuation_conditions (const string)
 prettyprint.c More...
 
bool print_source_continuation_conditions (const string)
 

Function Documentation

◆ continuation_conditions()

bool continuation_conditions ( const  string)

INTERFACE

Get the code of the module.

predicates defining summary regions from callees have to be translated into variables local to module

cumulated effects

Get the transformers of the module.

initialisation of local maps

Parameters
stringodule_name

Definition at line 91 of file continuation.c.

92 {
93 
94  /* Get the code of the module. */
96  db_get_memory_resource(DBR_CODE, module_name, true) );
97  /* predicates defining summary regions from callees have to be
98  translated into variables local to module */
100  /* cumulated effects */
102  db_get_memory_resource(DBR_CUMULATED_EFFECTS, module_name, true));
104  db_get_memory_resource(DBR_PROPER_EFFECTS, module_name, true));
106 
107  /* Get the transformers of the module. */
109  db_get_memory_resource(DBR_TRANSFORMERS, module_name, true) );
110 
111  /* initialisation of local maps */
114 
115  debug_on("CONTINUATION_DEBUG_LEVEL");
118  debug_off();
119 
120  DB_PUT_MEMORY_RESOURCE(DBR_MUST_CONTINUATION,
122  (char*) get_must_continuation_map() );
123  DB_PUT_MEMORY_RESOURCE(DBR_MAY_CONTINUATION,
125  (char*) get_may_continuation_map() );
126  DB_PUT_MEMORY_RESOURCE(DBR_MUST_SUMMARY_CONTINUATION,
128  (char*) must_sum_cont_t);
129  DB_PUT_MEMORY_RESOURCE(DBR_MAY_SUMMARY_CONTINUATION,
131  (char*) may_sum_cont_t);
140 
141  return(true);
142 }
static transformer may_sum_cont_t
Definition: continuation.c:68
static void module_continuation_conditions(statement mod_stat)
statement stack
Definition: continuation.c:156
static transformer must_sum_cont_t
package continuation : Be'atrice Creusillet, 1996
Definition: continuation.c:67
static void module_summary_continuation_conditions(statement mod_stat)
INTERPROCEDURAL SUMMARIZATION.
Definition: continuation.c:294
statement_mapping get_must_continuation_map(void)
void set_may_continuation_map(statement_mapping)
void set_must_continuation_map(statement_mapping)
void reset_may_continuation_map(void)
void reset_must_continuation_map(void)
statement_mapping get_may_continuation_map(void)
void reset_proper_rw_effects(void)
void set_proper_rw_effects(statement_effects)
void set_cumulated_rw_effects(statement_effects)
void reset_cumulated_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
statement get_current_module_statement(void)
Get the current module statement.
Definition: static.c:208
entity set_current_module_entity(entity)
static.c
Definition: static.c:66
entity get_current_module_entity(void)
Get the entity of the current module.
Definition: static.c:85
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
#define DB_PUT_MEMORY_RESOURCE(res_name, own_name, res_val)
conform to old interface.
Definition: pipsdbm-local.h:66
#define debug_on(env)
Definition: misc-local.h:157
#define debug_off()
Definition: misc-local.h:160
#define MAKE_STATEMENT_MAPPING()
Definition: newgen-local.h:43
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
Definition: entity.c:1450
char * strdup()
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 set_transformer_map(statement_mapping)
void reset_transformer_map(void)
void free_value_mappings(void)
Normal call to free the mappings.
Definition: value.c:1212

References db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, free_value_mappings(), get_current_module_entity(), get_current_module_statement(), get_may_continuation_map(), get_must_continuation_map(), local_name_to_top_level_entity(), MAKE_STATEMENT_MAPPING, may_sum_cont_t, module_continuation_conditions(), module_name(), module_summary_continuation_conditions(), module_to_value_mappings(), must_sum_cont_t, reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_may_continuation_map(), reset_must_continuation_map(), reset_proper_rw_effects(), reset_transformer_map(), set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_may_continuation_map(), set_must_continuation_map(), set_proper_rw_effects(), set_transformer_map(), and strdup().

+ Here is the call graph for this function:

◆ delete_statement_may_continuation()

void delete_statement_may_continuation ( statement  )

◆ delete_statement_must_continuation()

void delete_statement_must_continuation ( statement  )

◆ free_may_continuation_map()

void free_may_continuation_map ( void  )

◆ free_must_continuation_map()

void free_must_continuation_map ( void  )

◆ get_may_continuation_map()

statement_mapping get_may_continuation_map ( void  )

Referenced by continuation_conditions().

+ Here is the caller graph for this function:

◆ get_must_continuation_map()

statement_mapping get_must_continuation_map ( void  )

Referenced by continuation_conditions().

+ Here is the caller graph for this function:

◆ load_statement_may_continuation()

transformer load_statement_may_continuation ( statement  )

Referenced by text_statement_continuation_conditions(), and unstructured_continuation_conditions().

+ Here is the caller graph for this function:

◆ load_statement_must_continuation()

transformer load_statement_must_continuation ( statement  )

Referenced by text_statement_continuation_conditions(), and unstructured_continuation_conditions().

+ Here is the caller graph for this function:

◆ make_may_continuation_map()

void make_may_continuation_map ( void  )

◆ make_must_continuation_map()

void make_must_continuation_map ( void  )

◆ may_continuation_map_undefined_p()

bool may_continuation_map_undefined_p ( void  )

◆ must_continuation_map_undefined_p()

bool must_continuation_map_undefined_p ( void  )

Warning! Do not modify this file that is automatically generated!

Modify src/Libs/continuation/continuation-local.h instead, to add your own modifications. header file built by cproto continuation-local.h cproto-generated files continuation.c

◆ print_code_continuation_conditions()

bool print_code_continuation_conditions ( const  string)

prettyprint.c

Parameters
stringodule_name

Definition at line 331 of file prettyprint.c.

332 {
333  is_user_view_p = false;
335 }
static bool is_user_view_p
Definition: prettyprint.c:70
static bool print_continuation_conditions(const char *module_name)
Definition: prettyprint.c:305

References is_user_view_p, module_name(), and print_continuation_conditions().

+ Here is the call graph for this function:

◆ print_source_continuation_conditions()

bool print_source_continuation_conditions ( const  string)
Parameters
stringodule_name

Definition at line 338 of file prettyprint.c.

339 {
340  is_user_view_p = true;
342 }

References is_user_view_p, module_name(), and print_continuation_conditions().

+ Here is the call graph for this function:

◆ reset_may_continuation_map()

void reset_may_continuation_map ( void  )

Referenced by continuation_conditions(), and get_continuation_condition_text().

+ Here is the caller graph for this function:

◆ reset_must_continuation_map()

void reset_must_continuation_map ( void  )

Referenced by continuation_conditions(), and get_continuation_condition_text().

+ Here is the caller graph for this function:

◆ set_may_continuation_map()

void set_may_continuation_map ( statement_mapping  )

Referenced by continuation_conditions(), and get_continuation_condition_text().

+ Here is the caller graph for this function:

◆ set_must_continuation_map()

void set_must_continuation_map ( statement_mapping  )

Referenced by continuation_conditions(), and get_continuation_condition_text().

+ Here is the caller graph for this function:

◆ statement_may_continuation_undefined_p()

bool statement_may_continuation_undefined_p ( statement  )

◆ statement_must_continuation_undefined_p()

bool statement_must_continuation_undefined_p ( statement  )

◆ store_statement_may_continuation()

◆ store_statement_must_continuation()

◆ update_statement_may_continuation()

void update_statement_may_continuation ( statement  ,
transformer   
)

◆ update_statement_must_continuation()

void update_statement_must_continuation ( statement  ,
transformer   
)