nvic.c.077i.pure-const 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. local analysis of NVIC_SetPriority
  2. scanning: _1 = (long unsigned int) priority_5(D);
  3. scanning: _2 = _1 << 4;
  4. scanning: _3 = (long unsigned int) IRQn_6(D);
  5. scanning: _4 = (unsigned char) _2;
  6. scanning: MEM[(struct S32_NVIC_Type *)3758153984B].IP[_3] ={v} _4;
  7. Volatile stmt is not const/pure
  8. Indirect ref write is not const/pure
  9. scanning: return;
  10. local analysis of NVIC_DisableIRQ
  11. scanning: _2 = IRQn_6(D) & 31;
  12. scanning: _1 = (long unsigned int) _2;
  13. scanning: _3 = IRQn_6(D) >> 5;
  14. scanning: _4 = (long unsigned int) _3;
  15. scanning: _5 = 1 << _1;
  16. scanning: MEM[(struct S32_NVIC_Type *)3758153984B].ICER[_4] ={v} _5;
  17. Volatile stmt is not const/pure
  18. Indirect ref write is not const/pure
  19. scanning: return;
  20. local analysis of NVIC_EnableIRQ
  21. scanning: _2 = IRQn_6(D) & 31;
  22. scanning: _1 = (long unsigned int) _2;
  23. scanning: _3 = IRQn_6(D) >> 5;
  24. scanning: _4 = (long unsigned int) _3;
  25. scanning: _5 = 1 << _1;
  26. scanning: MEM[(struct S32_NVIC_Type *)3758153984B].ISER[_4] ={v} _5;
  27. Volatile stmt is not const/pure
  28. Indirect ref write is not const/pure
  29. scanning: return;
  30. local analysis of NVIC_SetPriorityGrouping
  31. scanning: _1 ={v} MEM[(struct S32_SCB_Type *)3758153728B].AIRCR;
  32. Volatile stmt is not const/pure
  33. Indirect ref read is not const
  34. scanning: _2 = _1 & 4294965503;
  35. scanning: _3 = _2 | PriorityGroup_5(D);
  36. scanning: MEM[(struct S32_SCB_Type *)3758153728B].AIRCR ={v} _3;
  37. Volatile stmt is not const/pure
  38. Indirect ref write is not const/pure
  39. scanning: return;
  40. callgraph:
  41. NVIC_SetPriority/3 (NVIC_SetPriority) @060f7620
  42. Type: function definition analyzed
  43. Visibility: externally_visible public
  44. Aux: @059b4a90
  45. References:
  46. Referring:
  47. Availability: available
  48. Function flags: count:1073741824 (estimated locally) body optimize_size
  49. Called by:
  50. Calls:
  51. NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @060f7d20
  52. Type: function definition analyzed
  53. Visibility: externally_visible public
  54. Aux: @059b4870
  55. References:
  56. Referring:
  57. Availability: available
  58. Function flags: count:1073741824 (estimated locally) body optimize_size
  59. Called by:
  60. Calls:
  61. NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @060f7a80
  62. Type: function definition analyzed
  63. Visibility: externally_visible public
  64. Aux: @059b4970
  65. References:
  66. Referring:
  67. Availability: available
  68. Function flags: count:1073741824 (estimated locally) body optimize_size
  69. Called by:
  70. Calls:
  71. NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @060f77e0
  72. Type: function definition analyzed
  73. Visibility: externally_visible public
  74. Aux: @059b49f0
  75. References:
  76. Referring:
  77. Availability: available
  78. Function flags: count:1073741824 (estimated locally) body optimize_size
  79. Called by:
  80. Calls:
  81. ordered call graph: reduced for nothrow
  82. NVIC_SetPriority/3 (NVIC_SetPriority) @060f7620
  83. Type: function definition analyzed
  84. Visibility: externally_visible public
  85. Aux: @059b4a90
  86. References:
  87. Referring:
  88. Availability: available
  89. Function flags: count:1073741824 (estimated locally) body optimize_size
  90. Called by:
  91. Calls:
  92. NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @060f7d20
  93. Type: function definition analyzed
  94. Visibility: externally_visible public
  95. Aux: @059b4870
  96. References:
  97. Referring:
  98. Availability: available
  99. Function flags: count:1073741824 (estimated locally) body optimize_size
  100. Called by:
  101. Calls:
  102. NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @060f7a80
  103. Type: function definition analyzed
  104. Visibility: externally_visible public
  105. Aux: @059b4970
  106. References:
  107. Referring:
  108. Availability: available
  109. Function flags: count:1073741824 (estimated locally) body optimize_size
  110. Called by:
  111. Calls:
  112. NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @060f77e0
  113. Type: function definition analyzed
  114. Visibility: externally_visible public
  115. Aux: @059b49f0
  116. References:
  117. Referring:
  118. Availability: available
  119. Function flags: count:1073741824 (estimated locally) body optimize_size
  120. Called by:
  121. Calls:
  122. MALLOC LATTICE Initial:
  123. NVIC_SetPriority: malloc_bottom
  124. NVIC_DisableIRQ: malloc_bottom
  125. NVIC_EnableIRQ: malloc_bottom
  126. NVIC_SetPriorityGrouping: malloc_bottom
  127. MALLOC LATTICE after propagation:
  128. NVIC_SetPriority: malloc_bottom
  129. NVIC_DisableIRQ: malloc_bottom
  130. NVIC_EnableIRQ: malloc_bottom
  131. NVIC_SetPriorityGrouping: malloc_bottom
  132. callgraph:
  133. NVIC_SetPriority/3 (NVIC_SetPriority) @060f7620
  134. Type: function definition analyzed
  135. Visibility: externally_visible public
  136. Aux: @059b4a70
  137. References:
  138. Referring:
  139. Availability: available
  140. Function flags: count:1073741824 (estimated locally) body optimize_size
  141. Called by:
  142. Calls:
  143. NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @060f7d20
  144. Type: function definition analyzed
  145. Visibility: externally_visible public
  146. Aux: @059b4730
  147. References:
  148. Referring:
  149. Availability: available
  150. Function flags: count:1073741824 (estimated locally) body optimize_size
  151. Called by:
  152. Calls:
  153. NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @060f7a80
  154. Type: function definition analyzed
  155. Visibility: externally_visible public
  156. Aux: @059b46f0
  157. References:
  158. Referring:
  159. Availability: available
  160. Function flags: count:1073741824 (estimated locally) body optimize_size
  161. Called by:
  162. Calls:
  163. NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @060f77e0
  164. Type: function definition analyzed
  165. Visibility: externally_visible public
  166. Aux: @059b4790
  167. References:
  168. Referring:
  169. Availability: available
  170. Function flags: count:1073741824 (estimated locally) body optimize_size
  171. Called by:
  172. Calls:
  173. ordered call graph: reduced
  174. NVIC_SetPriority/3 (NVIC_SetPriority) @060f7620
  175. Type: function definition analyzed
  176. Visibility: externally_visible public
  177. Aux: @059b4a70
  178. References:
  179. Referring:
  180. Availability: available
  181. Function flags: count:1073741824 (estimated locally) body optimize_size
  182. Called by:
  183. Calls:
  184. NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @060f7d20
  185. Type: function definition analyzed
  186. Visibility: externally_visible public
  187. Aux: @059b4730
  188. References:
  189. Referring:
  190. Availability: available
  191. Function flags: count:1073741824 (estimated locally) body optimize_size
  192. Called by:
  193. Calls:
  194. NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @060f7a80
  195. Type: function definition analyzed
  196. Visibility: externally_visible public
  197. Aux: @059b46f0
  198. References:
  199. Referring:
  200. Availability: available
  201. Function flags: count:1073741824 (estimated locally) body optimize_size
  202. Called by:
  203. Calls:
  204. NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @060f77e0
  205. Type: function definition analyzed
  206. Visibility: externally_visible public
  207. Aux: @059b4790
  208. References:
  209. Referring:
  210. Availability: available
  211. Function flags: count:1073741824 (estimated locally) body optimize_size
  212. Called by:
  213. Calls:
  214. Function found not to call free: NVIC_SetPriorityGrouping
  215. Function found not to call free: NVIC_EnableIRQ
  216. Function found not to call free: NVIC_DisableIRQ
  217. Function found not to call free: NVIC_SetPriority
  218. NVIC_SetPriority (uint8 IRQn, uint8 priority)
  219. {
  220. long unsigned int _1;
  221. long unsigned int _2;
  222. long unsigned int _3;
  223. unsigned char _4;
  224. <bb 2> [local count: 1073741824]:
  225. # DEBUG BEGIN_STMT
  226. # DEBUG shift => 4
  227. # DEBUG BEGIN_STMT
  228. _1 = (long unsigned int) priority_5(D);
  229. _2 = _1 << 4;
  230. _3 = (long unsigned int) IRQn_6(D);
  231. _4 = (unsigned char) _2;
  232. MEM[(struct S32_NVIC_Type *)3758153984B].IP[_3] ={v} _4;
  233. return;
  234. }
  235. NVIC_DisableIRQ (uint8 IRQn)
  236. {
  237. long unsigned int _1;
  238. unsigned char _2;
  239. unsigned char _3;
  240. long unsigned int _4;
  241. long unsigned int _5;
  242. <bb 2> [local count: 1073741824]:
  243. # DEBUG BEGIN_STMT
  244. _2 = IRQn_6(D) & 31;
  245. _1 = (long unsigned int) _2;
  246. _3 = IRQn_6(D) >> 5;
  247. _4 = (long unsigned int) _3;
  248. _5 = 1 << _1;
  249. MEM[(struct S32_NVIC_Type *)3758153984B].ICER[_4] ={v} _5;
  250. return;
  251. }
  252. NVIC_EnableIRQ (uint8 IRQn)
  253. {
  254. long unsigned int _1;
  255. unsigned char _2;
  256. unsigned char _3;
  257. long unsigned int _4;
  258. long unsigned int _5;
  259. <bb 2> [local count: 1073741824]:
  260. # DEBUG BEGIN_STMT
  261. _2 = IRQn_6(D) & 31;
  262. _1 = (long unsigned int) _2;
  263. _3 = IRQn_6(D) >> 5;
  264. _4 = (long unsigned int) _3;
  265. _5 = 1 << _1;
  266. MEM[(struct S32_NVIC_Type *)3758153984B].ISER[_4] ={v} _5;
  267. return;
  268. }
  269. NVIC_SetPriorityGrouping (uint32 PriorityGroup)
  270. {
  271. long unsigned int _1;
  272. long unsigned int _2;
  273. long unsigned int _3;
  274. <bb 2> [local count: 1073741824]:
  275. # DEBUG BEGIN_STMT
  276. _1 ={v} MEM[(struct S32_SCB_Type *)3758153728B].AIRCR;
  277. _2 = _1 & 4294965503;
  278. _3 = _2 | PriorityGroup_5(D);
  279. MEM[(struct S32_SCB_Type *)3758153728B].AIRCR ={v} _3;
  280. return;
  281. }