2 #include "pips_config.h"
27 #include "resources.h"
54 #include "constants.h"
59 #include "resources.h"
68 #define PRAGMA_TEMP_BEGIN "nonscop"
69 #define PRAGMA_TEMP_END "endnonscop"
70 #define PREFIX_TEMP "nonscopf"
72 #define statement_has_this_pragma_string_p(stmt,str) \
73 (get_extension_from_statement_with_pragma(stmt,str)!=NULL)
102 *pragma_added_p =
false;
111 *pragma_added_p =
false;
118 *pragma_added_p =
false;
125 *pragma_added_p =
true;
154 last_added_pragma =
stmt;
170 last_added_pragma =
stmt;
172 else if (!in_loop_p && !pragma_added_p && insideScop) {
183 if (!insideScop && !pragma_added_p) {
185 last_added_pragma =
stmt;
187 else if (insideScop) {
201 last_added_pragma =
stmt;
218 last_added_pragma =
stmt;
224 if (pragma_added_p) {
237 last_added_pragma = s;
const char * module_name(const char *s)
Return the module part of an entity name.
#define gen_recurse(start, domain_number, flt, rwt)
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
statement set_current_module_statement(statement)
Set the current module statement.
statement get_current_module_statement(void)
Get the current module statement.
entity set_current_module_entity(entity)
static.c
void gen_null(__attribute__((unused)) void *unused)
Ignore the argument.
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
void gen_insert_after(const void *no, const void *o, list l)
list gen_insert_before(const void *no, const void *o, list l)
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define DB_PUT_MEMORY_RESOURCE(res_name, own_name, res_val)
conform to old interface.
bool return_statement_p(statement)
Test if a statement is a C or Fortran "return".
bool statement_with_pragma_p(statement)
Test if a statement has some pragma.
void insert_statement(statement, statement, bool)
This is the normal entry point.
statement make_continue_statement(entity)
bool declaration_statement_p(statement)
Had to be optimized according to Beatrice Creusillet.
#define GET_STATEMENT_MAPPING(map, stat)
hash_table statement_mapping
these macros are obsolete! newgen functions (->) should be used instead
struct _newgen_struct_static_control_ * static_control
#define static_control_yes(x)
bool is_SCOP_rich(sequence, statement, statement, bool *)
Checks if there is at least one loop in the sequence.
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
entity entity_empty_label(void)
void add_pragma_str_to_statement(statement st, const char *s, bool copy_flag)
Add a string as a pragma to a statement.
#define instruction_loop(x)
#define statement_domain
newgen_sizeofexpression_domain_defined
@ is_instruction_whileloop
@ is_instruction_sequence
#define instruction_tag(x)
#define sequence_statements(x)
#define instruction_sequence(x)
#define instruction_whileloop(x)
#define whileloop_body(x)
#define statement_instruction(x)
#define instruction_test(x)
#define statement_undefined
static void add_to_stmt(statement stmt, bool *pragma_added_p)
static bool searchPragma(statement s)
bool rstream_interface(char *module_name)
Phase in charge of putting pragmas around the non-SCoP of the code This phase only works if there has...
static bool statement_with_pragma_p_inv(statement s)
static statement_mapping Gsc_map
static void insert_endscop_after_stmt(statement stmt, bool *pragma_added_p, sequence seqInst, statement last_added_pragma)
static void insert_endscop_in_sequence(statement stmt, bool *pragma_added_p, bool insertBefore)
static void insert_endscop_before_stmt(statement stmt, bool *pragma_added_p, sequence seqInst, list stmts, statement last_added_pragma)
void * arc_label
tatic_control
#define PRAGMA_TEMP_BEGIN
void pragma_nonscop(statement s, bool pragma_added_p, bool in_loop_p)
Warning! Do not modify this file that is automatically generated!
The structure used to build lists in NewGen.