event_groups.c.072i.cp 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641
  1. IPA constant propagation start:
  2. Determining dynamic type for call: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
  3. Starting walk at: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
  4. instance pointer: pvEventGroup_2(D) Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference:
  5. Determining dynamic type for call: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
  6. Starting walk at: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
  7. instance pointer: pvEventGroup_2(D) Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference:
  8. Determining dynamic type for call: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
  9. Starting walk at: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
  10. instance pointer: xEventGroup_3(D) Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference:
  11. Determining dynamic type for call: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
  12. Starting walk at: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
  13. instance pointer: xEventGroup_3(D) Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference:
  14. Determining dynamic type for call: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
  15. Starting walk at: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
  16. instance pointer: xEventGroup_23(D) Outer instance pointer: xEventGroup_23(D) offset: 0 (bits) vtbl reference:
  17. Function call may change dynamic type:vTaskSuspendAll ();
  18. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  19. IPA structures before propagation:
  20. Jump functions:
  21. Jump functions of caller xEventGroupSetBits.part.0/39:
  22. Jump functions of caller xEventGroupClearBits.part.0/36:
  23. Jump functions of caller vPortFree/29:
  24. Jump functions of caller vTaskRemoveFromUnorderedEventList/28:
  25. Jump functions of caller xTimerPendFunctionCallFromISR/27:
  26. Jump functions of caller vPortExitCritical/26:
  27. Jump functions of caller vPortEnterCritical/25:
  28. Jump functions of caller uxTaskResetEventItemValue/24:
  29. Jump functions of caller xTaskResumeAll/23:
  30. Jump functions of caller vTaskPlaceOnUnorderedEventList/22:
  31. Jump functions of caller vTaskSuspendAll/21:
  32. Jump functions of caller xTaskGetSchedulerState/20:
  33. Jump functions of caller vListInitialise/19:
  34. Jump functions of caller pvPortMalloc/18:
  35. Jump functions of caller vEventGroupSetNumber/17:
  36. Jump functions of caller uxEventGroupGetNumber/16:
  37. Jump functions of caller xEventGroupSetBitsFromISR/15:
  38. Jump functions of caller prvTestWaitCondition/14:
  39. Jump functions of caller vEventGroupClearBitsCallback/13:
  40. callsite vEventGroupClearBitsCallback/13 -> xEventGroupClearBits/7 :
  41. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  42. value: 0x0, mask: 0xffffffff
  43. Unknown VR
  44. param 1: PASS THROUGH: 1, op nop_expr
  45. value: 0x0, mask: 0xffffffff
  46. Unknown VR
  47. Jump functions of caller vEventGroupSetBitsCallback/12:
  48. callsite vEventGroupSetBitsCallback/12 -> xEventGroupSetBits/10 :
  49. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  50. value: 0x0, mask: 0xffffffff
  51. Unknown VR
  52. param 1: PASS THROUGH: 1, op nop_expr
  53. value: 0x0, mask: 0xffffffff
  54. Unknown VR
  55. Jump functions of caller vEventGroupDelete/11:
  56. Jump functions of caller xEventGroupSetBits/10:
  57. callsite xEventGroupSetBits/10 -> xEventGroupSetBits.part.0/39 :
  58. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  59. value: 0x0, mask: 0xffffffff
  60. Unknown VR
  61. param 1: PASS THROUGH: 1, op nop_expr
  62. value: 0x0, mask: 0xffffffff
  63. Unknown VR
  64. Jump functions of caller xEventGroupGetBitsFromISR/9:
  65. Jump functions of caller xEventGroupClearBitsFromISR/8:
  66. Jump functions of caller xEventGroupClearBits/7:
  67. callsite xEventGroupClearBits/7 -> xEventGroupClearBits.part.0/36 :
  68. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  69. value: 0x0, mask: 0xffffffff
  70. Unknown VR
  71. param 1: PASS THROUGH: 1, op nop_expr
  72. value: 0x0, mask: 0xffffffff
  73. Unknown VR
  74. Jump functions of caller xEventGroupWaitBits/6:
  75. callsite xEventGroupWaitBits/6 -> prvTestWaitCondition/14 :
  76. param 0: UNKNOWN
  77. value: 0x0, mask: 0xffffffff
  78. Unknown VR
  79. param 1: PASS THROUGH: 1, op nop_expr
  80. value: 0x0, mask: 0xffffffff
  81. Unknown VR
  82. param 2: PASS THROUGH: 3, op nop_expr
  83. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  84. Unknown VR
  85. callsite xEventGroupWaitBits/6 -> prvTestWaitCondition/14 :
  86. param 0: UNKNOWN
  87. value: 0x0, mask: 0xffffffff
  88. Unknown VR
  89. param 1: PASS THROUGH: 1, op nop_expr
  90. value: 0x0, mask: 0xffffffff
  91. Unknown VR
  92. param 2: PASS THROUGH: 3, op nop_expr
  93. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  94. Unknown VR
  95. Jump functions of caller xEventGroupSync/5:
  96. callsite xEventGroupSync/5 -> xEventGroupSetBits/10 :
  97. param 0: PASS THROUGH: 0, op nop_expr
  98. value: 0x0, mask: 0xffffffff
  99. Unknown VR
  100. param 1: PASS THROUGH: 1, op nop_expr
  101. value: 0x0, mask: 0xffffffff
  102. Unknown VR
  103. Jump functions of caller xEventGroupCreate/4:
  104. Propagating constants:
  105. Not considering vEventGroupSetNumber for cloning; -fipa-cp-clone disabled.
  106. Not considering uxEventGroupGetNumber for cloning; -fipa-cp-clone disabled.
  107. Not considering xEventGroupSetBitsFromISR for cloning; -fipa-cp-clone disabled.
  108. Not considering vEventGroupClearBitsCallback for cloning; -fipa-cp-clone disabled.
  109. Not considering vEventGroupSetBitsCallback for cloning; -fipa-cp-clone disabled.
  110. Not considering vEventGroupDelete for cloning; -fipa-cp-clone disabled.
  111. Not considering xEventGroupSetBits for cloning; -fipa-cp-clone disabled.
  112. Not considering xEventGroupGetBitsFromISR for cloning; -fipa-cp-clone disabled.
  113. Not considering xEventGroupClearBitsFromISR for cloning; -fipa-cp-clone disabled.
  114. Not considering xEventGroupClearBits for cloning; -fipa-cp-clone disabled.
  115. Not considering xEventGroupWaitBits for cloning; -fipa-cp-clone disabled.
  116. Not considering xEventGroupSync for cloning; -fipa-cp-clone disabled.
  117. Not considering xEventGroupCreate for cloning; -fipa-cp-clone disabled.
  118. overall_size: 359, max_new_size: 11001
  119. IPA lattices after all propagation:
  120. Lattices:
  121. Node: xEventGroupSetBits.part.0/39:
  122. param [0]: VARIABLE
  123. ctxs: VARIABLE
  124. Bits unusable (BOTTOM)
  125. VARYING
  126. AGGS VARIABLE
  127. param [1]: VARIABLE
  128. ctxs: VARIABLE
  129. Bits unusable (BOTTOM)
  130. VARYING
  131. AGGS VARIABLE
  132. Node: xEventGroupClearBits.part.0/36:
  133. param [0]: VARIABLE
  134. ctxs: VARIABLE
  135. Bits unusable (BOTTOM)
  136. VARYING
  137. AGGS VARIABLE
  138. param [1]: VARIABLE
  139. ctxs: VARIABLE
  140. Bits unusable (BOTTOM)
  141. VARYING
  142. AGGS VARIABLE
  143. Node: vEventGroupSetNumber/17:
  144. param [0]: BOTTOM
  145. ctxs: BOTTOM
  146. Bits unusable (BOTTOM)
  147. VARYING
  148. AGGS BOTTOM
  149. param [1]: BOTTOM
  150. ctxs: BOTTOM
  151. Bits unusable (BOTTOM)
  152. VARYING
  153. AGGS BOTTOM
  154. Node: uxEventGroupGetNumber/16:
  155. param [0]: BOTTOM
  156. ctxs: BOTTOM
  157. Bits unusable (BOTTOM)
  158. VARYING
  159. AGGS BOTTOM
  160. Node: xEventGroupSetBitsFromISR/15:
  161. param [0]: BOTTOM
  162. ctxs: BOTTOM
  163. Bits unusable (BOTTOM)
  164. VARYING
  165. AGGS BOTTOM
  166. param [1]: BOTTOM
  167. ctxs: BOTTOM
  168. Bits unusable (BOTTOM)
  169. VARYING
  170. AGGS BOTTOM
  171. param [2]: BOTTOM
  172. ctxs: BOTTOM
  173. Bits unusable (BOTTOM)
  174. VARYING
  175. AGGS BOTTOM
  176. Node: prvTestWaitCondition/14:
  177. param [0]: VARIABLE
  178. ctxs: VARIABLE
  179. Bits unusable (BOTTOM)
  180. VARYING
  181. AGGS VARIABLE
  182. param [1]: VARIABLE
  183. ctxs: VARIABLE
  184. Bits unusable (BOTTOM)
  185. VARYING
  186. AGGS VARIABLE
  187. param [2]: VARIABLE
  188. ctxs: VARIABLE
  189. Bits unusable (BOTTOM)
  190. VARYING
  191. AGGS VARIABLE
  192. Node: vEventGroupClearBitsCallback/13:
  193. param [0]: BOTTOM
  194. ctxs: BOTTOM
  195. Bits unusable (BOTTOM)
  196. VARYING
  197. AGGS BOTTOM
  198. param [1]: BOTTOM
  199. ctxs: BOTTOM
  200. Bits unusable (BOTTOM)
  201. VARYING
  202. AGGS BOTTOM
  203. Node: vEventGroupSetBitsCallback/12:
  204. param [0]: BOTTOM
  205. ctxs: BOTTOM
  206. Bits unusable (BOTTOM)
  207. VARYING
  208. AGGS BOTTOM
  209. param [1]: BOTTOM
  210. ctxs: BOTTOM
  211. Bits unusable (BOTTOM)
  212. VARYING
  213. AGGS BOTTOM
  214. Node: vEventGroupDelete/11:
  215. param [0]: BOTTOM
  216. ctxs: BOTTOM
  217. Bits unusable (BOTTOM)
  218. VARYING
  219. AGGS BOTTOM
  220. Node: xEventGroupSetBits/10:
  221. param [0]: BOTTOM
  222. ctxs: BOTTOM
  223. Bits unusable (BOTTOM)
  224. VARYING
  225. AGGS BOTTOM
  226. param [1]: BOTTOM
  227. ctxs: BOTTOM
  228. Bits unusable (BOTTOM)
  229. VARYING
  230. AGGS BOTTOM
  231. Node: xEventGroupGetBitsFromISR/9:
  232. param [0]: BOTTOM
  233. ctxs: BOTTOM
  234. Bits unusable (BOTTOM)
  235. VARYING
  236. AGGS BOTTOM
  237. Node: xEventGroupClearBitsFromISR/8:
  238. param [0]: BOTTOM
  239. ctxs: BOTTOM
  240. Bits unusable (BOTTOM)
  241. VARYING
  242. AGGS BOTTOM
  243. param [1]: BOTTOM
  244. ctxs: BOTTOM
  245. Bits unusable (BOTTOM)
  246. VARYING
  247. AGGS BOTTOM
  248. Node: xEventGroupClearBits/7:
  249. param [0]: BOTTOM
  250. ctxs: BOTTOM
  251. Bits unusable (BOTTOM)
  252. VARYING
  253. AGGS BOTTOM
  254. param [1]: BOTTOM
  255. ctxs: BOTTOM
  256. Bits unusable (BOTTOM)
  257. VARYING
  258. AGGS BOTTOM
  259. Node: xEventGroupWaitBits/6:
  260. param [0]: BOTTOM
  261. ctxs: BOTTOM
  262. Bits unusable (BOTTOM)
  263. VARYING
  264. AGGS BOTTOM
  265. param [1]: BOTTOM
  266. ctxs: BOTTOM
  267. Bits unusable (BOTTOM)
  268. VARYING
  269. AGGS BOTTOM
  270. param [2]: BOTTOM
  271. ctxs: BOTTOM
  272. Bits unusable (BOTTOM)
  273. VARYING
  274. AGGS BOTTOM
  275. param [3]: BOTTOM
  276. ctxs: BOTTOM
  277. Bits unusable (BOTTOM)
  278. VARYING
  279. AGGS BOTTOM
  280. param [4]: BOTTOM
  281. ctxs: BOTTOM
  282. Bits unusable (BOTTOM)
  283. VARYING
  284. AGGS BOTTOM
  285. Node: xEventGroupSync/5:
  286. param [0]: BOTTOM
  287. ctxs: BOTTOM
  288. Bits unusable (BOTTOM)
  289. VARYING
  290. AGGS BOTTOM
  291. param [1]: BOTTOM
  292. ctxs: BOTTOM
  293. Bits unusable (BOTTOM)
  294. VARYING
  295. AGGS BOTTOM
  296. param [2]: BOTTOM
  297. ctxs: BOTTOM
  298. Bits unusable (BOTTOM)
  299. VARYING
  300. AGGS BOTTOM
  301. param [3]: BOTTOM
  302. ctxs: BOTTOM
  303. Bits unusable (BOTTOM)
  304. VARYING
  305. AGGS BOTTOM
  306. Node: xEventGroupCreate/4:
  307. IPA decision stage:
  308. IPA constant propagation end
  309. Reclaiming functions:
  310. Reclaiming variables:
  311. Clearing address taken flags:
  312. Symbol table:
  313. xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
  314. Type: function definition analyzed
  315. Visibility: prevailing_def_ironly artificial
  316. References:
  317. Referring:
  318. Availability: local
  319. Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  320. Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call)
  321. Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call)
  322. xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
  323. Type: function definition analyzed
  324. Visibility: prevailing_def_ironly artificial
  325. References:
  326. Referring:
  327. Availability: local
  328. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  329. Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call)
  330. Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call)
  331. vPortFree/29 (vPortFree) @05ecab60
  332. Type: function
  333. Visibility: external public
  334. References:
  335. Referring:
  336. Availability: not_available
  337. Function flags: optimize_size
  338. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call)
  339. Calls:
  340. vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0
  341. Type: function
  342. Visibility: external public
  343. References:
  344. Referring:
  345. Availability: not_available
  346. Function flags: optimize_size
  347. Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call)
  348. Calls:
  349. xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460
  350. Type: function
  351. Visibility: external public
  352. References:
  353. Referring:
  354. Availability: not_available
  355. Function flags: optimize_size
  356. Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call)
  357. Calls:
  358. vPortExitCritical/26 (vPortExitCritical) @05eadd20
  359. Type: function
  360. Visibility: external public
  361. References:
  362. Referring:
  363. Availability: not_available
  364. Function flags: optimize_size
  365. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  366. Calls:
  367. vPortEnterCritical/25 (vPortEnterCritical) @05eadc40
  368. Type: function
  369. Visibility: external public
  370. References:
  371. Referring:
  372. Availability: not_available
  373. Function flags: optimize_size
  374. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  375. Calls:
  376. uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60
  377. Type: function
  378. Visibility: external public
  379. References:
  380. Referring:
  381. Availability: not_available
  382. Function flags: optimize_size
  383. Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call)
  384. Calls:
  385. xTaskResumeAll/23 (xTaskResumeAll) @05eada80
  386. Type: function
  387. Visibility: external public
  388. References:
  389. Referring:
  390. Availability: not_available
  391. Function flags: optimize_size
  392. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  393. Calls:
  394. vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0
  395. Type: function
  396. Visibility: external public
  397. References:
  398. Referring:
  399. Availability: not_available
  400. Function flags: optimize_size
  401. Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call)
  402. Calls:
  403. vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0
  404. Type: function
  405. Visibility: external public
  406. References:
  407. Referring:
  408. Availability: not_available
  409. Function flags: optimize_size
  410. Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  411. Calls:
  412. xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0
  413. Type: function
  414. Visibility: external public
  415. References:
  416. Referring:
  417. Availability: not_available
  418. Function flags: optimize_size
  419. Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call)
  420. Calls:
  421. vListInitialise/19 (vListInitialise) @05ead460
  422. Type: function
  423. Visibility: external public
  424. References:
  425. Referring:
  426. Availability: not_available
  427. Function flags: optimize_size
  428. Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call)
  429. Calls:
  430. pvPortMalloc/18 (pvPortMalloc) @05ead380
  431. Type: function
  432. Visibility: external public
  433. References:
  434. Referring:
  435. Availability: not_available
  436. Function flags: optimize_size
  437. Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call)
  438. Calls:
  439. vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
  440. Type: function definition analyzed
  441. Visibility: externally_visible public
  442. References:
  443. Referring:
  444. Availability: available
  445. Function flags: count:1073741824 (estimated locally) body optimize_size
  446. Called by:
  447. Calls:
  448. uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
  449. Type: function definition analyzed
  450. Visibility: externally_visible public
  451. References:
  452. Referring:
  453. Availability: available
  454. Function flags: count:1073741824 (estimated locally) body optimize_size
  455. Called by:
  456. Calls:
  457. xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
  458. Type: function definition analyzed
  459. Visibility: externally_visible public
  460. References: vEventGroupSetBitsCallback/12 (addr)
  461. Referring:
  462. Availability: available
  463. Function flags: count:1073741824 (estimated locally) body optimize_size
  464. Called by:
  465. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  466. prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
  467. Type: function definition analyzed
  468. Visibility: prevailing_def_ironly
  469. References:
  470. Referring:
  471. Availability: local
  472. Function flags: count:1073741824 (estimated locally) body local optimize_size
  473. Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  474. Calls:
  475. vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
  476. Type: function definition analyzed
  477. Visibility: externally_visible public
  478. Address is taken.
  479. References:
  480. Referring: xEventGroupClearBitsFromISR/8 (addr)
  481. Availability: available
  482. Function flags: count:1073741824 (estimated locally) body optimize_size
  483. Called by:
  484. Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
  485. vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
  486. Type: function definition analyzed
  487. Visibility: externally_visible public
  488. Address is taken.
  489. References:
  490. Referring: xEventGroupSetBitsFromISR/15 (addr)
  491. Availability: available
  492. Function flags: count:1073741824 (estimated locally) body optimize_size
  493. Called by:
  494. Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
  495. vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
  496. Type: function definition analyzed
  497. Visibility: externally_visible public
  498. References:
  499. Referring:
  500. Availability: available
  501. Function flags: count:230763 (estimated locally) body optimize_size
  502. Called by:
  503. Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call)
  504. xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
  505. Type: function definition analyzed
  506. Visibility: externally_visible public
  507. References:
  508. Referring:
  509. Availability: available
  510. Function flags: count:228942 (estimated locally) body optimize_size
  511. Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
  512. Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call)
  513. xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
  514. Type: function definition analyzed
  515. Visibility: externally_visible public
  516. References:
  517. Referring:
  518. Availability: available
  519. Function flags: count:1073741824 (estimated locally) body optimize_size
  520. Called by:
  521. Calls:
  522. xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
  523. Type: function definition analyzed
  524. Visibility: externally_visible public
  525. References: vEventGroupClearBitsCallback/13 (addr)
  526. Referring:
  527. Availability: available
  528. Function flags: count:1073741824 (estimated locally) body optimize_size
  529. Called by:
  530. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  531. xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
  532. Type: function definition analyzed
  533. Visibility: externally_visible public
  534. References:
  535. Referring:
  536. Availability: available
  537. Function flags: count:228942 (estimated locally) body optimize_size
  538. Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
  539. Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call)
  540. xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
  541. Type: function definition analyzed
  542. Visibility: externally_visible public
  543. References:
  544. Referring:
  545. Availability: available
  546. Function flags: count:306783 (estimated locally) body optimize_size
  547. Called by:
  548. Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call)
  549. xEventGroupSync/5 (xEventGroupSync) @05e5d460
  550. Type: function definition analyzed
  551. Visibility: externally_visible public
  552. References:
  553. Referring:
  554. Availability: available
  555. Function flags: count:214748 (estimated locally) body optimize_size
  556. Called by:
  557. Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call)
  558. xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
  559. Type: function definition analyzed
  560. Visibility: externally_visible public
  561. References:
  562. Referring:
  563. Availability: available
  564. Function flags: count:1073741824 (estimated locally) body optimize_size
  565. Called by:
  566. Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
  567. ;; Function xEventGroupCreate (xEventGroupCreate, funcdef_no=4, decl_uid=6271, cgraph_uid=5, symbol_order=4)
  568. Modification phase of node xEventGroupCreate/4
  569. xEventGroupCreate ()
  570. {
  571. struct EventGroup_t * pxEventBits;
  572. struct List_t * _1;
  573. <bb 2> [local count: 1073741824]:
  574. # DEBUG BEGIN_STMT
  575. # DEBUG BEGIN_STMT
  576. pxEventBits_5 = pvPortMalloc (28);
  577. # DEBUG pxEventBits => pxEventBits_5
  578. # DEBUG BEGIN_STMT
  579. if (pxEventBits_5 != 0B)
  580. goto <bb 3>; [53.47%]
  581. else
  582. goto <bb 4>; [46.53%]
  583. <bb 3> [local count: 574129754]:
  584. # DEBUG BEGIN_STMT
  585. pxEventBits_5->uxEventBits = 0;
  586. # DEBUG BEGIN_STMT
  587. _1 = &pxEventBits_5->xTasksWaitingForBits;
  588. vListInitialise (_1);
  589. # DEBUG BEGIN_STMT
  590. <bb 4> [local count: 1073741824]:
  591. # DEBUG BEGIN_STMT
  592. # DEBUG BEGIN_STMT
  593. return pxEventBits_5;
  594. }
  595. ;; Function xEventGroupWaitBits (xEventGroupWaitBits, funcdef_no=6, decl_uid=6277, cgraph_uid=7, symbol_order=6)
  596. Modification phase of node xEventGroupWaitBits/6
  597. xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
  598. {
  599. uint32_t ulNewBASEPRI;
  600. uint32_t ulNewBASEPRI;
  601. uint32_t ulNewBASEPRI;
  602. uint32_t ulNewBASEPRI;
  603. const EventBits_t uxCurrentEventBits;
  604. BaseType_t xAlreadyYielded;
  605. BaseType_t xWaitConditionMet;
  606. EventBits_t uxControlBits;
  607. EventBits_t uxReturn;
  608. long unsigned int _1;
  609. long int _2;
  610. long unsigned int _3;
  611. long unsigned int _4;
  612. struct List_t * _5;
  613. long unsigned int _6;
  614. long unsigned int _7;
  615. long int _8;
  616. long unsigned int _9;
  617. long unsigned int _10;
  618. <bb 2> [local count: 306783]:
  619. # DEBUG BEGIN_STMT
  620. # DEBUG pxEventBits => xEventGroup_22(D)
  621. # DEBUG BEGIN_STMT
  622. # DEBUG uxControlBits => 0
  623. # DEBUG BEGIN_STMT
  624. # DEBUG BEGIN_STMT
  625. # DEBUG xTimeoutOccurred => 0
  626. # DEBUG BEGIN_STMT
  627. if (xEventGroup_22(D) == 0B)
  628. goto <bb 3>; [30.00%]
  629. else
  630. goto <bb 5>; [70.00%]
  631. <bb 3> [local count: 92035]:
  632. # DEBUG BEGIN_STMT
  633. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  634. # DEBUG BEGIN_STMT
  635. # DEBUG BEGIN_STMT
  636. __asm__ __volatile__(" mov %0, %1
  637. msr basepri, %0
  638. isb
  639. dsb
  640. " : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
  641. # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
  642. <bb 4> [local count: 920350133]:
  643. # DEBUG ulNewBASEPRI => NULL
  644. # DEBUG BEGIN_STMT
  645. # DEBUG BEGIN_STMT
  646. # DEBUG BEGIN_STMT
  647. <bb 34> [local count: 920350133]:
  648. goto <bb 4>; [100.00%]
  649. <bb 5> [local count: 214748]:
  650. # DEBUG BEGIN_STMT
  651. # DEBUG BEGIN_STMT
  652. _1 = uxBitsToWaitFor_23(D) & 4278190080;
  653. if (_1 != 0)
  654. goto <bb 6>; [50.00%]
  655. else
  656. goto <bb 8>; [50.00%]
  657. <bb 6> [local count: 107374]:
  658. # DEBUG BEGIN_STMT
  659. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  660. # DEBUG BEGIN_STMT
  661. # DEBUG BEGIN_STMT
  662. __asm__ __volatile__(" mov %0, %1
  663. msr basepri, %0
  664. isb
  665. dsb
  666. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  667. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  668. <bb 7> [local count: 1073741823]:
  669. # DEBUG ulNewBASEPRI => NULL
  670. # DEBUG BEGIN_STMT
  671. # DEBUG BEGIN_STMT
  672. # DEBUG BEGIN_STMT
  673. <bb 35> [local count: 1073741824]:
  674. goto <bb 7>; [100.00%]
  675. <bb 8> [local count: 107374]:
  676. # DEBUG BEGIN_STMT
  677. # DEBUG BEGIN_STMT
  678. if (uxBitsToWaitFor_23(D) == 0)
  679. goto <bb 9>; [67.00%]
  680. else
  681. goto <bb 11>; [33.00%]
  682. <bb 9> [local count: 71941]:
  683. # DEBUG BEGIN_STMT
  684. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  685. # DEBUG BEGIN_STMT
  686. # DEBUG BEGIN_STMT
  687. __asm__ __volatile__(" mov %0, %1
  688. msr basepri, %0
  689. isb
  690. dsb
  691. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  692. # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
  693. <bb 10> [local count: 719407021]:
  694. # DEBUG ulNewBASEPRI => NULL
  695. # DEBUG BEGIN_STMT
  696. # DEBUG BEGIN_STMT
  697. # DEBUG BEGIN_STMT
  698. <bb 36> [local count: 719407021]:
  699. goto <bb 10>; [100.00%]
  700. <bb 11> [local count: 35433]:
  701. # DEBUG BEGIN_STMT
  702. # DEBUG BEGIN_STMT
  703. _2 = xTaskGetSchedulerState ();
  704. if (_2 != 0)
  705. goto <bb 15>; [33.00%]
  706. else
  707. goto <bb 12>; [67.00%]
  708. <bb 12> [local count: 23740]:
  709. if (xTicksToWait_26(D) == 0)
  710. goto <bb 15>; [50.00%]
  711. else
  712. goto <bb 13>; [50.00%]
  713. <bb 13> [local count: 11870]:
  714. # DEBUG BEGIN_STMT
  715. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  716. # DEBUG BEGIN_STMT
  717. # DEBUG BEGIN_STMT
  718. __asm__ __volatile__(" mov %0, %1
  719. msr basepri, %0
  720. isb
  721. dsb
  722. " : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
  723. # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
  724. <bb 14> [local count: 118702158]:
  725. # DEBUG ulNewBASEPRI => NULL
  726. # DEBUG BEGIN_STMT
  727. # DEBUG BEGIN_STMT
  728. # DEBUG BEGIN_STMT
  729. <bb 37> [local count: 118702158]:
  730. goto <bb 14>; [100.00%]
  731. <bb 15> [local count: 23563]:
  732. # DEBUG BEGIN_STMT
  733. # DEBUG BEGIN_STMT
  734. vTaskSuspendAll ();
  735. # DEBUG BEGIN_STMT
  736. uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  737. # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
  738. # DEBUG BEGIN_STMT
  739. xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  740. # DEBUG xWaitConditionMet => xWaitConditionMet_31
  741. # DEBUG BEGIN_STMT
  742. if (xWaitConditionMet_31 != 0)
  743. goto <bb 16>; [50.00%]
  744. else
  745. goto <bb 18>; [50.00%]
  746. <bb 16> [local count: 11782]:
  747. # DEBUG BEGIN_STMT
  748. # DEBUG uxReturn => uxCurrentEventBits_28
  749. # DEBUG BEGIN_STMT
  750. # DEBUG xTicksToWait => 0
  751. # DEBUG BEGIN_STMT
  752. if (xClearOnExit_32(D) != 0)
  753. goto <bb 17>; [50.00%]
  754. else
  755. goto <bb 24>; [50.00%]
  756. <bb 17> [local count: 5891]:
  757. # DEBUG BEGIN_STMT
  758. _3 = ~uxBitsToWaitFor_23(D);
  759. _4 = _3 & uxCurrentEventBits_28;
  760. MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
  761. goto <bb 24>; [100.00%]
  762. <bb 18> [local count: 11782]:
  763. # DEBUG BEGIN_STMT
  764. if (xTicksToWait_26(D) == 0)
  765. goto <bb 24>; [50.00%]
  766. else
  767. goto <bb 19>; [50.00%]
  768. <bb 19> [local count: 5891]:
  769. # DEBUG BEGIN_STMT
  770. if (xClearOnExit_32(D) != 0)
  771. goto <bb 20>; [50.00%]
  772. else
  773. goto <bb 21>; [50.00%]
  774. <bb 20> [local count: 2945]:
  775. # DEBUG BEGIN_STMT
  776. # DEBUG uxControlBits => 16777216
  777. <bb 21> [local count: 5891]:
  778. # uxControlBits_15 = PHI <0(19), 16777216(20)>
  779. # DEBUG uxControlBits => uxControlBits_15
  780. # DEBUG BEGIN_STMT
  781. # DEBUG BEGIN_STMT
  782. if (xWaitForAllBits_29(D) != 0)
  783. goto <bb 22>; [50.00%]
  784. else
  785. goto <bb 23>; [50.00%]
  786. <bb 22> [local count: 2945]:
  787. # DEBUG BEGIN_STMT
  788. uxControlBits_33 = uxControlBits_15 | 67108864;
  789. # DEBUG uxControlBits => uxControlBits_33
  790. <bb 23> [local count: 5891]:
  791. # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
  792. # DEBUG uxControlBits => uxControlBits_16
  793. # DEBUG BEGIN_STMT
  794. # DEBUG BEGIN_STMT
  795. _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
  796. _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
  797. vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
  798. # DEBUG BEGIN_STMT
  799. # DEBUG uxReturn => 0
  800. <bb 24> [local count: 23563]:
  801. # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
  802. # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
  803. # DEBUG xTimeoutOccurred => NULL
  804. # DEBUG uxReturn => uxReturn_12
  805. # DEBUG xTicksToWait => xTicksToWait_11
  806. # DEBUG BEGIN_STMT
  807. # DEBUG BEGIN_STMT
  808. xAlreadyYielded_37 = xTaskResumeAll ();
  809. # DEBUG xAlreadyYielded => xAlreadyYielded_37
  810. # DEBUG BEGIN_STMT
  811. if (xTicksToWait_11 != 0)
  812. goto <bb 25>; [50.00%]
  813. else
  814. goto <bb 33>; [50.00%]
  815. <bb 25> [local count: 11782]:
  816. # DEBUG BEGIN_STMT
  817. if (xAlreadyYielded_37 == 0)
  818. goto <bb 26>; [50.00%]
  819. else
  820. goto <bb 27>; [50.00%]
  821. <bb 26> [local count: 5891]:
  822. # DEBUG BEGIN_STMT
  823. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  824. # DEBUG BEGIN_STMT
  825. __asm__ __volatile__("dsb" : : : "memory");
  826. # DEBUG BEGIN_STMT
  827. __asm__ __volatile__("isb");
  828. # DEBUG BEGIN_STMT
  829. <bb 27> [local count: 11782]:
  830. # DEBUG BEGIN_STMT
  831. # DEBUG BEGIN_STMT
  832. uxReturn_42 = uxTaskResetEventItemValue ();
  833. # DEBUG uxReturn => uxReturn_42
  834. # DEBUG BEGIN_STMT
  835. _7 = uxReturn_42 & 33554432;
  836. if (_7 == 0)
  837. goto <bb 28>; [33.00%]
  838. else
  839. goto <bb 32>; [67.00%]
  840. <bb 28> [local count: 3888]:
  841. # DEBUG BEGIN_STMT
  842. vPortEnterCritical ();
  843. # DEBUG BEGIN_STMT
  844. uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  845. # DEBUG uxReturn => uxReturn_44
  846. # DEBUG BEGIN_STMT
  847. _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  848. if (_8 != 0)
  849. goto <bb 29>; [50.00%]
  850. else
  851. goto <bb 31>; [50.00%]
  852. <bb 29> [local count: 1944]:
  853. # DEBUG BEGIN_STMT
  854. if (xClearOnExit_32(D) != 0)
  855. goto <bb 30>; [50.00%]
  856. else
  857. goto <bb 31>; [50.00%]
  858. <bb 30> [local count: 972]:
  859. # DEBUG BEGIN_STMT
  860. _9 = ~uxBitsToWaitFor_23(D);
  861. _10 = _9 & uxReturn_44;
  862. MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
  863. <bb 31> [local count: 3888]:
  864. # DEBUG BEGIN_STMT
  865. # DEBUG BEGIN_STMT
  866. # DEBUG xTimeoutOccurred => 1
  867. # DEBUG BEGIN_STMT
  868. vPortExitCritical ();
  869. <bb 32> [local count: 11782]:
  870. # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
  871. # DEBUG uxReturn => uxReturn_13
  872. # DEBUG BEGIN_STMT
  873. # DEBUG BEGIN_STMT
  874. uxReturn_48 = uxReturn_13 & 16777215;
  875. # DEBUG uxReturn => uxReturn_48
  876. <bb 33> [local count: 23563]:
  877. # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
  878. # DEBUG uxReturn => uxReturn_14
  879. # DEBUG BEGIN_STMT
  880. # DEBUG BEGIN_STMT
  881. # DEBUG BEGIN_STMT
  882. return uxReturn_14;
  883. }
  884. ;; Function xEventGroupClearBits (xEventGroupClearBits, funcdef_no=7, decl_uid=6280, cgraph_uid=8, symbol_order=7)
  885. Modification phase of node xEventGroupClearBits/7
  886. xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
  887. {
  888. EventBits_t D.6607;
  889. uint32_t ulNewBASEPRI;
  890. uint32_t ulNewBASEPRI;
  891. long unsigned int _1;
  892. <bb 2> [local count: 228942]:
  893. # DEBUG BEGIN_STMT
  894. # DEBUG pxEventBits => xEventGroup_3(D)
  895. # DEBUG BEGIN_STMT
  896. # DEBUG BEGIN_STMT
  897. if (xEventGroup_3(D) == 0B)
  898. goto <bb 3>; [30.00%]
  899. else
  900. goto <bb 5>; [70.00%]
  901. <bb 3> [local count: 68683]:
  902. # DEBUG BEGIN_STMT
  903. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  904. # DEBUG BEGIN_STMT
  905. # DEBUG BEGIN_STMT
  906. __asm__ __volatile__(" mov %0, %1
  907. msr basepri, %0
  908. isb
  909. dsb
  910. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  911. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  912. <bb 4> [local count: 686828460]:
  913. # DEBUG ulNewBASEPRI => NULL
  914. # DEBUG BEGIN_STMT
  915. # DEBUG BEGIN_STMT
  916. # DEBUG BEGIN_STMT
  917. <bb 9> [local count: 686828460]:
  918. goto <bb 4>; [100.00%]
  919. <bb 5> [local count: 160260]:
  920. # DEBUG BEGIN_STMT
  921. # DEBUG BEGIN_STMT
  922. _1 = uxBitsToClear_5(D) & 4278190080;
  923. if (_1 != 0)
  924. goto <bb 6>; [67.00%]
  925. else
  926. goto <bb 8>; [33.00%]
  927. <bb 6> [local count: 107374]:
  928. # DEBUG BEGIN_STMT
  929. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  930. # DEBUG BEGIN_STMT
  931. # DEBUG BEGIN_STMT
  932. __asm__ __volatile__(" mov %0, %1
  933. msr basepri, %0
  934. isb
  935. dsb
  936. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  937. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  938. <bb 7> [local count: 1073741824]:
  939. # DEBUG ulNewBASEPRI => NULL
  940. # DEBUG BEGIN_STMT
  941. # DEBUG BEGIN_STMT
  942. # DEBUG BEGIN_STMT
  943. <bb 10> [local count: 1073741824]:
  944. goto <bb 7>; [100.00%]
  945. <bb 8> [local count: 52886]:
  946. _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
  947. return _2;
  948. }
  949. ;; Function vEventGroupClearBitsCallback (vEventGroupClearBitsCallback, funcdef_no=13, decl_uid=6305, cgraph_uid=14, symbol_order=13)
  950. Modification phase of node vEventGroupClearBitsCallback/13
  951. vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
  952. {
  953. <bb 2> [local count: 1073741824]:
  954. # DEBUG BEGIN_STMT
  955. xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
  956. return;
  957. }
  958. ;; Function xEventGroupClearBitsFromISR (xEventGroupClearBitsFromISR, funcdef_no=8, decl_uid=6283, cgraph_uid=9, symbol_order=8)
  959. Modification phase of node xEventGroupClearBitsFromISR/8
  960. xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
  961. {
  962. BaseType_t xReturn;
  963. <bb 2> [local count: 1073741824]:
  964. # DEBUG BEGIN_STMT
  965. # DEBUG BEGIN_STMT
  966. # DEBUG BEGIN_STMT
  967. xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
  968. # DEBUG xReturn => xReturn_5
  969. # DEBUG BEGIN_STMT
  970. return xReturn_5;
  971. }
  972. ;; Function xEventGroupGetBitsFromISR (xEventGroupGetBitsFromISR, funcdef_no=9, decl_uid=6297, cgraph_uid=10, symbol_order=9)
  973. Modification phase of node xEventGroupGetBitsFromISR/9
  974. xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
  975. {
  976. uint32_t ulOriginalBASEPRI;
  977. uint32_t ulNewBASEPRI;
  978. EventBits_t uxReturn;
  979. <bb 2> [local count: 1073741824]:
  980. # DEBUG BEGIN_STMT
  981. # DEBUG BEGIN_STMT
  982. # DEBUG pxEventBits => xEventGroup_1(D)
  983. # DEBUG BEGIN_STMT
  984. # DEBUG BEGIN_STMT
  985. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  986. # DEBUG BEGIN_STMT
  987. # DEBUG BEGIN_STMT
  988. __asm__ __volatile__(" mrs %0, basepri
  989. mov %1, %2
  990. msr basepri, %1
  991. isb
  992. dsb
  993. " : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  994. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  995. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
  996. # DEBUG BEGIN_STMT
  997. # DEBUG ulNewBASEPRI => NULL
  998. # DEBUG ulOriginalBASEPRI => NULL
  999. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
  1000. # DEBUG BEGIN_STMT
  1001. uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1002. # DEBUG uxReturn => uxReturn_3
  1003. # DEBUG BEGIN_STMT
  1004. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
  1005. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  1006. # DEBUG BEGIN_STMT
  1007. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory");
  1008. # DEBUG ulNewMaskValue => NULL
  1009. # DEBUG BEGIN_STMT
  1010. return uxReturn_3;
  1011. }
  1012. ;; Function xEventGroupSetBits (xEventGroupSetBits, funcdef_no=10, decl_uid=6286, cgraph_uid=11, symbol_order=10)
  1013. Modification phase of node xEventGroupSetBits/10
  1014. xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
  1015. {
  1016. EventBits_t D.6634;
  1017. uint32_t ulNewBASEPRI;
  1018. uint32_t ulNewBASEPRI;
  1019. long unsigned int _1;
  1020. <bb 2> [local count: 228942]:
  1021. # DEBUG BEGIN_STMT
  1022. # DEBUG BEGIN_STMT
  1023. # DEBUG BEGIN_STMT
  1024. # DEBUG BEGIN_STMT
  1025. # DEBUG uxBitsToClear => 0
  1026. # DEBUG BEGIN_STMT
  1027. # DEBUG pxEventBits => xEventGroup_3(D)
  1028. # DEBUG BEGIN_STMT
  1029. # DEBUG xMatchFound => 0
  1030. # DEBUG BEGIN_STMT
  1031. if (xEventGroup_3(D) == 0B)
  1032. goto <bb 3>; [30.00%]
  1033. else
  1034. goto <bb 5>; [70.00%]
  1035. <bb 3> [local count: 68683]:
  1036. # DEBUG BEGIN_STMT
  1037. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1038. # DEBUG BEGIN_STMT
  1039. # DEBUG BEGIN_STMT
  1040. __asm__ __volatile__(" mov %0, %1
  1041. msr basepri, %0
  1042. isb
  1043. dsb
  1044. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  1045. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  1046. <bb 4> [local count: 686828460]:
  1047. # DEBUG ulNewBASEPRI => NULL
  1048. # DEBUG BEGIN_STMT
  1049. # DEBUG BEGIN_STMT
  1050. # DEBUG BEGIN_STMT
  1051. <bb 9> [local count: 686828460]:
  1052. goto <bb 4>; [100.00%]
  1053. <bb 5> [local count: 160260]:
  1054. # DEBUG BEGIN_STMT
  1055. # DEBUG BEGIN_STMT
  1056. _1 = uxBitsToSet_4(D) & 4278190080;
  1057. if (_1 != 0)
  1058. goto <bb 6>; [67.00%]
  1059. else
  1060. goto <bb 8>; [33.00%]
  1061. <bb 6> [local count: 107374]:
  1062. # DEBUG BEGIN_STMT
  1063. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1064. # DEBUG BEGIN_STMT
  1065. # DEBUG BEGIN_STMT
  1066. __asm__ __volatile__(" mov %0, %1
  1067. msr basepri, %0
  1068. isb
  1069. dsb
  1070. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1071. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1072. <bb 7> [local count: 1073741824]:
  1073. # DEBUG ulNewBASEPRI => NULL
  1074. # DEBUG BEGIN_STMT
  1075. # DEBUG BEGIN_STMT
  1076. # DEBUG BEGIN_STMT
  1077. <bb 10> [local count: 1073741824]:
  1078. goto <bb 7>; [100.00%]
  1079. <bb 8> [local count: 52886]:
  1080. _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
  1081. return _6;
  1082. }
  1083. ;; Function xEventGroupSync (xEventGroupSync, funcdef_no=5, decl_uid=6295, cgraph_uid=6, symbol_order=5)
  1084. Modification phase of node xEventGroupSync/5
  1085. xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
  1086. {
  1087. uint32_t ulNewBASEPRI;
  1088. uint32_t ulNewBASEPRI;
  1089. uint32_t ulNewBASEPRI;
  1090. BaseType_t xAlreadyYielded;
  1091. EventBits_t uxReturn;
  1092. EventBits_t uxOriginalBitValue;
  1093. long unsigned int _1;
  1094. long int _2;
  1095. long unsigned int _3;
  1096. long unsigned int _4;
  1097. long unsigned int _5;
  1098. long unsigned int _6;
  1099. long unsigned int _7;
  1100. struct List_t * _8;
  1101. long unsigned int _9;
  1102. long unsigned int _10;
  1103. long unsigned int _11;
  1104. long unsigned int _12;
  1105. long unsigned int _13;
  1106. <bb 2> [local count: 214748]:
  1107. # DEBUG BEGIN_STMT
  1108. # DEBUG BEGIN_STMT
  1109. # DEBUG pxEventBits => xEventGroup_23(D)
  1110. # DEBUG BEGIN_STMT
  1111. # DEBUG BEGIN_STMT
  1112. # DEBUG xTimeoutOccurred => 0
  1113. # DEBUG BEGIN_STMT
  1114. _1 = uxBitsToWaitFor_24(D) & 4278190080;
  1115. if (_1 != 0)
  1116. goto <bb 3>; [50.00%]
  1117. else
  1118. goto <bb 5>; [50.00%]
  1119. <bb 3> [local count: 107374]:
  1120. # DEBUG BEGIN_STMT
  1121. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1122. # DEBUG BEGIN_STMT
  1123. # DEBUG BEGIN_STMT
  1124. __asm__ __volatile__(" mov %0, %1
  1125. msr basepri, %0
  1126. isb
  1127. dsb
  1128. " : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
  1129. # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
  1130. <bb 4> [local count: 1073741824]:
  1131. # DEBUG ulNewBASEPRI => NULL
  1132. # DEBUG BEGIN_STMT
  1133. # DEBUG BEGIN_STMT
  1134. # DEBUG BEGIN_STMT
  1135. <bb 26> [local count: 1073741824]:
  1136. goto <bb 4>; [100.00%]
  1137. <bb 5> [local count: 107374]:
  1138. # DEBUG BEGIN_STMT
  1139. # DEBUG BEGIN_STMT
  1140. if (uxBitsToWaitFor_24(D) == 0)
  1141. goto <bb 6>; [67.00%]
  1142. else
  1143. goto <bb 8>; [33.00%]
  1144. <bb 6> [local count: 71941]:
  1145. # DEBUG BEGIN_STMT
  1146. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1147. # DEBUG BEGIN_STMT
  1148. # DEBUG BEGIN_STMT
  1149. __asm__ __volatile__(" mov %0, %1
  1150. msr basepri, %0
  1151. isb
  1152. dsb
  1153. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  1154. # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
  1155. <bb 7> [local count: 719407023]:
  1156. # DEBUG ulNewBASEPRI => NULL
  1157. # DEBUG BEGIN_STMT
  1158. # DEBUG BEGIN_STMT
  1159. # DEBUG BEGIN_STMT
  1160. <bb 27> [local count: 719407023]:
  1161. goto <bb 7>; [100.00%]
  1162. <bb 8> [local count: 35433]:
  1163. # DEBUG BEGIN_STMT
  1164. # DEBUG BEGIN_STMT
  1165. _2 = xTaskGetSchedulerState ();
  1166. if (_2 != 0)
  1167. goto <bb 12>; [33.00%]
  1168. else
  1169. goto <bb 9>; [67.00%]
  1170. <bb 9> [local count: 23740]:
  1171. if (xTicksToWait_27(D) == 0)
  1172. goto <bb 12>; [50.00%]
  1173. else
  1174. goto <bb 10>; [50.00%]
  1175. <bb 10> [local count: 11870]:
  1176. # DEBUG BEGIN_STMT
  1177. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1178. # DEBUG BEGIN_STMT
  1179. # DEBUG BEGIN_STMT
  1180. __asm__ __volatile__(" mov %0, %1
  1181. msr basepri, %0
  1182. isb
  1183. dsb
  1184. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  1185. # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
  1186. <bb 11> [local count: 118702159]:
  1187. # DEBUG ulNewBASEPRI => NULL
  1188. # DEBUG BEGIN_STMT
  1189. # DEBUG BEGIN_STMT
  1190. # DEBUG BEGIN_STMT
  1191. <bb 28> [local count: 118702159]:
  1192. goto <bb 11>; [100.00%]
  1193. <bb 12> [local count: 23563]:
  1194. # DEBUG BEGIN_STMT
  1195. # DEBUG BEGIN_STMT
  1196. vTaskSuspendAll ();
  1197. # DEBUG BEGIN_STMT
  1198. uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  1199. # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
  1200. # DEBUG BEGIN_STMT
  1201. xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
  1202. # DEBUG BEGIN_STMT
  1203. _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
  1204. _4 = _3 & uxBitsToWaitFor_24(D);
  1205. if (_4 == uxBitsToWaitFor_24(D))
  1206. goto <bb 13>; [34.00%]
  1207. else
  1208. goto <bb 14>; [66.00%]
  1209. <bb 13> [local count: 8011]:
  1210. # DEBUG BEGIN_STMT
  1211. # DEBUG uxReturn => _3
  1212. # DEBUG BEGIN_STMT
  1213. _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  1214. _6 = ~uxBitsToWaitFor_24(D);
  1215. _7 = _5 & _6;
  1216. MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
  1217. # DEBUG BEGIN_STMT
  1218. # DEBUG xTicksToWait => 0
  1219. goto <bb 17>; [100.00%]
  1220. <bb 14> [local count: 15552]:
  1221. # DEBUG BEGIN_STMT
  1222. if (xTicksToWait_27(D) != 0)
  1223. goto <bb 15>; [33.00%]
  1224. else
  1225. goto <bb 16>; [67.00%]
  1226. <bb 15> [local count: 5132]:
  1227. # DEBUG BEGIN_STMT
  1228. # DEBUG BEGIN_STMT
  1229. _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
  1230. _9 = uxBitsToWaitFor_24(D) | 83886080;
  1231. vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
  1232. # DEBUG BEGIN_STMT
  1233. # DEBUG uxReturn => 0
  1234. goto <bb 17>; [100.00%]
  1235. <bb 16> [local count: 10420]:
  1236. # DEBUG BEGIN_STMT
  1237. uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  1238. # DEBUG uxReturn => uxReturn_32
  1239. # DEBUG BEGIN_STMT
  1240. # DEBUG xTimeoutOccurred => 1
  1241. <bb 17> [local count: 23563]:
  1242. # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
  1243. # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
  1244. # DEBUG uxReturn => uxReturn_15
  1245. # DEBUG xTicksToWait => xTicksToWait_14
  1246. # DEBUG BEGIN_STMT
  1247. xAlreadyYielded_36 = xTaskResumeAll ();
  1248. # DEBUG xAlreadyYielded => xAlreadyYielded_36
  1249. # DEBUG BEGIN_STMT
  1250. if (xTicksToWait_14 != 0)
  1251. goto <bb 18>; [50.00%]
  1252. else
  1253. goto <bb 25>; [50.00%]
  1254. <bb 18> [local count: 11782]:
  1255. # DEBUG BEGIN_STMT
  1256. if (xAlreadyYielded_36 == 0)
  1257. goto <bb 19>; [50.00%]
  1258. else
  1259. goto <bb 20>; [50.00%]
  1260. <bb 19> [local count: 5891]:
  1261. # DEBUG BEGIN_STMT
  1262. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  1263. # DEBUG BEGIN_STMT
  1264. __asm__ __volatile__("dsb" : : : "memory");
  1265. # DEBUG BEGIN_STMT
  1266. __asm__ __volatile__("isb");
  1267. # DEBUG BEGIN_STMT
  1268. <bb 20> [local count: 11782]:
  1269. # DEBUG BEGIN_STMT
  1270. # DEBUG BEGIN_STMT
  1271. uxReturn_41 = uxTaskResetEventItemValue ();
  1272. # DEBUG uxReturn => uxReturn_41
  1273. # DEBUG BEGIN_STMT
  1274. _10 = uxReturn_41 & 33554432;
  1275. if (_10 == 0)
  1276. goto <bb 21>; [33.00%]
  1277. else
  1278. goto <bb 24>; [67.00%]
  1279. <bb 21> [local count: 3888]:
  1280. # DEBUG BEGIN_STMT
  1281. vPortEnterCritical ();
  1282. # DEBUG BEGIN_STMT
  1283. uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  1284. # DEBUG uxReturn => uxReturn_43
  1285. # DEBUG BEGIN_STMT
  1286. _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
  1287. if (_11 == uxBitsToWaitFor_24(D))
  1288. goto <bb 22>; [34.00%]
  1289. else
  1290. goto <bb 23>; [66.00%]
  1291. <bb 22> [local count: 1322]:
  1292. # DEBUG BEGIN_STMT
  1293. _12 = ~uxBitsToWaitFor_24(D);
  1294. _13 = _12 & uxReturn_43;
  1295. MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
  1296. <bb 23> [local count: 3888]:
  1297. # DEBUG BEGIN_STMT
  1298. # DEBUG BEGIN_STMT
  1299. vPortExitCritical ();
  1300. # DEBUG BEGIN_STMT
  1301. # DEBUG xTimeoutOccurred => 1
  1302. <bb 24> [local count: 11782]:
  1303. # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
  1304. # DEBUG uxReturn => uxReturn_16
  1305. # DEBUG BEGIN_STMT
  1306. # DEBUG BEGIN_STMT
  1307. uxReturn_46 = uxReturn_16 & 16777215;
  1308. # DEBUG uxReturn => uxReturn_46
  1309. <bb 25> [local count: 23563]:
  1310. # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
  1311. # DEBUG uxReturn => uxReturn_17
  1312. # DEBUG BEGIN_STMT
  1313. # DEBUG BEGIN_STMT
  1314. # DEBUG BEGIN_STMT
  1315. return uxReturn_17;
  1316. }
  1317. ;; Function vEventGroupSetBitsCallback (vEventGroupSetBitsCallback, funcdef_no=12, decl_uid=6302, cgraph_uid=13, symbol_order=12)
  1318. Modification phase of node vEventGroupSetBitsCallback/12
  1319. vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
  1320. {
  1321. <bb 2> [local count: 1073741824]:
  1322. # DEBUG BEGIN_STMT
  1323. xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
  1324. return;
  1325. }
  1326. ;; Function vEventGroupDelete (vEventGroupDelete, funcdef_no=11, decl_uid=6299, cgraph_uid=12, symbol_order=11)
  1327. Modification phase of node vEventGroupDelete/11
  1328. vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
  1329. {
  1330. uint32_t ulNewBASEPRI;
  1331. uint32_t ulNewBASEPRI;
  1332. struct xLIST_ITEM * _1;
  1333. const struct MiniListItem_t * _2;
  1334. long unsigned int _3;
  1335. <bb 2> [local count: 230763]:
  1336. # DEBUG BEGIN_STMT
  1337. if (xEventGroup_5(D) == 0B)
  1338. goto <bb 3>; [46.53%]
  1339. else
  1340. goto <bb 5>; [53.47%]
  1341. <bb 3> [local count: 107374]:
  1342. # DEBUG BEGIN_STMT
  1343. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1344. # DEBUG BEGIN_STMT
  1345. # DEBUG BEGIN_STMT
  1346. __asm__ __volatile__(" mov %0, %1
  1347. msr basepri, %0
  1348. isb
  1349. dsb
  1350. " : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
  1351. # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
  1352. <bb 4> [local count: 1073741824]:
  1353. # DEBUG ulNewBASEPRI => NULL
  1354. # DEBUG BEGIN_STMT
  1355. # DEBUG BEGIN_STMT
  1356. # DEBUG BEGIN_STMT
  1357. <bb 12> [local count: 1073741824]:
  1358. goto <bb 4>; [100.00%]
  1359. <bb 5> [local count: 123389]:
  1360. # DEBUG BEGIN_STMT
  1361. # DEBUG BEGIN_STMT
  1362. # DEBUG pxEventBits => xEventGroup_5(D)
  1363. # DEBUG BEGIN_STMT
  1364. # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
  1365. # DEBUG pxTasksWaitingForBits => D#2
  1366. # DEBUG BEGIN_STMT
  1367. vTaskSuspendAll ();
  1368. # DEBUG BEGIN_STMT
  1369. # DEBUG BEGIN_STMT
  1370. goto <bb 10>; [100.00%]
  1371. <bb 6> [local count: 1089998]:
  1372. # DEBUG BEGIN_STMT
  1373. _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
  1374. _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
  1375. if (_1 == _2)
  1376. goto <bb 7>; [5.50%]
  1377. else
  1378. goto <bb 9>; [94.50%]
  1379. <bb 7> [local count: 59950]:
  1380. # DEBUG BEGIN_STMT
  1381. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1382. # DEBUG BEGIN_STMT
  1383. # DEBUG BEGIN_STMT
  1384. __asm__ __volatile__(" mov %0, %1
  1385. msr basepri, %0
  1386. isb
  1387. dsb
  1388. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  1389. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  1390. <bb 8> [local count: 599500022]:
  1391. # DEBUG ulNewBASEPRI => NULL
  1392. # DEBUG BEGIN_STMT
  1393. # DEBUG BEGIN_STMT
  1394. # DEBUG BEGIN_STMT
  1395. <bb 13> [local count: 599500022]:
  1396. goto <bb 8>; [100.00%]
  1397. <bb 9> [local count: 1030048]:
  1398. # DEBUG BEGIN_STMT
  1399. # DEBUG BEGIN_STMT
  1400. vTaskRemoveFromUnorderedEventList (_1, 33554432);
  1401. <bb 10> [local count: 1153437]:
  1402. # DEBUG BEGIN_STMT
  1403. _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
  1404. if (_3 != 0)
  1405. goto <bb 6>; [94.50%]
  1406. else
  1407. goto <bb 11>; [5.50%]
  1408. <bb 11> [local count: 63439]:
  1409. # DEBUG BEGIN_STMT
  1410. vPortFree (xEventGroup_5(D));
  1411. # DEBUG BEGIN_STMT
  1412. xTaskResumeAll ();
  1413. return;
  1414. }
  1415. ;; Function xEventGroupSetBitsFromISR (xEventGroupSetBitsFromISR, funcdef_no=15, decl_uid=6290, cgraph_uid=16, symbol_order=15)
  1416. Modification phase of node xEventGroupSetBitsFromISR/15
  1417. xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
  1418. {
  1419. BaseType_t xReturn;
  1420. <bb 2> [local count: 1073741824]:
  1421. # DEBUG BEGIN_STMT
  1422. # DEBUG BEGIN_STMT
  1423. # DEBUG BEGIN_STMT
  1424. xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
  1425. # DEBUG xReturn => xReturn_6
  1426. # DEBUG BEGIN_STMT
  1427. return xReturn_6;
  1428. }
  1429. ;; Function uxEventGroupGetNumber (uxEventGroupGetNumber, funcdef_no=16, decl_uid=6307, cgraph_uid=17, symbol_order=16)
  1430. Modification phase of node uxEventGroupGetNumber/16
  1431. uxEventGroupGetNumber (void * xEventGroup)
  1432. {
  1433. UBaseType_t xReturn;
  1434. <bb 2> [local count: 1073741824]:
  1435. # DEBUG BEGIN_STMT
  1436. # DEBUG BEGIN_STMT
  1437. # DEBUG pxEventBits => xEventGroup_2(D)
  1438. # DEBUG BEGIN_STMT
  1439. if (xEventGroup_2(D) == 0B)
  1440. goto <bb 4>; [30.00%]
  1441. else
  1442. goto <bb 3>; [70.00%]
  1443. <bb 3> [local count: 751619278]:
  1444. # DEBUG BEGIN_STMT
  1445. xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
  1446. # DEBUG xReturn => xReturn_4
  1447. <bb 4> [local count: 1073741824]:
  1448. # xReturn_1 = PHI <0(2), xReturn_4(3)>
  1449. # DEBUG xReturn => xReturn_1
  1450. # DEBUG BEGIN_STMT
  1451. return xReturn_1;
  1452. }
  1453. ;; Function vEventGroupSetNumber (vEventGroupSetNumber, funcdef_no=17, decl_uid=6310, cgraph_uid=18, symbol_order=17)
  1454. Modification phase of node vEventGroupSetNumber/17
  1455. vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
  1456. {
  1457. <bb 2> [local count: 1073741824]:
  1458. # DEBUG BEGIN_STMT
  1459. MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
  1460. return;
  1461. }