]>
Commit | Line | Data |
---|---|---|
5489fcc3 KR |
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 | */ | |
12516a37 KR |
14 | typedef struct arc |
15 | { | |
16 | Sym *parent; /* source vertice of arc */ | |
17 | Sym *child; /* dest vertice of arc */ | |
18 | int 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 | } | |
24 | Arc; | |
5489fcc3 | 25 | |
12516a37 KR |
26 | extern int num_cycles; /* number of cycles discovered */ |
27 | extern Sym *cycle_header; /* cycle headers */ | |
5489fcc3 | 28 | |
12516a37 KR |
29 | extern void arc_add PARAMS ((Sym * parent, Sym * child, int count)); |
30 | extern Arc *arc_lookup PARAMS ((Sym * parent, Sym * child)); | |
31 | extern Sym **cg_assemble PARAMS ((void)); | |
5489fcc3 KR |
32 | |
33 | #endif /* cg_arcs_h */ |