OpenScop  0.9.0
Data Structures | Defines | Typedefs | Functions
dependence.h File Reference
#include <stdio.h>
#include <osl/interface.h>
#include <osl/statement.h>
#include <osl/relation.h>
Include dependency graph for dependence.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  osl_dependence

Defines

#define OSL_URI_DEPENDENCE   "dependence"
#define OSL_DEPENDENCE_RAW   1
#define OSL_DEPENDENCE_WAR   2
#define OSL_DEPENDENCE_WAW   3
#define OSL_DEPENDENCE_RAR   4
#define OSL_DEPENDENCE_RAW_SCALPRIV   5
#define OSL_DEPENDENCE_EQUAL   1
#define OSL_DEPENDENCE_POSIT   2
#define OSL_DEPENDENCE_LATER   3
#define OSL_DEPENDENCE_NEVER   4
#define OSL_DEPENDENCE_ASSIGNMENT   1
#define OSL_DEPENDENCE_P_REDUCTION   2
#define OSL_DEPENDENCE_M_REDUCTION   3
#define OSL_DEPENDENCE_T_REDUCTION   4

Typedefs

typedef struct osl_dependence osl_dependence_t
typedef struct osl_dependenceosl_dependence_p

Functions

void osl_dependence_idump (FILE *, osl_dependence_p, int)
void osl_dependence_dump (FILE *, osl_dependence_p)
char * osl_dependence_sprint (osl_dependence_p)
void osl_dependence_print (FILE *, osl_dependence_p)
osl_dependence_p osl_dependence_sread (char **)
osl_dependence_p osl_dependence_psread (char **, int)
osl_dependence_p osl_dependence_malloc ()
void osl_dependence_free (osl_dependence_p)
osl_dependence_p osl_dependence_clone (osl_dependence_p)
int osl_dependence_equal (osl_dependence_p, osl_dependence_p)
void osl_dependence_add (osl_dependence_p *, osl_dependence_p *, osl_dependence_p)
int osl_nb_dependences (osl_dependence_p)
osl_interface_p osl_dependence_interface ()

Define Documentation

#define OSL_DEPENDENCE_ASSIGNMENT   1

Definition at line 91 of file dependence.h.

#define OSL_DEPENDENCE_EQUAL   1

Definition at line 86 of file dependence.h.

#define OSL_DEPENDENCE_LATER   3

Definition at line 88 of file dependence.h.

Definition at line 93 of file dependence.h.

#define OSL_DEPENDENCE_NEVER   4

Definition at line 89 of file dependence.h.

Definition at line 92 of file dependence.h.

#define OSL_DEPENDENCE_POSIT   2

Definition at line 87 of file dependence.h.

#define OSL_DEPENDENCE_RAR   4
#define OSL_DEPENDENCE_RAW   1

Definition at line 94 of file dependence.h.

#define OSL_DEPENDENCE_WAR   2
#define OSL_DEPENDENCE_WAW   3
#define OSL_URI_DEPENDENCE   "dependence"

Definition at line 77 of file dependence.h.

Referenced by osl_dependence_interface().


Typedef Documentation

Definition at line 174 of file dependence.h.

Definition at line 173 of file dependence.h.


Function Documentation

void osl_dependence_add ( osl_dependence_p start,
osl_dependence_p now,
osl_dependence_p  dependence 
)

osl_dependence_add function: This function adds a osl_dependence_p structure (dependence) at a given place (now) of a NULL terminated list of osl_dependence_p structures. The beginning of this list is (start). This function updates (now) to the end of the loop list (loop), and updates (start) if the added element is the first one -that is when (start) is NULL-.

  • 18/09/2003: first version.

Definition at line 599 of file dependence.c.

References osl_dependence::next.

osl_dependence_clone function: This functions builds and returns a "hard copy" (not a pointer copy) of an osl_dependence_t data structure provided as parameter.

Parameters:
[in]statementThe pointer to the dependence we want to clone.
Returns:
A pointer to the clone of the dependence provided as parameter.

Definition at line 524 of file dependence.c.

References osl_dependence_nclone().

Referenced by osl_dependence_interface().

void osl_dependence_dump ( FILE *  file,
osl_dependence_p  dependence 
)

osl_dependence_dump function: This function prints the content of a osl_dependence_p structure (dependence) into a file (file, possibly stdout).

Definition at line 217 of file dependence.c.

References osl_dependence_idump().

osl_dependence_equal function: this function returns true if the two dependences provided as parameters are the same, false otherwise (the usr field is not tested). NOTE: the different pointer to statements or relations are nto compared

Parameters:
[in]d1The first dependence.
[in]d2The second dependence.
Returns:
1 if d1 and d2 are the same (content-wise), 0 otherwise.

Definition at line 538 of file dependence.c.

References osl_dependence::depth, osl_dependence::domain, osl_dependence::label_source, osl_dependence::label_target, osl_dependence::next, osl_dependence_equal(), osl_relation_equal(), osl_dependence::ref_source, osl_dependence::ref_target, osl_dependence::source_nb_local_dims_access, osl_dependence::source_nb_local_dims_domain, osl_dependence::source_nb_output_dims_access, osl_dependence::source_nb_output_dims_domain, osl_dependence::target_nb_local_dims_access, osl_dependence::target_nb_local_dims_domain, osl_dependence::target_nb_output_dims_access, osl_dependence::target_nb_output_dims_domain, and osl_dependence::type.

Referenced by osl_dependence_equal(), and osl_dependence_interface().

void osl_dependence_free ( osl_dependence_p  dependence)

osl_dependence_free function: This function frees the allocated memory for a osl_dependence_p structure.

  • 18/09/2003: first version.

Definition at line 449 of file dependence.c.

References osl_dependence::domain, osl_dependence::next, and osl_relation_free().

Referenced by osl_dependence_interface().

void osl_dependence_idump ( FILE *  file,
osl_dependence_p  dependence,
int  level 
)

osl_dependence_interface function: this function creates an interface structure corresponding to the dependence extension and returns it).

Returns:
An interface structure for the dependence extension.

Definition at line 641 of file dependence.c.

References osl_dependence_clone(), osl_dependence_equal(), osl_dependence_free(), osl_dependence_idump(), osl_dependence_malloc(), osl_dependence_sprint(), osl_dependence_sread(), osl_interface_malloc(), OSL_strdup, and OSL_URI_DEPENDENCE.

Referenced by osl_interface_get_default_registry().

void osl_dependence_print ( FILE *  file,
osl_dependence_p  dependence 
)

osl_dependence_print function: Print the dependence, formatted to fit the .scop representation.

Definition at line 226 of file dependence.c.

References osl_dependence_sprint().

osl_dependence_p osl_dependence_psread ( char **  input,
int  precision 
)

osl_dependence_psread function Retrieve a osl_dependence_p list from the option tag in the scop.

Definition at line 371 of file dependence.c.

References osl_dependence::next, OSL_debug, osl_dependence_read_one_dep(), and osl_util_read_int().

Referenced by osl_dependence_sread().

char* osl_dependence_sprint ( osl_dependence_p  dependence)

osl_dependence_sread function: Retrieve a osl_dependence_p list from the option tag in the scop.

Definition at line 361 of file dependence.c.

References osl_dependence_psread(), and osl_util_get_precision().

Referenced by osl_dependence_interface().

osl_nb_dependences function: This function returns the number of dependences in the dependence list

Parameters:
dependenceThe first dependence of the dependence list.

Definition at line 624 of file dependence.c.

References osl_dependence::next.