Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | #ifndef cg_arcs_h |
2 | #define cg_arcs_h | |
3 | ||
4 | #include "gprof.h" | |
5 | #include "symtab.h" | |
6 | ||
7 | /* | |
8 | * Arc structure for call-graph. | |
9 | * | |
10 | * With pointers to the symbols of the parent and the child, a count | |
11 | * of how many times this arc was traversed, and pointers to the next | |
12 | * parent of this child and the next child of this parent. | |
13 | */ | |
14 | typedef struct arc | |
15 | { | |
16 | Sym *parent; /* source vertice of arc */ | |
17 | Sym *child; /* dest vertice of arc */ | |
18 | unsigned long count; /* # of calls from parent to child */ | |
19 | double time; /* time inherited along arc */ | |
20 | double child_time; /* child-time inherited along arc */ | |
21 | struct arc *next_parent; /* next parent of CHILD */ | |
22 | struct arc *next_child; /* next child of PARENT */ | |
23 | int has_been_placed; /* have this arc's functions been placed? */ | |
24 | } | |
25 | Arc; | |
26 | ||
27 | extern unsigned int num_cycles; /* number of cycles discovered */ | |
28 | extern Sym *cycle_header; /* cycle headers */ | |
29 | ||
30 | extern void arc_add PARAMS ((Sym * parent, Sym * child, unsigned long count)); | |
31 | extern Arc *arc_lookup PARAMS ((Sym * parent, Sym * child)); | |
32 | extern Sym **cg_assemble PARAMS ((void)); | |
33 | extern Arc **arcs; | |
34 | extern unsigned int numarcs; | |
35 | ||
36 | #endif /* cg_arcs_h */ |