d4dag.c.237r.expand.dot 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. digraph "d4dag.c.237r.expand" {
  2. overlap=false;
  3. subgraph "cluster_d4d_version" {
  4. style="dashed";
  5. color="black";
  6. label="d4d_version ()";
  7. fn_0_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  8. fn_0_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  9. fn_0_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 3:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  10. |\ \ \ \ 2:\ NOTE_INSN_FUNCTION_BEG\l\
  11. |\ \ \ \ 5:\ r82:SI=0xa\l\
  12. |\ \ \ \ 8:\ r83:SI=r82:SI\l\
  13. |\ \ \ 12:\ ax:SI=r83:SI\l\
  14. |\ \ \ 13:\ use\ ax:SI\l\
  15. }"];
  16. fn_0_basic_block_0:s -> fn_0_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  17. fn_0_basic_block_2:s -> fn_0_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  18. fn_0_basic_block_0:s -> fn_0_basic_block_1:n [style="invis",constraint=true];
  19. }
  20. subgraph "cluster_d4d_init" {
  21. style="dashed";
  22. color="black";
  23. label="d4d_init ()";
  24. fn_1_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  25. fn_1_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  26. fn_1_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 5:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  27. |\ \ \ \ 2:\ [r77:DI-0x8]=di:DI\l\
  28. |\ \ \ \ 3:\ [r77:DI-0x10]=si:DI\l\
  29. |\ \ \ \ 4:\ NOTE_INSN_FUNCTION_BEG\l\
  30. |\ \ \ \ 7:\ flags:CCZ=cmp([r77:DI-0x8],0)\l\
  31. |\ \ \ \ 8:\ pc=\{(flags:CCZ!=0)?L13:pc\}\l\
  32. }"];
  33. fn_1_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 9:\ NOTE_INSN_BASIC_BLOCK\ 4\l\
  34. |\ \ \ 10:\ r87:SI=0xffffffffffffffff\l\
  35. |\ \ \ 11:\ pc=L48\l\
  36. }"];
  37. fn_1_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 13:\ L13:\l\
  38. |\ \ \ 14:\ NOTE_INSN_BASIC_BLOCK\ 5\l\
  39. |\ \ \ 15:\ flags:CCZ=cmp([r77:DI-0x10],0)\l\
  40. |\ \ \ 16:\ pc=\{(flags:CCZ!=0)?L21:pc\}\l\
  41. }"];
  42. fn_1_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 17:\ NOTE_INSN_BASIC_BLOCK\ 6\l\
  43. |\ \ \ 18:\ r87:SI=0xffffffffffffffff\l\
  44. |\ \ \ 19:\ pc=L48\l\
  45. }"];
  46. fn_1_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 21:\ L21:\l\
  47. |\ \ \ 22:\ NOTE_INSN_BASIC_BLOCK\ 7\l\
  48. |\ \ \ 23:\ r89:DI=[r77:DI-0x8]\l\
  49. |\ \ \ 24:\ di:SI=0x10\l\
  50. |\ \ \ 25:\ ax:DI=call\ [r89:DI]\ argc:0\l\
  51. |\ \ \ 26:\ r82:DI=ax:DI\l\
  52. |\ \ \ 27:\ [`d4d__main']=r82:DI\l\
  53. |\ \ \ 28:\ r83:DI=[`d4d__main']\l\
  54. |\ \ \ 29:\ flags:CCZ=cmp(r83:DI,0)\l\
  55. |\ \ \ 30:\ pc=\{(flags:CCZ!=0)?L35:pc\}\l\
  56. }"];
  57. fn_1_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 31:\ NOTE_INSN_BASIC_BLOCK\ 8\l\
  58. |\ \ \ 32:\ r87:SI=0xfffffffffffffffe\l\
  59. |\ \ \ 33:\ pc=L48\l\
  60. }"];
  61. fn_1_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 35:\ L35:\l\
  62. |\ \ \ 36:\ NOTE_INSN_BASIC_BLOCK\ 9\l\
  63. |\ \ \ 37:\ r84:DI=[`d4d__main']\l\
  64. |\ \ \ 38:\ si:SI=0x10\l\
  65. |\ \ \ 39:\ di:DI=r84:DI\l\
  66. |\ \ \ 40:\ call\ [`d4d__memzero']\ argc:0\l\
  67. |\ \ \ 41:\ r85:DI=[`d4d__main']\l\
  68. |\ \ \ 42:\ r90:DI=[r77:DI-0x8]\l\
  69. |\ \ \ 43:\ [r85:DI]=r90:DI\l\
  70. |\ \ \ 44:\ r86:DI=[`d4d__main']\l\
  71. |\ \ \ 45:\ r91:DI=[r77:DI-0x10]\l\
  72. |\ \ \ 46:\ [r86:DI+0x8]=r91:DI\l\
  73. |\ \ \ 47:\ r87:SI=0\l\
  74. }"];
  75. fn_1_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 48:\ L48:\l\
  76. |\ \ \ 49:\ NOTE_INSN_BASIC_BLOCK\ 10\l\
  77. |\ \ \ 50:\ r88:SI=r87:SI\l\
  78. |\ \ \ 54:\ ax:SI=r88:SI\l\
  79. |\ \ \ 55:\ use\ ax:SI\l\
  80. }"];
  81. fn_1_basic_block_0:s -> fn_1_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  82. fn_1_basic_block_2:s -> fn_1_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
  83. fn_1_basic_block_2:s -> fn_1_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  84. fn_1_basic_block_4:s -> fn_1_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
  85. fn_1_basic_block_5:s -> fn_1_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
  86. fn_1_basic_block_5:s -> fn_1_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
  87. fn_1_basic_block_6:s -> fn_1_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
  88. fn_1_basic_block_7:s -> fn_1_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
  89. fn_1_basic_block_7:s -> fn_1_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
  90. fn_1_basic_block_8:s -> fn_1_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
  91. fn_1_basic_block_9:s -> fn_1_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
  92. fn_1_basic_block_10:s -> fn_1_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  93. fn_1_basic_block_0:s -> fn_1_basic_block_1:n [style="invis",constraint=true];
  94. }
  95. subgraph "cluster_d4d_deinit" {
  96. style="dashed";
  97. color="black";
  98. label="d4d_deinit ()";
  99. fn_2_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  100. fn_2_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  101. fn_2_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 3:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  102. |\ \ \ \ 2:\ NOTE_INSN_FUNCTION_BEG\l\
  103. |\ \ \ \ 5:\ r82:DI=[`d4d__main']\l\
  104. |\ \ \ \ 6:\ flags:CCZ=cmp(r82:DI,0)\l\
  105. |\ \ \ \ 7:\ pc=\{(flags:CCZ!=0)?L12:pc\}\l\
  106. }"];
  107. fn_2_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 8:\ NOTE_INSN_BASIC_BLOCK\ 4\l\
  108. |\ \ \ \ 9:\ r86:SI=0\l\
  109. |\ \ \ 10:\ pc=L21\l\
  110. }"];
  111. fn_2_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 12:\ L12:\l\
  112. |\ \ \ 13:\ NOTE_INSN_BASIC_BLOCK\ 5\l\
  113. |\ \ \ 14:\ r83:DI=[`d4d__main']\l\
  114. |\ \ \ 15:\ r84:DI=[r83:DI+0x8]\l\
  115. |\ \ \ 16:\ r85:DI=[`d4d__main']\l\
  116. |\ \ \ 17:\ di:DI=r85:DI\l\
  117. |\ \ \ 18:\ call\ [r84:DI]\ argc:0\l\
  118. |\ \ \ 19:\ [`d4d__main']=0\l\
  119. |\ \ \ 20:\ r86:SI=0\l\
  120. }"];
  121. fn_2_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 21:\ L21:\l\
  122. |\ \ \ 22:\ NOTE_INSN_BASIC_BLOCK\ 6\l\
  123. |\ \ \ 23:\ r87:SI=r86:SI\l\
  124. |\ \ \ 27:\ ax:SI=r87:SI\l\
  125. |\ \ \ 28:\ use\ ax:SI\l\
  126. }"];
  127. fn_2_basic_block_0:s -> fn_2_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  128. fn_2_basic_block_2:s -> fn_2_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
  129. fn_2_basic_block_2:s -> fn_2_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  130. fn_2_basic_block_4:s -> fn_2_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
  131. fn_2_basic_block_5:s -> fn_2_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
  132. fn_2_basic_block_6:s -> fn_2_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  133. fn_2_basic_block_0:s -> fn_2_basic_block_1:n [style="invis",constraint=true];
  134. }
  135. subgraph "cluster_d4d__memzero" {
  136. style="dashed";
  137. color="black";
  138. label="d4d__memzero ()";
  139. subgraph cluster_3_1 {
  140. style="filled";
  141. color="darkgreen";
  142. fillcolor="grey88";
  143. label="loop 1";
  144. labeljust=l;
  145. penwidth=2;
  146. fn_3_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 17:\ L17:\l\
  147. |\ \ \ 18:\ NOTE_INSN_BASIC_BLOCK\ 5\l\
  148. |\ \ \ 20:\ flags:CCZ=cmp([r77:DI-0x1c],0)\l\
  149. |\ \ \ 21:\ pc=\{(flags:CCZ!=0)?L19:pc\}\l\
  150. }"];
  151. fn_3_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 19:\ L19:\l\
  152. |\ \ \ 12:\ NOTE_INSN_BASIC_BLOCK\ 4\l\
  153. |\ \ \ 13:\ r83:DI=[r77:DI-0x8]\l\
  154. |\ \ \ 14:\ [r83:DI]=0\l\
  155. |\ \ \ 15:\ \{[r77:DI-0x8]=[r77:DI-0x8]+0x1;clobber\ flags:CC;\}\l\
  156. |\ \ \ 16:\ \{[r77:DI-0x1c]=[r77:DI-0x1c]-0x1;clobber\ flags:CC;\}\l\
  157. }"];
  158. }
  159. fn_3_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  160. fn_3_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  161. fn_3_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 5:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  162. |\ \ \ \ 2:\ [r77:DI-0x18]=di:DI\l\
  163. |\ \ \ \ 3:\ [r77:DI-0x1c]=si:SI\l\
  164. |\ \ \ \ 4:\ NOTE_INSN_FUNCTION_BEG\l\
  165. |\ \ \ \ 7:\ [r77:DI-0x8]=0\l\
  166. |\ \ \ \ 8:\ r82:DI=[r77:DI-0x18]\l\
  167. |\ \ \ \ 9:\ [r77:DI-0x8]=r82:DI\l\
  168. |\ \ \ 10:\ pc=L17\l\
  169. }"];
  170. fn_3_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 22:\ NOTE_INSN_BASIC_BLOCK\ 6\l\
  171. |\ \ \ 27:\ 0\l\
  172. }"];
  173. fn_3_basic_block_0:s -> fn_3_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  174. fn_3_basic_block_2:s -> fn_3_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  175. fn_3_basic_block_4:s -> fn_3_basic_block_5:n [style="dotted,bold",color=blue,weight=10,constraint=false];
  176. fn_3_basic_block_5:s -> fn_3_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
  177. fn_3_basic_block_5:s -> fn_3_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
  178. fn_3_basic_block_6:s -> fn_3_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  179. fn_3_basic_block_0:s -> fn_3_basic_block_1:n [style="invis",constraint=true];
  180. }
  181. }