It defines macros for simple transformation phases that use (at least) the CODE of a module and write back a (possibly) new version of the CODE.
More...
It defines macros for simple transformation phases that use (at least) the CODE of a module and write back a (possibly) new version of the CODE.
◆ PIPS_PHASE_POSTLUDE [1/2]
#define PIPS_PHASE_POSTLUDE |
( |
|
new_module_statement | ) |
|
Value:
pips_debug(1, "done\n"); \
\
debug_off(); \
\
\
module_reorder(new_module_statement); \
\
\
DB_PUT_MEMORY_RESOURCE(DBR_CODE, \
new_module_statement); \
\
\
reset_current_module_statement(); \
reset_current_module_entity(); \
\
\
return true
bool statement_consistent_p(statement p)
const char * get_current_module_name(void)
Get the name of the current module.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
End a transformation phase by putting back into PIPS the (possibly) modified statement.
- Parameters
-
new_module_statement | point to the (potentially) new module statement of the module |
Definition at line 2265 of file ri-util-local.h.
◆ PIPS_PHASE_POSTLUDE [2/2]
#define PIPS_PHASE_POSTLUDE |
( |
|
new_module_statement | ) |
|
Value:
pips_debug(1, "done\n"); \
\
debug_off(); \
\
\
module_reorder(new_module_statement); \
\
\
DB_PUT_MEMORY_RESOURCE(DBR_CODE, \
new_module_statement); \
\
\
reset_current_module_statement(); \
reset_current_module_entity(); \
\
\
return true
End a transformation phase by putting back into PIPS the (possibly) modified statement.
- Parameters
-
new_module_statement | point to the (potentially) new module statement of the module |
Definition at line 2273 of file ri-util.h.
◆ PIPS_PHASE_PRELUDE [1/2]
#define PIPS_PHASE_PRELUDE |
( |
|
module_name, |
|
|
|
debug_env_var |
|
) |
| |
Value:
\
true)); \
\
\
\
\
debug_on(debug_env_var); \
pips_debug(1, "Entering...\n"); \
pips_assert("Statement should be OK at entry...", \
const char * module_name(const char *s)
Return the module part of an entity name.
statement get_current_module_statement(void)
Get the current module statement.
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
entity module_name_to_entity(const char *mn)
This is an alias for local_name_to_top_level_entity.
Start a phase that use a module CODE.
- Parameters
-
module_name | is a string with the name of the module the phase is applied to |
debug_env_var | is a string with the name of the environment variable used to get the debug level to use inside the phase |
- Returns
- the statement of the module
Definition at line 2242 of file ri-util-local.h.
◆ PIPS_PHASE_PRELUDE [2/2]
#define PIPS_PHASE_PRELUDE |
( |
|
module_name, |
|
|
|
debug_env_var |
|
) |
| |
Value:
\
true)); \
\
\
\
\
debug_on(debug_env_var); \
pips_debug(1, "Entering...\n"); \
pips_assert("Statement should be OK at entry...", \
entity module_name_to_entity(const char *)
This is an alias for local_name_to_top_level_entity.
Start a phase that use a module CODE.
- Parameters
-
module_name | is a string with the name of the module the phase is applied to |
debug_env_var | is a string with the name of the environment variable used to get the debug level to use inside the phase |
- Returns
- the statement of the module
Definition at line 2250 of file ri-util.h.