25 #include "pips_config.h"
133 pips_assert(
"The heap area is defined for module f.\n",
143 pips_assert(
"The dynamic area is defined for module f.\n",
192 pips_assert(
"Offsets are not computed this way in stack areas.\n",
216 (void)
fprintf(fd,
"\nLayout for common /%s/ of size %td:\n",
221 (void)
fprintf(fd,
"\t* empty area *\n\n");
271 "\tVariable %s,\toffset = %td,\tsize = %d\n",
287 if(!
ENDP(equiv_members)){
290 if(!
ENDP(equiv_members)) {
293 (void)
fprintf(fd,
"\tVariables aliased to this common:\n");
300 "\tVariable %s,\toffset = %td,\tsize = %d\n",
cons * arguments_union(cons *a1, cons *a2)
cons * arguments_union(cons * a1, cons * a2): returns a = union(a1, a2) where a1 and a2 are lists of ...
cons * arguments_difference(cons *a1, cons *a2)
set difference: a1 - a2 ; similar to set intersection
static int array_size(dim)
ARRAY_SIZE returns the number of elements in the array whose dimension list is DIM.
entity get_current_module_entity(void)
Get the entity of the current module.
#define ENDP(l)
Test if a list is empty.
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
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_user_warning
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
#define FORMAL_AREA_LOCAL_NAME
#define DYNAMIC_AREA_LOCAL_NAME
#define ALLOCATABLE_AREA_LOCAL_NAME
#define STACK_AREA_LOCAL_NAME
#define POINTER_DUMMY_TARGETS_AREA_LOCAL_NAME
#define STATIC_AREA_LOCAL_NAME
#define HEAP_AREA_LOCAL_NAME
#define same_string_p(s1, s2)
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
@ ENTITY_POINTER_DUMMY_TARGETS_AREA
bool dynamic_area_p(entity aire)
void print_common_layout(FILE *fd, entity c, bool debug_p)
entity DynamicArea
Pot-pourri of utilities for entities of kind "area".
bool pointer_dummy_targets_area_p(entity aire)
bool entity_area_p(entity e)
bool stack_area_p(entity aire)
bool heap_area_p(entity aire)
entity module_to_dynamic_area(entity f)
int current_offset_of_area(entity a, entity v)
bool empty_static_area_p(entity e)
bool formal_area_p(entity aire)
entity module_to_heap_area(entity f)
Returns the heap area "a" associated to module "f".
bool allocatable_area_p(entity aire)
bool static_area_p(entity aire)
bool entity_special_area_p(entity e)
entity FindEntity(const char *package, const char *name)
Retrieve an entity from its package/module name and its local name.
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
void sort_list_of_entities(list l)
sorted in place.
const char * module_local_name(entity e)
Returns the module local user name.
const char * entity_module_name(entity e)
See comments about module_name().
list common_members_of_module(entity common, entity module, bool only_primary)
returns the list of entity to appear in the common declaration.
bool SizeOfArray(entity, int *)
This function computes the total size of a variable in bytes, ie.
#define entity_storage(x)
#define type_undefined_p(x)
#define entity_undefined_p(x)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
The structure used to build lists in NewGen.