PIPS
|
Go to the source code of this file.
Macros | |
#define | NLC_PREFIX "NLC" |
– utils.c More... | |
#define | ENTITY_NLC_P(e) (strncmp(entity_local_name(e), NLC_PREFIX, 3) == 0) |
Functions | |
bool | instruction_in_list_p (instruction inst, list l) |
=========================================================================== More... | |
bool | nlc_linear_expression_p (expression exp) |
=========================================================================== More... | |
#define ENTITY_NLC_P | ( | e | ) | (strncmp(entity_local_name(e), NLC_PREFIX, 3) == 0) |
#define NLC_PREFIX "NLC" |
bool instruction_in_list_p | ( | instruction | inst, |
list | l | ||
) |
===========================================================================
utils.c
bool instruction_in_list_p(instruction inst, list l): Returns true if "inst" is in "l".
Note: "l" must be a list of instructions.
inst | nst |
Definition at line 50 of file utils.c.
References CAR, CDR, INSTRUCTION, and NIL.
Referenced by modify_blocks().
bool nlc_linear_expression_p | ( | expression | exp | ) |
===========================================================================
bool nlc_linear_expression_p(expression exp): returns true if "exp" is an integer linear expression with only NLCs variables.
NLC means Normalized Loop Counter.
Called functions : _ unnormalize_expression() : loop_normalize/utils.c
We unnormalize the expression, otherwise, it causes an error when we normalize an expression with sub-expressions already normalized. (cf. NormalizedExpression() in normalize/normalize.c).
This unnormalization is done recursively upon all the sub-expressions of "exp".
exp | xp |
Definition at line 78 of file utils.c.
References debug(), ENTITY_NLC_P, exp, expression_normalized, expression_to_string(), is_normalized_complex, NORMALIZE_EXPRESSION, normalized_linear, normalized_tag, pips_debug, Svecteur::succ, term_cst, unnormalize_expression(), Svecteur::var, and VECTEUR_NUL_P.
Referenced by atomizer_of_expression(), and atomizer_of_intrinsic().