-
Notifications
You must be signed in to change notification settings - Fork 0
/
sfg-callgraph-from-asm.gv
350 lines (350 loc) · 9.97 KB
/
sfg-callgraph-from-asm.gv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
digraph asmcallgraph {
"sfg_init" -> "calloc@PLT"
"sfg_init" -> "splay_tree_new"
"sfg_deinit" -> "free@PLT"
"sfg_deinit" -> "free@PLT"
"sfg_deinit" -> "free@PLT"
"sfg_deinit" -> "clear_stlist_all"
"sfg_deinit" -> "clear_edgelist"
"sfg_deinit" -> "clear_nodelist"
"sfg_deinit" -> "splay_tree_delete"
"sfg_deinit" -> "free@PLT"
"sfg_addnode" -> "uniqnode"
"sfg_addnode" -> "calloc@PLT"
"sfg_addnode" -> "calloc@PLT"
"sfg_addnode" -> "free@PLT"
"sfg_addnode" -> "uniqnode_add"
"sfg_addedge" -> "uniqnode"
"sfg_addedge" -> "uniqnode"
"sfg_addedge" -> "calloc@PLT"
"sfg_addedge" -> "calloc@PLT"
"sfg_addedge" -> "free@PLT"
"sfg_layout" -> "prep"
"sfg_layout" -> "reorg"
"sfg_layout" -> "uncycle"
"sfg_layout" -> "reorg"
"sfg_layout" -> "ylevels"
"sfg_layout" -> "shorteredges"
"sfg_layout" -> "edgesdownwards"
"sfg_layout" -> "edgelen"
"sfg_layout" -> "doublespacey"
"sfg_layout" -> "edgelabels"
"sfg_layout" -> "splitedges"
"sfg_layout" -> "nodecounts"
"sfg_layout" -> "barycenter"
"sfg_layout" -> "improve_positions"
"sfg_layout" -> "finalxy"
"sfg_layout" -> "setminmax"
"sfg_nodexpos" -> "uniqnode"
"sfg_nodeypos" -> "uniqnode"
"sfg_noderelxpos" -> "uniqnode"
"sfg_noderelypos" -> "uniqnode"
"sfg_nodely0" -> "uniqnode"
"sfg_nodely1" -> "uniqnode"
"sfg_nodexsize" -> "uniqnode"
"sfg_nodeysize" -> "uniqnode"
"sfg_nodetype" -> "uniqnode"
"sfg_nodeselfedges" -> "uniqnode"
"sfg_nodeindegree" -> "uniqnode"
"sfg_nodeoutdegree" -> "uniqnode"
"sfg_nodeenum" -> "uniqnode"
"sfg_nodedata" -> "uniqnode"
"sfg_setnodedata" -> "uniqnode"
"sfg_edgefrom" -> "findedge"
"sfg_edgeto" -> "findedge"
"sfg_edgetype" -> "findedge"
"sfg_edgerev" -> "findedge"
"splay_tree_delete_helper" -> "splay_tree_delete_helper"
"splay_tree_delete_helper" -> "splay_tree_delete_helper"
"splay_tree_delete_helper" -> "free@PLT"
"splay_tree_delete" -> "splay_tree_delete_helper"
"splay_tree_delete" -> "free@PLT"
"splay_tree_new" -> "calloc@PLT"
"splay_tree_insert" -> "splay_tree_lookup"
"splay_tree_insert" -> "calloc@PLT"
"splay_tree_lookup" -> "splay"
"uniqnode" -> "splay_tree_lookup"
"uniqnode_add" -> "splay_tree_new"
"uniqnode_add" -> "splay_tree_lookup"
"uniqnode_add" -> "splay_tree_insert"
"clear_nodelist" -> "free@PLT"
"clear_nodelist" -> "free@PLT"
"clear_edgelist" -> "free@PLT"
"clear_edgelist" -> "free@PLT"
"reorg" -> "calloc@PLT"
"reorg" -> "calloc@PLT"
"reorg" -> "calloc@PLT"
"reorg" -> "calloc@PLT"
"reorg" -> "free@PLT"
"decycle3" -> "decycle3"
"uncycle" -> "clear_stlist_all"
"uncycle" -> "make_stlist"
"uncycle" -> "decycle3"
"uncycle" -> "decycle3"
"uncycle" -> "clear_stlist_all"
"uncycle" -> "make_stlist"
"make_stlist" -> "calloc@PLT"
"make_stlist" -> "calloc@PLT"
"clear_stlist" -> "free@PLT"
"clear_stlist" -> "free@PLT"
"clear_stlist_all" -> "clear_stlist"
"add_singlenode" -> "calloc@PLT"
"ylevels" -> "add_singlenode"
"ylevels" -> "set_level2"
"ylevels" -> "set_level2"
"ylevels" -> "set_level2"
"ylevels" -> "calloc@PLT"
"set_level2" -> "set_level2"
"unrev" -> "clear_stlist_all"
"unrev" -> "make_stlist"
"shorteredges" -> "unrev"
"shorteredges" -> "do_abs"
"shorteredges" -> "do_abs"
"edgesdownwards" -> "clear_stlist_all"
"edgesdownwards" -> "make_stlist"
"edgelen" -> "clear_stlist_all"
"edgelen" -> "make_stlist"
"add_new_dummynode" -> "uniqnode"
"add_new_dummynode" -> "calloc@PLT"
"add_new_dummynode" -> "uniqnode_add"
"add_new_dummynode" -> "calloc@PLT"
"add_new_dummynode" -> "free@PLT"
"add_new_dummyedge" -> "uniqnode"
"add_new_dummyedge" -> "uniqnode"
"add_new_dummyedge" -> "calloc@PLT"
"add_new_dummyedge" -> "calloc@PLT"
"add_new_dummyedge" -> "free@PLT"
"del_edge" -> "free@PLT"
"del_edge" -> "free@PLT"
"del_edge" -> "free@PLT"
"del_edge" -> "free@PLT"
"edgelabels" -> "add_new_dummynode"
"edgelabels" -> "uniqnode"
"edgelabels" -> "add_new_dummyedge"
"edgelabels" -> "add_new_dummyedge"
"edgelabels" -> "del_edge"
"edgelabels" -> "clear_stlist_all"
"edgelabels" -> "make_stlist"
"splitedges" -> "add_new_dummynode"
"splitedges" -> "uniqnode"
"splitedges" -> "add_new_dummyedge"
"splitedges" -> "add_new_dummyedge"
"splitedges" -> "del_edge"
"nodecounts" -> "clear_stlist_all"
"nodecounts" -> "make_stlist"
"nodecounts" -> "calloc@PLT"
"mget" -> "testbit"
"mget_set" -> "setbit"
"mget_set" -> "clearbit"
"number_of_crossings2" -> "mget"
"number_of_crossings2" -> "mget"
"number_of_crossings3" -> "mget"
"number_of_crossings3" -> "mget"
"number_of_crossings_a" -> "number_of_crossings3"
"make_matrix" -> "mget_set"
"make_matrix" -> "mget_set"
"su_find_node_with_number" -> "uniqnode"
"store_new_positions" -> "su_find_node_with_number"
"store_new_positions" -> "su_find_node_with_number"
"copy_m" -> "do_memmove"
"copy_m" -> "do_memmove"
"copy_m" -> "do_memmove"
"copy_m" -> "do_memmove"
"equal_m" -> "mget"
"equal_m" -> "mget"
"equal_a" -> "equal_m"
"copy_a" -> "copy_m"
"exch_rows" -> "mget"
"exch_rows" -> "mget"
"exch_rows" -> "mget_set"
"exch_rows" -> "mget_set"
"exch_columns" -> "mget"
"exch_columns" -> "mget"
"exch_columns" -> "mget_set"
"exch_columns" -> "mget_set"
"reverse_r" -> "exch_rows"
"reverse_c" -> "exch_columns"
"row_barycenter" -> "mget"
"column_barycenter" -> "mget"
"r_r" -> "row_barycenter"
"r_r" -> "reverse_r"
"r_r" -> "reverse_c"
"r_c" -> "column_barycenter"
"r_c" -> "reverse_c"
"r_c" -> "reverse_r"
"b_r" -> "row_barycenter"
"b_r" -> "exch_rows"
"b_r" -> "exch_columns"
"b_c" -> "column_barycenter"
"b_c" -> "exch_columns"
"b_c" -> "exch_rows"
"phase1_down" -> "b_c"
"phase1_down" -> "b_c"
"phase1_up" -> "b_r"
"phase1_up" -> "b_r"
"phase2_down" -> "column_barycenter"
"phase2_down" -> "sorted"
"phase2_down" -> "r_c"
"phase2_down" -> "column_barycenter"
"phase2_down" -> "sorted"
"phase2_down" -> "r_c"
"phase2_up" -> "row_barycenter"
"phase2_up" -> "sorted"
"phase2_up" -> "r_r"
"phase2_up" -> "row_barycenter"
"phase2_up" -> "sorted"
"phase2_up" -> "r_r"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "calloc@PLT"
"bc_n" -> "make_matrix"
"bc_n" -> "copy_a"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "phase1_down"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_up"
"bc_n" -> "copy_a"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_down"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_up"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "equal_a"
"bc_n" -> "equal_a"
"bc_n" -> "copy_a"
"bc_n" -> "copy_a"
"bc_n" -> "phase2_down"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_down"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_up"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "equal_a"
"bc_n" -> "phase2_up"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_up"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "phase1_down"
"bc_n" -> "number_of_crossings_a"
"bc_n" -> "copy_a"
"bc_n" -> "equal_a"
"bc_n" -> "equal_a"
"bc_n" -> "store_new_positions"
"bc_n" -> "store_new_positions"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"bc_n" -> "free@PLT"
"barycenter" -> "calloc@PLT"
"barycenter" -> "bc_n"
"upper_barycenter" -> "upper_connectivity"
"upper_barycenter" -> "upper_connectivity"
"upper_barycenter" -> "do_floor"
"lower_barycenter" -> "lower_connectivity"
"lower_barycenter" -> "lower_connectivity"
"lower_barycenter" -> "do_floor"
"make_node_list_up" -> "is_dummy"
"make_node_list_up" -> "lower_connectivity"
"make_node_list_up" -> "sort"
"make_node_list_down" -> "is_dummy"
"make_node_list_down" -> "upper_connectivity"
"make_node_list_down" -> "sort"
"do_down" -> "find_next"
"do_down" -> "upper_barycenter"
"do_up" -> "find_next"
"do_up" -> "lower_barycenter"
"improve_positions2local" -> "calloc@PLT"
"improve_positions2local" -> "make_node_list_down"
"improve_positions2local" -> "do_down"
"improve_positions2local" -> "free@PLT"
"improve_positions2local" -> "calloc@PLT"
"improve_positions2local" -> "make_node_list_up"
"improve_positions2local" -> "do_up"
"improve_positions2local" -> "free@PLT"
"improve_positions2local" -> "calloc@PLT"
"improve_positions2local" -> "make_node_list_up"
"improve_positions2local" -> "do_up"
"improve_positions2local" -> "free@PLT"
"improve_positions2local" -> "calloc@PLT"
"improve_positions2local" -> "make_node_list_down"
"improve_positions2local" -> "do_down"
"improve_positions2local" -> "free@PLT"
"make_cnnodes_at_level" -> "calloc@PLT"
"clear_cnnodes_at_level" -> "free@PLT"
"make_cnodelist" -> "calloc@PLT"
"clear_cnodelist" -> "free@PLT"
"make_cposnodes" -> "calloc@PLT"
"make_cposnodes" -> "calloc@PLT"
"make_cposnodes" -> "calloc@PLT"
"clear_cposnodes" -> "free@PLT"
"clear_cposnodes" -> "free@PLT"
"clear_cposnodes" -> "free@PLT"
"make_clevelnodes" -> "calloc@PLT"
"make_clevelnodes" -> "calloc@PLT"
"make_clevelnodes" -> "calloc@PLT"
"clear_clevelnodes" -> "free@PLT"
"clear_clevelnodes" -> "free@PLT"
"clear_clevelnodes" -> "free@PLT"
"cfinalxy" -> "make_cposnodes"
"cfinalxy" -> "clear_cposnodes"
"cfinalxy" -> "make_clevelnodes"
"cfinalxy" -> "calloc@PLT"
"cfinalxy" -> "clear_clevelnodes"
"cfinalxy" -> "free@PLT"
"improve_positions" -> "make_cnodelist"
"improve_positions" -> "make_cnnodes_at_level"
"improve_positions" -> "improve_positions2local"
"improve_positions" -> "move0"
"improve_positions" -> "cfinalxy"
"improve_positions" -> "tunedummy"
"improve_positions" -> "tunenodes"
"improve_positions" -> "movefinal"
"improve_positions" -> "clear_cnnodes_at_level"
"improve_positions" -> "clear_cnodelist"
}