startup.c.077i.pure-const 6.8 KB

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