sfg-callgraph.gv 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. /* generated callgraph from binary by objcg.peg */
  2. digraph objcg {
  3. /* at function _start() */
  4. /* at function deregister_tm_clones() */
  5. /* at function register_tm_clones() */
  6. /* at function __do_global_dtors_aux() */
  7. "__do_global_dtors_aux" -> "deregister_tm_clones";
  8. /* at function frame_dummy() */
  9. /* at function main() */
  10. "main" -> "sfg_version";
  11. "main" -> "sfg_init";
  12. "main" -> "sfg_addnode";
  13. "main" -> "sfg_addedge";
  14. "main" -> "sfg_addedge";
  15. "main" -> "sfg_xspacing";
  16. "main" -> "sfg_yspacing";
  17. "main" -> "sfg_layout";
  18. "main" -> "sfg_nlevels";
  19. "main" -> "sfg_maxy";
  20. "main" -> "sfg_maxx";
  21. "main" -> "sfg_node_foreach";
  22. "main" -> "sfg_edge_foreach";
  23. "main" -> "sfg_deinit";
  24. "main" -> "sfg_init";
  25. "main" -> "readfile";
  26. "main" -> "sfg_layout";
  27. "main" -> "sfg_nedges";
  28. "main" -> "sfg_nnodes";
  29. "main" -> "sfg_nlevels";
  30. "main" -> "sfg_maxy";
  31. "main" -> "sfg_maxx";
  32. "main" -> "head";
  33. "main" -> "sfg_node_foreach";
  34. "main" -> "sfg_edge_foreach";
  35. "main" -> "tail";
  36. "main" -> "sfg_deinit";
  37. /* at function getnodedata() */
  38. /* at function getedgedata() */
  39. /* at function readfile() */
  40. "readfile" -> "sfg_addnode";
  41. "readfile" -> "sfg_addedge";
  42. /* at function getnodedataps() */
  43. /* at function getedgedataps() */
  44. "getedgedataps" -> "sfg_nodetype";
  45. "getedgedataps" -> "sfg_nodetype";
  46. "getedgedataps" -> "sfg_nodexpos";
  47. "getedgedataps" -> "sfg_nodeypos";
  48. "getedgedataps" -> "sfg_nodexpos";
  49. "getedgedataps" -> "sfg_nodeypos";
  50. "getedgedataps" -> "sfg_nodexsize";
  51. "getedgedataps" -> "sfg_nodeysize";
  52. "getedgedataps" -> "sfg_nodexsize";
  53. "getedgedataps" -> "sfg_nodeysize";
  54. "getedgedataps" -> "sfg_noderelypos";
  55. "getedgedataps" -> "sfg_noderelypos";
  56. /* at function head() */
  57. "head" -> "sfg_maxy";
  58. "head" -> "sfg_maxx";
  59. /* at function tail() */
  60. /* at function sfg_version() */
  61. /* at function sfg_init() */
  62. "sfg_init" -> "splay_tree_new";
  63. /* at function sfg_deinit() */
  64. "sfg_deinit" -> "clear_stlist_all";
  65. "sfg_deinit" -> "clear_edgelist";
  66. "sfg_deinit" -> "clear_nodelist";
  67. "sfg_deinit" -> "splay_tree_delete";
  68. /* at function sfg_addnode() */
  69. "sfg_addnode" -> "uniqnode";
  70. "sfg_addnode" -> "uniqnode_add";
  71. /* at function sfg_addedge() */
  72. "sfg_addedge" -> "uniqnode";
  73. "sfg_addedge" -> "uniqnode";
  74. /* at function sfg_layout() */
  75. "sfg_layout" -> "prep";
  76. "sfg_layout" -> "reorg";
  77. "sfg_layout" -> "uncycle";
  78. "sfg_layout" -> "reorg";
  79. "sfg_layout" -> "ylevels";
  80. "sfg_layout" -> "shorteredges";
  81. "sfg_layout" -> "edgesdownwards";
  82. "sfg_layout" -> "edgelen";
  83. "sfg_layout" -> "doublespacey";
  84. "sfg_layout" -> "edgelabels";
  85. "sfg_layout" -> "splitedges";
  86. "sfg_layout" -> "nodecounts";
  87. "sfg_layout" -> "barycenter";
  88. "sfg_layout" -> "improve_positions";
  89. "sfg_layout" -> "finalxy";
  90. "sfg_layout" -> "setminmax";
  91. /* at function sfg_crossings() */
  92. /* at function sfg_initialcrossings() */
  93. /* at function sfg_edgelabels() */
  94. /* at function sfg_nodexpos() */
  95. "sfg_nodexpos" -> "uniqnode";
  96. /* at function sfg_nodeypos() */
  97. "sfg_nodeypos" -> "uniqnode";
  98. /* at function sfg_noderelxpos() */
  99. "sfg_noderelxpos" -> "uniqnode";
  100. /* at function sfg_noderelypos() */
  101. "sfg_noderelypos" -> "uniqnode";
  102. /* at function sfg_nodely0() */
  103. "sfg_nodely0" -> "uniqnode";
  104. /* at function sfg_nodely1() */
  105. "sfg_nodely1" -> "uniqnode";
  106. /* at function sfg_nodexsize() */
  107. "sfg_nodexsize" -> "uniqnode";
  108. /* at function sfg_nodeysize() */
  109. "sfg_nodeysize" -> "uniqnode";
  110. /* at function sfg_xspacing() */
  111. /* at function sfg_yspacing() */
  112. /* at function sfg_maxx() */
  113. /* at function sfg_maxy() */
  114. /* at function sfg_nodemin() */
  115. /* at function sfg_nodemax() */
  116. /* at function sfg_edgemin() */
  117. /* at function sfg_edgemax() */
  118. /* at function sfg_nlevels() */
  119. /* at function sfg_nnodes() */
  120. /* at function sfg_nedges() */
  121. /* at function sfg_nodetype() */
  122. "sfg_nodetype" -> "uniqnode";
  123. /* at function sfg_nodeselfedges() */
  124. "sfg_nodeselfedges" -> "uniqnode";
  125. /* at function sfg_nodeindegree() */
  126. "sfg_nodeindegree" -> "uniqnode";
  127. /* at function sfg_nodeoutdegree() */
  128. "sfg_nodeoutdegree" -> "uniqnode";
  129. /* at function sfg_nodeenum() */
  130. "sfg_nodeenum" -> "uniqnode";
  131. /* at function sfg_nodedata() */
  132. "sfg_nodedata" -> "uniqnode";
  133. /* at function sfg_setnodedata() */
  134. "sfg_setnodedata" -> "uniqnode";
  135. /* at function sfg_node_foreach() */
  136. /* at function sfg_edgefrom() */
  137. "sfg_edgefrom" -> "findedge";
  138. /* at function sfg_edgeto() */
  139. "sfg_edgeto" -> "findedge";
  140. /* at function sfg_edgetype() */
  141. "sfg_edgetype" -> "findedge";
  142. /* at function sfg_edgerev() */
  143. "sfg_edgerev" -> "findedge";
  144. /* at function sfg_edge_foreach() */
  145. /* at function splay_tree_delete_helper() */
  146. "splay_tree_delete_helper" -> "splay_tree_delete_helper";
  147. "splay_tree_delete_helper" -> "splay_tree_delete_helper";
  148. /* at function splay_tree_delete() */
  149. "splay_tree_delete" -> "splay_tree_delete_helper";
  150. /* at function splay_tree_new() */
  151. /* at function splay_tree_insert() */
  152. "splay_tree_insert" -> "splay_tree_lookup";
  153. /* at function splay_tree_lookup() */
  154. "splay_tree_lookup" -> "splay";
  155. /* at function splay_tree_compare_ints() */
  156. /* at function splay() */
  157. /* at function uniqnode() */
  158. "uniqnode" -> "splay_tree_lookup";
  159. /* at function uniqnode_add() */
  160. "uniqnode_add" -> "splay_tree_new";
  161. "uniqnode_add" -> "splay_tree_lookup";
  162. "uniqnode_add" -> "splay_tree_insert";
  163. /* at function clear_nodelist() */
  164. /* at function clear_edgelist() */
  165. /* at function prep() */
  166. /* at function reorg() */
  167. /* at function decycle3() */
  168. "decycle3" -> "decycle3";
  169. /* at function uncycle() */
  170. "uncycle" -> "clear_stlist_all";
  171. "uncycle" -> "make_stlist";
  172. "uncycle" -> "decycle3";
  173. "uncycle" -> "decycle3";
  174. "uncycle" -> "clear_stlist_all";
  175. "uncycle" -> "make_stlist";
  176. /* at function make_stlist() */
  177. /* at function clear_stlist() */
  178. /* at function clear_stlist_all() */
  179. "clear_stlist_all" -> "clear_stlist";
  180. /* at function add_singlenode() */
  181. /* at function ylevels() */
  182. "ylevels" -> "add_singlenode";
  183. "ylevels" -> "set_level2";
  184. "ylevels" -> "set_level2";
  185. "ylevels" -> "set_level2";
  186. /* at function set_level2() */
  187. "set_level2" -> "set_level2";
  188. /* at function unrev() */
  189. "unrev" -> "clear_stlist_all";
  190. "unrev" -> "make_stlist";
  191. /* at function do_abs() */
  192. /* at function shorteredges() */
  193. "shorteredges" -> "unrev";
  194. "shorteredges" -> "do_abs";
  195. "shorteredges" -> "do_abs";
  196. /* at function edgesdownwards() */
  197. "edgesdownwards" -> "clear_stlist_all";
  198. "edgesdownwards" -> "make_stlist";
  199. /* at function edgelen() */
  200. "edgelen" -> "clear_stlist_all";
  201. "edgelen" -> "make_stlist";
  202. /* at function doublespacey() */
  203. /* at function add_new_dummynode() */
  204. "add_new_dummynode" -> "uniqnode";
  205. "add_new_dummynode" -> "uniqnode_add";
  206. /* at function add_new_dummyedge() */
  207. "add_new_dummyedge" -> "uniqnode";
  208. "add_new_dummyedge" -> "uniqnode";
  209. /* at function del_edge() */
  210. /* at function edgelabels() */
  211. "edgelabels" -> "add_new_dummynode";
  212. "edgelabels" -> "uniqnode";
  213. "edgelabels" -> "add_new_dummyedge";
  214. "edgelabels" -> "add_new_dummyedge";
  215. "edgelabels" -> "del_edge";
  216. "edgelabels" -> "clear_stlist_all";
  217. "edgelabels" -> "make_stlist";
  218. /* at function splitedges() */
  219. "splitedges" -> "add_new_dummynode";
  220. "splitedges" -> "uniqnode";
  221. "splitedges" -> "add_new_dummyedge";
  222. "splitedges" -> "add_new_dummyedge";
  223. "splitedges" -> "del_edge";
  224. /* at function nodecounts() */
  225. "nodecounts" -> "clear_stlist_all";
  226. "nodecounts" -> "make_stlist";
  227. /* at function setbit() */
  228. /* at function clearbit() */
  229. /* at function testbit() */
  230. /* at function mget() */
  231. "mget" -> "testbit";
  232. /* at function mget_set() */
  233. "mget_set" -> "setbit";
  234. "mget_set" -> "clearbit";
  235. /* at function number_of_crossings2() */
  236. "number_of_crossings2" -> "mget";
  237. "number_of_crossings2" -> "mget";
  238. /* at function number_of_crossings3() */
  239. "number_of_crossings3" -> "mget";
  240. "number_of_crossings3" -> "mget";
  241. /* at function number_of_crossings_a() */
  242. "number_of_crossings_a" -> "number_of_crossings3";
  243. /* at function make_matrix() */
  244. "make_matrix" -> "mget_set";
  245. "make_matrix" -> "mget_set";
  246. /* at function su_find_node_with_number() */
  247. "su_find_node_with_number" -> "uniqnode";
  248. /* at function store_new_positions() */
  249. "store_new_positions" -> "su_find_node_with_number";
  250. "store_new_positions" -> "su_find_node_with_number";
  251. /* at function do_memmove() */
  252. /* at function copy_m() */
  253. "copy_m" -> "do_memmove";
  254. "copy_m" -> "do_memmove";
  255. "copy_m" -> "do_memmove";
  256. "copy_m" -> "do_memmove";
  257. /* at function equal_m() */
  258. "equal_m" -> "mget";
  259. "equal_m" -> "mget";
  260. /* at function equal_a() */
  261. "equal_a" -> "equal_m";
  262. /* at function copy_a() */
  263. "copy_a" -> "copy_m";
  264. /* at function exch_rows() */
  265. "exch_rows" -> "mget";
  266. "exch_rows" -> "mget";
  267. "exch_rows" -> "mget_set";
  268. "exch_rows" -> "mget_set";
  269. /* at function exch_columns() */
  270. "exch_columns" -> "mget";
  271. "exch_columns" -> "mget";
  272. "exch_columns" -> "mget_set";
  273. "exch_columns" -> "mget_set";
  274. /* at function reverse_r() */
  275. "reverse_r" -> "exch_rows";
  276. /* at function reverse_c() */
  277. "reverse_c" -> "exch_columns";
  278. /* at function row_barycenter() */
  279. "row_barycenter" -> "mget";
  280. /* at function column_barycenter() */
  281. "column_barycenter" -> "mget";
  282. /* at function r_r() */
  283. "r_r" -> "row_barycenter";
  284. "r_r" -> "reverse_r";
  285. "r_r" -> "reverse_c";
  286. /* at function r_c() */
  287. "r_c" -> "column_barycenter";
  288. "r_c" -> "reverse_c";
  289. "r_c" -> "reverse_r";
  290. /* at function b_r() */
  291. "b_r" -> "row_barycenter";
  292. "b_r" -> "exch_rows";
  293. "b_r" -> "exch_columns";
  294. /* at function b_c() */
  295. "b_c" -> "column_barycenter";
  296. "b_c" -> "exch_columns";
  297. "b_c" -> "exch_rows";
  298. /* at function sorted() */
  299. /* at function phase1_down() */
  300. "phase1_down" -> "b_c";
  301. "phase1_down" -> "b_c";
  302. /* at function phase1_up() */
  303. "phase1_up" -> "b_r";
  304. "phase1_up" -> "b_r";
  305. /* at function phase2_down() */
  306. "phase2_down" -> "column_barycenter";
  307. "phase2_down" -> "sorted";
  308. "phase2_down" -> "r_c";
  309. "phase2_down" -> "column_barycenter";
  310. "phase2_down" -> "sorted";
  311. "phase2_down" -> "r_c";
  312. /* at function phase2_up() */
  313. "phase2_up" -> "row_barycenter";
  314. "phase2_up" -> "sorted";
  315. "phase2_up" -> "r_r";
  316. "phase2_up" -> "row_barycenter";
  317. "phase2_up" -> "sorted";
  318. "phase2_up" -> "r_r";
  319. /* at function bc_n() */
  320. "bc_n" -> "make_matrix";
  321. "bc_n" -> "copy_a";
  322. "bc_n" -> "number_of_crossings_a";
  323. "bc_n" -> "phase1_down";
  324. "bc_n" -> "copy_a";
  325. "bc_n" -> "phase1_up";
  326. "bc_n" -> "copy_a";
  327. "bc_n" -> "copy_a";
  328. "bc_n" -> "phase1_down";
  329. "bc_n" -> "number_of_crossings_a";
  330. "bc_n" -> "copy_a";
  331. "bc_n" -> "phase1_up";
  332. "bc_n" -> "number_of_crossings_a";
  333. "bc_n" -> "copy_a";
  334. "bc_n" -> "equal_a";
  335. "bc_n" -> "equal_a";
  336. "bc_n" -> "copy_a";
  337. "bc_n" -> "copy_a";
  338. "bc_n" -> "phase2_down";
  339. "bc_n" -> "copy_a";
  340. "bc_n" -> "phase1_down";
  341. "bc_n" -> "number_of_crossings_a";
  342. "bc_n" -> "copy_a";
  343. "bc_n" -> "phase1_up";
  344. "bc_n" -> "number_of_crossings_a";
  345. "bc_n" -> "copy_a";
  346. "bc_n" -> "equal_a";
  347. "bc_n" -> "phase2_up";
  348. "bc_n" -> "copy_a";
  349. "bc_n" -> "phase1_up";
  350. "bc_n" -> "number_of_crossings_a";
  351. "bc_n" -> "copy_a";
  352. "bc_n" -> "phase1_down";
  353. "bc_n" -> "number_of_crossings_a";
  354. "bc_n" -> "copy_a";
  355. "bc_n" -> "equal_a";
  356. "bc_n" -> "equal_a";
  357. "bc_n" -> "store_new_positions";
  358. "bc_n" -> "store_new_positions";
  359. /* at function barycenter() */
  360. "barycenter" -> "bc_n";
  361. /* at function is_dummy() */
  362. /* at function upper_connectivity() */
  363. /* at function lower_connectivity() */
  364. /* at function do_floor() */
  365. /* at function upper_barycenter() */
  366. "upper_barycenter" -> "upper_connectivity";
  367. "upper_barycenter" -> "upper_connectivity";
  368. "upper_barycenter" -> "do_floor";
  369. /* at function lower_barycenter() */
  370. "lower_barycenter" -> "lower_connectivity";
  371. "lower_barycenter" -> "lower_connectivity";
  372. "lower_barycenter" -> "do_floor";
  373. /* at function sort() */
  374. /* at function make_node_list_up() */
  375. "make_node_list_up" -> "is_dummy";
  376. "make_node_list_up" -> "lower_connectivity";
  377. "make_node_list_up" -> "sort";
  378. /* at function make_node_list_down() */
  379. "make_node_list_down" -> "is_dummy";
  380. "make_node_list_down" -> "upper_connectivity";
  381. "make_node_list_down" -> "sort";
  382. /* at function find_next() */
  383. /* at function do_down() */
  384. "do_down" -> "find_next";
  385. "do_down" -> "upper_barycenter";
  386. /* at function do_up() */
  387. "do_up" -> "find_next";
  388. "do_up" -> "lower_barycenter";
  389. /* at function improve_positions2local() */
  390. "improve_positions2local" -> "make_node_list_down";
  391. "improve_positions2local" -> "do_down";
  392. "improve_positions2local" -> "make_node_list_up";
  393. "improve_positions2local" -> "do_up";
  394. "improve_positions2local" -> "make_node_list_up";
  395. "improve_positions2local" -> "do_up";
  396. "improve_positions2local" -> "make_node_list_down";
  397. "improve_positions2local" -> "do_down";
  398. /* at function make_cnnodes_at_level() */
  399. /* at function clear_cnnodes_at_level() */
  400. /* at function make_cnodelist() */
  401. /* at function clear_cnodelist() */
  402. /* at function move0() */
  403. /* at function make_cposnodes() */
  404. /* at function clear_cposnodes() */
  405. /* at function make_clevelnodes() */
  406. /* at function clear_clevelnodes() */
  407. /* at function cfinalxy() */
  408. "cfinalxy" -> "make_cposnodes";
  409. "cfinalxy" -> "clear_cposnodes";
  410. "cfinalxy" -> "make_clevelnodes";
  411. "cfinalxy" -> "clear_clevelnodes";
  412. /* at function movefinal() */
  413. /* at function tunedummy() */
  414. /* at function tunenodes() */
  415. /* at function improve_positions() */
  416. "improve_positions" -> "make_cnodelist";
  417. "improve_positions" -> "make_cnnodes_at_level";
  418. "improve_positions" -> "improve_positions2local";
  419. "improve_positions" -> "move0";
  420. "improve_positions" -> "cfinalxy";
  421. "improve_positions" -> "tunedummy";
  422. "improve_positions" -> "tunenodes";
  423. "improve_positions" -> "movefinal";
  424. "improve_positions" -> "clear_cnnodes_at_level";
  425. "improve_positions" -> "clear_cnodelist";
  426. /* at function finalxy() */
  427. /* at function findedge() */
  428. /* at function setminmax() */
  429. /* at function __libc_csu_init() */
  430. "__libc_csu_init" -> "_init";
  431. /* at function __libc_csu_fini() */
  432. /* 11476 lines parsed */
  433. }