startup.c.075i.fnsummary 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. Analyzing function: init_data_bss/0
  2. ;; 5 loops found
  3. ;;
  4. ;; Loop 0
  5. ;; header 0, latch 1
  6. ;; depth 0, outer -1
  7. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  8. ;;
  9. ;; Loop 2
  10. ;; header 13, latch 12
  11. ;; depth 1, outer 0
  12. ;; nodes: 13 12 11 9 10
  13. ;;
  14. ;; Loop 3
  15. ;; header 11, latch 10
  16. ;; depth 2, outer 2
  17. ;; nodes: 11 10
  18. ;;
  19. ;; Loop 1
  20. ;; header 7, latch 6
  21. ;; depth 1, outer 0
  22. ;; nodes: 7 6 5 3 4
  23. ;;
  24. ;; Loop 4
  25. ;; header 5, latch 4
  26. ;; depth 2, outer 1
  27. ;; nodes: 5 4
  28. ;; 2 succs { 7 }
  29. ;; 3 succs { 5 }
  30. ;; 4 succs { 5 }
  31. ;; 5 succs { 4 6 }
  32. ;; 6 succs { 7 }
  33. ;; 7 succs { 3 8 }
  34. ;; 8 succs { 13 }
  35. ;; 9 succs { 11 }
  36. ;; 10 succs { 11 }
  37. ;; 11 succs { 10 12 }
  38. ;; 12 succs { 13 }
  39. ;; 13 succs { 9 14 }
  40. ;; 14 succs { 1 }
  41. Analyzing function body size: init_data_bss
  42. IPA function summary for init_data_bss/0 inlinable
  43. global time: 963.462853
  44. self size: 34
  45. global size: 0
  46. min size: 0
  47. self stack: 0
  48. global stack: 0
  49. size:31.000000, time:961.462853
  50. size:3.000000, time:2.000000, executed if:(not inlined)
  51. calls:
  52. Symbol table:
  53. __ZERO_TABLE/2 (__ZERO_TABLE) @05d5d048
  54. Type: variable
  55. Body removed by symtab_remove_unreachable_nodes
  56. Visibility: external public
  57. References:
  58. Referring: init_data_bss/0 (read)init_data_bss/0 (addr)
  59. Availability: not_available
  60. Varpool flags:
  61. __INIT_TABLE/1 (__INIT_TABLE) @05d5d000
  62. Type: variable
  63. Body removed by symtab_remove_unreachable_nodes
  64. Visibility: external public
  65. References:
  66. Referring: init_data_bss/0 (read)init_data_bss/0 (addr)
  67. Availability: not_available
  68. Varpool flags:
  69. init_data_bss/0 (init_data_bss) @05d42a80
  70. Type: function definition analyzed
  71. Visibility: externally_visible public
  72. References: __INIT_TABLE/1 (read)__INIT_TABLE/1 (addr)__ZERO_TABLE/2 (read)__ZERO_TABLE/2 (addr)
  73. Referring:
  74. Availability: available
  75. Function flags: count:14598062 (estimated locally) body optimize_size
  76. Called by:
  77. Calls:
  78. init_data_bss ()
  79. {
  80. uint32 j;
  81. uint32 i;
  82. uint32 size;
  83. uint32 len;
  84. uint8 * ram;
  85. const uint8 * rom;
  86. long unsigned int _1;
  87. const struct Sys_CopyLayoutType * _2;
  88. uint8 * _3;
  89. long unsigned int _4;
  90. long unsigned int _5;
  91. const uint8 * _6;
  92. uint8 * _7;
  93. unsigned char _8;
  94. long unsigned int _9;
  95. const struct Sys_ZeroLayoutType * _10;
  96. uint8 * _11;
  97. long unsigned int _12;
  98. long unsigned int _13;
  99. uint8 * _14;
  100. <bb 2> [local count: 14598062]:
  101. # DEBUG BEGIN_STMT
  102. # DEBUG BEGIN_STMT
  103. # DEBUG BEGIN_STMT
  104. # DEBUG BEGIN_STMT
  105. # DEBUG BEGIN_STMT
  106. # DEBUG len => 0
  107. # DEBUG BEGIN_STMT
  108. # DEBUG size => 0
  109. # DEBUG BEGIN_STMT
  110. # DEBUG i => 0
  111. # DEBUG BEGIN_STMT
  112. # DEBUG j => 0
  113. # DEBUG BEGIN_STMT
  114. # DEBUG initTable_Ptr => &__INIT_TABLE
  115. # DEBUG BEGIN_STMT
  116. # DEBUG zeroTable_Ptr => &__ZERO_TABLE
  117. # DEBUG BEGIN_STMT
  118. len_24 = MEM[(const uint32 *)&__INIT_TABLE];
  119. # DEBUG len => len_24
  120. # DEBUG BEGIN_STMT
  121. # DEBUG initTable_Ptr => &MEM[(void *)&__INIT_TABLE + 4B]
  122. # DEBUG BEGIN_STMT
  123. # DEBUG copy_layout => &MEM[(void *)&__INIT_TABLE + 4B]
  124. # DEBUG BEGIN_STMT
  125. # DEBUG i => 0
  126. goto <bb 7>; [100.00%]
  127. <bb 3> [local count: 118111595]:
  128. # DEBUG BEGIN_STMT
  129. _1 = i_15 * 12;
  130. _2 = &MEM[(void *)&__INIT_TABLE + 4B] + _1;
  131. rom_31 = _2->rom_start;
  132. # DEBUG rom => rom_31
  133. # DEBUG BEGIN_STMT
  134. ram_32 = _2->ram_start;
  135. # DEBUG ram => ram_32
  136. # DEBUG BEGIN_STMT
  137. _3 = _2->rom_end;
  138. _4 = (long unsigned int) _3;
  139. _5 = (long unsigned int) rom_31;
  140. size_33 = _4 - _5;
  141. # DEBUG size => size_33
  142. # DEBUG BEGIN_STMT
  143. # DEBUG j => 0
  144. goto <bb 5>; [100.00%]
  145. <bb 4> [local count: 955630185]:
  146. # DEBUG BEGIN_STMT
  147. _6 = rom_31 + j_17;
  148. _7 = ram_32 + j_17;
  149. _8 = *_6;
  150. *_7 = _8;
  151. # DEBUG BEGIN_STMT
  152. j_36 = j_17 + 1;
  153. # DEBUG j => j_36
  154. <bb 5> [local count: 1073741782]:
  155. # j_17 = PHI <0(3), j_36(4)>
  156. # DEBUG j => j_17
  157. # DEBUG BEGIN_STMT
  158. if (j_17 < size_33)
  159. goto <bb 4>; [89.00%]
  160. else
  161. goto <bb 6>; [11.00%]
  162. <bb 6> [local count: 118111596]:
  163. # DEBUG BEGIN_STMT
  164. i_34 = i_15 + 1;
  165. # DEBUG i => i_34
  166. <bb 7> [local count: 132709658]:
  167. # i_15 = PHI <0(2), i_34(6)>
  168. # DEBUG i => i_15
  169. # DEBUG BEGIN_STMT
  170. if (i_15 < len_24)
  171. goto <bb 3>; [89.00%]
  172. else
  173. goto <bb 8>; [11.00%]
  174. <bb 8> [local count: 14598062]:
  175. # DEBUG BEGIN_STMT
  176. len_25 = MEM[(const uint32 *)&__ZERO_TABLE];
  177. # DEBUG len => len_25
  178. # DEBUG BEGIN_STMT
  179. # DEBUG zeroTable_Ptr => &MEM[(void *)&__ZERO_TABLE + 4B]
  180. # DEBUG BEGIN_STMT
  181. # DEBUG zero_layout => &MEM[(void *)&__ZERO_TABLE + 4B]
  182. # DEBUG BEGIN_STMT
  183. # DEBUG i => 0
  184. goto <bb 13>; [100.00%]
  185. <bb 9> [local count: 118111600]:
  186. # DEBUG BEGIN_STMT
  187. _9 = i_16 * 8;
  188. _10 = &MEM[(void *)&__ZERO_TABLE + 4B] + _9;
  189. ram_26 = _10->ram_start;
  190. # DEBUG ram => ram_26
  191. # DEBUG BEGIN_STMT
  192. _11 = _10->ram_end;
  193. _12 = (long unsigned int) _11;
  194. _13 = (long unsigned int) ram_26;
  195. size_27 = _12 - _13;
  196. # DEBUG size => size_27
  197. # DEBUG BEGIN_STMT
  198. # DEBUG j => 0
  199. goto <bb 11>; [100.00%]
  200. <bb 10> [local count: 955630224]:
  201. # DEBUG BEGIN_STMT
  202. _14 = ram_26 + j_18;
  203. *_14 = 0;
  204. # DEBUG BEGIN_STMT
  205. j_30 = j_18 + 1;
  206. # DEBUG j => j_30
  207. <bb 11> [local count: 1073741824]:
  208. # j_18 = PHI <0(9), j_30(10)>
  209. # DEBUG j => j_18
  210. # DEBUG BEGIN_STMT
  211. if (j_18 < size_27)
  212. goto <bb 10>; [89.00%]
  213. else
  214. goto <bb 12>; [11.00%]
  215. <bb 12> [local count: 118111601]:
  216. # DEBUG BEGIN_STMT
  217. i_28 = i_16 + 1;
  218. # DEBUG i => i_28
  219. <bb 13> [local count: 132709663]:
  220. # i_16 = PHI <0(8), i_28(12)>
  221. # DEBUG i => i_16
  222. # DEBUG BEGIN_STMT
  223. if (i_16 < len_25)
  224. goto <bb 9>; [89.00%]
  225. else
  226. goto <bb 14>; [11.00%]
  227. <bb 14> [local count: 14598063]:
  228. return;
  229. }