sfg-c-callgraph-program.gv 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. /* generated callgraph from C source
  2. using the calltree program
  3. https://sourceforge.net/projects/schilytools/
  4. */
  5. digraph function_map {
  6. rankdir=LR;
  7. ratio=fill;
  8. node [style=filled]
  9. __bswap_16 [ shape=box ];
  10. __bswap_32 [ shape=box ];
  11. __bswap_64 [ shape=box ];
  12. add_new_dummyedge [ shape=box ];
  13. add_new_dummyedge -> uniqnode;
  14. add_new_dummynode [ shape=box ];
  15. add_new_dummynode -> uniqnode;
  16. add_new_dummynode -> uniqnode_add;
  17. add_singlenode [ shape=box ];
  18. b_c [ shape=box ];
  19. b_c -> column_barycenter;
  20. b_c -> exch_columns;
  21. b_c -> exch_rows;
  22. b_r [ shape=box ];
  23. b_r -> exch_columns;
  24. b_r -> exch_rows;
  25. b_r -> row_barycenter;
  26. barycenter [ shape=box ];
  27. barycenter -> bc_n;
  28. bc_n [ shape=box ];
  29. bc_n -> copy_a;
  30. bc_n -> equal_a;
  31. bc_n -> make_matrix;
  32. bc_n -> number_of_crossings_a;
  33. bc_n -> phase1_down;
  34. bc_n -> phase1_up;
  35. bc_n -> phase2_down;
  36. bc_n -> phase2_up;
  37. bc_n -> store_new_positions;
  38. cfinalxy [ shape=box ];
  39. cfinalxy -> clear_clevelnodes;
  40. cfinalxy -> clear_cposnodes;
  41. cfinalxy -> make_clevelnodes;
  42. cfinalxy -> make_cposnodes;
  43. clear_clevelnodes [ shape=box ];
  44. clear_cnnodes_at_level [ shape=box ];
  45. clear_cnodelist [ shape=box ];
  46. clear_cposnodes [ shape=box ];
  47. clear_edgelist [ shape=box ];
  48. clear_nodelist [ shape=box ];
  49. clear_stlist [ shape=box ];
  50. clear_stlist_all [ shape=box ];
  51. clear_stlist_all -> clear_stlist;
  52. column_barycenter [ shape=box ];
  53. column_barycenter -> mget;
  54. copy_a [ shape=box ];
  55. copy_a -> copy_m;
  56. copy_m [ shape=box ];
  57. decycle3 [ shape=box ];
  58. decycle3 -> decycle3;
  59. del_edge [ shape=box ];
  60. do_down [ shape=box ];
  61. do_down -> upper_barycenter;
  62. do_up [ shape=box ];
  63. do_up -> lower_barycenter;
  64. edgelabels [ shape=box ];
  65. edgelabels -> add_new_dummyedge;
  66. edgelabels -> add_new_dummynode;
  67. edgelabels -> clear_stlist_all;
  68. edgelabels -> del_edge;
  69. edgelabels -> make_stlist;
  70. edgelabels -> uniqnode;
  71. edgelen [ shape=box ];
  72. edgelen -> clear_stlist_all;
  73. edgelen -> make_stlist;
  74. edgesdownwards [ shape=box ];
  75. edgesdownwards -> clear_stlist_all;
  76. edgesdownwards -> make_stlist;
  77. equal_a [ shape=box ];
  78. equal_a -> equal_m;
  79. equal_m [ shape=box ];
  80. equal_m -> mget;
  81. exch_columns [ shape=box ];
  82. exch_columns -> mget;
  83. exch_columns -> mget_set;
  84. exch_rows [ shape=box ];
  85. exch_rows -> mget;
  86. exch_rows -> mget_set;
  87. improve_positions [ shape=box ];
  88. improve_positions -> cfinalxy;
  89. improve_positions -> clear_cnnodes_at_level;
  90. improve_positions -> clear_cnodelist;
  91. improve_positions -> improve_positions2local;
  92. improve_positions -> make_cnnodes_at_level;
  93. improve_positions -> make_cnodelist;
  94. improve_positions2local [ shape=box ];
  95. improve_positions2local -> do_down;
  96. improve_positions2local -> do_up;
  97. improve_positions2local -> make_node_list_down;
  98. improve_positions2local -> make_node_list_up;
  99. lower_barycenter [ shape=box ];
  100. make_clevelnodes [ shape=box ];
  101. make_cnnodes_at_level [ shape=box ];
  102. make_cnodelist [ shape=box ];
  103. make_cposnodes [ shape=box ];
  104. make_matrix [ shape=box ];
  105. make_matrix -> mget_set;
  106. make_node_list_down [ shape=box ];
  107. make_node_list_up [ shape=box ];
  108. make_stlist [ shape=box ];
  109. mget [ shape=box ];
  110. mget_set [ shape=box ];
  111. nodecounts [ shape=box ];
  112. nodecounts -> clear_stlist_all;
  113. nodecounts -> make_stlist;
  114. number_of_crossings2 [ shape=box ];
  115. number_of_crossings2 -> mget;
  116. number_of_crossings3 [ shape=box ];
  117. number_of_crossings3 -> mget;
  118. number_of_crossings3 -> number_of_crossings2;
  119. number_of_crossings_a [ shape=box ];
  120. number_of_crossings_a -> number_of_crossings3;
  121. phase1_down [ shape=box ];
  122. phase1_down -> b_c;
  123. phase1_up [ shape=box ];
  124. phase1_up -> b_r;
  125. phase2_down [ shape=box ];
  126. phase2_down -> column_barycenter;
  127. phase2_down -> r_c;
  128. phase2_up [ shape=box ];
  129. phase2_up -> r_r;
  130. phase2_up -> row_barycenter;
  131. r_c [ shape=box ];
  132. r_c -> column_barycenter;
  133. r_c -> reverse_c;
  134. r_c -> reverse_r;
  135. r_r [ shape=box ];
  136. r_r -> reverse_c;
  137. r_r -> reverse_r;
  138. r_r -> row_barycenter;
  139. reorg [ shape=box ];
  140. reverse_c [ shape=box ];
  141. reverse_c -> exch_columns;
  142. reverse_r [ shape=box ];
  143. reverse_r -> exch_rows;
  144. row_barycenter [ shape=box ];
  145. row_barycenter -> mget;
  146. set_level2 [ shape=box ];
  147. set_level2 -> set_level2;
  148. sfg_addedge [ shape=box ];
  149. sfg_addedge -> uniqnode;
  150. sfg_addnode [ shape=box ];
  151. sfg_addnode -> uniqnode;
  152. sfg_addnode -> uniqnode_add;
  153. sfg_deinit [ shape=box ];
  154. sfg_deinit -> clear_edgelist;
  155. sfg_deinit -> clear_nodelist;
  156. sfg_deinit -> clear_stlist_all;
  157. sfg_deinit -> splay_tree_delete;
  158. sfg_edgefrom [ shape=box ];
  159. sfg_edgerev [ shape=box ];
  160. sfg_edgeto [ shape=box ];
  161. sfg_edgetype [ shape=box ];
  162. sfg_init [ shape=box ];
  163. sfg_init -> splay_tree_new;
  164. sfg_layout [ shape=box ];
  165. sfg_layout -> barycenter;
  166. sfg_layout -> edgelabels;
  167. sfg_layout -> edgelen;
  168. sfg_layout -> edgesdownwards;
  169. sfg_layout -> improve_positions;
  170. sfg_layout -> nodecounts;
  171. sfg_layout -> reorg;
  172. sfg_layout -> shorteredges;
  173. sfg_layout -> splitedges;
  174. sfg_layout -> uncycle;
  175. sfg_layout -> ylevels;
  176. sfg_nodedata [ shape=box ];
  177. sfg_nodedata -> uniqnode;
  178. sfg_nodeenum [ shape=box ];
  179. sfg_nodeenum -> uniqnode;
  180. sfg_nodeindegree [ shape=box ];
  181. sfg_nodeindegree -> uniqnode;
  182. sfg_nodely0 [ shape=box ];
  183. sfg_nodely0 -> uniqnode;
  184. sfg_nodely1 [ shape=box ];
  185. sfg_nodely1 -> uniqnode;
  186. sfg_nodeoutdegree [ shape=box ];
  187. sfg_nodeoutdegree -> uniqnode;
  188. sfg_noderelxpos [ shape=box ];
  189. sfg_noderelxpos -> uniqnode;
  190. sfg_noderelypos [ shape=box ];
  191. sfg_noderelypos -> uniqnode;
  192. sfg_nodeselfedges [ shape=box ];
  193. sfg_nodeselfedges -> uniqnode;
  194. sfg_nodetype [ shape=box ];
  195. sfg_nodetype -> uniqnode;
  196. sfg_nodexpos [ shape=box ];
  197. sfg_nodexpos -> uniqnode;
  198. sfg_nodexsize [ shape=box ];
  199. sfg_nodexsize -> uniqnode;
  200. sfg_nodeypos [ shape=box ];
  201. sfg_nodeypos -> uniqnode;
  202. sfg_nodeysize [ shape=box ];
  203. sfg_nodeysize -> uniqnode;
  204. sfg_setnodedata [ shape=box ];
  205. sfg_setnodedata -> uniqnode;
  206. shorteredges [ shape=box ];
  207. shorteredges -> unrev;
  208. splay_tree_delete [ shape=box ];
  209. splay_tree_delete -> splay_tree_delete_helper;
  210. splay_tree_delete_helper [ shape=box ];
  211. splay_tree_delete_helper -> splay_tree_delete_helper;
  212. splay_tree_insert [ shape=box ];
  213. splay_tree_insert -> splay_tree_lookup;
  214. splay_tree_lookup [ shape=box ];
  215. splay_tree_new [ shape=box ];
  216. splitedges [ shape=box ];
  217. splitedges -> add_new_dummyedge;
  218. splitedges -> add_new_dummynode;
  219. splitedges -> del_edge;
  220. splitedges -> uniqnode;
  221. store_new_positions [ shape=box ];
  222. store_new_positions -> su_find_node_with_number;
  223. su_find_node_with_number [ shape=box ];
  224. su_find_node_with_number -> uniqnode;
  225. uncycle [ shape=box ];
  226. uncycle -> clear_stlist_all;
  227. uncycle -> decycle3;
  228. uncycle -> make_stlist;
  229. uniqnode [ shape=box ];
  230. uniqnode -> splay_tree_lookup;
  231. uniqnode_add [ shape=box ];
  232. uniqnode_add -> splay_tree_insert;
  233. uniqnode_add -> splay_tree_lookup;
  234. uniqnode_add -> splay_tree_new;
  235. unrev [ shape=box ];
  236. unrev -> clear_stlist_all;
  237. unrev -> make_stlist;
  238. upper_barycenter [ shape=box ];
  239. ylevels [ shape=box ];
  240. ylevels -> add_singlenode;
  241. ylevels -> set_level2;
  242. }