PIPS
dg.h File Reference

Go to the source code of this file.

Data Structures

struct  _newgen_struct_cone_
 
struct  _newgen_struct_conflict_
 
struct  _newgen_struct_dg_arc_label_
 
struct  _newgen_struct_dg_vertex_label_
 
struct  _newgen_struct_sccflags_
 
struct  _newgen_struct_sccs_
 
struct  _newgen_struct_scc_
 

Macros

#define _gen_dg_start   224
 
#define _newgen_statement_domain_defined_
 
#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)
 
#define statement_NEWGEN_DOMAIN   (statement_domain)
 
#define _newgen_effect_domain_defined_
 newgen_statement_domain_defined More...
 
#define EFFECT_NEWGEN_DOMAIN   (effect_domain)
 
#define effect_NEWGEN_DOMAIN   (effect_domain)
 
#define _newgen_vertex_domain_defined_
 newgen_effect_domain_defined More...
 
#define VERTEX_NEWGEN_DOMAIN   (vertex_domain)
 
#define vertex_NEWGEN_DOMAIN   (vertex_domain)
 
#define _newgen_Ptsg_domain_defined_
 newgen_vertex_domain_defined More...
 
#define newgen_Ptsg(p)   (p) /**old hack compatible */
 
#define PTSG_NEWGEN_EXTERNAL   (_gen_dg_start+0)
 
#define PTSG_NEWGEN_DOMAIN   (PTSG_NEWGEN_EXTERNAL)
 
#define Ptsg_NEWGEN_DOMAIN   (PTSG_NEWGEN_EXTERNAL)
 
#define cone_domain   (_gen_dg_start+1)
 newgen_Ptsg_domain_defined More...
 
#define _newgen_cone_domain_defined_
 
#define CONE_NEWGEN_DOMAIN   (cone_domain)
 
#define cone_NEWGEN_DOMAIN   (cone_domain)
 
#define conflict_domain   (_gen_dg_start+2)
 newgen_cone_domain_defined More...
 
#define _newgen_conflict_domain_defined_
 
#define CONFLICT_NEWGEN_DOMAIN   (conflict_domain)
 
#define conflict_NEWGEN_DOMAIN   (conflict_domain)
 
#define dg_arc_label_domain   (_gen_dg_start+3)
 newgen_conflict_domain_defined More...
 
#define _newgen_dg_arc_label_domain_defined_
 
#define DG_ARC_LABEL_NEWGEN_DOMAIN   (dg_arc_label_domain)
 
#define dg_arc_label_NEWGEN_DOMAIN   (dg_arc_label_domain)
 
#define dg_vertex_label_domain   (_gen_dg_start+4)
 newgen_dg_arc_label_domain_defined More...
 
#define _newgen_dg_vertex_label_domain_defined_
 
#define DG_VERTEX_LABEL_NEWGEN_DOMAIN   (dg_vertex_label_domain)
 
#define dg_vertex_label_NEWGEN_DOMAIN   (dg_vertex_label_domain)
 
#define sccflags_domain   (_gen_dg_start+5)
 newgen_dg_vertex_label_domain_defined More...
 
#define _newgen_sccflags_domain_defined_
 
#define SCCFLAGS_NEWGEN_DOMAIN   (sccflags_domain)
 
#define sccflags_NEWGEN_DOMAIN   (sccflags_domain)
 
#define sccs_domain   (_gen_dg_start+6)
 newgen_sccflags_domain_defined More...
 
#define _newgen_sccs_domain_defined_
 
#define SCCS_NEWGEN_DOMAIN   (sccs_domain)
 
#define sccs_NEWGEN_DOMAIN   (sccs_domain)
 
#define scc_domain   (_gen_dg_start+7)
 newgen_sccs_domain_defined More...
 
#define _newgen_scc_domain_defined_
 
#define SCC_NEWGEN_DOMAIN   (scc_domain)
 
#define scc_NEWGEN_DOMAIN   (scc_domain)
 
#define CONE(x)   ((cone)((x).p))
 newgen_scc_domain_defined More...
 
#define cone_CAST(x)   CONE(x)
 
#define CONE_CAST(x)   CONE(x)
 
#define CONE_(x)   ((x).e)
 
#define CONE_TYPE   cone
 
#define cone_TYPE   cone
 
#define cone_undefined   ((cone)gen_chunk_undefined)
 
#define cone_undefined_p(x)   ((x)==cone_undefined)
 
#define gen_CONE_cons   gen_cone_cons
 
#define cone_domain_number(x)   ((x)->_type_)
 
#define cone_levels_(x)   cone_levels(x) /**old hack compatible */
 
#define cone_levels(x)   ((x)->_cone_levels_)
 
#define cone_generating_system_(x)   cone_generating_system(x) /**old hack compatible */
 
#define cone_generating_system(x)   ((x)->_cone_generating_system_)
 
#define CONFLICT(x)   ((conflict)((x).p))
 CONFLICT. More...
 
#define conflict_CAST(x)   CONFLICT(x)
 
#define CONFLICT_CAST(x)   CONFLICT(x)
 
#define CONFLICT_(x)   ((x).e)
 
#define CONFLICT_TYPE   conflict
 
#define conflict_TYPE   conflict
 
#define conflict_undefined   ((conflict)gen_chunk_undefined)
 
#define conflict_undefined_p(x)   ((x)==conflict_undefined)
 
#define gen_CONFLICT_cons   gen_conflict_cons
 
#define conflict_domain_number(x)   ((x)->_type_)
 
#define conflict_source_(x)   conflict_source(x) /**old hack compatible */
 
#define conflict_source(x)   ((x)->_conflict_source_)
 
#define conflict_sink_(x)   conflict_sink(x) /**old hack compatible */
 
#define conflict_sink(x)   ((x)->_conflict_sink_)
 
#define conflict_cone_(x)   conflict_cone(x) /**old hack compatible */
 
#define conflict_cone(x)   ((x)->_conflict_cone_)
 
#define DG_ARC_LABEL(x)   ((dg_arc_label)((x).p))
 DG_ARC_LABEL. More...
 
#define dg_arc_label_CAST(x)   DG_ARC_LABEL(x)
 
#define DG_ARC_LABEL_CAST(x)   DG_ARC_LABEL(x)
 
#define DG_ARC_LABEL_(x)   ((x).e)
 
#define DG_ARC_LABEL_TYPE   dg_arc_label
 
#define dg_arc_label_TYPE   dg_arc_label
 
#define dg_arc_label_undefined   ((dg_arc_label)gen_chunk_undefined)
 
#define dg_arc_label_undefined_p(x)   ((x)==dg_arc_label_undefined)
 
#define gen_DG_ARC_LABEL_cons   gen_dg_arc_label_cons
 
#define dg_arc_label_domain_number(x)   ((x)->_type_)
 
#define dg_arc_label_conflicts(x)   ((x)->_dg_arc_label_holder_)
 
#define DG_VERTEX_LABEL(x)   ((dg_vertex_label)((x).p))
 DG_VERTEX_LABEL. More...
 
#define dg_vertex_label_CAST(x)   DG_VERTEX_LABEL(x)
 
#define DG_VERTEX_LABEL_CAST(x)   DG_VERTEX_LABEL(x)
 
#define DG_VERTEX_LABEL_(x)   ((x).e)
 
#define DG_VERTEX_LABEL_TYPE   dg_vertex_label
 
#define dg_vertex_label_TYPE   dg_vertex_label
 
#define dg_vertex_label_undefined   ((dg_vertex_label)gen_chunk_undefined)
 
#define dg_vertex_label_undefined_p(x)   ((x)==dg_vertex_label_undefined)
 
#define gen_DG_VERTEX_LABEL_cons   gen_dg_vertex_label_cons
 
#define dg_vertex_label_domain_number(x)   ((x)->_type_)
 
#define dg_vertex_label_statement_(x)   dg_vertex_label_statement(x) /**old hack compatible */
 
#define dg_vertex_label_statement(x)   ((x)->_dg_vertex_label_statement_)
 
#define dg_vertex_label_sccflags_(x)   dg_vertex_label_sccflags(x) /**old hack compatible */
 
#define dg_vertex_label_sccflags(x)   ((x)->_dg_vertex_label_sccflags_)
 
#define SCCFLAGS(x)   ((sccflags)((x).p))
 SCCFLAGS. More...
 
#define sccflags_CAST(x)   SCCFLAGS(x)
 
#define SCCFLAGS_CAST(x)   SCCFLAGS(x)
 
#define SCCFLAGS_(x)   ((x).e)
 
#define SCCFLAGS_TYPE   sccflags
 
#define sccflags_TYPE   sccflags
 
#define sccflags_undefined   ((sccflags)gen_chunk_undefined)
 
#define sccflags_undefined_p(x)   ((x)==sccflags_undefined)
 
#define gen_SCCFLAGS_cons   gen_sccflags_cons
 
#define sccflags_domain_number(x)   ((x)->_type_)
 
#define sccflags_enclosing_scc_(x)   sccflags_enclosing_scc(x) /**old hack compatible */
 
#define sccflags_enclosing_scc(x)   ((x)->_sccflags_enclosing_scc_)
 
#define sccflags_mark_(x)   sccflags_mark(x) /**old hack compatible */
 
#define sccflags_mark(x)   ((x)->_sccflags_mark_)
 
#define sccflags_dfnumber_(x)   sccflags_dfnumber(x) /**old hack compatible */
 
#define sccflags_dfnumber(x)   ((x)->_sccflags_dfnumber_)
 
#define sccflags_lowlink_(x)   sccflags_lowlink(x) /**old hack compatible */
 
#define sccflags_lowlink(x)   ((x)->_sccflags_lowlink_)
 
#define SCCS(x)   ((sccs)((x).p))
 SCCS. More...
 
#define sccs_CAST(x)   SCCS(x)
 
#define SCCS_CAST(x)   SCCS(x)
 
#define SCCS_(x)   ((x).e)
 
#define SCCS_TYPE   sccs
 
#define sccs_TYPE   sccs
 
#define sccs_undefined   ((sccs)gen_chunk_undefined)
 
#define sccs_undefined_p(x)   ((x)==sccs_undefined)
 
#define gen_SCCS_cons   gen_sccs_cons
 
#define sccs_domain_number(x)   ((x)->_type_)
 
#define sccs_sccs(x)   ((x)->_sccs_holder_)
 
#define SCC(x)   ((scc)((x).p))
 SCC. More...
 
#define scc_CAST(x)   SCC(x)
 
#define SCC_CAST(x)   SCC(x)
 
#define SCC_(x)   ((x).e)
 
#define SCC_TYPE   scc
 
#define scc_TYPE   scc
 
#define scc_undefined   ((scc)gen_chunk_undefined)
 
#define scc_undefined_p(x)   ((x)==scc_undefined)
 
#define gen_SCC_cons   gen_scc_cons
 
#define scc_domain_number(x)   ((x)->_type_)
 
#define scc_vertices_(x)   scc_vertices(x) /**old hack compatible */
 
#define scc_vertices(x)   ((x)->_scc_vertices_)
 
#define scc_indegree_(x)   scc_indegree(x) /**old hack compatible */
 
#define scc_indegree(x)   ((x)->_scc_indegree_)
 
#define dg_spec   "\--NEWGEN-START 224\n\import statement from \"ri.newgen\";\n\import effect from \"effects.newgen\";\n\import vertex from \"graph.newgen\";\n\external Ptsg;\n\cone = levels:int* x generating_system:Ptsg;\n\conflict = persistant source:effect x persistant sink:effect x cone:cone;\n\dg_arc_label = conflicts:conflict*;\n\dg_vertex_label = statement:int x sccflags:sccflags;\n\sccflags = enclosing_scc:scc x mark:int x dfnumber:int x lowlink:int;\n\sccs = sccs:scc*;\n\scc = vertices:vertex* x indegree:int;\n\"
 

Typedefs

typedef struct _newgen_struct_statement_statement
 
typedef struct _newgen_struct_effect_effect
 
typedef struct _newgen_struct_vertex_vertex
 
typedef struct _newgen_struct_cone_cone
 
typedef struct _newgen_struct_conflict_conflict
 
typedef struct _newgen_struct_dg_arc_label_dg_arc_label
 
typedef struct _newgen_struct_dg_vertex_label_dg_vertex_label
 
typedef struct _newgen_struct_sccflags_sccflags
 
typedef struct _newgen_struct_sccs_sccs
 
typedef struct _newgen_struct_scc_scc
 

Functions

cone copy_cone (cone)
 CONE. More...
 
void free_cone (cone)
 
cone check_cone (cone)
 
bool cone_consistent_p (cone)
 
bool cone_defined_p (cone)
 
list gen_cone_cons (cone, list)
 
void cone_assign_contents (cone, cone)
 
void cone_non_recursive_free (cone)
 
void write_cone (FILE *, cone)
 
cone read_cone (FILE *)
 
cone make_cone (list, Ptsg)
 
conflict copy_conflict (conflict)
 CONFLICT. More...
 
void free_conflict (conflict)
 
conflict check_conflict (conflict)
 
bool conflict_consistent_p (conflict)
 
bool conflict_defined_p (conflict)
 
list gen_conflict_cons (conflict, list)
 
void conflict_assign_contents (conflict, conflict)
 
void conflict_non_recursive_free (conflict)
 
void write_conflict (FILE *, conflict)
 
conflict read_conflict (FILE *)
 
conflict make_conflict (effect, effect, cone)
 
dg_arc_label copy_dg_arc_label (dg_arc_label)
 DG_ARC_LABEL. More...
 
void free_dg_arc_label (dg_arc_label)
 
dg_arc_label check_dg_arc_label (dg_arc_label)
 
bool dg_arc_label_consistent_p (dg_arc_label)
 
bool dg_arc_label_defined_p (dg_arc_label)
 
list gen_dg_arc_label_cons (dg_arc_label, list)
 
void dg_arc_label_assign_contents (dg_arc_label, dg_arc_label)
 
void dg_arc_label_non_recursive_free (dg_arc_label)
 
void write_dg_arc_label (FILE *, dg_arc_label)
 
dg_arc_label read_dg_arc_label (FILE *)
 
dg_arc_label make_dg_arc_label (list)
 
dg_vertex_label copy_dg_vertex_label (dg_vertex_label)
 DG_VERTEX_LABEL. More...
 
void free_dg_vertex_label (dg_vertex_label)
 
dg_vertex_label check_dg_vertex_label (dg_vertex_label)
 
bool dg_vertex_label_consistent_p (dg_vertex_label)
 
bool dg_vertex_label_defined_p (dg_vertex_label)
 
list gen_dg_vertex_label_cons (dg_vertex_label, list)
 
void dg_vertex_label_assign_contents (dg_vertex_label, dg_vertex_label)
 
void dg_vertex_label_non_recursive_free (dg_vertex_label)
 
void write_dg_vertex_label (FILE *, dg_vertex_label)
 
dg_vertex_label read_dg_vertex_label (FILE *)
 
dg_vertex_label make_dg_vertex_label (intptr_t, sccflags)
 
sccflags copy_sccflags (sccflags)
 SCCFLAGS. More...
 
void free_sccflags (sccflags)
 
sccflags check_sccflags (sccflags)
 
bool sccflags_consistent_p (sccflags)
 
bool sccflags_defined_p (sccflags)
 
list gen_sccflags_cons (sccflags, list)
 
void sccflags_assign_contents (sccflags, sccflags)
 
void sccflags_non_recursive_free (sccflags)
 
void write_sccflags (FILE *, sccflags)
 
sccflags read_sccflags (FILE *)
 
sccflags make_sccflags (scc, intptr_t, intptr_t, intptr_t)
 
sccs copy_sccs (sccs)
 SCCS. More...
 
void free_sccs (sccs)
 
sccs check_sccs (sccs)
 
bool sccs_consistent_p (sccs)
 
bool sccs_defined_p (sccs)
 
list gen_sccs_cons (sccs, list)
 
void sccs_assign_contents (sccs, sccs)
 
void sccs_non_recursive_free (sccs)
 
void write_sccs (FILE *, sccs)
 
sccs read_sccs (FILE *)
 
sccs make_sccs (list)
 
scc copy_scc (scc)
 SCC. More...
 
void free_scc (scc)
 
scc check_scc (scc)
 
bool scc_consistent_p (scc)
 
bool scc_defined_p (scc)
 
list gen_scc_cons (scc, list)
 
void scc_assign_contents (scc, scc)
 
void scc_non_recursive_free (scc)
 
void write_scc (FILE *, scc)
 
scc read_scc (FILE *)
 
scc make_scc (list, intptr_t)
 

Macro Definition Documentation

◆ _gen_dg_start

#define _gen_dg_start   224

Definition at line 3 of file dg.h.

◆ _newgen_cone_domain_defined_

#define _newgen_cone_domain_defined_

Definition at line 41 of file dg.h.

◆ _newgen_conflict_domain_defined_

#define _newgen_conflict_domain_defined_

Definition at line 49 of file dg.h.

◆ _newgen_dg_arc_label_domain_defined_

#define _newgen_dg_arc_label_domain_defined_

Definition at line 57 of file dg.h.

◆ _newgen_dg_vertex_label_domain_defined_

#define _newgen_dg_vertex_label_domain_defined_

Definition at line 65 of file dg.h.

◆ _newgen_effect_domain_defined_

#define _newgen_effect_domain_defined_

newgen_statement_domain_defined

Definition at line 18 of file dg.h.

◆ _newgen_Ptsg_domain_defined_

#define _newgen_Ptsg_domain_defined_

newgen_vertex_domain_defined

Definition at line 32 of file dg.h.

◆ _newgen_scc_domain_defined_

#define _newgen_scc_domain_defined_

Definition at line 89 of file dg.h.

◆ _newgen_sccflags_domain_defined_

#define _newgen_sccflags_domain_defined_

Definition at line 73 of file dg.h.

◆ _newgen_sccs_domain_defined_

#define _newgen_sccs_domain_defined_

Definition at line 81 of file dg.h.

◆ _newgen_statement_domain_defined_

#define _newgen_statement_domain_defined_

Definition at line 11 of file dg.h.

◆ _newgen_vertex_domain_defined_

#define _newgen_vertex_domain_defined_

newgen_effect_domain_defined

Definition at line 25 of file dg.h.

◆ CONE

#define CONE (   x)    ((cone)((x).p))

newgen_scc_domain_defined

CONE

Definition at line 98 of file dg.h.

◆ CONE_

#define CONE_ (   x)    ((x).e)

Definition at line 101 of file dg.h.

◆ cone_CAST

#define cone_CAST (   x)    CONE(x)

Definition at line 99 of file dg.h.

◆ CONE_CAST

#define CONE_CAST (   x)    CONE(x)

Definition at line 100 of file dg.h.

◆ cone_domain

#define cone_domain   (_gen_dg_start+1)

newgen_Ptsg_domain_defined

Definition at line 39 of file dg.h.

◆ cone_domain_number

#define cone_domain_number (   x)    ((x)->_type_)

Definition at line 126 of file dg.h.

◆ cone_generating_system

#define cone_generating_system (   x)    ((x)->_cone_generating_system_)

Definition at line 130 of file dg.h.

◆ cone_generating_system_

#define cone_generating_system_ (   x)    cone_generating_system(x) /**old hack compatible */

Definition at line 129 of file dg.h.

◆ cone_levels

#define cone_levels (   x)    ((x)->_cone_levels_)

Definition at line 128 of file dg.h.

◆ cone_levels_

#define cone_levels_ (   x)    cone_levels(x) /**old hack compatible */

Definition at line 127 of file dg.h.

◆ CONE_NEWGEN_DOMAIN

#define CONE_NEWGEN_DOMAIN   (cone_domain)

Definition at line 42 of file dg.h.

◆ cone_NEWGEN_DOMAIN

#define cone_NEWGEN_DOMAIN   (cone_domain)

Definition at line 43 of file dg.h.

◆ CONE_TYPE

#define CONE_TYPE   cone

Definition at line 102 of file dg.h.

◆ cone_TYPE

#define cone_TYPE   cone

Definition at line 103 of file dg.h.

◆ cone_undefined

#define cone_undefined   ((cone)gen_chunk_undefined)

Definition at line 104 of file dg.h.

◆ cone_undefined_p

#define cone_undefined_p (   x)    ((x)==cone_undefined)

Definition at line 105 of file dg.h.

◆ CONFLICT

#define CONFLICT (   x)    ((conflict)((x).p))

CONFLICT.

Definition at line 134 of file dg.h.

◆ CONFLICT_

#define CONFLICT_ (   x)    ((x).e)

Definition at line 137 of file dg.h.

◆ conflict_CAST

#define conflict_CAST (   x)    CONFLICT(x)

Definition at line 135 of file dg.h.

◆ CONFLICT_CAST

#define CONFLICT_CAST (   x)    CONFLICT(x)

Definition at line 136 of file dg.h.

◆ conflict_cone

#define conflict_cone (   x)    ((x)->_conflict_cone_)

Definition at line 169 of file dg.h.

◆ conflict_cone_

#define conflict_cone_ (   x)    conflict_cone(x) /**old hack compatible */

Definition at line 168 of file dg.h.

◆ conflict_domain

#define conflict_domain   (_gen_dg_start+2)

newgen_cone_domain_defined

Definition at line 47 of file dg.h.

◆ conflict_domain_number

#define conflict_domain_number (   x)    ((x)->_type_)

Definition at line 163 of file dg.h.

◆ CONFLICT_NEWGEN_DOMAIN

#define CONFLICT_NEWGEN_DOMAIN   (conflict_domain)

Definition at line 50 of file dg.h.

◆ conflict_NEWGEN_DOMAIN

#define conflict_NEWGEN_DOMAIN   (conflict_domain)

Definition at line 51 of file dg.h.

◆ conflict_sink

#define conflict_sink (   x)    ((x)->_conflict_sink_)

Definition at line 167 of file dg.h.

◆ conflict_sink_

#define conflict_sink_ (   x)    conflict_sink(x) /**old hack compatible */

Definition at line 166 of file dg.h.

◆ conflict_source

#define conflict_source (   x)    ((x)->_conflict_source_)

Definition at line 165 of file dg.h.

◆ conflict_source_

#define conflict_source_ (   x)    conflict_source(x) /**old hack compatible */

Definition at line 164 of file dg.h.

◆ CONFLICT_TYPE

#define CONFLICT_TYPE   conflict

Definition at line 138 of file dg.h.

◆ conflict_TYPE

#define conflict_TYPE   conflict

Definition at line 139 of file dg.h.

◆ conflict_undefined

#define conflict_undefined   ((conflict)gen_chunk_undefined)

Definition at line 140 of file dg.h.

◆ conflict_undefined_p

#define conflict_undefined_p (   x)    ((x)==conflict_undefined)

Definition at line 141 of file dg.h.

◆ DG_ARC_LABEL

#define DG_ARC_LABEL (   x)    ((dg_arc_label)((x).p))

DG_ARC_LABEL.

Definition at line 173 of file dg.h.

◆ DG_ARC_LABEL_

#define DG_ARC_LABEL_ (   x)    ((x).e)

Definition at line 176 of file dg.h.

◆ dg_arc_label_CAST

#define dg_arc_label_CAST (   x)    DG_ARC_LABEL(x)

Definition at line 174 of file dg.h.

◆ DG_ARC_LABEL_CAST

#define DG_ARC_LABEL_CAST (   x)    DG_ARC_LABEL(x)

Definition at line 175 of file dg.h.

◆ dg_arc_label_conflicts

#define dg_arc_label_conflicts (   x)    ((x)->_dg_arc_label_holder_)

Definition at line 201 of file dg.h.

◆ dg_arc_label_domain

#define dg_arc_label_domain   (_gen_dg_start+3)

newgen_conflict_domain_defined

Definition at line 55 of file dg.h.

◆ dg_arc_label_domain_number

#define dg_arc_label_domain_number (   x)    ((x)->_type_)

Definition at line 200 of file dg.h.

◆ DG_ARC_LABEL_NEWGEN_DOMAIN

#define DG_ARC_LABEL_NEWGEN_DOMAIN   (dg_arc_label_domain)

Definition at line 58 of file dg.h.

◆ dg_arc_label_NEWGEN_DOMAIN

#define dg_arc_label_NEWGEN_DOMAIN   (dg_arc_label_domain)

Definition at line 59 of file dg.h.

◆ DG_ARC_LABEL_TYPE

#define DG_ARC_LABEL_TYPE   dg_arc_label

Definition at line 177 of file dg.h.

◆ dg_arc_label_TYPE

#define dg_arc_label_TYPE   dg_arc_label

Definition at line 178 of file dg.h.

◆ dg_arc_label_undefined

#define dg_arc_label_undefined   ((dg_arc_label)gen_chunk_undefined)

Definition at line 179 of file dg.h.

◆ dg_arc_label_undefined_p

#define dg_arc_label_undefined_p (   x)    ((x)==dg_arc_label_undefined)

Definition at line 180 of file dg.h.

◆ dg_spec

#define dg_spec   "\--NEWGEN-START 224\n\import statement from \"ri.newgen\";\n\import effect from \"effects.newgen\";\n\import vertex from \"graph.newgen\";\n\external Ptsg;\n\cone = levels:int* x generating_system:Ptsg;\n\conflict = persistant source:effect x persistant sink:effect x cone:cone;\n\dg_arc_label = conflicts:conflict*;\n\dg_vertex_label = statement:int x sccflags:sccflags;\n\sccflags = enclosing_scc:scc x mark:int x dfnumber:int x lowlink:int;\n\sccs = sccs:scc*;\n\scc = vertices:vertex* x indegree:int;\n\"

Definition at line 349 of file dg.h.

◆ DG_VERTEX_LABEL

#define DG_VERTEX_LABEL (   x)    ((dg_vertex_label)((x).p))

DG_VERTEX_LABEL.

Definition at line 205 of file dg.h.

◆ DG_VERTEX_LABEL_

#define DG_VERTEX_LABEL_ (   x)    ((x).e)

Definition at line 208 of file dg.h.

◆ dg_vertex_label_CAST

#define dg_vertex_label_CAST (   x)    DG_VERTEX_LABEL(x)

Definition at line 206 of file dg.h.

◆ DG_VERTEX_LABEL_CAST

#define DG_VERTEX_LABEL_CAST (   x)    DG_VERTEX_LABEL(x)

Definition at line 207 of file dg.h.

◆ dg_vertex_label_domain

#define dg_vertex_label_domain   (_gen_dg_start+4)

newgen_dg_arc_label_domain_defined

Definition at line 63 of file dg.h.

◆ dg_vertex_label_domain_number

#define dg_vertex_label_domain_number (   x)    ((x)->_type_)

Definition at line 233 of file dg.h.

◆ DG_VERTEX_LABEL_NEWGEN_DOMAIN

#define DG_VERTEX_LABEL_NEWGEN_DOMAIN   (dg_vertex_label_domain)

Definition at line 66 of file dg.h.

◆ dg_vertex_label_NEWGEN_DOMAIN

#define dg_vertex_label_NEWGEN_DOMAIN   (dg_vertex_label_domain)

Definition at line 67 of file dg.h.

◆ dg_vertex_label_sccflags

#define dg_vertex_label_sccflags (   x)    ((x)->_dg_vertex_label_sccflags_)

Definition at line 237 of file dg.h.

◆ dg_vertex_label_sccflags_

#define dg_vertex_label_sccflags_ (   x)    dg_vertex_label_sccflags(x) /**old hack compatible */

Definition at line 236 of file dg.h.

◆ dg_vertex_label_statement

#define dg_vertex_label_statement (   x)    ((x)->_dg_vertex_label_statement_)

Definition at line 235 of file dg.h.

◆ dg_vertex_label_statement_

#define dg_vertex_label_statement_ (   x)    dg_vertex_label_statement(x) /**old hack compatible */

Definition at line 234 of file dg.h.

◆ DG_VERTEX_LABEL_TYPE

#define DG_VERTEX_LABEL_TYPE   dg_vertex_label

Definition at line 209 of file dg.h.

◆ dg_vertex_label_TYPE

#define dg_vertex_label_TYPE   dg_vertex_label

Definition at line 210 of file dg.h.

◆ dg_vertex_label_undefined

#define dg_vertex_label_undefined   ((dg_vertex_label)gen_chunk_undefined)

Definition at line 211 of file dg.h.

◆ dg_vertex_label_undefined_p

#define dg_vertex_label_undefined_p (   x)    ((x)==dg_vertex_label_undefined)

Definition at line 212 of file dg.h.

◆ EFFECT_NEWGEN_DOMAIN

#define EFFECT_NEWGEN_DOMAIN   (effect_domain)

Definition at line 19 of file dg.h.

◆ effect_NEWGEN_DOMAIN

#define effect_NEWGEN_DOMAIN   (effect_domain)

Definition at line 20 of file dg.h.

◆ gen_CONE_cons

#define gen_CONE_cons   gen_cone_cons

Definition at line 112 of file dg.h.

◆ gen_CONFLICT_cons

#define gen_CONFLICT_cons   gen_conflict_cons

Definition at line 148 of file dg.h.

◆ gen_DG_ARC_LABEL_cons

#define gen_DG_ARC_LABEL_cons   gen_dg_arc_label_cons

Definition at line 187 of file dg.h.

◆ gen_DG_VERTEX_LABEL_cons

#define gen_DG_VERTEX_LABEL_cons   gen_dg_vertex_label_cons

Definition at line 219 of file dg.h.

◆ gen_SCC_cons

#define gen_SCC_cons   gen_scc_cons

Definition at line 329 of file dg.h.

◆ gen_SCCFLAGS_cons

#define gen_SCCFLAGS_cons   gen_sccflags_cons

Definition at line 255 of file dg.h.

◆ gen_SCCS_cons

#define gen_SCCS_cons   gen_sccs_cons

Definition at line 297 of file dg.h.

◆ newgen_Ptsg

#define newgen_Ptsg (   p)    (p) /**old hack compatible */

Definition at line 33 of file dg.h.

◆ PTSG_NEWGEN_DOMAIN

#define PTSG_NEWGEN_DOMAIN   (PTSG_NEWGEN_EXTERNAL)

Definition at line 35 of file dg.h.

◆ Ptsg_NEWGEN_DOMAIN

#define Ptsg_NEWGEN_DOMAIN   (PTSG_NEWGEN_EXTERNAL)

Definition at line 36 of file dg.h.

◆ PTSG_NEWGEN_EXTERNAL

#define PTSG_NEWGEN_EXTERNAL   (_gen_dg_start+0)

Definition at line 34 of file dg.h.

◆ SCC

#define SCC (   x)    ((scc)((x).p))

SCC.

Definition at line 315 of file dg.h.

◆ SCC_

#define SCC_ (   x)    ((x).e)

Definition at line 318 of file dg.h.

◆ scc_CAST

#define scc_CAST (   x)    SCC(x)

Definition at line 316 of file dg.h.

◆ SCC_CAST

#define SCC_CAST (   x)    SCC(x)

Definition at line 317 of file dg.h.

◆ scc_domain

#define scc_domain   (_gen_dg_start+7)

newgen_sccs_domain_defined

Definition at line 87 of file dg.h.

◆ scc_domain_number

#define scc_domain_number (   x)    ((x)->_type_)

Definition at line 343 of file dg.h.

◆ scc_indegree

#define scc_indegree (   x)    ((x)->_scc_indegree_)

Definition at line 347 of file dg.h.

◆ scc_indegree_

#define scc_indegree_ (   x)    scc_indegree(x) /**old hack compatible */

Definition at line 346 of file dg.h.

◆ SCC_NEWGEN_DOMAIN

#define SCC_NEWGEN_DOMAIN   (scc_domain)

Definition at line 90 of file dg.h.

◆ scc_NEWGEN_DOMAIN

#define scc_NEWGEN_DOMAIN   (scc_domain)

Definition at line 91 of file dg.h.

◆ SCC_TYPE

#define SCC_TYPE   scc

Definition at line 319 of file dg.h.

◆ scc_TYPE

#define scc_TYPE   scc

Definition at line 320 of file dg.h.

◆ scc_undefined

#define scc_undefined   ((scc)gen_chunk_undefined)

Definition at line 321 of file dg.h.

◆ scc_undefined_p

#define scc_undefined_p (   x)    ((x)==scc_undefined)

Definition at line 322 of file dg.h.

◆ scc_vertices

#define scc_vertices (   x)    ((x)->_scc_vertices_)

Definition at line 345 of file dg.h.

◆ scc_vertices_

#define scc_vertices_ (   x)    scc_vertices(x) /**old hack compatible */

Definition at line 344 of file dg.h.

◆ SCCFLAGS

#define SCCFLAGS (   x)    ((sccflags)((x).p))

SCCFLAGS.

Definition at line 241 of file dg.h.

◆ SCCFLAGS_

#define SCCFLAGS_ (   x)    ((x).e)

Definition at line 244 of file dg.h.

◆ sccflags_CAST

#define sccflags_CAST (   x)    SCCFLAGS(x)

Definition at line 242 of file dg.h.

◆ SCCFLAGS_CAST

#define SCCFLAGS_CAST (   x)    SCCFLAGS(x)

Definition at line 243 of file dg.h.

◆ sccflags_dfnumber

#define sccflags_dfnumber (   x)    ((x)->_sccflags_dfnumber_)

Definition at line 277 of file dg.h.

◆ sccflags_dfnumber_

#define sccflags_dfnumber_ (   x)    sccflags_dfnumber(x) /**old hack compatible */

Definition at line 276 of file dg.h.

◆ sccflags_domain

#define sccflags_domain   (_gen_dg_start+5)

newgen_dg_vertex_label_domain_defined

Definition at line 71 of file dg.h.

◆ sccflags_domain_number

#define sccflags_domain_number (   x)    ((x)->_type_)

Definition at line 271 of file dg.h.

◆ sccflags_enclosing_scc

#define sccflags_enclosing_scc (   x)    ((x)->_sccflags_enclosing_scc_)

Definition at line 273 of file dg.h.

◆ sccflags_enclosing_scc_

#define sccflags_enclosing_scc_ (   x)    sccflags_enclosing_scc(x) /**old hack compatible */

Definition at line 272 of file dg.h.

◆ sccflags_lowlink

#define sccflags_lowlink (   x)    ((x)->_sccflags_lowlink_)

Definition at line 279 of file dg.h.

◆ sccflags_lowlink_

#define sccflags_lowlink_ (   x)    sccflags_lowlink(x) /**old hack compatible */

Definition at line 278 of file dg.h.

◆ sccflags_mark

#define sccflags_mark (   x)    ((x)->_sccflags_mark_)

Definition at line 275 of file dg.h.

◆ sccflags_mark_

#define sccflags_mark_ (   x)    sccflags_mark(x) /**old hack compatible */

Definition at line 274 of file dg.h.

◆ SCCFLAGS_NEWGEN_DOMAIN

#define SCCFLAGS_NEWGEN_DOMAIN   (sccflags_domain)

Definition at line 74 of file dg.h.

◆ sccflags_NEWGEN_DOMAIN

#define sccflags_NEWGEN_DOMAIN   (sccflags_domain)

Definition at line 75 of file dg.h.

◆ SCCFLAGS_TYPE

#define SCCFLAGS_TYPE   sccflags

Definition at line 245 of file dg.h.

◆ sccflags_TYPE

#define sccflags_TYPE   sccflags

Definition at line 246 of file dg.h.

◆ sccflags_undefined

#define sccflags_undefined   ((sccflags)gen_chunk_undefined)

Definition at line 247 of file dg.h.

◆ sccflags_undefined_p

#define sccflags_undefined_p (   x)    ((x)==sccflags_undefined)

Definition at line 248 of file dg.h.

◆ SCCS

#define SCCS (   x)    ((sccs)((x).p))

SCCS.

Definition at line 283 of file dg.h.

◆ SCCS_

#define SCCS_ (   x)    ((x).e)

Definition at line 286 of file dg.h.

◆ sccs_CAST

#define sccs_CAST (   x)    SCCS(x)

Definition at line 284 of file dg.h.

◆ SCCS_CAST

#define SCCS_CAST (   x)    SCCS(x)

Definition at line 285 of file dg.h.

◆ sccs_domain

#define sccs_domain   (_gen_dg_start+6)

newgen_sccflags_domain_defined

Definition at line 79 of file dg.h.

◆ sccs_domain_number

#define sccs_domain_number (   x)    ((x)->_type_)

Definition at line 310 of file dg.h.

◆ SCCS_NEWGEN_DOMAIN

#define SCCS_NEWGEN_DOMAIN   (sccs_domain)

Definition at line 82 of file dg.h.

◆ sccs_NEWGEN_DOMAIN

#define sccs_NEWGEN_DOMAIN   (sccs_domain)

Definition at line 83 of file dg.h.

◆ sccs_sccs

#define sccs_sccs (   x)    ((x)->_sccs_holder_)

Definition at line 311 of file dg.h.

◆ SCCS_TYPE

#define SCCS_TYPE   sccs

Definition at line 287 of file dg.h.

◆ sccs_TYPE

#define sccs_TYPE   sccs

Definition at line 288 of file dg.h.

◆ sccs_undefined

#define sccs_undefined   ((sccs)gen_chunk_undefined)

Definition at line 289 of file dg.h.

◆ sccs_undefined_p

#define sccs_undefined_p (   x)    ((x)==sccs_undefined)

Definition at line 290 of file dg.h.

◆ STATEMENT_NEWGEN_DOMAIN

#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)

Definition at line 12 of file dg.h.

◆ statement_NEWGEN_DOMAIN

#define statement_NEWGEN_DOMAIN   (statement_domain)

Definition at line 13 of file dg.h.

◆ VERTEX_NEWGEN_DOMAIN

#define VERTEX_NEWGEN_DOMAIN   (vertex_domain)

Definition at line 26 of file dg.h.

◆ vertex_NEWGEN_DOMAIN

#define vertex_NEWGEN_DOMAIN   (vertex_domain)

Definition at line 27 of file dg.h.

Typedef Documentation

◆ cone

typedef struct _newgen_struct_cone_* cone

Definition at line 44 of file dg.h.

◆ conflict

Definition at line 52 of file dg.h.

◆ dg_arc_label

Definition at line 60 of file dg.h.

◆ dg_vertex_label

Definition at line 68 of file dg.h.

◆ effect

typedef struct _newgen_struct_effect_* effect

Definition at line 21 of file dg.h.

◆ scc

typedef struct _newgen_struct_scc_* scc

Definition at line 92 of file dg.h.

◆ sccflags

Definition at line 76 of file dg.h.

◆ sccs

typedef struct _newgen_struct_sccs_* sccs

Definition at line 84 of file dg.h.

◆ statement

Definition at line 14 of file dg.h.

◆ vertex

typedef struct _newgen_struct_vertex_* vertex

Definition at line 28 of file dg.h.

Function Documentation

◆ check_cone()

cone check_cone ( cone  p)

Definition at line 24 of file dg.c.

24  {
25  return (cone) gen_check((gen_chunk*) p, cone_domain);
26 }
#define cone_domain
newgen_Ptsg_domain_defined
Definition: dg.h:39
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
A gen_chunk is used to store every object.
Definition: genC.h:58

References cone_domain, and gen_check().

Referenced by cone_assign_contents(), and cone_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_conflict()

conflict check_conflict ( conflict  p)

Definition at line 66 of file dg.c.

66  {
68 }
#define conflict_domain
newgen_cone_domain_defined
Definition: dg.h:47

References conflict_domain, and gen_check().

Referenced by conflict_assign_contents(), and conflict_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_dg_arc_label()

dg_arc_label check_dg_arc_label ( dg_arc_label  p)

Definition at line 108 of file dg.c.

108  {
110 }
#define dg_arc_label_domain
newgen_conflict_domain_defined
Definition: dg.h:55

References dg_arc_label_domain, and gen_check().

Referenced by dg_arc_label_assign_contents(), and dg_arc_label_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_dg_vertex_label()

dg_vertex_label check_dg_vertex_label ( dg_vertex_label  p)

Definition at line 150 of file dg.c.

150  {
152 }
#define dg_vertex_label_domain
newgen_dg_arc_label_domain_defined
Definition: dg.h:63

References dg_vertex_label_domain, and gen_check().

Referenced by dg_vertex_label_assign_contents(), and dg_vertex_label_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_scc()

scc check_scc ( scc  p)

Definition at line 276 of file dg.c.

276  {
277  return (scc) gen_check((gen_chunk*) p, scc_domain);
278 }
#define scc_domain
newgen_sccs_domain_defined
Definition: dg.h:87

References gen_check(), and scc_domain.

Referenced by scc_assign_contents(), and scc_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_sccflags()

sccflags check_sccflags ( sccflags  p)

Definition at line 192 of file dg.c.

192  {
194 }
#define sccflags_domain
newgen_dg_vertex_label_domain_defined
Definition: dg.h:71

References gen_check(), and sccflags_domain.

Referenced by sccflags_assign_contents(), and sccflags_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_sccs()

sccs check_sccs ( sccs  p)

Definition at line 234 of file dg.c.

234  {
235  return (sccs) gen_check((gen_chunk*) p, sccs_domain);
236 }
#define sccs_domain
newgen_sccflags_domain_defined
Definition: dg.h:79

References gen_check(), and sccs_domain.

Referenced by sccs_assign_contents(), and sccs_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cone_assign_contents()

void cone_assign_contents ( cone  r,
cone  v 
)

Definition at line 37 of file dg.c.

37  {
38  check_cone(r);
39  check_cone(v);
40  message_assert("defined references to domain cone",
42  memcpy(r, v, sizeof(struct _newgen_struct_cone_));
43 }
cone check_cone(cone p)
Definition: dg.c:24
bool cone_defined_p(cone p)
Definition: dg.c:31
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_cone(), cone_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ cone_consistent_p()

bool cone_consistent_p ( cone  p)

Definition at line 27 of file dg.c.

27  {
28  check_cone(p);
29  return gen_consistent_p((gen_chunk*) p);
30 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_cone(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ cone_defined_p()

bool cone_defined_p ( cone  p)

Definition at line 31 of file dg.c.

31  {
32  return gen_defined_p((gen_chunk*) p);
33 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by cone_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cone_non_recursive_free()

void cone_non_recursive_free ( cone  p)

Definition at line 44 of file dg.c.

44  {
45  // should clear up contents...
46  free(p);
47 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ conflict_assign_contents()

void conflict_assign_contents ( conflict  r,
conflict  v 
)

Definition at line 79 of file dg.c.

79  {
80  check_conflict(r);
81  check_conflict(v);
82  message_assert("defined references to domain conflict",
84  memcpy(r, v, sizeof(struct _newgen_struct_conflict_));
85 }
bool conflict_defined_p(conflict p)
Definition: dg.c:73
conflict check_conflict(conflict p)
Definition: dg.c:66

References check_conflict(), conflict_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ conflict_consistent_p()

bool conflict_consistent_p ( conflict  p)

Definition at line 69 of file dg.c.

69  {
70  check_conflict(p);
71  return gen_consistent_p((gen_chunk*) p);
72 }

References check_conflict(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ conflict_defined_p()

bool conflict_defined_p ( conflict  p)

Definition at line 73 of file dg.c.

73  {
74  return gen_defined_p((gen_chunk*) p);
75 }

References gen_defined_p().

Referenced by conflict_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ conflict_non_recursive_free()

void conflict_non_recursive_free ( conflict  p)

Definition at line 86 of file dg.c.

86  {
87  // should clear up contents...
88  free(p);
89 }

References free().

+ Here is the call graph for this function:

◆ copy_cone()

cone copy_cone ( cone  p)

CONE.

Definition at line 18 of file dg.c.

18  {
19  return (cone) gen_copy_tree((gen_chunk*) p);
20 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_conflict()

conflict copy_conflict ( conflict  p)

CONFLICT.

Definition at line 60 of file dg.c.

60  {
61  return (conflict) gen_copy_tree((gen_chunk*) p);
62 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_dg_arc_label()

dg_arc_label copy_dg_arc_label ( dg_arc_label  p)

DG_ARC_LABEL.

Definition at line 102 of file dg.c.

102  {
103  return (dg_arc_label) gen_copy_tree((gen_chunk*) p);
104 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_dg_vertex_label()

dg_vertex_label copy_dg_vertex_label ( dg_vertex_label  p)

DG_VERTEX_LABEL.

Definition at line 144 of file dg.c.

144  {
145  return (dg_vertex_label) gen_copy_tree((gen_chunk*) p);
146 }

References gen_copy_tree().

Referenced by dg_vertex_dup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy_scc()

scc copy_scc ( scc  p)

SCC.

Definition at line 270 of file dg.c.

270  {
271  return (scc) gen_copy_tree((gen_chunk*) p);
272 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_sccflags()

sccflags copy_sccflags ( sccflags  p)

SCCFLAGS.

Definition at line 186 of file dg.c.

186  {
187  return (sccflags) gen_copy_tree((gen_chunk*) p);
188 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_sccs()

sccs copy_sccs ( sccs  p)

SCCS.

Definition at line 228 of file dg.c.

228  {
229  return (sccs) gen_copy_tree((gen_chunk*) p);
230 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ dg_arc_label_assign_contents()

void dg_arc_label_assign_contents ( dg_arc_label  r,
dg_arc_label  v 
)

Definition at line 121 of file dg.c.

121  {
124  message_assert("defined references to domain dg_arc_label",
126  memcpy(r, v, sizeof(struct _newgen_struct_dg_arc_label_));
127 }
bool dg_arc_label_defined_p(dg_arc_label p)
Definition: dg.c:115
dg_arc_label check_dg_arc_label(dg_arc_label p)
Definition: dg.c:108

References check_dg_arc_label(), dg_arc_label_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ dg_arc_label_consistent_p()

bool dg_arc_label_consistent_p ( dg_arc_label  p)

Definition at line 111 of file dg.c.

111  {
113  return gen_consistent_p((gen_chunk*) p);
114 }

References check_dg_arc_label(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ dg_arc_label_defined_p()

bool dg_arc_label_defined_p ( dg_arc_label  p)

Definition at line 115 of file dg.c.

115  {
116  return gen_defined_p((gen_chunk*) p);
117 }

References gen_defined_p().

Referenced by dg_arc_label_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dg_arc_label_non_recursive_free()

void dg_arc_label_non_recursive_free ( dg_arc_label  p)

Definition at line 128 of file dg.c.

128  {
129  // should clear up contents...
130  free(p);
131 }

References free().

+ Here is the call graph for this function:

◆ dg_vertex_label_assign_contents()

void dg_vertex_label_assign_contents ( dg_vertex_label  r,
dg_vertex_label  v 
)

Definition at line 163 of file dg.c.

163  {
166  message_assert("defined references to domain dg_vertex_label",
168  memcpy(r, v, sizeof(struct _newgen_struct_dg_vertex_label_));
169 }
bool dg_vertex_label_defined_p(dg_vertex_label p)
Definition: dg.c:157
dg_vertex_label check_dg_vertex_label(dg_vertex_label p)
Definition: dg.c:150

References check_dg_vertex_label(), dg_vertex_label_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ dg_vertex_label_consistent_p()

bool dg_vertex_label_consistent_p ( dg_vertex_label  p)

Definition at line 153 of file dg.c.

153  {
155  return gen_consistent_p((gen_chunk*) p);
156 }

References check_dg_vertex_label(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ dg_vertex_label_defined_p()

bool dg_vertex_label_defined_p ( dg_vertex_label  p)

Definition at line 157 of file dg.c.

157  {
158  return gen_defined_p((gen_chunk*) p);
159 }

References gen_defined_p().

Referenced by dg_vertex_label_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dg_vertex_label_non_recursive_free()

void dg_vertex_label_non_recursive_free ( dg_vertex_label  p)

Definition at line 170 of file dg.c.

170  {
171  // should clear up contents...
172  free(p);
173 }

References free().

+ Here is the call graph for this function:

◆ free_cone()

void free_cone ( cone  p)

Definition at line 21 of file dg.c.

21  {
22  gen_free((gen_chunk*) p);
23 }
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992

References gen_free().

+ Here is the call graph for this function:

◆ free_conflict()

void free_conflict ( conflict  p)

Definition at line 63 of file dg.c.

63  {
64  gen_free((gen_chunk*) p);
65 }

References gen_free().

Referenced by rice_update_dependence_graph().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ free_dg_arc_label()

void free_dg_arc_label ( dg_arc_label  p)

Definition at line 105 of file dg.c.

105  {
106  gen_free((gen_chunk*) p);
107 }

References gen_free().

+ Here is the call graph for this function:

◆ free_dg_vertex_label()

void free_dg_vertex_label ( dg_vertex_label  p)

Definition at line 147 of file dg.c.

147  {
148  gen_free((gen_chunk*) p);
149 }

References gen_free().

+ Here is the call graph for this function:

◆ free_scc()

void free_scc ( scc  p)

Definition at line 273 of file dg.c.

273  {
274  gen_free((gen_chunk*) p);
275 }

References gen_free().

+ Here is the call graph for this function:

◆ free_sccflags()

void free_sccflags ( sccflags  p)

Definition at line 189 of file dg.c.

189  {
190  gen_free((gen_chunk*) p);
191 }

References gen_free().

+ Here is the call graph for this function:

◆ free_sccs()

void free_sccs ( sccs  p)

Definition at line 231 of file dg.c.

231  {
232  gen_free((gen_chunk*) p);
233 }

References gen_free().

+ Here is the call graph for this function:

◆ gen_cone_cons()

list gen_cone_cons ( cone  p,
list  l 
)

Definition at line 34 of file dg.c.

34  {
35  return gen_typed_cons(CONE_NEWGEN_DOMAIN, p, l);
36 }
#define CONE_NEWGEN_DOMAIN
Definition: dg.h:42
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900

References CONE_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_conflict_cons()

list gen_conflict_cons ( conflict  p,
list  l 
)

Definition at line 76 of file dg.c.

76  {
78 }
#define CONFLICT_NEWGEN_DOMAIN
Definition: dg.h:50

References CONFLICT_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_dg_arc_label_cons()

list gen_dg_arc_label_cons ( dg_arc_label  p,
list  l 
)

Definition at line 118 of file dg.c.

118  {
120 }
#define DG_ARC_LABEL_NEWGEN_DOMAIN
Definition: dg.h:58

References DG_ARC_LABEL_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_dg_vertex_label_cons()

list gen_dg_vertex_label_cons ( dg_vertex_label  p,
list  l 
)

Definition at line 160 of file dg.c.

160  {
162 }
#define DG_VERTEX_LABEL_NEWGEN_DOMAIN
Definition: dg.h:66

References DG_VERTEX_LABEL_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_scc_cons()

list gen_scc_cons ( scc  p,
list  l 
)

Definition at line 286 of file dg.c.

286  {
287  return gen_typed_cons(SCC_NEWGEN_DOMAIN, p, l);
288 }
#define SCC_NEWGEN_DOMAIN
Definition: dg.h:90

References gen_typed_cons(), and SCC_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_sccflags_cons()

list gen_sccflags_cons ( sccflags  p,
list  l 
)

Definition at line 202 of file dg.c.

202  {
204 }
#define SCCFLAGS_NEWGEN_DOMAIN
Definition: dg.h:74

References gen_typed_cons(), and SCCFLAGS_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_sccs_cons()

list gen_sccs_cons ( sccs  p,
list  l 
)

Definition at line 244 of file dg.c.

244  {
245  return gen_typed_cons(SCCS_NEWGEN_DOMAIN, p, l);
246 }
#define SCCS_NEWGEN_DOMAIN
Definition: dg.h:82

References gen_typed_cons(), and SCCS_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ make_cone()

cone make_cone ( list  a1,
Ptsg  a2 
)

Definition at line 54 of file dg.c.

54  {
55  return (cone) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, cone_domain, a1, a2);
56 }
#define GEN_CHECK_ALLOC
Definition: genC.h:307
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298

References cone_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by conflict_dup(), and rice_update_dependence_graph().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_conflict()

conflict make_conflict ( effect  a1,
effect  a2,
cone  a3 
)

Definition at line 96 of file dg.c.

96  {
97  return (conflict) gen_alloc(4*sizeof(gen_chunk), GEN_CHECK_ALLOC, conflict_domain, a1, a2, a3);
98 }

References conflict_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by conflict_dup(), and pushnew_conflict().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_dg_arc_label()

dg_arc_label make_dg_arc_label ( list  a)

Definition at line 138 of file dg.c.

138  {
140 }

References dg_arc_label_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by add_conflicts(), adg_only_call_WR_dependence(), and dg_arc_label_dup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_dg_vertex_label()

dg_vertex_label make_dg_vertex_label ( intptr_t  a1,
sccflags  a2 
)

Definition at line 180 of file dg.c.

180  {
182 }

References dg_vertex_label_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by dg_vertex_label_dup(), and init_one_statement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_scc()

scc make_scc ( list  a1,
intptr_t  a2 
)

Definition at line 306 of file dg.c.

306  {
307  return (scc) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, scc_domain, a1, a2);
308 }

References gen_alloc(), GEN_CHECK_ALLOC, and scc_domain.

Referenced by dfg_low_link_compute(), and LowlinkCompute().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_sccflags()

sccflags make_sccflags ( scc  a1,
intptr_t  a2,
intptr_t  a3,
intptr_t  a4 
)

Definition at line 222 of file dg.c.

222  {
223  return (sccflags) gen_alloc(5*sizeof(gen_chunk), GEN_CHECK_ALLOC, sccflags_domain, a1, a2, a3, a4);
224 }

References gen_alloc(), GEN_CHECK_ALLOC, and sccflags_domain.

Referenced by dfg_find_sccs(), FindSccs(), and rice_update_dependence_graph().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ make_sccs()

sccs make_sccs ( list  a)

Definition at line 264 of file dg.c.

264  {
265  return (sccs) gen_alloc(2*sizeof(gen_chunk), GEN_CHECK_ALLOC, sccs_domain, a);
266 }

References gen_alloc(), GEN_CHECK_ALLOC, and sccs_domain.

Referenced by dfg_find_sccs(), and FindSccs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ read_cone()

cone read_cone ( FILE *  f)

Definition at line 51 of file dg.c.

51  {
52  return (cone) gen_read(f);
53 }
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_conflict()

conflict read_conflict ( FILE *  f)

Definition at line 93 of file dg.c.

93  {
94  return (conflict) gen_read(f);
95 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_dg_arc_label()

dg_arc_label read_dg_arc_label ( FILE *  f)

Definition at line 135 of file dg.c.

135  {
136  return (dg_arc_label) gen_read(f);
137 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_dg_vertex_label()

dg_vertex_label read_dg_vertex_label ( FILE *  f)

Definition at line 177 of file dg.c.

177  {
178  return (dg_vertex_label) gen_read(f);
179 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_scc()

scc read_scc ( FILE *  f)

Definition at line 303 of file dg.c.

303  {
304  return (scc) gen_read(f);
305 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_sccflags()

sccflags read_sccflags ( FILE *  f)

Definition at line 219 of file dg.c.

219  {
220  return (sccflags) gen_read(f);
221 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_sccs()

sccs read_sccs ( FILE *  f)

Definition at line 261 of file dg.c.

261  {
262  return (sccs) gen_read(f);
263 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ scc_assign_contents()

void scc_assign_contents ( scc  r,
scc  v 
)

Definition at line 289 of file dg.c.

289  {
290  check_scc(r);
291  check_scc(v);
292  message_assert("defined references to domain scc",
293  scc_defined_p(r) && scc_defined_p(v));
294  memcpy(r, v, sizeof(struct _newgen_struct_scc_));
295 }
bool scc_defined_p(scc p)
Definition: dg.c:283
scc check_scc(scc p)
Definition: dg.c:276

References check_scc(), message_assert, and scc_defined_p().

+ Here is the call graph for this function:

◆ scc_consistent_p()

bool scc_consistent_p ( scc  p)

Definition at line 279 of file dg.c.

279  {
280  check_scc(p);
281  return gen_consistent_p((gen_chunk*) p);
282 }

References check_scc(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ scc_defined_p()

bool scc_defined_p ( scc  p)

Definition at line 283 of file dg.c.

283  {
284  return gen_defined_p((gen_chunk*) p);
285 }

References gen_defined_p().

Referenced by scc_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ scc_non_recursive_free()

void scc_non_recursive_free ( scc  p)

Definition at line 296 of file dg.c.

296  {
297  // should clear up contents...
298  free(p);
299 }

References free().

+ Here is the call graph for this function:

◆ sccflags_assign_contents()

void sccflags_assign_contents ( sccflags  r,
sccflags  v 
)

Definition at line 205 of file dg.c.

205  {
206  check_sccflags(r);
207  check_sccflags(v);
208  message_assert("defined references to domain sccflags",
210  memcpy(r, v, sizeof(struct _newgen_struct_sccflags_));
211 }
bool sccflags_defined_p(sccflags p)
Definition: dg.c:199
sccflags check_sccflags(sccflags p)
Definition: dg.c:192

References check_sccflags(), message_assert, and sccflags_defined_p().

+ Here is the call graph for this function:

◆ sccflags_consistent_p()

bool sccflags_consistent_p ( sccflags  p)

Definition at line 195 of file dg.c.

195  {
196  check_sccflags(p);
197  return gen_consistent_p((gen_chunk*) p);
198 }

References check_sccflags(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ sccflags_defined_p()

bool sccflags_defined_p ( sccflags  p)

Definition at line 199 of file dg.c.

199  {
200  return gen_defined_p((gen_chunk*) p);
201 }

References gen_defined_p().

Referenced by sccflags_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sccflags_non_recursive_free()

void sccflags_non_recursive_free ( sccflags  p)

Definition at line 212 of file dg.c.

212  {
213  // should clear up contents...
214  free(p);
215 }

References free().

+ Here is the call graph for this function:

◆ sccs_assign_contents()

void sccs_assign_contents ( sccs  r,
sccs  v 
)

Definition at line 247 of file dg.c.

247  {
248  check_sccs(r);
249  check_sccs(v);
250  message_assert("defined references to domain sccs",
251  sccs_defined_p(r) && sccs_defined_p(v));
252  memcpy(r, v, sizeof(struct _newgen_struct_sccs_));
253 }
sccs check_sccs(sccs p)
Definition: dg.c:234
bool sccs_defined_p(sccs p)
Definition: dg.c:241

References check_sccs(), message_assert, and sccs_defined_p().

+ Here is the call graph for this function:

◆ sccs_consistent_p()

bool sccs_consistent_p ( sccs  p)

Definition at line 237 of file dg.c.

237  {
238  check_sccs(p);
239  return gen_consistent_p((gen_chunk*) p);
240 }

References check_sccs(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ sccs_defined_p()

bool sccs_defined_p ( sccs  p)

Definition at line 241 of file dg.c.

241  {
242  return gen_defined_p((gen_chunk*) p);
243 }

References gen_defined_p().

Referenced by sccs_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sccs_non_recursive_free()

void sccs_non_recursive_free ( sccs  p)

Definition at line 254 of file dg.c.

254  {
255  // should clear up contents...
256  free(p);
257 }

References free().

+ Here is the call graph for this function:

◆ write_cone()

void write_cone ( FILE *  f,
cone  p 
)

Definition at line 48 of file dg.c.

48  {
49  gen_write(f, (gen_chunk*) p);
50 }
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_conflict()

void write_conflict ( FILE *  f,
conflict  p 
)

Definition at line 90 of file dg.c.

90  {
91  gen_write(f, (gen_chunk*) p);
92 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_dg_arc_label()

void write_dg_arc_label ( FILE *  f,
dg_arc_label  p 
)

Definition at line 132 of file dg.c.

132  {
133  gen_write(f, (gen_chunk*) p);
134 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_dg_vertex_label()

void write_dg_vertex_label ( FILE *  f,
dg_vertex_label  p 
)

Definition at line 174 of file dg.c.

174  {
175  gen_write(f, (gen_chunk*) p);
176 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_scc()

void write_scc ( FILE *  f,
scc  p 
)

Definition at line 300 of file dg.c.

300  {
301  gen_write(f, (gen_chunk*) p);
302 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_sccflags()

void write_sccflags ( FILE *  f,
sccflags  p 
)

Definition at line 216 of file dg.c.

216  {
217  gen_write(f, (gen_chunk*) p);
218 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_sccs()

void write_sccs ( FILE *  f,
sccs  p 
)

Definition at line 258 of file dg.c.

258  {
259  gen_write(f, (gen_chunk*) p);
260 }

References f(), and gen_write().

+ Here is the call graph for this function: