6 #include "pips_config.h"
25 #include "resources.h"
40 *call_to_wrap =
CONS(
CALL,c,*call_to_wrap);
74 if(
ENDP(ls))
return true;
86 for(
unsigned int i = 0; i<size; i++){
98 "SCALOPIFY_DEBUG_LEVEL");
cast make_cast(type a1, expression a2)
expression make_expression(syntax a1, normalized a2)
type make_type_variable(variable _field_)
type copy_type(type p)
TYPE.
basic copy_basic(basic p)
BASIC.
basic make_basic_pointer(type _field_)
variable make_variable(basic a1, list a2, list a3)
syntax make_syntax_cast(cast _field_)
static statement module_statement
callees compute_callees(const statement stat)
Recompute the callees of a module statement.
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.
char * get_string_property(const char *)
#define gen_context_recurse(start, ctxt, domain_number, flt, rwt)
statement get_current_module_statement(void)
Get the current module statement.
void replace_entity_by_expression(void *s, entity ent, expression exp)
replace all reference to entity ent by expression exp in s.
void gen_null2(__attribute__((unused)) void *u1, __attribute__((unused)) void *u2)
idem with 2 args, to please overpeaky compiler checks
#define ENDP(l)
Test if a list is empty.
#define NIL
The empty list (nil in Lisp)
size_t gen_length(const list l)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
#define PIPS_PHASE_POSTLUDE(new_module_statement)
End a transformation phase by putting back into PIPS the (possibly) modified statement.
#define PIPS_PHASE_PRELUDE(module_name, debug_env_var)
Start a phase that use a module CODE.
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.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define SET_FOREACH(type_name, the_item, the_set)
enumerate set elements in their internal order.
bool set_belong_p(const set, const void *)
set set_make(set_type)
Create an empty set of any type but hash_private.
set set_add_element(set, const set, const void *)
void print_expression(expression e)
no file descriptor is passed to make is easier to use in a debugging stage.
#define DEREFERENCING_OPERATOR_NAME
#define call_intrinsic_p(C)
#define ADDRESS_OF_OPERATOR_NAME
bool entity_array_p(entity e)
Is e a variable with an array type?
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_intrinsic(const char *name)
FI: I do not understand this function name (see next one!).
bool expression_call_p(expression e)
expression entity_to_expression(entity e)
if v is a constant, returns a constant call.
call expression_call(expression e)
expression MakeUnaryCall(entity f, expression a)
Creates a call expression to a function with one argument.
entity expression_variable(expression e)
#define normalized_undefined
#define call_domain
newgen_callees_domain_defined
#define EXPRESSION(x)
EXPRESSION.
#define variable_dimensions(x)
#define call_arguments(x)
#define variable_basic(x)
static bool pointer_to_array_p(entity e)
bool scalopify(char *module_name)
Warning! Do not modify this file that is automatically generated!
static bool call_load_store_p(call c)
A simple phase that change wrap references to flow outside kernel for dataflow runtime manager.
static bool find_entities_to_wrap(call c, set *entities_to_wrap)
static type convert_local_to_pointer_array(type local_type)
static bool find_call_to_wrap(call c, list *call_to_wrap)
FI: I do not understand why the type is duplicated at the set level.
The structure used to build lists in NewGen.
#define exp
Avoid some warnings from "gcc -Wshadow".