gcc-11.1-fdump-tree-cfg-graph.gv 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /* generated with gcc-11.1
  2. gcc -fdump-tree-cfg-graph
  3. */
  4. digraph "a-test.c.015t.cfg" {
  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="{\<bb\ 2\>:\l\
  13. |D.2878\ =\ a;\l\
  14. }"];
  15. fn_6_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  16. |\<L0\>:\l\
  17. |return\ D.2878;\l\
  18. }"];
  19. fn_6_basic_block_0:s -> fn_6_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  20. fn_6_basic_block_2:s -> fn_6_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
  21. fn_6_basic_block_3:s -> fn_6_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  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="{\<bb\ 2\>:\l\
  31. |D.2880\ =\ a\ +\ b;\l\
  32. }"];
  33. fn_7_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  34. |\<L0\>:\l\
  35. |return\ D.2880;\l\
  36. }"];
  37. fn_7_basic_block_0:s -> fn_7_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  38. fn_7_basic_block_2:s -> fn_7_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
  39. fn_7_basic_block_3:s -> fn_7_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  40. fn_7_basic_block_0:s -> fn_7_basic_block_1:n [style="invis",constraint=true];
  41. }
  42. subgraph "cluster_f3" {
  43. style="dashed";
  44. color="black";
  45. label="f3 ()";
  46. fn_8_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  47. fn_8_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  48. fn_8_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  49. |y\ =\ a\ +\ b;\l\
  50. |_1\ =\ y\ +\ c;\l\
  51. |_2\ =\ f1\ (7);\l\
  52. |D.2882\ =\ _1\ +\ _2;\l\
  53. }"];
  54. fn_8_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  55. |\<L0\>:\l\
  56. |return\ D.2882;\l\
  57. }"];
  58. fn_8_basic_block_0:s -> fn_8_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  59. fn_8_basic_block_2:s -> fn_8_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
  60. fn_8_basic_block_3:s -> fn_8_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  61. fn_8_basic_block_0:s -> fn_8_basic_block_1:n [style="invis",constraint=true];
  62. }
  63. subgraph "cluster_f4" {
  64. style="dashed";
  65. color="black";
  66. label="f4 ()";
  67. fn_9_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  68. fn_9_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  69. fn_9_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  70. |_1\ =\ f2\ (2,\ 3);\l\
  71. |_2\ =\ f1\ (1);\l\
  72. |D.2884\ =\ f3\ (_2,\ _1,\ 4);\l\
  73. }"];
  74. fn_9_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  75. |\<L0\>:\l\
  76. |return\ D.2884;\l\
  77. }"];
  78. fn_9_basic_block_0:s -> fn_9_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  79. fn_9_basic_block_2:s -> fn_9_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
  80. fn_9_basic_block_3:s -> fn_9_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  81. fn_9_basic_block_0:s -> fn_9_basic_block_1:n [style="invis",constraint=true];
  82. }
  83. subgraph "cluster_main" {
  84. style="dashed";
  85. color="black";
  86. label="main ()";
  87. fn_10_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];
  88. fn_10_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];
  89. fn_10_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
  90. |p\ =\ malloc\ (1);\l\
  91. |p\ =\ p\ +\ 1;\l\
  92. |p\ =\ p\ +\ 1;\l\
  93. |*p\ =\ 1;\l\
  94. |v\ =\ f4\ ();\l\
  95. |if\ (v\ !=\ 0)\l\
  96. \ \ goto\ \<bb\ 3\>;\ [INV]\l\
  97. else\l\
  98. \ \ goto\ \<bb\ 4\>;\ [INV]\l\
  99. }"];
  100. fn_10_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
  101. |D.2888\ =\ v;\l\
  102. |//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
  103. goto\ \<bb\ 5\>;\ [INV]\l\
  104. }"];
  105. fn_10_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
  106. |D.2888\ =\ 0;\l\
  107. }"];
  108. fn_10_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
  109. |\<L2\>:\l\
  110. |return\ D.2888;\l\
  111. }"];
  112. fn_10_basic_block_0:s -> fn_10_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
  113. fn_10_basic_block_2:s -> fn_10_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
  114. fn_10_basic_block_2:s -> fn_10_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
  115. fn_10_basic_block_3:s -> fn_10_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
  116. fn_10_basic_block_4:s -> fn_10_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
  117. fn_10_basic_block_5:s -> fn_10_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
  118. fn_10_basic_block_0:s -> fn_10_basic_block_1:n [style="invis",constraint=true];
  119. }
  120. }