25 #include "pips_config.h"
156 bool vectorp =
false;
call make_call(entity a1, list a2)
range copy_range(range p)
RANGE.
expression make_expression(syntax a1, normalized a2)
expression copy_expression(expression p)
EXPRESSION.
reference make_reference(entity a1, list a2)
bool expression_consistent_p(expression p)
void free_expression(expression p)
bool loop_consistent_p(loop p)
syntax make_syntax(enum syntax_utype tag, void *val)
list gen_nreverse(list cp)
reverse a list in place
#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)
#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 CDR(pcons)
Get the list less its first element.
#define MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
#define MAP(_map_CASTER, _map_item, _map_code, _map_list)
Apply/map an instruction block on all the elements of a list (old fashioned)
statement make_assign_statement(expression, expression)
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
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 *)
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
expression expand_expression(e, i, r)
Expression with a non-expandable sub-expression, e.g.
expression expand_reference(syntax s, expression e, entity i, range r)
A reference cannot always be expanded.
static expression expand_call(expression e, entity f, list args)
Only one call site for expand_call().
text text_loop_90(entity module, const char *label, int margin, loop obj, int n)
Generate range subscript for simple loop with only one assignment.
static statement body_to_assignment_statement(statement b)
The tests necessary to check the underlying assumptions have been performed in text_loop(): b is eith...
static set vectors
Prettyprint one FORTRAN 90 loop as an array expression.
text text_loop_default(entity module, const char *label, int margin, loop obj, int n, list *ppdl, bool is_recursive_p)
exported for fortran90.c
text text_statement(entity, int, statement, list *)
#define MINUS_OPERATOR_NAME
#define PLUS_OPERATOR_NAME
#define MULTIPLY_OPERATOR_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...
bool same_entity_p(entity e1, entity e2)
predicates on entities
expression MakeBinaryCall(entity f, expression eg, expression ed)
Creates a call expression to a function with 2 arguments.
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
expression update_range(f, r, expression lw, expression up, expression in, bool left)
Prettyprint one FORTRAN 90 loop as an array expression.
#define normalized_undefined
#define instruction_sequence_p(x)
#define syntax_reference(x)
#define reference_variable(x)
#define statement_ordering(x)
#define range_increment(x)
#define EXPRESSION(x)
EXPRESSION.
#define expression_undefined
#define sequence_statements(x)
#define reference_indices(x)
#define instruction_sequence(x)
#define expression_undefined_p(x)
#define statement_instruction(x)
#define statement_comments(x)
#define instruction_call(x)
#define call_arguments(x)
#define syntax_range_p(x)
#define statement_number(x)
#define expression_syntax(x)
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
FI: I do not understand why the type is duplicated at the set level.
The structure used to build lists in NewGen.