Go to the source code of this file.
|
void | clan_relation_tag_array (struct osl_relation *, int) |
|
struct osl_relation * | clan_relation_build_context (int, clan_options_p) |
|
struct osl_relation * | clan_relation_scattering (int *, int, int) |
|
void | clan_relation_new_output_vector (struct osl_relation *, struct osl_vector *) |
|
void | clan_relation_new_output_scalar (struct osl_relation *, int) |
|
void | clan_relation_compact (struct osl_relation *, int) |
|
struct osl_relation * | clan_relation_greater (struct osl_relation *, struct osl_relation *, int) |
|
struct osl_relation * | clan_relation_not (struct osl_relation *) |
|
void | clan_relation_and (struct osl_relation *, struct osl_relation *) |
|
int | clan_relation_existential (struct osl_relation *) |
|
void | clan_relation_oppose_row (struct osl_relation *, int) |
|
struct osl_relation * | clan_relation_stride (struct osl_relation *, int, int) |
|
void | clan_relation_simplify (struct osl_relation *) |
|
void | clan_relation_loop_context (struct osl_relation *, struct osl_relation *, int) |
|
◆ clan_relation_and()
void clan_relation_and |
( |
struct osl_relation * |
, |
|
|
struct osl_relation * |
|
|
) |
| |
◆ clan_relation_build_context()
struct osl_relation* clan_relation_build_context |
( |
int |
nb_parameters, |
|
|
clan_options_p |
options |
|
) |
| |
clan_relation_build_context function: this function builds a context relation with 'nb_parameters' parameters. Depending on the bounded_context option, the context has no contraint or each parameter is set to be >= -1.
- Parameters
-
[in] | nb_parameters | The number of parameters for the context. |
[in] | options | The global options of Clan. |
- Returns
- A context relation with 'nb_parameters' parameters.
Definition at line 93 of file relation.c.
References clan_options::bounded_context, and clan_options::precision.
◆ clan_relation_compact()
void clan_relation_compact |
( |
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_existential()
int clan_relation_existential |
( |
struct osl_relation * |
| ) |
|
◆ clan_relation_greater()
struct osl_relation* clan_relation_greater |
( |
struct osl_relation * |
, |
|
|
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_loop_context()
void clan_relation_loop_context |
( |
struct osl_relation * |
, |
|
|
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_new_output_scalar()
void clan_relation_new_output_scalar |
( |
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_new_output_vector()
void clan_relation_new_output_vector |
( |
struct osl_relation * |
, |
|
|
struct osl_vector * |
|
|
) |
| |
◆ clan_relation_not()
struct osl_relation* clan_relation_not |
( |
struct osl_relation * |
| ) |
|
◆ clan_relation_oppose_row()
void clan_relation_oppose_row |
( |
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_scattering()
struct osl_relation* clan_relation_scattering |
( |
int * |
vector, |
|
|
int |
depth, |
|
|
int |
precision |
|
) |
| |
clan_relation_scattering function: this function builds the scattering relation for the clan_statement_t structures thanks to the parser current state of parser_scattering (rank) and parser_depth (depth). The input scattering vector has 2depth+1 elements. Each even element gives the "position" of the statement for every loop depth (see Feautrier's demonstration of existence of a schedule for any SCoP or CLooG's manual for original scattering function to understand if necessary). Each This function just "expands" this vector to a (2*n+1)-dimensional schedule for a statement at depth n and returns it. Each odd element gives the loop direction: 1 for forward (meaning the loop stride is positive) -1 for backward (the loop stride is negative).
- Parameters
-
[in] | vector | The statement position / loop direction vector. |
[in] | depth | The depth of the statement. |
[in] | precision | The precision of the relation elements. |
Definition at line 133 of file relation.c.
◆ clan_relation_simplify()
void clan_relation_simplify |
( |
struct osl_relation * |
| ) |
|
◆ clan_relation_stride()
struct osl_relation* clan_relation_stride |
( |
struct osl_relation * |
, |
|
|
int |
, |
|
|
int |
|
|
) |
| |
◆ clan_relation_tag_array()
void clan_relation_tag_array |
( |
struct osl_relation * |
, |
|
|
int |
|
|
) |
| |