PIPS
dg.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "genC.h"
#include "dg.h"
+ Include dependency graph for dg.c:

Go to the source code of this file.

Typedefs

typedef void * Ptsg
 

Functions

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

Typedef Documentation

◆ Ptsg

typedef void* Ptsg

Definition at line 7 of file dg.c.

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: