event_groups.c.077i.pure-const 90 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602
  1. local analysis of xEventGroupSetBits.part.0
  2. scanning: pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
  3. scanning: vTaskSuspendAll ();
  4. scanning: pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
  5. Indirect ref read is not const
  6. scanning: _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  7. Indirect ref read is not const
  8. scanning: _6 = _4 | uxBitsToSet_5(D);
  9. scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
  10. Indirect ref write is not const/pure
  11. scanning: pxNext_8 = pxListItem_7->pxNext;
  12. Indirect ref read is not const
  13. scanning: uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
  14. Indirect ref read is not const
  15. scanning: uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
  16. scanning: _11 = uxBitsWaitedFor_9 & 67108864;
  17. scanning: if (_11 == 0)
  18. scanning: _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  19. Indirect ref read is not const
  20. scanning: _13 = uxBitsWaitedFor_10 & _12;
  21. scanning: if (_13 != 0)
  22. scanning: _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  23. Indirect ref read is not const
  24. scanning: _15 = uxBitsWaitedFor_10 & _14;
  25. scanning: if (uxBitsWaitedFor_10 == _15)
  26. scanning: _16 = uxBitsWaitedFor_9 & 16777216;
  27. scanning: if (_16 != 0)
  28. scanning: uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
  29. scanning: _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  30. Indirect ref read is not const
  31. scanning: _20 = _19 | 33554432;
  32. scanning: vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
  33. scanning: if (pxListEnd_2 != pxListItem_7)
  34. scanning: _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  35. Indirect ref read is not const
  36. scanning: _23 = ~uxBitsToClear_22;
  37. scanning: _24 = _21 & _23;
  38. scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
  39. Indirect ref write is not const/pure
  40. scanning: xTaskResumeAll ();
  41. scanning: _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  42. Indirect ref read is not const
  43. scanning: return _25;
  44. local analysis of xEventGroupClearBits.part.0
  45. scanning: vPortEnterCritical ();
  46. scanning: uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  47. Indirect ref read is not const
  48. scanning: _4 = ~uxBitsToClear_3(D);
  49. scanning: _5 = uxReturn_2 & _4;
  50. scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
  51. Indirect ref write is not const/pure
  52. scanning: vPortExitCritical ();
  53. scanning: return uxReturn_2;
  54. local analysis of vEventGroupSetNumber
  55. scanning: MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
  56. Indirect ref write is not const/pure
  57. scanning: return;
  58. local analysis of uxEventGroupGetNumber
  59. scanning: if (xEventGroup_2(D) == 0B)
  60. scanning: xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
  61. Indirect ref read is not const
  62. scanning: return xReturn_1;
  63. Function is locally pure.
  64. local analysis of xEventGroupSetBitsFromISR
  65. scanning: xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
  66. scanning: return xReturn_6;
  67. Function is locally const.
  68. local analysis of prvTestWaitCondition
  69. scanning: if (xWaitForAllBits_4(D) == 0)
  70. scanning: _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
  71. scanning: if (_1 != 0)
  72. scanning: _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
  73. scanning: if (_2 == uxBitsToWaitFor_6(D))
  74. scanning: return xWaitConditionMet_3;
  75. Function is locally const.
  76. local analysis of vEventGroupClearBitsCallback
  77. scanning: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
  78. scanning: return;
  79. Function is locally const.
  80. local analysis of vEventGroupSetBitsCallback
  81. scanning: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
  82. scanning: return;
  83. Function is locally const.
  84. local analysis of vEventGroupDelete
  85. scanning: if (xEventGroup_5(D) == 0B)
  86. scanning: __asm__ __volatile__(" mov %0, %1
  87. msr basepri, %0
  88. isb
  89. dsb
  90. " : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
  91. memory asm clobber is not const/pure
  92. volatile is not const/pure
  93. scanning: vTaskSuspendAll ();
  94. scanning: _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
  95. Indirect ref read is not const
  96. scanning: _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
  97. scanning: if (_1 == _2)
  98. scanning: __asm__ __volatile__(" mov %0, %1
  99. msr basepri, %0
  100. isb
  101. dsb
  102. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  103. memory asm clobber is not const/pure
  104. volatile is not const/pure
  105. scanning: vTaskRemoveFromUnorderedEventList (_1, 33554432);
  106. scanning: _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
  107. Volatile stmt is not const/pure
  108. Indirect ref read is not const
  109. scanning: if (_3 != 0)
  110. scanning: vPortFree (xEventGroup_5(D));
  111. scanning: xTaskResumeAll ();
  112. scanning: return;
  113. Function is locally looping.
  114. Function can locally free.
  115. local analysis of xEventGroupSetBits
  116. scanning: if (xEventGroup_3(D) == 0B)
  117. scanning: __asm__ __volatile__(" mov %0, %1
  118. msr basepri, %0
  119. isb
  120. dsb
  121. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  122. memory asm clobber is not const/pure
  123. volatile is not const/pure
  124. scanning: _1 = uxBitsToSet_4(D) & 4278190080;
  125. scanning: if (_1 != 0)
  126. scanning: __asm__ __volatile__(" mov %0, %1
  127. msr basepri, %0
  128. isb
  129. dsb
  130. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  131. memory asm clobber is not const/pure
  132. volatile is not const/pure
  133. scanning: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
  134. scanning: return _6;
  135. Function is locally looping.
  136. Function can locally free.
  137. local analysis of xEventGroupGetBitsFromISR
  138. scanning: __asm__ __volatile__(" mrs %0, basepri
  139. mov %1, %2
  140. msr basepri, %1
  141. isb
  142. dsb
  143. " : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  144. memory asm clobber is not const/pure
  145. volatile is not const/pure
  146. scanning: uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  147. Indirect ref read is not const
  148. scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory");
  149. memory asm clobber is not const/pure
  150. volatile is not const/pure
  151. scanning: return uxReturn_3;
  152. Function is locally looping.
  153. Function can locally free.
  154. local analysis of xEventGroupClearBitsFromISR
  155. scanning: xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
  156. scanning: return xReturn_5;
  157. Function is locally const.
  158. local analysis of xEventGroupClearBits
  159. scanning: if (xEventGroup_3(D) == 0B)
  160. scanning: __asm__ __volatile__(" mov %0, %1
  161. msr basepri, %0
  162. isb
  163. dsb
  164. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  165. memory asm clobber is not const/pure
  166. volatile is not const/pure
  167. scanning: _1 = uxBitsToClear_5(D) & 4278190080;
  168. scanning: if (_1 != 0)
  169. scanning: __asm__ __volatile__(" mov %0, %1
  170. msr basepri, %0
  171. isb
  172. dsb
  173. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  174. memory asm clobber is not const/pure
  175. volatile is not const/pure
  176. scanning: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
  177. scanning: return _2;
  178. Function is locally looping.
  179. Function can locally free.
  180. local analysis of xEventGroupWaitBits
  181. scanning: if (xEventGroup_22(D) == 0B)
  182. scanning: __asm__ __volatile__(" mov %0, %1
  183. msr basepri, %0
  184. isb
  185. dsb
  186. " : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
  187. memory asm clobber is not const/pure
  188. volatile is not const/pure
  189. scanning: _1 = uxBitsToWaitFor_23(D) & 4278190080;
  190. scanning: if (_1 != 0)
  191. scanning: __asm__ __volatile__(" mov %0, %1
  192. msr basepri, %0
  193. isb
  194. dsb
  195. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  196. memory asm clobber is not const/pure
  197. volatile is not const/pure
  198. scanning: if (uxBitsToWaitFor_23(D) == 0)
  199. scanning: __asm__ __volatile__(" mov %0, %1
  200. msr basepri, %0
  201. isb
  202. dsb
  203. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  204. memory asm clobber is not const/pure
  205. volatile is not const/pure
  206. scanning: _2 = xTaskGetSchedulerState ();
  207. scanning: if (_2 != 0)
  208. scanning: if (xTicksToWait_26(D) == 0)
  209. scanning: __asm__ __volatile__(" mov %0, %1
  210. msr basepri, %0
  211. isb
  212. dsb
  213. " : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
  214. memory asm clobber is not const/pure
  215. volatile is not const/pure
  216. scanning: vTaskSuspendAll ();
  217. scanning: uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  218. Indirect ref read is not const
  219. scanning: xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  220. scanning: if (xWaitConditionMet_31 != 0)
  221. scanning: if (xClearOnExit_32(D) != 0)
  222. scanning: _3 = ~uxBitsToWaitFor_23(D);
  223. scanning: _4 = _3 & uxCurrentEventBits_28;
  224. scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
  225. Indirect ref write is not const/pure
  226. scanning: if (xTicksToWait_26(D) == 0)
  227. scanning: if (xClearOnExit_32(D) != 0)
  228. scanning: if (xWaitForAllBits_29(D) != 0)
  229. scanning: uxControlBits_33 = uxControlBits_15 | 67108864;
  230. scanning: _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
  231. scanning: _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
  232. scanning: vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
  233. scanning: xAlreadyYielded_37 = xTaskResumeAll ();
  234. scanning: if (xTicksToWait_11 != 0)
  235. scanning: if (xAlreadyYielded_37 == 0)
  236. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  237. Volatile stmt is not const/pure
  238. Volatile indirect ref is not const/pure
  239. scanning: __asm__ __volatile__("dsb" : : : "memory");
  240. memory asm clobber is not const/pure
  241. volatile is not const/pure
  242. scanning: __asm__ __volatile__("isb");
  243. memory asm clobber is not const/pure
  244. volatile is not const/pure
  245. scanning: uxReturn_42 = uxTaskResetEventItemValue ();
  246. scanning: _7 = uxReturn_42 & 33554432;
  247. scanning: if (_7 == 0)
  248. scanning: vPortEnterCritical ();
  249. scanning: uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  250. Indirect ref read is not const
  251. scanning: _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  252. scanning: if (_8 != 0)
  253. scanning: if (xClearOnExit_32(D) != 0)
  254. scanning: _9 = ~uxBitsToWaitFor_23(D);
  255. scanning: _10 = _9 & uxReturn_44;
  256. scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
  257. Indirect ref write is not const/pure
  258. scanning: vPortExitCritical ();
  259. scanning: uxReturn_48 = uxReturn_13 & 16777215;
  260. scanning: return uxReturn_14;
  261. Function is locally looping.
  262. Function can locally free.
  263. local analysis of xEventGroupSync
  264. scanning: _1 = uxBitsToWaitFor_24(D) & 4278190080;
  265. scanning: if (_1 != 0)
  266. scanning: __asm__ __volatile__(" mov %0, %1
  267. msr basepri, %0
  268. isb
  269. dsb
  270. " : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
  271. memory asm clobber is not const/pure
  272. volatile is not const/pure
  273. scanning: if (uxBitsToWaitFor_24(D) == 0)
  274. scanning: __asm__ __volatile__(" mov %0, %1
  275. msr basepri, %0
  276. isb
  277. dsb
  278. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  279. memory asm clobber is not const/pure
  280. volatile is not const/pure
  281. scanning: _2 = xTaskGetSchedulerState ();
  282. scanning: if (_2 != 0)
  283. scanning: if (xTicksToWait_27(D) == 0)
  284. scanning: __asm__ __volatile__(" mov %0, %1
  285. msr basepri, %0
  286. isb
  287. dsb
  288. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  289. memory asm clobber is not const/pure
  290. volatile is not const/pure
  291. scanning: vTaskSuspendAll ();
  292. scanning: uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  293. Indirect ref read is not const
  294. scanning: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
  295. scanning: _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
  296. scanning: _4 = _3 & uxBitsToWaitFor_24(D);
  297. scanning: if (_4 == uxBitsToWaitFor_24(D))
  298. scanning: _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  299. Indirect ref read is not const
  300. scanning: _6 = ~uxBitsToWaitFor_24(D);
  301. scanning: _7 = _5 & _6;
  302. scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
  303. Indirect ref write is not const/pure
  304. scanning: if (xTicksToWait_27(D) != 0)
  305. scanning: _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
  306. scanning: _9 = uxBitsToWaitFor_24(D) | 83886080;
  307. scanning: vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
  308. scanning: uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  309. Indirect ref read is not const
  310. scanning: xAlreadyYielded_36 = xTaskResumeAll ();
  311. scanning: if (xTicksToWait_14 != 0)
  312. scanning: if (xAlreadyYielded_36 == 0)
  313. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  314. Volatile stmt is not const/pure
  315. Volatile indirect ref is not const/pure
  316. scanning: __asm__ __volatile__("dsb" : : : "memory");
  317. memory asm clobber is not const/pure
  318. volatile is not const/pure
  319. scanning: __asm__ __volatile__("isb");
  320. memory asm clobber is not const/pure
  321. volatile is not const/pure
  322. scanning: uxReturn_41 = uxTaskResetEventItemValue ();
  323. scanning: _10 = uxReturn_41 & 33554432;
  324. scanning: if (_10 == 0)
  325. scanning: vPortEnterCritical ();
  326. scanning: uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  327. Indirect ref read is not const
  328. scanning: _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
  329. scanning: if (_11 == uxBitsToWaitFor_24(D))
  330. scanning: _12 = ~uxBitsToWaitFor_24(D);
  331. scanning: _13 = _12 & uxReturn_43;
  332. scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
  333. Indirect ref write is not const/pure
  334. scanning: vPortExitCritical ();
  335. scanning: uxReturn_46 = uxReturn_16 & 16777215;
  336. scanning: return uxReturn_17;
  337. Function is locally looping.
  338. Function can locally free.
  339. local analysis of xEventGroupCreate
  340. scanning: pxEventBits_5 = pvPortMalloc (28);
  341. scanning: if (pxEventBits_5 != 0B)
  342. scanning: pxEventBits_5->uxEventBits = 0;
  343. Indirect ref write is not const/pure
  344. scanning: _1 = &pxEventBits_5->xTasksWaitingForBits;
  345. scanning: vListInitialise (_1);
  346. scanning: return pxEventBits_5;
  347. callgraph:
  348. prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380
  349. Type: function definition analyzed
  350. Visibility:
  351. next sharing asm name: 14
  352. Aux: @05e60760
  353. References:
  354. Referring:
  355. Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
  356. Clone of prvTestWaitCondition/14
  357. Availability: local
  358. Function flags: count:23563 (estimated locally) body local optimize_size
  359. Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
  360. Calls:
  361. xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
  362. Type: function definition analyzed
  363. Visibility: prevailing_def_ironly artificial
  364. Aux: @05e606a0
  365. References:
  366. Referring:
  367. Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
  368. Availability: local
  369. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  370. Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call)
  371. Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call)
  372. xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
  373. Type: function definition analyzed
  374. Visibility: prevailing_def_ironly artificial
  375. Aux: @05e608a0
  376. References:
  377. Referring:
  378. Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
  379. Availability: local
  380. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  381. Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call)
  382. Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call)
  383. vPortFree/29 (vPortFree) @05ecab60
  384. Type: function
  385. Visibility: external public
  386. References:
  387. Referring:
  388. Availability: not_available
  389. Function flags: optimize_size
  390. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call)
  391. Calls:
  392. vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0
  393. Type: function
  394. Visibility: external public
  395. References:
  396. Referring:
  397. Availability: not_available
  398. Function flags: optimize_size
  399. Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call)
  400. Calls:
  401. xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460
  402. Type: function
  403. Visibility: external public
  404. References:
  405. Referring:
  406. Availability: not_available
  407. Function flags: optimize_size
  408. Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call)
  409. Calls:
  410. vPortExitCritical/26 (vPortExitCritical) @05eadd20
  411. Type: function
  412. Visibility: external public
  413. References:
  414. Referring:
  415. Availability: not_available
  416. Function flags: optimize_size
  417. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  418. Calls:
  419. vPortEnterCritical/25 (vPortEnterCritical) @05eadc40
  420. Type: function
  421. Visibility: external public
  422. References:
  423. Referring:
  424. Availability: not_available
  425. Function flags: optimize_size
  426. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  427. Calls:
  428. uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60
  429. Type: function
  430. Visibility: external public
  431. References:
  432. Referring:
  433. Availability: not_available
  434. Function flags: optimize_size
  435. Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call)
  436. Calls:
  437. xTaskResumeAll/23 (xTaskResumeAll) @05eada80
  438. Type: function
  439. Visibility: external public
  440. References:
  441. Referring:
  442. Availability: not_available
  443. Function flags: optimize_size
  444. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  445. Calls:
  446. vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0
  447. Type: function
  448. Visibility: external public
  449. References:
  450. Referring:
  451. Availability: not_available
  452. Function flags: optimize_size
  453. Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call)
  454. Calls:
  455. vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0
  456. Type: function
  457. Visibility: external public
  458. References:
  459. Referring:
  460. Availability: not_available
  461. Function flags: optimize_size
  462. Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  463. Calls:
  464. xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0
  465. Type: function
  466. Visibility: external public
  467. References:
  468. Referring:
  469. Availability: not_available
  470. Function flags: optimize_size
  471. Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call)
  472. Calls:
  473. vListInitialise/19 (vListInitialise) @05ead460
  474. Type: function
  475. Visibility: external public
  476. References:
  477. Referring:
  478. Availability: not_available
  479. Function flags: optimize_size
  480. Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call)
  481. Calls:
  482. pvPortMalloc/18 (pvPortMalloc) @05ead380
  483. Type: function
  484. Visibility: external public
  485. References:
  486. Referring:
  487. Availability: not_available
  488. Function flags: optimize_size
  489. Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call)
  490. Calls:
  491. vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
  492. Type: function definition analyzed
  493. Visibility: externally_visible public
  494. Aux: @05e605a0
  495. References:
  496. Referring:
  497. Availability: available
  498. Function flags: count:1073741824 (estimated locally) body optimize_size
  499. Called by:
  500. Calls:
  501. uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
  502. Type: function definition analyzed
  503. Visibility: externally_visible public
  504. Aux: @05e60520
  505. References:
  506. Referring:
  507. Availability: available
  508. Function flags: count:1073741824 (estimated locally) body optimize_size
  509. Called by:
  510. Calls:
  511. xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
  512. Type: function definition analyzed
  513. Visibility: externally_visible public
  514. Aux: @05e60880
  515. References: vEventGroupSetBitsCallback/12 (addr)
  516. Referring:
  517. Availability: available
  518. Function flags: count:1073741824 (estimated locally) body optimize_size
  519. Called by:
  520. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  521. prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
  522. Type: function definition analyzed
  523. Visibility: prevailing_def_ironly
  524. previous sharing asm name: 44
  525. Aux: @05e60700
  526. References:
  527. Referring:
  528. Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
  529. Availability: local
  530. Function flags: count:3888 (estimated locally) body local optimize_size
  531. Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
  532. Calls:
  533. vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
  534. Type: function definition analyzed
  535. Visibility: externally_visible public
  536. Address is taken.
  537. Aux: @05e60720
  538. References:
  539. Referring: xEventGroupClearBitsFromISR/8 (addr)
  540. Availability: available
  541. Function flags: count:1073741824 (estimated locally) body optimize_size
  542. Called by:
  543. Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
  544. vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
  545. Type: function definition analyzed
  546. Visibility: externally_visible public
  547. Address is taken.
  548. Aux: @05e605c0
  549. References:
  550. Referring: xEventGroupSetBitsFromISR/15 (addr)
  551. Availability: available
  552. Function flags: count:1073741824 (estimated locally) body optimize_size
  553. Called by:
  554. Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
  555. vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
  556. Type: function definition analyzed
  557. Visibility: externally_visible public
  558. Aux: @05e60780
  559. References:
  560. Referring:
  561. Availability: available
  562. Function flags: count:230763 (estimated locally) body optimize_size
  563. Called by:
  564. 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)
  565. xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
  566. Type: function definition analyzed
  567. Visibility: externally_visible public
  568. Aux: @05e607c0
  569. References:
  570. Referring:
  571. Availability: available
  572. Function flags: count:228942 (estimated locally) body optimize_size
  573. Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
  574. Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call)
  575. xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
  576. Type: function definition analyzed
  577. Visibility: externally_visible public
  578. Aux: @05e607e0
  579. References:
  580. Referring:
  581. Availability: available
  582. Function flags: count:1073741824 (estimated locally) body optimize_size
  583. Called by:
  584. Calls:
  585. xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
  586. Type: function definition analyzed
  587. Visibility: externally_visible public
  588. Aux: @05e60800
  589. References: vEventGroupClearBitsCallback/13 (addr)
  590. Referring:
  591. Availability: available
  592. Function flags: count:1073741824 (estimated locally) body optimize_size
  593. Called by:
  594. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  595. xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
  596. Type: function definition analyzed
  597. Visibility: externally_visible public
  598. Aux: @05e60c60
  599. References:
  600. Referring:
  601. Availability: available
  602. Function flags: count:228942 (estimated locally) body optimize_size
  603. Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
  604. Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call)
  605. xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
  606. Type: function definition analyzed
  607. Visibility: externally_visible public
  608. Aux: @05e60b80
  609. References:
  610. Referring:
  611. Availability: available
  612. Function flags: count:306783 (estimated locally) body optimize_size
  613. Called by:
  614. Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (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/44 (inlined) (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)
  615. xEventGroupSync/5 (xEventGroupSync) @05e5d460
  616. Type: function definition analyzed
  617. Visibility: externally_visible public
  618. Aux: @05e60b00
  619. References:
  620. Referring:
  621. Availability: available
  622. Function flags: count:214748 (estimated locally) body optimize_size
  623. Called by:
  624. 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)
  625. xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
  626. Type: function definition analyzed
  627. Visibility: externally_visible public
  628. Aux: @05e60b60
  629. References:
  630. Referring:
  631. Availability: available
  632. Function flags: count:1073741824 (estimated locally) body optimize_size
  633. Called by:
  634. Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
  635. ordered call graph: reduced for nothrow
  636. prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380
  637. Type: function definition analyzed
  638. Visibility:
  639. next sharing asm name: 14
  640. Aux: @05e60760
  641. References:
  642. Referring:
  643. Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
  644. Clone of prvTestWaitCondition/14
  645. Availability: local
  646. Function flags: count:23563 (estimated locally) body local optimize_size
  647. Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
  648. Calls:
  649. xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
  650. Type: function definition analyzed
  651. Visibility: prevailing_def_ironly artificial
  652. Aux: @05e606a0
  653. References:
  654. Referring:
  655. Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
  656. Availability: local
  657. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  658. Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call)
  659. Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call)
  660. xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
  661. Type: function definition analyzed
  662. Visibility: prevailing_def_ironly artificial
  663. Aux: @05e608a0
  664. References:
  665. Referring:
  666. Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
  667. Availability: local
  668. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  669. Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call)
  670. Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call)
  671. vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
  672. Type: function definition analyzed
  673. Visibility: externally_visible public
  674. Aux: @05e605a0
  675. References:
  676. Referring:
  677. Availability: available
  678. Function flags: count:1073741824 (estimated locally) body optimize_size
  679. Called by:
  680. Calls:
  681. uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
  682. Type: function definition analyzed
  683. Visibility: externally_visible public
  684. Aux: @05e60520
  685. References:
  686. Referring:
  687. Availability: available
  688. Function flags: count:1073741824 (estimated locally) body optimize_size
  689. Called by:
  690. Calls:
  691. xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
  692. Type: function definition analyzed
  693. Visibility: externally_visible public
  694. Aux: @05e60880
  695. References: vEventGroupSetBitsCallback/12 (addr)
  696. Referring:
  697. Availability: available
  698. Function flags: count:1073741824 (estimated locally) body optimize_size
  699. Called by:
  700. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  701. prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
  702. Type: function definition analyzed
  703. Visibility: prevailing_def_ironly
  704. previous sharing asm name: 44
  705. Aux: @05e60700
  706. References:
  707. Referring:
  708. Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
  709. Availability: local
  710. Function flags: count:3888 (estimated locally) body local optimize_size
  711. Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
  712. Calls:
  713. vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
  714. Type: function definition analyzed
  715. Visibility: externally_visible public
  716. Address is taken.
  717. Aux: @05e60720
  718. References:
  719. Referring: xEventGroupClearBitsFromISR/8 (addr)
  720. Availability: available
  721. Function flags: count:1073741824 (estimated locally) body optimize_size
  722. Called by:
  723. Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
  724. vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
  725. Type: function definition analyzed
  726. Visibility: externally_visible public
  727. Address is taken.
  728. Aux: @05e605c0
  729. References:
  730. Referring: xEventGroupSetBitsFromISR/15 (addr)
  731. Availability: available
  732. Function flags: count:1073741824 (estimated locally) body optimize_size
  733. Called by:
  734. Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
  735. vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
  736. Type: function definition analyzed
  737. Visibility: externally_visible public
  738. Aux: @05e60780
  739. References:
  740. Referring:
  741. Availability: available
  742. Function flags: count:230763 (estimated locally) body optimize_size
  743. Called by:
  744. 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)
  745. xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
  746. Type: function definition analyzed
  747. Visibility: externally_visible public
  748. Aux: @05e607c0
  749. References:
  750. Referring:
  751. Availability: available
  752. Function flags: count:228942 (estimated locally) body optimize_size
  753. Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
  754. Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call)
  755. xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
  756. Type: function definition analyzed
  757. Visibility: externally_visible public
  758. Aux: @05e607e0
  759. References:
  760. Referring:
  761. Availability: available
  762. Function flags: count:1073741824 (estimated locally) body optimize_size
  763. Called by:
  764. Calls:
  765. xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
  766. Type: function definition analyzed
  767. Visibility: externally_visible public
  768. Aux: @05e60800
  769. References: vEventGroupClearBitsCallback/13 (addr)
  770. Referring:
  771. Availability: available
  772. Function flags: count:1073741824 (estimated locally) body optimize_size
  773. Called by:
  774. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  775. xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
  776. Type: function definition analyzed
  777. Visibility: externally_visible public
  778. Aux: @05e60c60
  779. References:
  780. Referring:
  781. Availability: available
  782. Function flags: count:228942 (estimated locally) body optimize_size
  783. Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
  784. Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call)
  785. xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
  786. Type: function definition analyzed
  787. Visibility: externally_visible public
  788. Aux: @05e60b80
  789. References:
  790. Referring:
  791. Availability: available
  792. Function flags: count:306783 (estimated locally) body optimize_size
  793. Called by:
  794. Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (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/44 (inlined) (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)
  795. xEventGroupSync/5 (xEventGroupSync) @05e5d460
  796. Type: function definition analyzed
  797. Visibility: externally_visible public
  798. Aux: @05e60b00
  799. References:
  800. Referring:
  801. Availability: available
  802. Function flags: count:214748 (estimated locally) body optimize_size
  803. Called by:
  804. 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)
  805. xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
  806. Type: function definition analyzed
  807. Visibility: externally_visible public
  808. Aux: @05e60b60
  809. References:
  810. Referring:
  811. Availability: available
  812. Function flags: count:1073741824 (estimated locally) body optimize_size
  813. Called by:
  814. Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
  815. MALLOC LATTICE Initial:
  816. prvTestWaitCondition: malloc_bottom
  817. xEventGroupSetBits.part.0: malloc_bottom
  818. xEventGroupClearBits.part.0: malloc_bottom
  819. vEventGroupSetNumber: malloc_bottom
  820. uxEventGroupGetNumber: malloc_bottom
  821. xEventGroupSetBitsFromISR: malloc_bottom
  822. prvTestWaitCondition: malloc_bottom
  823. vEventGroupClearBitsCallback: malloc_bottom
  824. vEventGroupSetBitsCallback: malloc_bottom
  825. vEventGroupDelete: malloc_bottom
  826. xEventGroupSetBits: malloc_bottom
  827. xEventGroupGetBitsFromISR: malloc_bottom
  828. xEventGroupClearBitsFromISR: malloc_bottom
  829. xEventGroupClearBits: malloc_bottom
  830. xEventGroupWaitBits: malloc_bottom
  831. xEventGroupSync: malloc_bottom
  832. xEventGroupCreate: malloc_bottom
  833. MALLOC LATTICE after propagation:
  834. prvTestWaitCondition: malloc_bottom
  835. xEventGroupSetBits.part.0: malloc_bottom
  836. xEventGroupClearBits.part.0: malloc_bottom
  837. vEventGroupSetNumber: malloc_bottom
  838. uxEventGroupGetNumber: malloc_bottom
  839. xEventGroupSetBitsFromISR: malloc_bottom
  840. prvTestWaitCondition: malloc_bottom
  841. vEventGroupClearBitsCallback: malloc_bottom
  842. vEventGroupSetBitsCallback: malloc_bottom
  843. vEventGroupDelete: malloc_bottom
  844. xEventGroupSetBits: malloc_bottom
  845. xEventGroupGetBitsFromISR: malloc_bottom
  846. xEventGroupClearBitsFromISR: malloc_bottom
  847. xEventGroupClearBits: malloc_bottom
  848. xEventGroupWaitBits: malloc_bottom
  849. xEventGroupSync: malloc_bottom
  850. xEventGroupCreate: malloc_bottom
  851. callgraph:
  852. prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380
  853. Type: function definition analyzed
  854. Visibility:
  855. next sharing asm name: 14
  856. Aux: @05e60b80
  857. References:
  858. Referring:
  859. Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
  860. Clone of prvTestWaitCondition/14
  861. Availability: local
  862. Function flags: count:23563 (estimated locally) body local optimize_size
  863. Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
  864. Calls:
  865. xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
  866. Type: function definition analyzed
  867. Visibility: prevailing_def_ironly artificial
  868. Aux: @05e60b60
  869. References:
  870. Referring:
  871. Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
  872. Availability: local
  873. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  874. Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call)
  875. Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call)
  876. xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
  877. Type: function definition analyzed
  878. Visibility: prevailing_def_ironly artificial
  879. Aux: @05e60c60
  880. References:
  881. Referring:
  882. Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
  883. Availability: local
  884. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  885. Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call)
  886. Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call)
  887. vPortFree/29 (vPortFree) @05ecab60
  888. Type: function
  889. Visibility: external public
  890. References:
  891. Referring:
  892. Availability: not_available
  893. Function flags: optimize_size
  894. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call)
  895. Calls:
  896. vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0
  897. Type: function
  898. Visibility: external public
  899. References:
  900. Referring:
  901. Availability: not_available
  902. Function flags: optimize_size
  903. Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call)
  904. Calls:
  905. xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460
  906. Type: function
  907. Visibility: external public
  908. References:
  909. Referring:
  910. Availability: not_available
  911. Function flags: optimize_size
  912. Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call)
  913. Calls:
  914. vPortExitCritical/26 (vPortExitCritical) @05eadd20
  915. Type: function
  916. Visibility: external public
  917. References:
  918. Referring:
  919. Availability: not_available
  920. Function flags: optimize_size
  921. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  922. Calls:
  923. vPortEnterCritical/25 (vPortEnterCritical) @05eadc40
  924. Type: function
  925. Visibility: external public
  926. References:
  927. Referring:
  928. Availability: not_available
  929. Function flags: optimize_size
  930. Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
  931. Calls:
  932. uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60
  933. Type: function
  934. Visibility: external public
  935. References:
  936. Referring:
  937. Availability: not_available
  938. Function flags: optimize_size
  939. Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call)
  940. Calls:
  941. xTaskResumeAll/23 (xTaskResumeAll) @05eada80
  942. Type: function
  943. Visibility: external public
  944. References:
  945. Referring:
  946. Availability: not_available
  947. Function flags: optimize_size
  948. Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  949. Calls:
  950. vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0
  951. Type: function
  952. Visibility: external public
  953. References:
  954. Referring:
  955. Availability: not_available
  956. Function flags: optimize_size
  957. Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call)
  958. Calls:
  959. vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0
  960. Type: function
  961. Visibility: external public
  962. References:
  963. Referring:
  964. Availability: not_available
  965. Function flags: optimize_size
  966. Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
  967. Calls:
  968. xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0
  969. Type: function
  970. Visibility: external public
  971. References:
  972. Referring:
  973. Availability: not_available
  974. Function flags: optimize_size
  975. Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call)
  976. Calls:
  977. vListInitialise/19 (vListInitialise) @05ead460
  978. Type: function
  979. Visibility: external public
  980. References:
  981. Referring:
  982. Availability: not_available
  983. Function flags: optimize_size
  984. Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call)
  985. Calls:
  986. pvPortMalloc/18 (pvPortMalloc) @05ead380
  987. Type: function
  988. Visibility: external public
  989. References:
  990. Referring:
  991. Availability: not_available
  992. Function flags: optimize_size
  993. Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call)
  994. Calls:
  995. vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
  996. Type: function definition analyzed
  997. Visibility: externally_visible public
  998. Aux: @05e60960
  999. References:
  1000. Referring:
  1001. Availability: available
  1002. Function flags: count:1073741824 (estimated locally) body optimize_size
  1003. Called by:
  1004. Calls:
  1005. uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
  1006. Type: function definition analyzed
  1007. Visibility: externally_visible public
  1008. Aux: @05e60c80
  1009. References:
  1010. Referring:
  1011. Availability: available
  1012. Function flags: count:1073741824 (estimated locally) body optimize_size
  1013. Called by:
  1014. Calls:
  1015. xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
  1016. Type: function definition analyzed
  1017. Visibility: externally_visible public
  1018. Aux: @05e60b00
  1019. References: vEventGroupSetBitsCallback/12 (addr)
  1020. Referring:
  1021. Availability: available
  1022. Function flags: count:1073741824 (estimated locally) body optimize_size
  1023. Called by:
  1024. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  1025. prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
  1026. Type: function definition analyzed
  1027. Visibility: prevailing_def_ironly
  1028. previous sharing asm name: 44
  1029. Aux: @05e60900
  1030. References:
  1031. Referring:
  1032. Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
  1033. Availability: local
  1034. Function flags: count:3888 (estimated locally) body local optimize_size
  1035. Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
  1036. Calls:
  1037. vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
  1038. Type: function definition analyzed
  1039. Visibility: externally_visible public
  1040. Address is taken.
  1041. Aux: @05e605c0
  1042. References:
  1043. Referring: xEventGroupClearBitsFromISR/8 (addr)
  1044. Availability: available
  1045. Function flags: count:1073741824 (estimated locally) body optimize_size
  1046. Called by:
  1047. Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
  1048. vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
  1049. Type: function definition analyzed
  1050. Visibility: externally_visible public
  1051. Address is taken.
  1052. Aux: @05e60780
  1053. References:
  1054. Referring: xEventGroupSetBitsFromISR/15 (addr)
  1055. Availability: available
  1056. Function flags: count:1073741824 (estimated locally) body optimize_size
  1057. Called by:
  1058. Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
  1059. vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
  1060. Type: function definition analyzed
  1061. Visibility: externally_visible public
  1062. Aux: @05e60720
  1063. References:
  1064. Referring:
  1065. Availability: available
  1066. Function flags: count:230763 (estimated locally) body optimize_size
  1067. Called by:
  1068. 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)
  1069. xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
  1070. Type: function definition analyzed
  1071. Visibility: externally_visible public
  1072. Aux: @05e60880
  1073. References:
  1074. Referring:
  1075. Availability: available
  1076. Function flags: count:228942 (estimated locally) body optimize_size
  1077. Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
  1078. Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call)
  1079. xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
  1080. Type: function definition analyzed
  1081. Visibility: externally_visible public
  1082. Aux: @05e60700
  1083. References:
  1084. Referring:
  1085. Availability: available
  1086. Function flags: count:1073741824 (estimated locally) body optimize_size
  1087. Called by:
  1088. Calls:
  1089. xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
  1090. Type: function definition analyzed
  1091. Visibility: externally_visible public
  1092. Aux: @05e607c0
  1093. References: vEventGroupClearBitsCallback/13 (addr)
  1094. Referring:
  1095. Availability: available
  1096. Function flags: count:1073741824 (estimated locally) body optimize_size
  1097. Called by:
  1098. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  1099. xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
  1100. Type: function definition analyzed
  1101. Visibility: externally_visible public
  1102. Aux: @05e606a0
  1103. References:
  1104. Referring:
  1105. Availability: available
  1106. Function flags: count:228942 (estimated locally) body optimize_size
  1107. Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
  1108. Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call)
  1109. xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
  1110. Type: function definition analyzed
  1111. Visibility: externally_visible public
  1112. Aux: @05e605a0
  1113. References:
  1114. Referring:
  1115. Availability: available
  1116. Function flags: count:306783 (estimated locally) body optimize_size
  1117. Called by:
  1118. Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (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/44 (inlined) (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)
  1119. xEventGroupSync/5 (xEventGroupSync) @05e5d460
  1120. Type: function definition analyzed
  1121. Visibility: externally_visible public
  1122. Aux: @05e60760
  1123. References:
  1124. Referring:
  1125. Availability: available
  1126. Function flags: count:214748 (estimated locally) body optimize_size
  1127. Called by:
  1128. 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)
  1129. xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
  1130. Type: function definition analyzed
  1131. Visibility: externally_visible public
  1132. Aux: @05e607e0
  1133. References:
  1134. Referring:
  1135. Availability: available
  1136. Function flags: count:1073741824 (estimated locally) body optimize_size
  1137. Called by:
  1138. Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
  1139. ordered call graph: reduced
  1140. vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
  1141. Type: function definition analyzed
  1142. Visibility: externally_visible public
  1143. Aux: @05e60960
  1144. References:
  1145. Referring:
  1146. Availability: available
  1147. Function flags: count:1073741824 (estimated locally) body optimize_size
  1148. Called by:
  1149. Calls:
  1150. uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
  1151. Type: function definition analyzed
  1152. Visibility: externally_visible public
  1153. Aux: @05e60c80
  1154. References:
  1155. Referring:
  1156. Availability: available
  1157. Function flags: count:1073741824 (estimated locally) body optimize_size
  1158. Called by:
  1159. Calls:
  1160. xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
  1161. Type: function definition analyzed
  1162. Visibility: externally_visible public
  1163. Aux: @05e60b00
  1164. References: vEventGroupSetBitsCallback/12 (addr)
  1165. Referring:
  1166. Availability: available
  1167. Function flags: count:1073741824 (estimated locally) body optimize_size
  1168. Called by:
  1169. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  1170. vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
  1171. Type: function definition analyzed
  1172. Visibility: externally_visible public
  1173. Address is taken.
  1174. Aux: @05e605c0
  1175. References:
  1176. Referring: xEventGroupClearBitsFromISR/8 (addr)
  1177. Availability: available
  1178. Function flags: count:1073741824 (estimated locally) body optimize_size
  1179. Called by:
  1180. Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
  1181. vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
  1182. Type: function definition analyzed
  1183. Visibility: externally_visible public
  1184. Address is taken.
  1185. Aux: @05e60780
  1186. References:
  1187. Referring: xEventGroupSetBitsFromISR/15 (addr)
  1188. Availability: available
  1189. Function flags: count:1073741824 (estimated locally) body optimize_size
  1190. Called by:
  1191. Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
  1192. vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
  1193. Type: function definition analyzed
  1194. Visibility: externally_visible public
  1195. Aux: @05e60720
  1196. References:
  1197. Referring:
  1198. Availability: available
  1199. Function flags: count:230763 (estimated locally) body optimize_size
  1200. Called by:
  1201. 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)
  1202. xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
  1203. Type: function definition analyzed
  1204. Visibility: externally_visible public
  1205. Aux: @05e60700
  1206. References:
  1207. Referring:
  1208. Availability: available
  1209. Function flags: count:1073741824 (estimated locally) body optimize_size
  1210. Called by:
  1211. Calls:
  1212. xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
  1213. Type: function definition analyzed
  1214. Visibility: externally_visible public
  1215. Aux: @05e607c0
  1216. References: vEventGroupClearBitsCallback/13 (addr)
  1217. Referring:
  1218. Availability: available
  1219. Function flags: count:1073741824 (estimated locally) body optimize_size
  1220. Called by:
  1221. Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
  1222. xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
  1223. Type: function definition analyzed
  1224. Visibility: externally_visible public
  1225. Aux: @05e606a0
  1226. References:
  1227. Referring:
  1228. Availability: available
  1229. Function flags: count:228942 (estimated locally) body optimize_size
  1230. Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
  1231. Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call)
  1232. xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
  1233. Type: function definition analyzed
  1234. Visibility: prevailing_def_ironly artificial
  1235. Aux: @05e60c60
  1236. References:
  1237. Referring:
  1238. Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
  1239. Availability: local
  1240. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  1241. Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call)
  1242. Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call)
  1243. xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
  1244. Type: function definition analyzed
  1245. Visibility: externally_visible public
  1246. Aux: @05e605a0
  1247. References:
  1248. Referring:
  1249. Availability: available
  1250. Function flags: count:306783 (estimated locally) body optimize_size
  1251. Called by:
  1252. Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (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/44 (inlined) (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)
  1253. prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380
  1254. Type: function definition analyzed
  1255. Visibility:
  1256. next sharing asm name: 14
  1257. Aux: @05e60b80
  1258. References:
  1259. Referring:
  1260. Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
  1261. Clone of prvTestWaitCondition/14
  1262. Availability: local
  1263. Function flags: count:23563 (estimated locally) body local optimize_size
  1264. Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
  1265. Calls:
  1266. prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
  1267. Type: function definition analyzed
  1268. Visibility: prevailing_def_ironly
  1269. previous sharing asm name: 44
  1270. Aux: @05e60900
  1271. References:
  1272. Referring:
  1273. Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
  1274. Availability: local
  1275. Function flags: count:3888 (estimated locally) body local optimize_size
  1276. Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
  1277. Calls:
  1278. xEventGroupSync/5 (xEventGroupSync) @05e5d460
  1279. Type: function definition analyzed
  1280. Visibility: externally_visible public
  1281. Aux: @05e60760
  1282. References:
  1283. Referring:
  1284. Availability: available
  1285. Function flags: count:214748 (estimated locally) body optimize_size
  1286. Called by:
  1287. 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)
  1288. xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
  1289. Type: function definition analyzed
  1290. Visibility: externally_visible public
  1291. Aux: @05e60880
  1292. References:
  1293. Referring:
  1294. Availability: available
  1295. Function flags: count:228942 (estimated locally) body optimize_size
  1296. Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
  1297. Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call)
  1298. xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
  1299. Type: function definition analyzed
  1300. Visibility: prevailing_def_ironly artificial
  1301. Aux: @05e60b60
  1302. References:
  1303. Referring:
  1304. Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
  1305. Availability: local
  1306. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  1307. Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call)
  1308. Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call)
  1309. xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
  1310. Type: function definition analyzed
  1311. Visibility: externally_visible public
  1312. Aux: @05e607e0
  1313. References:
  1314. Referring:
  1315. Availability: available
  1316. Function flags: count:1073741824 (estimated locally) body optimize_size
  1317. Called by:
  1318. Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
  1319. Function found not to call free: prvTestWaitCondition
  1320. Function found not to call free: prvTestWaitCondition
  1321. Function found not to call free: uxEventGroupGetNumber
  1322. Function found not to call free: vEventGroupSetNumber
  1323. xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
  1324. {
  1325. struct ListItem_t * pxListItem;
  1326. struct ListItem_t * pxNext;
  1327. const struct ListItem_t * pxListEnd;
  1328. const struct List_t * pxList;
  1329. EventBits_t uxBitsToClear;
  1330. EventBits_t uxBitsWaitedFor;
  1331. EventBits_t uxControlBits;
  1332. struct EventGroup_t * pxEventBits;
  1333. BaseType_t xMatchFound;
  1334. uint32_t ulNewBASEPRI;
  1335. uint32_t ulNewBASEPRI;
  1336. long unsigned int _4;
  1337. long unsigned int _6;
  1338. long unsigned int _11;
  1339. long unsigned int _12;
  1340. long unsigned int _13;
  1341. long unsigned int _14;
  1342. long unsigned int _15;
  1343. long unsigned int _16;
  1344. long unsigned int _19;
  1345. long unsigned int _20;
  1346. long unsigned int _21;
  1347. long unsigned int _23;
  1348. long unsigned int _24;
  1349. long unsigned int _25;
  1350. <bb 12> [local count: 118111600]:
  1351. <bb 2> [local count: 118111600]:
  1352. # DEBUG BEGIN_STMT
  1353. # DEBUG BEGIN_STMT
  1354. # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
  1355. # DEBUG pxList => D#1
  1356. # DEBUG BEGIN_STMT
  1357. pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
  1358. # DEBUG pxListEnd => pxListEnd_2
  1359. # DEBUG BEGIN_STMT
  1360. vTaskSuspendAll ();
  1361. # DEBUG BEGIN_STMT
  1362. # DEBUG BEGIN_STMT
  1363. pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
  1364. # DEBUG pxListItem => pxListItem_3
  1365. # DEBUG BEGIN_STMT
  1366. _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1367. _6 = _4 | uxBitsToSet_5(D);
  1368. MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
  1369. # DEBUG BEGIN_STMT
  1370. goto <bb 10>; [100.00%]
  1371. <bb 3> [local count: 955630223]:
  1372. # DEBUG BEGIN_STMT
  1373. pxNext_8 = pxListItem_7->pxNext;
  1374. # DEBUG pxNext => pxNext_8
  1375. # DEBUG BEGIN_STMT
  1376. uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
  1377. # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
  1378. # DEBUG BEGIN_STMT
  1379. # DEBUG xMatchFound => 0
  1380. # DEBUG BEGIN_STMT
  1381. # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
  1382. # DEBUG BEGIN_STMT
  1383. uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
  1384. # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
  1385. # DEBUG BEGIN_STMT
  1386. _11 = uxBitsWaitedFor_9 & 67108864;
  1387. if (_11 == 0)
  1388. goto <bb 4>; [50.00%]
  1389. else
  1390. goto <bb 5>; [50.00%]
  1391. <bb 4> [local count: 477815111]:
  1392. # DEBUG BEGIN_STMT
  1393. _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1394. _13 = uxBitsWaitedFor_10 & _12;
  1395. if (_13 != 0)
  1396. goto <bb 6>; [50.00%]
  1397. else
  1398. goto <bb 9>; [50.00%]
  1399. <bb 5> [local count: 477815111]:
  1400. # DEBUG BEGIN_STMT
  1401. _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1402. _15 = uxBitsWaitedFor_10 & _14;
  1403. if (uxBitsWaitedFor_10 == _15)
  1404. goto <bb 6>; [34.00%]
  1405. else
  1406. goto <bb 9>; [66.00%]
  1407. <bb 6> [local count: 401364694]:
  1408. # DEBUG xMatchFound => NULL
  1409. # DEBUG BEGIN_STMT
  1410. _16 = uxBitsWaitedFor_9 & 16777216;
  1411. if (_16 != 0)
  1412. goto <bb 7>; [50.00%]
  1413. else
  1414. goto <bb 8>; [50.00%]
  1415. <bb 7> [local count: 200682347]:
  1416. # DEBUG BEGIN_STMT
  1417. uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
  1418. # DEBUG uxBitsToClear => uxBitsToClear_18
  1419. <bb 8> [local count: 401364694]:
  1420. # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
  1421. # DEBUG uxBitsToClear => uxBitsToClear_26
  1422. # DEBUG BEGIN_STMT
  1423. # DEBUG BEGIN_STMT
  1424. _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1425. _20 = _19 | 33554432;
  1426. vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
  1427. <bb 9> [local count: 955630225]:
  1428. # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
  1429. # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
  1430. <bb 10> [local count: 1073741824]:
  1431. # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
  1432. # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
  1433. # DEBUG xMatchFound => NULL
  1434. # DEBUG uxBitsToClear => uxBitsToClear_17
  1435. # DEBUG pxListItem => pxListItem_7
  1436. # DEBUG BEGIN_STMT
  1437. if (pxListEnd_2 != pxListItem_7)
  1438. goto <bb 3>; [89.00%]
  1439. else
  1440. goto <bb 11>; [11.00%]
  1441. <bb 11> [local count: 118111601]:
  1442. # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
  1443. # DEBUG BEGIN_STMT
  1444. _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1445. _23 = ~uxBitsToClear_22;
  1446. _24 = _21 & _23;
  1447. MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
  1448. # DEBUG BEGIN_STMT
  1449. xTaskResumeAll ();
  1450. # DEBUG BEGIN_STMT
  1451. _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1452. return _25;
  1453. }
  1454. xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
  1455. {
  1456. struct EventGroup_t * pxEventBits;
  1457. EventBits_t uxReturn;
  1458. uint32_t ulNewBASEPRI;
  1459. uint32_t ulNewBASEPRI;
  1460. long unsigned int _4;
  1461. long unsigned int _5;
  1462. <bb 3> [local count: 1073741824]:
  1463. <bb 2> [local count: 1073741824]:
  1464. # DEBUG BEGIN_STMT
  1465. # DEBUG BEGIN_STMT
  1466. vPortEnterCritical ();
  1467. # DEBUG BEGIN_STMT
  1468. # DEBUG BEGIN_STMT
  1469. uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1470. # DEBUG uxReturn => uxReturn_2
  1471. # DEBUG BEGIN_STMT
  1472. _4 = ~uxBitsToClear_3(D);
  1473. _5 = uxReturn_2 & _4;
  1474. MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
  1475. # DEBUG BEGIN_STMT
  1476. vPortExitCritical ();
  1477. # DEBUG BEGIN_STMT
  1478. return uxReturn_2;
  1479. }
  1480. vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
  1481. {
  1482. <bb 2> [local count: 1073741824]:
  1483. # DEBUG BEGIN_STMT
  1484. MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
  1485. return;
  1486. }
  1487. uxEventGroupGetNumber (void * xEventGroup)
  1488. {
  1489. UBaseType_t xReturn;
  1490. <bb 2> [local count: 1073741824]:
  1491. # DEBUG BEGIN_STMT
  1492. # DEBUG BEGIN_STMT
  1493. # DEBUG pxEventBits => xEventGroup_2(D)
  1494. # DEBUG BEGIN_STMT
  1495. if (xEventGroup_2(D) == 0B)
  1496. goto <bb 4>; [30.00%]
  1497. else
  1498. goto <bb 3>; [70.00%]
  1499. <bb 3> [local count: 751619278]:
  1500. # DEBUG BEGIN_STMT
  1501. xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
  1502. # DEBUG xReturn => xReturn_4
  1503. <bb 4> [local count: 1073741824]:
  1504. # xReturn_1 = PHI <0(2), xReturn_4(3)>
  1505. # DEBUG xReturn => xReturn_1
  1506. # DEBUG BEGIN_STMT
  1507. return xReturn_1;
  1508. }
  1509. xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
  1510. {
  1511. BaseType_t xReturn;
  1512. <bb 2> [local count: 1073741824]:
  1513. # DEBUG BEGIN_STMT
  1514. # DEBUG BEGIN_STMT
  1515. # DEBUG BEGIN_STMT
  1516. xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
  1517. # DEBUG xReturn => xReturn_6
  1518. # DEBUG BEGIN_STMT
  1519. return xReturn_6;
  1520. }
  1521. prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
  1522. {
  1523. BaseType_t xWaitConditionMet;
  1524. long unsigned int _1;
  1525. long unsigned int _2;
  1526. <bb 2> [local count: 1073741824]:
  1527. # DEBUG BEGIN_STMT
  1528. # DEBUG xWaitConditionMet => 0
  1529. # DEBUG BEGIN_STMT
  1530. if (xWaitForAllBits_4(D) == 0)
  1531. goto <bb 3>; [50.00%]
  1532. else
  1533. goto <bb 5>; [50.00%]
  1534. <bb 3> [local count: 536870913]:
  1535. # DEBUG BEGIN_STMT
  1536. _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
  1537. if (_1 != 0)
  1538. goto <bb 4>; [50.00%]
  1539. else
  1540. goto <bb 7>; [50.00%]
  1541. <bb 4> [local count: 268435456]:
  1542. # DEBUG BEGIN_STMT
  1543. # DEBUG xWaitConditionMet => 1
  1544. goto <bb 7>; [100.00%]
  1545. <bb 5> [local count: 536870913]:
  1546. # DEBUG BEGIN_STMT
  1547. _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
  1548. if (_2 == uxBitsToWaitFor_6(D))
  1549. goto <bb 6>; [34.00%]
  1550. else
  1551. goto <bb 7>; [66.00%]
  1552. <bb 6> [local count: 182536110]:
  1553. # DEBUG BEGIN_STMT
  1554. # DEBUG xWaitConditionMet => 1
  1555. <bb 7> [local count: 1073741824]:
  1556. # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
  1557. # DEBUG xWaitConditionMet => xWaitConditionMet_3
  1558. # DEBUG BEGIN_STMT
  1559. # DEBUG BEGIN_STMT
  1560. return xWaitConditionMet_3;
  1561. }
  1562. vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
  1563. {
  1564. <bb 2> [local count: 1073741824]:
  1565. # DEBUG BEGIN_STMT
  1566. xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
  1567. return;
  1568. }
  1569. vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
  1570. {
  1571. <bb 2> [local count: 1073741824]:
  1572. # DEBUG BEGIN_STMT
  1573. xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
  1574. return;
  1575. }
  1576. vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
  1577. {
  1578. uint32_t ulNewBASEPRI;
  1579. uint32_t ulNewBASEPRI;
  1580. struct xLIST_ITEM * _1;
  1581. const struct MiniListItem_t * _2;
  1582. long unsigned int _3;
  1583. <bb 2> [local count: 230763]:
  1584. # DEBUG BEGIN_STMT
  1585. if (xEventGroup_5(D) == 0B)
  1586. goto <bb 3>; [46.53%]
  1587. else
  1588. goto <bb 5>; [53.47%]
  1589. <bb 3> [local count: 107374]:
  1590. # DEBUG BEGIN_STMT
  1591. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1592. # DEBUG BEGIN_STMT
  1593. # DEBUG BEGIN_STMT
  1594. __asm__ __volatile__(" mov %0, %1
  1595. msr basepri, %0
  1596. isb
  1597. dsb
  1598. " : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
  1599. # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
  1600. <bb 4> [local count: 1073741824]:
  1601. # DEBUG ulNewBASEPRI => NULL
  1602. # DEBUG BEGIN_STMT
  1603. # DEBUG BEGIN_STMT
  1604. # DEBUG BEGIN_STMT
  1605. <bb 12> [local count: 1073741824]:
  1606. goto <bb 4>; [100.00%]
  1607. <bb 5> [local count: 123389]:
  1608. # DEBUG BEGIN_STMT
  1609. # DEBUG BEGIN_STMT
  1610. # DEBUG pxEventBits => xEventGroup_5(D)
  1611. # DEBUG BEGIN_STMT
  1612. # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
  1613. # DEBUG pxTasksWaitingForBits => D#2
  1614. # DEBUG BEGIN_STMT
  1615. vTaskSuspendAll ();
  1616. # DEBUG BEGIN_STMT
  1617. # DEBUG BEGIN_STMT
  1618. goto <bb 10>; [100.00%]
  1619. <bb 6> [local count: 1089998]:
  1620. # DEBUG BEGIN_STMT
  1621. _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
  1622. _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
  1623. if (_1 == _2)
  1624. goto <bb 7>; [5.50%]
  1625. else
  1626. goto <bb 9>; [94.50%]
  1627. <bb 7> [local count: 59950]:
  1628. # DEBUG BEGIN_STMT
  1629. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1630. # DEBUG BEGIN_STMT
  1631. # DEBUG BEGIN_STMT
  1632. __asm__ __volatile__(" mov %0, %1
  1633. msr basepri, %0
  1634. isb
  1635. dsb
  1636. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  1637. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  1638. <bb 8> [local count: 599500022]:
  1639. # DEBUG ulNewBASEPRI => NULL
  1640. # DEBUG BEGIN_STMT
  1641. # DEBUG BEGIN_STMT
  1642. # DEBUG BEGIN_STMT
  1643. <bb 13> [local count: 599500022]:
  1644. goto <bb 8>; [100.00%]
  1645. <bb 9> [local count: 1030048]:
  1646. # DEBUG BEGIN_STMT
  1647. # DEBUG BEGIN_STMT
  1648. vTaskRemoveFromUnorderedEventList (_1, 33554432);
  1649. <bb 10> [local count: 1153437]:
  1650. # DEBUG BEGIN_STMT
  1651. _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
  1652. if (_3 != 0)
  1653. goto <bb 6>; [94.50%]
  1654. else
  1655. goto <bb 11>; [5.50%]
  1656. <bb 11> [local count: 63439]:
  1657. # DEBUG BEGIN_STMT
  1658. vPortFree (xEventGroup_5(D));
  1659. # DEBUG BEGIN_STMT
  1660. xTaskResumeAll ();
  1661. return;
  1662. }
  1663. xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
  1664. {
  1665. EventBits_t D.6634;
  1666. uint32_t ulNewBASEPRI;
  1667. uint32_t ulNewBASEPRI;
  1668. long unsigned int _1;
  1669. <bb 2> [local count: 228942]:
  1670. # DEBUG BEGIN_STMT
  1671. # DEBUG BEGIN_STMT
  1672. # DEBUG BEGIN_STMT
  1673. # DEBUG BEGIN_STMT
  1674. # DEBUG uxBitsToClear => 0
  1675. # DEBUG BEGIN_STMT
  1676. # DEBUG pxEventBits => xEventGroup_3(D)
  1677. # DEBUG BEGIN_STMT
  1678. # DEBUG xMatchFound => 0
  1679. # DEBUG BEGIN_STMT
  1680. if (xEventGroup_3(D) == 0B)
  1681. goto <bb 3>; [30.00%]
  1682. else
  1683. goto <bb 5>; [70.00%]
  1684. <bb 3> [local count: 68683]:
  1685. # DEBUG BEGIN_STMT
  1686. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1687. # DEBUG BEGIN_STMT
  1688. # DEBUG BEGIN_STMT
  1689. __asm__ __volatile__(" mov %0, %1
  1690. msr basepri, %0
  1691. isb
  1692. dsb
  1693. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  1694. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  1695. <bb 4> [local count: 686828460]:
  1696. # DEBUG ulNewBASEPRI => NULL
  1697. # DEBUG BEGIN_STMT
  1698. # DEBUG BEGIN_STMT
  1699. # DEBUG BEGIN_STMT
  1700. <bb 9> [local count: 686828460]:
  1701. goto <bb 4>; [100.00%]
  1702. <bb 5> [local count: 160260]:
  1703. # DEBUG BEGIN_STMT
  1704. # DEBUG BEGIN_STMT
  1705. _1 = uxBitsToSet_4(D) & 4278190080;
  1706. if (_1 != 0)
  1707. goto <bb 6>; [67.00%]
  1708. else
  1709. goto <bb 8>; [33.00%]
  1710. <bb 6> [local count: 107374]:
  1711. # DEBUG BEGIN_STMT
  1712. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1713. # DEBUG BEGIN_STMT
  1714. # DEBUG BEGIN_STMT
  1715. __asm__ __volatile__(" mov %0, %1
  1716. msr basepri, %0
  1717. isb
  1718. dsb
  1719. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1720. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1721. <bb 7> [local count: 1073741824]:
  1722. # DEBUG ulNewBASEPRI => NULL
  1723. # DEBUG BEGIN_STMT
  1724. # DEBUG BEGIN_STMT
  1725. # DEBUG BEGIN_STMT
  1726. <bb 10> [local count: 1073741824]:
  1727. goto <bb 7>; [100.00%]
  1728. <bb 8> [local count: 52886]:
  1729. _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
  1730. return _6;
  1731. }
  1732. xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
  1733. {
  1734. uint32_t ulOriginalBASEPRI;
  1735. uint32_t ulNewBASEPRI;
  1736. EventBits_t uxReturn;
  1737. <bb 2> [local count: 1073741824]:
  1738. # DEBUG BEGIN_STMT
  1739. # DEBUG BEGIN_STMT
  1740. # DEBUG pxEventBits => xEventGroup_1(D)
  1741. # DEBUG BEGIN_STMT
  1742. # DEBUG BEGIN_STMT
  1743. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  1744. # DEBUG BEGIN_STMT
  1745. # DEBUG BEGIN_STMT
  1746. __asm__ __volatile__(" mrs %0, basepri
  1747. mov %1, %2
  1748. msr basepri, %1
  1749. isb
  1750. dsb
  1751. " : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  1752. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  1753. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
  1754. # DEBUG BEGIN_STMT
  1755. # DEBUG ulNewBASEPRI => NULL
  1756. # DEBUG ulOriginalBASEPRI => NULL
  1757. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
  1758. # DEBUG BEGIN_STMT
  1759. uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
  1760. # DEBUG uxReturn => uxReturn_3
  1761. # DEBUG BEGIN_STMT
  1762. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
  1763. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  1764. # DEBUG BEGIN_STMT
  1765. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory");
  1766. # DEBUG ulNewMaskValue => NULL
  1767. # DEBUG BEGIN_STMT
  1768. return uxReturn_3;
  1769. }
  1770. xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
  1771. {
  1772. BaseType_t xReturn;
  1773. <bb 2> [local count: 1073741824]:
  1774. # DEBUG BEGIN_STMT
  1775. # DEBUG BEGIN_STMT
  1776. # DEBUG BEGIN_STMT
  1777. xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
  1778. # DEBUG xReturn => xReturn_5
  1779. # DEBUG BEGIN_STMT
  1780. return xReturn_5;
  1781. }
  1782. xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
  1783. {
  1784. EventBits_t D.6607;
  1785. uint32_t ulNewBASEPRI;
  1786. uint32_t ulNewBASEPRI;
  1787. long unsigned int _1;
  1788. <bb 2> [local count: 228942]:
  1789. # DEBUG BEGIN_STMT
  1790. # DEBUG pxEventBits => xEventGroup_3(D)
  1791. # DEBUG BEGIN_STMT
  1792. # DEBUG BEGIN_STMT
  1793. if (xEventGroup_3(D) == 0B)
  1794. goto <bb 3>; [30.00%]
  1795. else
  1796. goto <bb 5>; [70.00%]
  1797. <bb 3> [local count: 68683]:
  1798. # DEBUG BEGIN_STMT
  1799. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1800. # DEBUG BEGIN_STMT
  1801. # DEBUG BEGIN_STMT
  1802. __asm__ __volatile__(" mov %0, %1
  1803. msr basepri, %0
  1804. isb
  1805. dsb
  1806. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  1807. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  1808. <bb 4> [local count: 686828460]:
  1809. # DEBUG ulNewBASEPRI => NULL
  1810. # DEBUG BEGIN_STMT
  1811. # DEBUG BEGIN_STMT
  1812. # DEBUG BEGIN_STMT
  1813. <bb 9> [local count: 686828460]:
  1814. goto <bb 4>; [100.00%]
  1815. <bb 5> [local count: 160260]:
  1816. # DEBUG BEGIN_STMT
  1817. # DEBUG BEGIN_STMT
  1818. _1 = uxBitsToClear_5(D) & 4278190080;
  1819. if (_1 != 0)
  1820. goto <bb 6>; [67.00%]
  1821. else
  1822. goto <bb 8>; [33.00%]
  1823. <bb 6> [local count: 107374]:
  1824. # DEBUG BEGIN_STMT
  1825. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1826. # DEBUG BEGIN_STMT
  1827. # DEBUG BEGIN_STMT
  1828. __asm__ __volatile__(" mov %0, %1
  1829. msr basepri, %0
  1830. isb
  1831. dsb
  1832. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1833. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1834. <bb 7> [local count: 1073741824]:
  1835. # DEBUG ulNewBASEPRI => NULL
  1836. # DEBUG BEGIN_STMT
  1837. # DEBUG BEGIN_STMT
  1838. # DEBUG BEGIN_STMT
  1839. <bb 10> [local count: 1073741824]:
  1840. goto <bb 7>; [100.00%]
  1841. <bb 8> [local count: 52886]:
  1842. _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
  1843. return _2;
  1844. }
  1845. xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
  1846. {
  1847. uint32_t ulNewBASEPRI;
  1848. uint32_t ulNewBASEPRI;
  1849. uint32_t ulNewBASEPRI;
  1850. uint32_t ulNewBASEPRI;
  1851. const EventBits_t uxCurrentEventBits;
  1852. BaseType_t xAlreadyYielded;
  1853. BaseType_t xWaitConditionMet;
  1854. EventBits_t uxControlBits;
  1855. EventBits_t uxReturn;
  1856. long unsigned int _1;
  1857. long int _2;
  1858. long unsigned int _3;
  1859. long unsigned int _4;
  1860. struct List_t * _5;
  1861. long unsigned int _6;
  1862. long unsigned int _7;
  1863. long int _8;
  1864. long unsigned int _9;
  1865. long unsigned int _10;
  1866. <bb 2> [local count: 306783]:
  1867. # DEBUG BEGIN_STMT
  1868. # DEBUG pxEventBits => xEventGroup_22(D)
  1869. # DEBUG BEGIN_STMT
  1870. # DEBUG uxControlBits => 0
  1871. # DEBUG BEGIN_STMT
  1872. # DEBUG BEGIN_STMT
  1873. # DEBUG xTimeoutOccurred => 0
  1874. # DEBUG BEGIN_STMT
  1875. if (xEventGroup_22(D) == 0B)
  1876. goto <bb 3>; [30.00%]
  1877. else
  1878. goto <bb 5>; [70.00%]
  1879. <bb 3> [local count: 92035]:
  1880. # DEBUG BEGIN_STMT
  1881. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1882. # DEBUG BEGIN_STMT
  1883. # DEBUG BEGIN_STMT
  1884. __asm__ __volatile__(" mov %0, %1
  1885. msr basepri, %0
  1886. isb
  1887. dsb
  1888. " : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
  1889. # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
  1890. <bb 4> [local count: 920350133]:
  1891. # DEBUG ulNewBASEPRI => NULL
  1892. # DEBUG BEGIN_STMT
  1893. # DEBUG BEGIN_STMT
  1894. # DEBUG BEGIN_STMT
  1895. <bb 34> [local count: 920350133]:
  1896. goto <bb 4>; [100.00%]
  1897. <bb 5> [local count: 214748]:
  1898. # DEBUG BEGIN_STMT
  1899. # DEBUG BEGIN_STMT
  1900. _1 = uxBitsToWaitFor_23(D) & 4278190080;
  1901. if (_1 != 0)
  1902. goto <bb 6>; [50.00%]
  1903. else
  1904. goto <bb 8>; [50.00%]
  1905. <bb 6> [local count: 107374]:
  1906. # DEBUG BEGIN_STMT
  1907. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1908. # DEBUG BEGIN_STMT
  1909. # DEBUG BEGIN_STMT
  1910. __asm__ __volatile__(" mov %0, %1
  1911. msr basepri, %0
  1912. isb
  1913. dsb
  1914. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  1915. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  1916. <bb 7> [local count: 1073741823]:
  1917. # DEBUG ulNewBASEPRI => NULL
  1918. # DEBUG BEGIN_STMT
  1919. # DEBUG BEGIN_STMT
  1920. # DEBUG BEGIN_STMT
  1921. <bb 35> [local count: 1073741824]:
  1922. goto <bb 7>; [100.00%]
  1923. <bb 8> [local count: 107374]:
  1924. # DEBUG BEGIN_STMT
  1925. # DEBUG BEGIN_STMT
  1926. if (uxBitsToWaitFor_23(D) == 0)
  1927. goto <bb 9>; [67.00%]
  1928. else
  1929. goto <bb 11>; [33.00%]
  1930. <bb 9> [local count: 71941]:
  1931. # DEBUG BEGIN_STMT
  1932. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1933. # DEBUG BEGIN_STMT
  1934. # DEBUG BEGIN_STMT
  1935. __asm__ __volatile__(" mov %0, %1
  1936. msr basepri, %0
  1937. isb
  1938. dsb
  1939. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  1940. # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
  1941. <bb 10> [local count: 719407021]:
  1942. # DEBUG ulNewBASEPRI => NULL
  1943. # DEBUG BEGIN_STMT
  1944. # DEBUG BEGIN_STMT
  1945. # DEBUG BEGIN_STMT
  1946. <bb 36> [local count: 719407021]:
  1947. goto <bb 10>; [100.00%]
  1948. <bb 11> [local count: 35433]:
  1949. # DEBUG BEGIN_STMT
  1950. # DEBUG BEGIN_STMT
  1951. _2 = xTaskGetSchedulerState ();
  1952. if (_2 != 0)
  1953. goto <bb 15>; [33.00%]
  1954. else
  1955. goto <bb 12>; [67.00%]
  1956. <bb 12> [local count: 23740]:
  1957. if (xTicksToWait_26(D) == 0)
  1958. goto <bb 15>; [50.00%]
  1959. else
  1960. goto <bb 13>; [50.00%]
  1961. <bb 13> [local count: 11870]:
  1962. # DEBUG BEGIN_STMT
  1963. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1964. # DEBUG BEGIN_STMT
  1965. # DEBUG BEGIN_STMT
  1966. __asm__ __volatile__(" mov %0, %1
  1967. msr basepri, %0
  1968. isb
  1969. dsb
  1970. " : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
  1971. # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
  1972. <bb 14> [local count: 118702158]:
  1973. # DEBUG ulNewBASEPRI => NULL
  1974. # DEBUG BEGIN_STMT
  1975. # DEBUG BEGIN_STMT
  1976. # DEBUG BEGIN_STMT
  1977. <bb 37> [local count: 118702158]:
  1978. goto <bb 14>; [100.00%]
  1979. <bb 15> [local count: 23563]:
  1980. # DEBUG BEGIN_STMT
  1981. # DEBUG BEGIN_STMT
  1982. vTaskSuspendAll ();
  1983. # DEBUG BEGIN_STMT
  1984. uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  1985. # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
  1986. # DEBUG BEGIN_STMT
  1987. xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  1988. # DEBUG xWaitConditionMet => xWaitConditionMet_31
  1989. # DEBUG BEGIN_STMT
  1990. if (xWaitConditionMet_31 != 0)
  1991. goto <bb 16>; [50.00%]
  1992. else
  1993. goto <bb 18>; [50.00%]
  1994. <bb 16> [local count: 11782]:
  1995. # DEBUG BEGIN_STMT
  1996. # DEBUG uxReturn => uxCurrentEventBits_28
  1997. # DEBUG BEGIN_STMT
  1998. # DEBUG xTicksToWait => 0
  1999. # DEBUG BEGIN_STMT
  2000. if (xClearOnExit_32(D) != 0)
  2001. goto <bb 17>; [50.00%]
  2002. else
  2003. goto <bb 24>; [50.00%]
  2004. <bb 17> [local count: 5891]:
  2005. # DEBUG BEGIN_STMT
  2006. _3 = ~uxBitsToWaitFor_23(D);
  2007. _4 = _3 & uxCurrentEventBits_28;
  2008. MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
  2009. goto <bb 24>; [100.00%]
  2010. <bb 18> [local count: 11782]:
  2011. # DEBUG BEGIN_STMT
  2012. if (xTicksToWait_26(D) == 0)
  2013. goto <bb 24>; [50.00%]
  2014. else
  2015. goto <bb 19>; [50.00%]
  2016. <bb 19> [local count: 5891]:
  2017. # DEBUG BEGIN_STMT
  2018. if (xClearOnExit_32(D) != 0)
  2019. goto <bb 20>; [50.00%]
  2020. else
  2021. goto <bb 21>; [50.00%]
  2022. <bb 20> [local count: 2945]:
  2023. # DEBUG BEGIN_STMT
  2024. # DEBUG uxControlBits => 16777216
  2025. <bb 21> [local count: 5891]:
  2026. # uxControlBits_15 = PHI <0(19), 16777216(20)>
  2027. # DEBUG uxControlBits => uxControlBits_15
  2028. # DEBUG BEGIN_STMT
  2029. # DEBUG BEGIN_STMT
  2030. if (xWaitForAllBits_29(D) != 0)
  2031. goto <bb 22>; [50.00%]
  2032. else
  2033. goto <bb 23>; [50.00%]
  2034. <bb 22> [local count: 2945]:
  2035. # DEBUG BEGIN_STMT
  2036. uxControlBits_33 = uxControlBits_15 | 67108864;
  2037. # DEBUG uxControlBits => uxControlBits_33
  2038. <bb 23> [local count: 5891]:
  2039. # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
  2040. # DEBUG uxControlBits => uxControlBits_16
  2041. # DEBUG BEGIN_STMT
  2042. # DEBUG BEGIN_STMT
  2043. _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
  2044. _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
  2045. vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
  2046. # DEBUG BEGIN_STMT
  2047. # DEBUG uxReturn => 0
  2048. <bb 24> [local count: 23563]:
  2049. # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
  2050. # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
  2051. # DEBUG xTimeoutOccurred => NULL
  2052. # DEBUG uxReturn => uxReturn_12
  2053. # DEBUG xTicksToWait => xTicksToWait_11
  2054. # DEBUG BEGIN_STMT
  2055. # DEBUG BEGIN_STMT
  2056. xAlreadyYielded_37 = xTaskResumeAll ();
  2057. # DEBUG xAlreadyYielded => xAlreadyYielded_37
  2058. # DEBUG BEGIN_STMT
  2059. if (xTicksToWait_11 != 0)
  2060. goto <bb 25>; [50.00%]
  2061. else
  2062. goto <bb 33>; [50.00%]
  2063. <bb 25> [local count: 11782]:
  2064. # DEBUG BEGIN_STMT
  2065. if (xAlreadyYielded_37 == 0)
  2066. goto <bb 26>; [50.00%]
  2067. else
  2068. goto <bb 27>; [50.00%]
  2069. <bb 26> [local count: 5891]:
  2070. # DEBUG BEGIN_STMT
  2071. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2072. # DEBUG BEGIN_STMT
  2073. __asm__ __volatile__("dsb" : : : "memory");
  2074. # DEBUG BEGIN_STMT
  2075. __asm__ __volatile__("isb");
  2076. # DEBUG BEGIN_STMT
  2077. <bb 27> [local count: 11782]:
  2078. # DEBUG BEGIN_STMT
  2079. # DEBUG BEGIN_STMT
  2080. uxReturn_42 = uxTaskResetEventItemValue ();
  2081. # DEBUG uxReturn => uxReturn_42
  2082. # DEBUG BEGIN_STMT
  2083. _7 = uxReturn_42 & 33554432;
  2084. if (_7 == 0)
  2085. goto <bb 28>; [33.00%]
  2086. else
  2087. goto <bb 32>; [67.00%]
  2088. <bb 28> [local count: 3888]:
  2089. # DEBUG BEGIN_STMT
  2090. vPortEnterCritical ();
  2091. # DEBUG BEGIN_STMT
  2092. uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
  2093. # DEBUG uxReturn => uxReturn_44
  2094. # DEBUG BEGIN_STMT
  2095. _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
  2096. if (_8 != 0)
  2097. goto <bb 29>; [50.00%]
  2098. else
  2099. goto <bb 31>; [50.00%]
  2100. <bb 29> [local count: 1944]:
  2101. # DEBUG BEGIN_STMT
  2102. if (xClearOnExit_32(D) != 0)
  2103. goto <bb 30>; [50.00%]
  2104. else
  2105. goto <bb 31>; [50.00%]
  2106. <bb 30> [local count: 972]:
  2107. # DEBUG BEGIN_STMT
  2108. _9 = ~uxBitsToWaitFor_23(D);
  2109. _10 = _9 & uxReturn_44;
  2110. MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
  2111. <bb 31> [local count: 3888]:
  2112. # DEBUG BEGIN_STMT
  2113. # DEBUG BEGIN_STMT
  2114. # DEBUG xTimeoutOccurred => 1
  2115. # DEBUG BEGIN_STMT
  2116. vPortExitCritical ();
  2117. <bb 32> [local count: 11782]:
  2118. # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
  2119. # DEBUG uxReturn => uxReturn_13
  2120. # DEBUG BEGIN_STMT
  2121. # DEBUG BEGIN_STMT
  2122. uxReturn_48 = uxReturn_13 & 16777215;
  2123. # DEBUG uxReturn => uxReturn_48
  2124. <bb 33> [local count: 23563]:
  2125. # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
  2126. # DEBUG uxReturn => uxReturn_14
  2127. # DEBUG BEGIN_STMT
  2128. # DEBUG BEGIN_STMT
  2129. # DEBUG BEGIN_STMT
  2130. return uxReturn_14;
  2131. }
  2132. xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
  2133. {
  2134. uint32_t ulNewBASEPRI;
  2135. uint32_t ulNewBASEPRI;
  2136. uint32_t ulNewBASEPRI;
  2137. BaseType_t xAlreadyYielded;
  2138. EventBits_t uxReturn;
  2139. EventBits_t uxOriginalBitValue;
  2140. long unsigned int _1;
  2141. long int _2;
  2142. long unsigned int _3;
  2143. long unsigned int _4;
  2144. long unsigned int _5;
  2145. long unsigned int _6;
  2146. long unsigned int _7;
  2147. struct List_t * _8;
  2148. long unsigned int _9;
  2149. long unsigned int _10;
  2150. long unsigned int _11;
  2151. long unsigned int _12;
  2152. long unsigned int _13;
  2153. <bb 2> [local count: 214748]:
  2154. # DEBUG BEGIN_STMT
  2155. # DEBUG BEGIN_STMT
  2156. # DEBUG pxEventBits => xEventGroup_23(D)
  2157. # DEBUG BEGIN_STMT
  2158. # DEBUG BEGIN_STMT
  2159. # DEBUG xTimeoutOccurred => 0
  2160. # DEBUG BEGIN_STMT
  2161. _1 = uxBitsToWaitFor_24(D) & 4278190080;
  2162. if (_1 != 0)
  2163. goto <bb 3>; [50.00%]
  2164. else
  2165. goto <bb 5>; [50.00%]
  2166. <bb 3> [local count: 107374]:
  2167. # DEBUG BEGIN_STMT
  2168. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2169. # DEBUG BEGIN_STMT
  2170. # DEBUG BEGIN_STMT
  2171. __asm__ __volatile__(" mov %0, %1
  2172. msr basepri, %0
  2173. isb
  2174. dsb
  2175. " : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
  2176. # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
  2177. <bb 4> [local count: 1073741824]:
  2178. # DEBUG ulNewBASEPRI => NULL
  2179. # DEBUG BEGIN_STMT
  2180. # DEBUG BEGIN_STMT
  2181. # DEBUG BEGIN_STMT
  2182. <bb 26> [local count: 1073741824]:
  2183. goto <bb 4>; [100.00%]
  2184. <bb 5> [local count: 107374]:
  2185. # DEBUG BEGIN_STMT
  2186. # DEBUG BEGIN_STMT
  2187. if (uxBitsToWaitFor_24(D) == 0)
  2188. goto <bb 6>; [67.00%]
  2189. else
  2190. goto <bb 8>; [33.00%]
  2191. <bb 6> [local count: 71941]:
  2192. # DEBUG BEGIN_STMT
  2193. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2194. # DEBUG BEGIN_STMT
  2195. # DEBUG BEGIN_STMT
  2196. __asm__ __volatile__(" mov %0, %1
  2197. msr basepri, %0
  2198. isb
  2199. dsb
  2200. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  2201. # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
  2202. <bb 7> [local count: 719407023]:
  2203. # DEBUG ulNewBASEPRI => NULL
  2204. # DEBUG BEGIN_STMT
  2205. # DEBUG BEGIN_STMT
  2206. # DEBUG BEGIN_STMT
  2207. <bb 27> [local count: 719407023]:
  2208. goto <bb 7>; [100.00%]
  2209. <bb 8> [local count: 35433]:
  2210. # DEBUG BEGIN_STMT
  2211. # DEBUG BEGIN_STMT
  2212. _2 = xTaskGetSchedulerState ();
  2213. if (_2 != 0)
  2214. goto <bb 12>; [33.00%]
  2215. else
  2216. goto <bb 9>; [67.00%]
  2217. <bb 9> [local count: 23740]:
  2218. if (xTicksToWait_27(D) == 0)
  2219. goto <bb 12>; [50.00%]
  2220. else
  2221. goto <bb 10>; [50.00%]
  2222. <bb 10> [local count: 11870]:
  2223. # DEBUG BEGIN_STMT
  2224. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2225. # DEBUG BEGIN_STMT
  2226. # DEBUG BEGIN_STMT
  2227. __asm__ __volatile__(" mov %0, %1
  2228. msr basepri, %0
  2229. isb
  2230. dsb
  2231. " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
  2232. # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
  2233. <bb 11> [local count: 118702159]:
  2234. # DEBUG ulNewBASEPRI => NULL
  2235. # DEBUG BEGIN_STMT
  2236. # DEBUG BEGIN_STMT
  2237. # DEBUG BEGIN_STMT
  2238. <bb 28> [local count: 118702159]:
  2239. goto <bb 11>; [100.00%]
  2240. <bb 12> [local count: 23563]:
  2241. # DEBUG BEGIN_STMT
  2242. # DEBUG BEGIN_STMT
  2243. vTaskSuspendAll ();
  2244. # DEBUG BEGIN_STMT
  2245. uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  2246. # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
  2247. # DEBUG BEGIN_STMT
  2248. xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
  2249. # DEBUG BEGIN_STMT
  2250. _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
  2251. _4 = _3 & uxBitsToWaitFor_24(D);
  2252. if (_4 == uxBitsToWaitFor_24(D))
  2253. goto <bb 13>; [34.00%]
  2254. else
  2255. goto <bb 14>; [66.00%]
  2256. <bb 13> [local count: 8011]:
  2257. # DEBUG BEGIN_STMT
  2258. # DEBUG uxReturn => _3
  2259. # DEBUG BEGIN_STMT
  2260. _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  2261. _6 = ~uxBitsToWaitFor_24(D);
  2262. _7 = _5 & _6;
  2263. MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
  2264. # DEBUG BEGIN_STMT
  2265. # DEBUG xTicksToWait => 0
  2266. goto <bb 17>; [100.00%]
  2267. <bb 14> [local count: 15552]:
  2268. # DEBUG BEGIN_STMT
  2269. if (xTicksToWait_27(D) != 0)
  2270. goto <bb 15>; [33.00%]
  2271. else
  2272. goto <bb 16>; [67.00%]
  2273. <bb 15> [local count: 5132]:
  2274. # DEBUG BEGIN_STMT
  2275. # DEBUG BEGIN_STMT
  2276. _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
  2277. _9 = uxBitsToWaitFor_24(D) | 83886080;
  2278. vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
  2279. # DEBUG BEGIN_STMT
  2280. # DEBUG uxReturn => 0
  2281. goto <bb 17>; [100.00%]
  2282. <bb 16> [local count: 10420]:
  2283. # DEBUG BEGIN_STMT
  2284. uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  2285. # DEBUG uxReturn => uxReturn_32
  2286. # DEBUG BEGIN_STMT
  2287. # DEBUG xTimeoutOccurred => 1
  2288. <bb 17> [local count: 23563]:
  2289. # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
  2290. # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
  2291. # DEBUG uxReturn => uxReturn_15
  2292. # DEBUG xTicksToWait => xTicksToWait_14
  2293. # DEBUG BEGIN_STMT
  2294. xAlreadyYielded_36 = xTaskResumeAll ();
  2295. # DEBUG xAlreadyYielded => xAlreadyYielded_36
  2296. # DEBUG BEGIN_STMT
  2297. if (xTicksToWait_14 != 0)
  2298. goto <bb 18>; [50.00%]
  2299. else
  2300. goto <bb 25>; [50.00%]
  2301. <bb 18> [local count: 11782]:
  2302. # DEBUG BEGIN_STMT
  2303. if (xAlreadyYielded_36 == 0)
  2304. goto <bb 19>; [50.00%]
  2305. else
  2306. goto <bb 20>; [50.00%]
  2307. <bb 19> [local count: 5891]:
  2308. # DEBUG BEGIN_STMT
  2309. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2310. # DEBUG BEGIN_STMT
  2311. __asm__ __volatile__("dsb" : : : "memory");
  2312. # DEBUG BEGIN_STMT
  2313. __asm__ __volatile__("isb");
  2314. # DEBUG BEGIN_STMT
  2315. <bb 20> [local count: 11782]:
  2316. # DEBUG BEGIN_STMT
  2317. # DEBUG BEGIN_STMT
  2318. uxReturn_41 = uxTaskResetEventItemValue ();
  2319. # DEBUG uxReturn => uxReturn_41
  2320. # DEBUG BEGIN_STMT
  2321. _10 = uxReturn_41 & 33554432;
  2322. if (_10 == 0)
  2323. goto <bb 21>; [33.00%]
  2324. else
  2325. goto <bb 24>; [67.00%]
  2326. <bb 21> [local count: 3888]:
  2327. # DEBUG BEGIN_STMT
  2328. vPortEnterCritical ();
  2329. # DEBUG BEGIN_STMT
  2330. uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
  2331. # DEBUG uxReturn => uxReturn_43
  2332. # DEBUG BEGIN_STMT
  2333. _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
  2334. if (_11 == uxBitsToWaitFor_24(D))
  2335. goto <bb 22>; [34.00%]
  2336. else
  2337. goto <bb 23>; [66.00%]
  2338. <bb 22> [local count: 1322]:
  2339. # DEBUG BEGIN_STMT
  2340. _12 = ~uxBitsToWaitFor_24(D);
  2341. _13 = _12 & uxReturn_43;
  2342. MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
  2343. <bb 23> [local count: 3888]:
  2344. # DEBUG BEGIN_STMT
  2345. # DEBUG BEGIN_STMT
  2346. vPortExitCritical ();
  2347. # DEBUG BEGIN_STMT
  2348. # DEBUG xTimeoutOccurred => 1
  2349. <bb 24> [local count: 11782]:
  2350. # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
  2351. # DEBUG uxReturn => uxReturn_16
  2352. # DEBUG BEGIN_STMT
  2353. # DEBUG BEGIN_STMT
  2354. uxReturn_46 = uxReturn_16 & 16777215;
  2355. # DEBUG uxReturn => uxReturn_46
  2356. <bb 25> [local count: 23563]:
  2357. # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
  2358. # DEBUG uxReturn => uxReturn_17
  2359. # DEBUG BEGIN_STMT
  2360. # DEBUG BEGIN_STMT
  2361. # DEBUG BEGIN_STMT
  2362. return uxReturn_17;
  2363. }
  2364. xEventGroupCreate ()
  2365. {
  2366. struct EventGroup_t * pxEventBits;
  2367. struct List_t * _1;
  2368. <bb 2> [local count: 1073741824]:
  2369. # DEBUG BEGIN_STMT
  2370. # DEBUG BEGIN_STMT
  2371. pxEventBits_5 = pvPortMalloc (28);
  2372. # DEBUG pxEventBits => pxEventBits_5
  2373. # DEBUG BEGIN_STMT
  2374. if (pxEventBits_5 != 0B)
  2375. goto <bb 3>; [53.47%]
  2376. else
  2377. goto <bb 4>; [46.53%]
  2378. <bb 3> [local count: 574129754]:
  2379. # DEBUG BEGIN_STMT
  2380. pxEventBits_5->uxEventBits = 0;
  2381. # DEBUG BEGIN_STMT
  2382. _1 = &pxEventBits_5->xTasksWaitingForBits;
  2383. vListInitialise (_1);
  2384. # DEBUG BEGIN_STMT
  2385. <bb 4> [local count: 1073741824]:
  2386. # DEBUG BEGIN_STMT
  2387. # DEBUG BEGIN_STMT
  2388. return pxEventBits_5;
  2389. }