gcc-11.1-fdump-rtl-expand-graph.gv 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /* generated with gcc-11.1
  2. gcc -fdump-rtl-expand-graph
  3. */
  4. digraph "a-test.c.245r.expand" {
  5. overlap=false;
  6. subgraph "cluster_f1" {
  7. style="dashed";
  8. color="black";
  9. label="f1 ()";
  10. fn_6_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  11. fn_6_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  12. fn_6_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 4:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  13. |\ \ \ \ 2:\ [r77:DI-0x4]=di:SI\l\
  14. |\ \ \ \ 3:\ NOTE_INSN_FUNCTION_BEG\l\
  15. |\ \ \ \ 6:\ r82:SI=[r77:DI-0x4]\l\
  16. |\ \ \ \ 9:\ r83:SI=r82:SI\l\
  17. |\ \ \ 13:\ ax:SI=r83:SI\l\
  18. |\ \ \ 14:\ use\ ax:SI\l\
  19. }"];
  20. fn_6_basic_block_0:s -> fn_6_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  21. fn_6_basic_block_2:s -> fn_6_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  22. fn_6_basic_block_0:s -> fn_6_basic_block_1:n [style="invis",constraint=true];
  23. }
  24. subgraph "cluster_f2" {
  25. style="dashed";
  26. color="black";
  27. label="f2 ()";
  28. fn_7_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  29. fn_7_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  30. fn_7_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 5:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  31. |\ \ \ \ 2:\ [r77:DI-0x4]=di:SI\l\
  32. |\ \ \ \ 3:\ [r77:DI-0x8]=si:SI\l\
  33. |\ \ \ \ 4:\ NOTE_INSN_FUNCTION_BEG\l\
  34. |\ \ \ \ 7:\ r84:SI=[r77:DI-0x4]\l\
  35. |\ \ \ \ 8:\ r85:SI=[r77:DI-0x8]\l\
  36. |\ \ \ \ 9:\ \{r82:SI=r84:SI+r85:SI;clobber\ flags:CC;\}\l\
  37. \ \ \ \ \ \ REG_EQUAL\ [r77:DI-0x4]+[r77:DI-0x8]\l\
  38. |\ \ \ 12:\ r83:SI=r82:SI\l\
  39. |\ \ \ 16:\ ax:SI=r83:SI\l\
  40. |\ \ \ 17:\ use\ ax:SI\l\
  41. }"];
  42. fn_7_basic_block_0:s -> fn_7_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  43. fn_7_basic_block_2:s -> fn_7_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  44. fn_7_basic_block_0:s -> fn_7_basic_block_1:n [style="invis",constraint=true];
  45. }
  46. subgraph "cluster_f3" {
  47. style="dashed";
  48. color="black";
  49. label="f3 ()";
  50. fn_8_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  51. fn_8_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  52. fn_8_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 6:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  53. |\ \ \ \ 2:\ [r77:DI-0x14]=di:SI\l\
  54. |\ \ \ \ 3:\ [r77:DI-0x18]=si:SI\l\
  55. |\ \ \ \ 4:\ [r77:DI-0x1c]=dx:SI\l\
  56. |\ \ \ \ 5:\ NOTE_INSN_FUNCTION_BEG\l\
  57. |\ \ \ 12:\ r90:SI=[r77:DI-0x14]\l\
  58. |\ \ \ 13:\ r91:SI=[r77:DI-0x18]\l\
  59. |\ \ \ 14:\ \{r89:SI=r90:SI+r91:SI;clobber\ flags:CC;\}\l\
  60. \ \ \ \ \ \ REG_EQUAL\ [r77:DI-0x14]+[r77:DI-0x18]\l\
  61. |\ \ \ 15:\ [r77:DI-0x4]=r89:SI\l\
  62. |\ \ \ 16:\ r92:SI=[r77:DI-0x4]\l\
  63. |\ \ \ 17:\ r93:SI=[r77:DI-0x1c]\l\
  64. |\ \ \ 18:\ \{r82:SI=r92:SI+r93:SI;clobber\ flags:CC;\}\l\
  65. \ \ \ \ \ \ REG_EQUAL\ [r77:DI-0x4]+[r77:DI-0x1c]\l\
  66. |\ \ \ 19:\ di:SI=0x7\l\
  67. |\ \ \ 20:\ ax:SI=call\ [`f1']\ argc:0\l\
  68. |\ \ \ 21:\ r83:SI=ax:SI\l\
  69. |\ \ \ 22:\ \{r84:SI=r82:SI+r83:SI;clobber\ flags:CC;\}\l\
  70. |\ \ \ 25:\ r85:SI=r84:SI\l\
  71. |\ \ \ 29:\ ax:SI=r85:SI\l\
  72. |\ \ \ 30:\ use\ ax:SI\l\
  73. }"];
  74. fn_8_basic_block_0:s -> fn_8_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  75. fn_8_basic_block_2:s -> fn_8_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  76. fn_8_basic_block_0:s -> fn_8_basic_block_1:n [style="invis",constraint=true];
  77. }
  78. subgraph "cluster_f4" {
  79. style="dashed";
  80. color="black";
  81. label="f4 ()";
  82. fn_9_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  83. fn_9_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  84. fn_9_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 3:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  85. |\ \ \ \ 2:\ NOTE_INSN_FUNCTION_BEG\l\
  86. |\ \ \ \ 5:\ si:SI=0x3\l\
  87. |\ \ \ \ 6:\ di:SI=0x2\l\
  88. |\ \ \ \ 7:\ ax:SI=call\ [`f2']\ argc:0\l\
  89. |\ \ \ \ 8:\ r82:SI=ax:SI\l\
  90. |\ \ \ \ 9:\ di:SI=0x1\l\
  91. |\ \ \ 10:\ ax:SI=call\ [`f1']\ argc:0\l\
  92. |\ \ \ 11:\ r83:SI=ax:SI\l\
  93. |\ \ \ 12:\ dx:SI=0x4\l\
  94. |\ \ \ 13:\ si:SI=r82:SI\l\
  95. |\ \ \ 14:\ di:SI=r83:SI\l\
  96. |\ \ \ 15:\ ax:SI=call\ [`f3']\ argc:0\l\
  97. |\ \ \ 16:\ r84:SI=ax:SI\l\
  98. |\ \ \ 19:\ r85:SI=r84:SI\l\
  99. |\ \ \ 23:\ ax:SI=r85:SI\l\
  100. |\ \ \ 24:\ use\ ax:SI\l\
  101. }"];
  102. fn_9_basic_block_0:s -> fn_9_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  103. fn_9_basic_block_2:s -> fn_9_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  104. fn_9_basic_block_0:s -> fn_9_basic_block_1:n [style="invis",constraint=true];
  105. }
  106. subgraph "cluster_main" {
  107. style="dashed";
  108. color="black";
  109. label="main ()";
  110. fn_10_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  111. fn_10_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  112. fn_10_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ \ 5:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
  113. |\ \ \ \ 2:\ [r77:DI-0x14]=di:SI\l\
  114. |\ \ \ \ 3:\ [r77:DI-0x20]=si:DI\l\
  115. |\ \ \ \ 4:\ NOTE_INSN_FUNCTION_BEG\l\
  116. |\ \ \ \ 7:\ di:DI=0x1\l\
  117. |\ \ \ \ 8:\ ax:DI=call\ [`malloc']\ argc:0\l\
  118. \ \ \ \ \ \ REG_EH_REGION\ 0\l\
  119. |\ \ \ \ 9:\ r84:DI=ax:DI\l\
  120. \ \ \ \ \ \ REG_NOALIAS\ r84:DI\l\
  121. |\ \ \ 10:\ [r77:DI-0x8]=r84:DI\l\
  122. |\ \ \ 11:\ \{[r77:DI-0x8]=[r77:DI-0x8]+0x1;clobber\ flags:CC;\}\l\
  123. |\ \ \ 12:\ \{[r77:DI-0x8]=[r77:DI-0x8]+0x1;clobber\ flags:CC;\}\l\
  124. |\ \ \ 13:\ r85:DI=[r77:DI-0x8]\l\
  125. |\ \ \ 14:\ [r85:DI]=0x1\l\
  126. |\ \ \ 15:\ ax:SI=call\ [`f4']\ argc:0\l\
  127. |\ \ \ 16:\ r86:SI=ax:SI\l\
  128. |\ \ \ 17:\ [r77:DI-0xc]=r86:SI\l\
  129. |\ \ \ 18:\ flags:CCZ=cmp([r77:DI-0xc],0)\l\
  130. |\ \ \ 19:\ pc=\{(flags:CCZ==0)?L24:pc\}\l\
  131. }"];
  132. fn_10_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 20:\ NOTE_INSN_BASIC_BLOCK\ 4\l\
  133. |\ \ \ 21:\ r82:SI=[r77:DI-0xc]\l\
  134. |\ \ \ 22:\ pc=L27\l\
  135. }"];
  136. fn_10_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 24:\ L24:\l\
  137. |\ \ \ 25:\ NOTE_INSN_BASIC_BLOCK\ 5\l\
  138. |\ \ \ 26:\ r82:SI=0\l\
  139. }"];
  140. fn_10_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\ \ \ 27:\ L27:\l\
  141. |\ \ \ 28:\ NOTE_INSN_BASIC_BLOCK\ 6\l\
  142. |\ \ \ 29:\ r83:SI=r82:SI\l\
  143. |\ \ \ 33:\ ax:SI=r83:SI\l\
  144. |\ \ \ 34:\ use\ ax:SI\l\
  145. }"];
  146. fn_10_basic_block_0:s -> fn_10_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  147. fn_10_basic_block_2:s -> fn_10_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
  148. fn_10_basic_block_2:s -> fn_10_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
  149. fn_10_basic_block_4:s -> fn_10_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
  150. fn_10_basic_block_5:s -> fn_10_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
  151. fn_10_basic_block_6:s -> fn_10_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true,label="[100%]"];
  152. fn_10_basic_block_0:s -> fn_10_basic_block_1:n [style="invis",constraint=true];
  153. }
  154. }