d4dag.c.071i.whole-program.dot 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. digraph "d4dag.c.071i.whole-program" {
  2. overlap=false;
  3. subgraph "cluster_d4d__memzero" {
  4. style="dashed";
  5. color="black";
  6. label="d4d__memzero ()";
  7. subgraph cluster_3_1 {
  8. style="filled";
  9. color="darkgreen";
  10. fillcolor="grey88";
  11. label="loop 1";
  12. labeljust=l;
  13. penwidth=2;
  14. fn_3_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
  15. |#\ n_1\ =\ PHI\ \<n_7(D)(2),\ n_11(3)\>\l\
  16. |#\ p_2\ =\ PHI\ \<p_6(2),\ p_10(3)\>\l\
  17. |if\ (n_1\ !=\ 0)\l\
  18. \ \ goto\ \<bb\ 3\>;\ [INV]\l\
  19. else\l\
  20. \ \ goto\ \<bb\ 5\>;\ [INV]\l\
  21. }"];
  22. fn_3_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  23. |*p_2\ =\ 0;\l\
  24. |p_10\ =\ p_2\ +\ 1;\l\
  25. |n_11\ =\ n_1\ +\ 4294967295;\l\
  26. }"];
  27. }
  28. fn_3_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  29. fn_3_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  30. fn_3_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  31. |p_4\ =\ 0B;\l\
  32. |p_6\ =\ ptr_5(D);\l\
  33. goto\ \<bb\ 4\>;\ [INV]\l\
  34. }"];
  35. fn_3_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
  36. }"];
  37. fn_3_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
  38. |\<L3\>:\l\
  39. |return;\l\
  40. }"];
  41. fn_3_basic_block_0:s -> fn_3_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  42. fn_3_basic_block_2:s -> fn_3_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
  43. fn_3_basic_block_3:s -> fn_3_basic_block_4:n [style="dotted,bold",color=blue,weight=10,constraint=false];
  44. fn_3_basic_block_4:s -> fn_3_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
  45. fn_3_basic_block_4:s -> fn_3_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  46. fn_3_basic_block_5:s -> fn_3_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
  47. fn_3_basic_block_6:s -> fn_3_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  48. fn_3_basic_block_0:s -> fn_3_basic_block_1:n [style="invis",constraint=true];
  49. }
  50. subgraph "cluster_d4d_deinit" {
  51. style="dashed";
  52. color="black";
  53. label="d4d_deinit ()";
  54. fn_2_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  55. fn_2_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  56. fn_2_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  57. |d4d__main.4_1\ =\ d4d__main;\l\
  58. |if\ (d4d__main.4_1\ ==\ 0B)\l\
  59. \ \ goto\ \<bb\ 3\>;\ [INV]\l\
  60. else\l\
  61. \ \ goto\ \<bb\ 4\>;\ [INV]\l\
  62. }"];
  63. fn_2_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  64. |_11\ =\ 0;\l\
  65. |//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
  66. goto\ \<bb\ 5\>;\ [INV]\l\
  67. }"];
  68. fn_2_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
  69. |d4d__main.5_2\ =\ d4d__main;\l\
  70. |_3\ =\ d4d__main.5_2-\>d4d__free;\l\
  71. |d4d__main.6_4\ =\ d4d__main;\l\
  72. |_3\ (d4d__main.6_4);\l\
  73. |d4d__main\ =\ 0B;\l\
  74. |_10\ =\ 0;\l\
  75. }"];
  76. fn_2_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
  77. |#\ _5\ =\ PHI\ \<_11(3),\ _10(4)\>\l\
  78. |\<L2\>:\l\
  79. |return\ _5;\l\
  80. }"];
  81. fn_2_basic_block_0:s -> fn_2_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  82. fn_2_basic_block_2:s -> fn_2_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
  83. fn_2_basic_block_2:s -> fn_2_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
  84. fn_2_basic_block_3:s -> fn_2_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
  85. fn_2_basic_block_4:s -> fn_2_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
  86. fn_2_basic_block_5:s -> fn_2_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  87. fn_2_basic_block_0:s -> fn_2_basic_block_1:n [style="invis",constraint=true];
  88. }
  89. subgraph "cluster_d4d_init" {
  90. style="dashed";
  91. color="black";
  92. label="d4d_init ()";
  93. fn_1_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  94. fn_1_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  95. fn_1_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  96. |if\ (mallocer_8(D)\ ==\ 0B)\l\
  97. \ \ goto\ \<bb\ 3\>;\ [INV]\l\
  98. else\l\
  99. \ \ goto\ \<bb\ 4\>;\ [INV]\l\
  100. }"];
  101. fn_1_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  102. |_19\ =\ -1;\l\
  103. |//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
  104. goto\ \<bb\ 9\>;\ [INV]\l\
  105. }"];
  106. fn_1_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
  107. |if\ (freeer_9(D)\ ==\ 0B)\l\
  108. \ \ goto\ \<bb\ 5\>;\ [INV]\l\
  109. else\l\
  110. \ \ goto\ \<bb\ 6\>;\ [INV]\l\
  111. }"];
  112. fn_1_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
  113. |_18\ =\ -1;\l\
  114. |//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
  115. goto\ \<bb\ 9\>;\ [INV]\l\
  116. }"];
  117. fn_1_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
  118. |_1\ =\ mallocer_8(D)\ (16);\l\
  119. |d4d__main\ =\ _1;\l\
  120. |d4d__main.0_2\ =\ d4d__main;\l\
  121. |if\ (d4d__main.0_2\ ==\ 0B)\l\
  122. \ \ goto\ \<bb\ 7\>;\ [INV]\l\
  123. else\l\
  124. \ \ goto\ \<bb\ 8\>;\ [INV]\l\
  125. }"];
  126. fn_1_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
  127. |_17\ =\ -2;\l\
  128. |//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
  129. goto\ \<bb\ 9\>;\ [INV]\l\
  130. }"];
  131. fn_1_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
  132. |d4d__main.1_3\ =\ d4d__main;\l\
  133. |d4d__memzero\ (d4d__main.1_3,\ 16);\l\
  134. |d4d__main.2_4\ =\ d4d__main;\l\
  135. |d4d__main.2_4-\>d4d__malloc\ =\ mallocer_8(D);\l\
  136. |d4d__main.3_5\ =\ d4d__main;\l\
  137. |d4d__main.3_5-\>d4d__free\ =\ freeer_9(D);\l\
  138. |_16\ =\ 0;\l\
  139. }"];
  140. fn_1_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
  141. |#\ _6\ =\ PHI\ \<_19(3),\ _18(5),\ _17(7),\ _16(8)\>\l\
  142. |\<L6\>:\l\
  143. |return\ _6;\l\
  144. }"];
  145. fn_1_basic_block_0:s -> fn_1_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  146. fn_1_basic_block_2:s -> fn_1_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
  147. fn_1_basic_block_2:s -> fn_1_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
  148. fn_1_basic_block_3:s -> fn_1_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
  149. fn_1_basic_block_4:s -> fn_1_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  150. fn_1_basic_block_4:s -> fn_1_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
  151. fn_1_basic_block_5:s -> fn_1_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
  152. fn_1_basic_block_6:s -> fn_1_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
  153. fn_1_basic_block_6:s -> fn_1_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
  154. fn_1_basic_block_7:s -> fn_1_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
  155. fn_1_basic_block_8:s -> fn_1_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
  156. fn_1_basic_block_9:s -> fn_1_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  157. fn_1_basic_block_0:s -> fn_1_basic_block_1:n [style="invis",constraint=true];
  158. }
  159. subgraph "cluster_d4d_version" {
  160. style="dashed";
  161. color="black";
  162. label="d4d_version ()";
  163. fn_0_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  164. fn_0_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  165. fn_0_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  166. |_1\ =\ 10;\l\
  167. }"];
  168. fn_0_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  169. |\<L0\>:\l\
  170. |return\ _1;\l\
  171. }"];
  172. fn_0_basic_block_0:s -> fn_0_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  173. fn_0_basic_block_2:s -> fn_0_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
  174. fn_0_basic_block_3:s -> fn_0_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  175. fn_0_basic_block_0:s -> fn_0_basic_block_1:n [style="invis",constraint=true];
  176. }
  177. }