timers.c.076i.inline 113 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367
  1. IPA function summary for prvInitialiseNewTimer.constprop/72 inlinable
  2. global time: 15.415032
  3. self size: 22
  4. global size: 22
  5. min size: 0
  6. self stack: 0
  7. global stack: 0
  8. size:0.000000, time:0.000000
  9. size:2.000000, time:0.000000, executed if:(not inlined)
  10. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  11. size:3.000000, time:1.320005, executed if:(op1 != 0) && (not inlined)
  12. size:2.000000, time:0.660002, executed if:(op1 != 0)
  13. size:2.000000, time:0.660002, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0)
  14. size:1.000000, time:0.165001, executed if:(op2 != 0) && (op1 != 0) && (not inlined)
  15. size:2.000000, time:0.330001, executed if:(op2 != 0) && (op1 != 0)
  16. size:5.000000, time:3.349994, executed if:(op1 == 0)
  17. calls:
  18. prvCheckForValidListAndQueue/29 function not considered for inlining
  19. loop depth: 0 freq:0.33 size: 1 time: 10callee size:12 stack: 0 predicate: (op1 != 0)
  20. vListInitialiseItem/53 function body not available
  21. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0)
  22. IPA function summary for prvInsertTimerInActiveList.part.0/57 inlinable
  23. global time: 15.000000
  24. self size: 7
  25. global size: 7
  26. min size: 6
  27. self stack: 0
  28. global stack: 0
  29. size:1.000000, time:1.000000
  30. size:3.000000, time:2.000000, executed if:(not inlined)
  31. calls:
  32. vListInsert/44 function body not available
  33. loop depth: 0 freq:1.00 size: 3 time: 12
  34. IPA function summary for vTimerSetTimerNumber/36 inlinable
  35. global time: 3.000000
  36. self size: 4
  37. global size: 4
  38. min size: 0
  39. self stack: 0
  40. global stack: 0
  41. size:0.500000, time:0.500000
  42. size:3.500000, time:2.500000, executed if:(not inlined)
  43. calls:
  44. IPA function summary for uxTimerGetTimerNumber/35 inlinable
  45. global time: 3.000000
  46. self size: 4
  47. global size: 4
  48. min size: 0
  49. self stack: 0
  50. global stack: 0
  51. size:0.000000, time:0.000000
  52. size:3.000000, time:2.000000, executed if:(not inlined)
  53. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 288] changed) && (not inlined)
  54. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 288] changed)
  55. calls:
  56. IPA function summary for xTimerPendFunctionCall/34 inlinable
  57. global time: 16.555202
  58. self size: 21
  59. global size: 21
  60. min size: 12
  61. self stack: 16
  62. global stack: 16
  63. size:12.000000, time:7.465300
  64. size:3.000000, time:1.069400, executed if:(not inlined)
  65. calls:
  66. xQueueGenericSend/55 function body not available
  67. loop depth: 0 freq:0.53 size: 6 time: 15
  68. op1 is compile time invariant
  69. op3 is compile time invariant
  70. IPA function summary for xTimerPendFunctionCallFromISR/33 inlinable
  71. global time: 22.000000
  72. self size: 14
  73. global size: 14
  74. min size: 12
  75. self stack: 16
  76. global stack: 16
  77. size:5.000000, time:5.000000
  78. size:3.000000, time:2.000000, executed if:(not inlined)
  79. calls:
  80. xQueueGenericSendFromISR/56 function body not available
  81. loop depth: 0 freq:1.00 size: 6 time: 15
  82. op1 is compile time invariant
  83. op3 is compile time invariant
  84. IPA function summary for vTimerSetTimerID/32 inlinable
  85. global time: 16.624602
  86. self size: 13
  87. global size: 13
  88. min size: 0
  89. self stack: 0
  90. global stack: 0
  91. size:0.000000, time:0.000000
  92. size:2.000000, time:0.000000, executed if:(not inlined)
  93. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  94. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  95. size:0.500000, time:0.267350, executed if:(op0 != 0B)
  96. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  97. calls:
  98. vPortExitCritical/51 function body not available
  99. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  100. vPortEnterCritical/47 function body not available
  101. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  102. IPA function summary for pvTimerGetTimerID/31 inlinable
  103. global time: 16.624602
  104. self size: 13
  105. global size: 13
  106. min size: 0
  107. self stack: 0
  108. global stack: 0
  109. size:0.000000, time:0.000000
  110. size:2.000000, time:0.000000, executed if:(not inlined)
  111. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  112. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  113. size:0.500000, time:0.267350, executed if:(op0 != 0B)
  114. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  115. calls:
  116. vPortExitCritical/51 function body not available
  117. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  118. vPortEnterCritical/47 function body not available
  119. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  120. IPA function summary for xTimerIsTimerActive/30 inlinable
  121. global time: 17.159302
  122. self size: 14
  123. global size: 14
  124. min size: 0
  125. self stack: 0
  126. global stack: 0
  127. size:0.000000, time:0.000000
  128. size:2.000000, time:0.000000, executed if:(not inlined)
  129. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  130. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  131. size:1.500000, time:0.802050, executed if:(op0 != 0B)
  132. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  133. calls:
  134. vPortExitCritical/51 function body not available
  135. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  136. vPortEnterCritical/47 function body not available
  137. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  138. IPA function summary for prvCheckForValidListAndQueue/29 inlinable
  139. global time: 33.264679
  140. self size: 25
  141. global size: 25
  142. min size: 28
  143. self stack: 0
  144. global stack: 0
  145. size:8.000000, time:3.871500
  146. size:3.000000, time:2.000000, executed if:(not inlined)
  147. calls:
  148. vPortExitCritical/51 function body not available
  149. loop depth: 0 freq:1.00 size: 1 time: 10
  150. vQueueAddToRegistry/50 function body not available
  151. loop depth: 0 freq:0.09 size: 3 time: 12
  152. op1 is compile time invariant
  153. xQueueGenericCreate/49 function body not available
  154. loop depth: 0 freq:0.17 size: 5 time: 14
  155. op0 is compile time invariant
  156. op1 is compile time invariant
  157. op2 is compile time invariant
  158. vListInitialise/48 function body not available
  159. loop depth: 0 freq:0.17 size: 2 time: 11
  160. op0 is compile time invariant
  161. vListInitialise/48 function body not available
  162. loop depth: 0 freq:0.17 size: 2 time: 11
  163. op0 is compile time invariant
  164. vPortEnterCritical/47 function body not available
  165. loop depth: 0 freq:1.00 size: 1 time: 10
  166. IPA function summary for prvSwitchTimerLists/28 inlinable
  167. global time: 154.636365
  168. self size: 15
  169. global size: 15
  170. min size: 6
  171. self stack: 0
  172. global stack: 0
  173. size:9.000000, time:55.545455
  174. size:3.000000, time:2.000000, executed if:(not inlined)
  175. calls:
  176. prvProcessExpiredTimer/21 function not considered for inlining
  177. loop depth: 1 freq:8.09 size: 3 time: 12callee size:11 stack: 0
  178. op1 is compile time invariant
  179. IPA function summary for prvProcessReceivedCommands/27 inlinable
  180. global time: 589.511443
  181. self size: 112
  182. global size: 112
  183. min size: 72
  184. self stack: 20
  185. global stack: 20
  186. size:73.000000, time:192.498507
  187. size:3.000000, time:1.979424, executed if:(not inlined)
  188. calls:
  189. xQueueReceive/46 function body not available
  190. loop depth: 3 freq:17.99 size: 5 time: 14
  191. op1 is compile time invariant
  192. op2 is compile time invariant
  193. vPortFree/45 function body not available
  194. loop depth: 1 freq:0.06 size: 2 time: 11
  195. prvInsertTimerInActiveList/26 function not considered for inlining
  196. loop depth: 1 freq:0.18 size: 5 time: 14callee size:11 stack: 0
  197. prvReloadTimer/20 function not considered for inlining
  198. loop depth: 1 freq:0.03 size: 4 time: 13callee size:10 stack: 0
  199. prvInsertTimerInActiveList/26 function not considered for inlining
  200. loop depth: 1 freq:0.19 size: 6 time: 15callee size:11 stack: 0
  201. prvSampleTimeNow/25 function not considered for inlining
  202. loop depth: 2 freq:0.94 size: 3 time: 12callee size: 6 stack: 0
  203. op0 is compile time invariant
  204. uxListRemove/43 function body not available
  205. loop depth: 2 freq:0.50 size: 2 time: 11
  206. indirect call loop depth: 1 freq:0.09 size: 4 time: 16
  207. indirect call loop depth: 3 freq:6.97 size: 5 time: 17
  208. IPA function summary for prvInsertTimerInActiveList/26 inlinable
  209. global time: 15.972500
  210. self size: 22
  211. global size: 22
  212. min size: 12
  213. self stack: 0
  214. global stack: 0
  215. size:2.000000, time:1.332500
  216. size:4.000000, time:3.000000, executed if:(not inlined)
  217. size:2.000000, time:2.000000, nonconst if:(op1 changed || op2 changed)
  218. size:3.000000, time:1.500000, nonconst if:(op2 changed || op3 changed)
  219. size:2.000000, time:0.670000, nonconst if:(op1 changed || op3 changed)
  220. size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
  221. size:0.500000, time:0.250000, nonconst if:(op0[ref offset: 192] changed)
  222. size:2.000000, time:1.000000, nonconst if:(op2 changed || op3 changed || op0[ref offset: 192] changed)
  223. calls:
  224. vListInsert/44 function body not available
  225. loop depth: 0 freq:0.33 size: 3 time: 12
  226. prvInsertTimerInActiveList.part.0/57 function not considered for inlining
  227. loop depth: 0 freq:0.16 size: 3 time: 12callee size: 3 stack: 0
  228. IPA function summary for prvSampleTimeNow/25 inlinable
  229. global time: 21.300000
  230. self size: 12
  231. global size: 12
  232. min size: 6
  233. self stack: 0
  234. global stack: 0
  235. size:5.000000, time:4.500000
  236. size:4.000000, time:2.500000, executed if:(not inlined)
  237. calls:
  238. prvSwitchTimerLists/28 function not considered for inlining
  239. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 7 stack: 0
  240. xTaskGetTickCount/41 function body not available
  241. loop depth: 0 freq:1.00 size: 2 time: 11
  242. IPA function summary for prvGetNextExpireTime/24 inlinable
  243. global time: 10.000000
  244. self size: 12
  245. global size: 12
  246. min size: 0
  247. self stack: 0
  248. global stack: 0
  249. size:8.500000, time:7.500000
  250. size:3.500000, time:2.500000, executed if:(not inlined)
  251. calls:
  252. IPA function summary for prvProcessTimerOrBlockTask/23 inlinable
  253. global time: 53.483675
  254. self size: 38
  255. global size: 38
  256. min size: 22
  257. self stack: 4
  258. global stack: 4
  259. size:10.000000, time:6.076975
  260. size:3.000000, time:2.000000, executed if:(not inlined)
  261. size:4.000000, time:2.458900, nonconst if:(op1 changed)
  262. size:2.000000, time:0.670000, executed if:(op1 == 0)
  263. size:4.000000, time:1.118900, executed if:(op1 != 0)
  264. calls:
  265. xTaskResumeAll/39 function body not available
  266. loop depth: 0 freq:0.33 size: 1 time: 10
  267. xTaskResumeAll/39 function body not available
  268. loop depth: 0 freq:0.56 size: 2 time: 11
  269. vQueueWaitForMessageRestricted/40 function body not available
  270. loop depth: 0 freq:0.56 size: 4 time: 13
  271. prvProcessExpiredTimer/21 function not considered for inlining
  272. loop depth: 0 freq:0.11 size: 3 time: 12callee size:11 stack: 0 predicate: (op1 == 0)
  273. xTaskResumeAll/39 function body not available
  274. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op1 == 0)
  275. prvSampleTimeNow/25 function not considered for inlining
  276. loop depth: 0 freq:1.00 size: 3 time: 12callee size: 6 stack: 0
  277. op0 is compile time invariant
  278. vTaskSuspendAll/38 function body not available
  279. loop depth: 0 freq:1.00 size: 1 time: 10
  280. IPA function summary for prvTimerTask/22 inlinable
  281. global time: 350000.594727
  282. self size: 10
  283. global size: 10
  284. min size: 14
  285. self stack: 4
  286. global stack: 4
  287. size:1.000000, time:10000.016983
  288. size:2.000000, time:0.000000, executed if:(not inlined)
  289. calls:
  290. prvProcessReceivedCommands/27 function not considered for inlining
  291. loop depth: 1 freq:10000.02 size: 1 time: 10callee size:56 stack:20
  292. prvProcessTimerOrBlockTask/23 function not considered for inlining
  293. loop depth: 1 freq:10000.02 size: 3 time: 12callee size:19 stack: 4
  294. prvGetNextExpireTime/24 function not considered for inlining
  295. loop depth: 1 freq:10000.02 size: 3 time: 12callee size: 6 stack: 0
  296. op0 is compile time invariant
  297. IPA function summary for prvProcessExpiredTimer/21 inlinable
  298. global time: 42.630000
  299. self size: 23
  300. global size: 23
  301. min size: 20
  302. self stack: 0
  303. global stack: 0
  304. size:10.000000, time:9.340000
  305. size:3.000000, time:2.000000, executed if:(not inlined)
  306. calls:
  307. prvReloadTimer/20 function not considered for inlining
  308. loop depth: 0 freq:0.33 size: 4 time: 13callee size:10 stack: 0
  309. uxListRemove/43 function body not available
  310. loop depth: 0 freq:1.00 size: 2 time: 11
  311. indirect call loop depth: 0 freq:1.00 size: 4 time: 16
  312. IPA function summary for prvReloadTimer/20 inlinable
  313. global time: 328.454547
  314. self size: 20
  315. global size: 20
  316. min size: 20
  317. self stack: 0
  318. global stack: 0
  319. size:5.500000, time:48.000000
  320. size:4.500000, time:14.636364, executed if:(not inlined)
  321. calls:
  322. prvInsertTimerInActiveList/26 function not considered for inlining
  323. loop depth: 1 freq:9.09 size: 6 time: 15callee size:11 stack: 0
  324. op0 change 10.990000% of time
  325. op2 change 10.990000% of time
  326. indirect call loop depth: 1 freq:8.09 size: 4 time: 16
  327. IPA function summary for pcTimerGetName/19 inlinable
  328. global time: 5.600001
  329. self size: 11
  330. global size: 11
  331. min size: 0
  332. self stack: 0
  333. global stack: 0
  334. size:0.000000, time:0.000000
  335. size:2.000000, time:0.000000, executed if:(not inlined)
  336. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  337. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  338. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  339. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  340. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  341. calls:
  342. IPA function summary for xTimerGetExpiryTime/18 inlinable
  343. global time: 5.600001
  344. self size: 11
  345. global size: 11
  346. min size: 0
  347. self stack: 0
  348. global stack: 0
  349. size:0.000000, time:0.000000
  350. size:2.000000, time:0.000000, executed if:(not inlined)
  351. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  352. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  353. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  354. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  355. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  356. calls:
  357. IPA function summary for uxTimerGetReloadMode/17 inlinable
  358. global time: 18.228702
  359. self size: 16
  360. global size: 16
  361. min size: 0
  362. self stack: 0
  363. global stack: 0
  364. size:0.000000, time:0.000000
  365. size:2.000000, time:0.000000, executed if:(not inlined)
  366. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  367. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  368. size:3.500000, time:1.871450, executed if:(op0 != 0B)
  369. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  370. calls:
  371. vPortExitCritical/51 function body not available
  372. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  373. vPortEnterCritical/47 function body not available
  374. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  375. IPA function summary for vTimerSetReloadMode/16 inlinable
  376. global time: 18.763389
  377. self size: 20
  378. global size: 20
  379. min size: 0
  380. self stack: 0
  381. global stack: 0
  382. size:0.000000, time:0.000000
  383. size:2.000000, time:0.000000, executed if:(not inlined)
  384. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  385. size:2.000000, time:1.069400, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  386. size:1.000000, time:0.267348, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  387. size:2.000000, time:0.534696, executed if:(op1 == 0) && (op0 != 0B)
  388. size:1.000000, time:0.267348, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
  389. size:2.000000, time:0.534696, executed if:(op1 != 0) && (op0 != 0B)
  390. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  391. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  392. calls:
  393. vPortExitCritical/51 function body not available
  394. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  395. vPortEnterCritical/47 function body not available
  396. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  397. IPA function summary for xTimerGetPeriod/15 inlinable
  398. global time: 5.600001
  399. self size: 11
  400. global size: 11
  401. min size: 0
  402. self stack: 0
  403. global stack: 0
  404. size:0.000000, time:0.000000
  405. size:2.000000, time:0.000000, executed if:(not inlined)
  406. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  407. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
  408. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
  409. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  410. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  411. calls:
  412. IPA function summary for xTimerGetTimerDaemonTaskHandle/14 inlinable
  413. global time: 5.900001
  414. self size: 11
  415. global size: 11
  416. min size: 0
  417. self stack: 0
  418. global stack: 0
  419. size:8.000000, time:4.500001
  420. size:3.000000, time:1.399999, executed if:(not inlined)
  421. calls:
  422. IPA function summary for xTimerGenericCommand/13 inlinable
  423. global time: 20.230048
  424. self size: 42
  425. global size: 42
  426. min size: 0
  427. self stack: 16
  428. global stack: 16
  429. size:0.000000, time:0.000000
  430. size:2.000000, time:0.000000, executed if:(not inlined)
  431. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  432. size:6.000000, time:3.570004, executed if:(op0 != 0B)
  433. size:2.000000, time:0.980004, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  434. size:4.000000, time:0.735003, executed if:(op1 <= 5) && (op0 != 0B)
  435. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  436. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  437. calls:
  438. xQueueGenericSendFromISR/56 function body not available
  439. loop depth: 0 freq:0.25 size: 6 time: 15 predicate: (op1 > 5) && (op0 != 0B)
  440. op1 is compile time invariant
  441. op3 is compile time invariant
  442. xQueueGenericSend/55 function body not available
  443. loop depth: 0 freq:0.16 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
  444. op1 is compile time invariant
  445. op2 is compile time invariant
  446. op3 is compile time invariant
  447. xQueueGenericSend/55 function body not available
  448. loop depth: 0 freq:0.08 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
  449. op1 is compile time invariant
  450. op3 is compile time invariant
  451. xTaskGetSchedulerState/54 function body not available
  452. loop depth: 0 freq:0.25 size: 2 time: 11 predicate: (op1 <= 5) && (op0 != 0B)
  453. IPA function summary for xTimerCreate/11 inlinable
  454. global time: 25.089900
  455. self size: 16
  456. global size: 16
  457. min size: 20
  458. self stack: 0
  459. global stack: 0
  460. size:3.000000, time:2.534700
  461. size:3.000000, time:2.000000, executed if:(not inlined)
  462. calls:
  463. prvInitialiseNewTimer.constprop/72 function not considered for inlining
  464. loop depth: 0 freq:0.53 size: 7 time: 16callee size:11 stack: 0
  465. pvPortMalloc/52 function body not available
  466. loop depth: 0 freq:1.00 size: 3 time: 12
  467. op0 is compile time invariant
  468. IPA function summary for xTimerCreateTimerTask/10 inlinable
  469. global time: 27.357181
  470. self size: 22
  471. global size: 22
  472. min size: 18
  473. self stack: 0
  474. global stack: 0
  475. size:10.000000, time:7.732635
  476. size:3.000000, time:0.534703, executed if:(not inlined)
  477. calls:
  478. xTaskCreate/37 function body not available
  479. loop depth: 0 freq:0.53 size: 8 time: 17
  480. op0 is compile time invariant
  481. op1 is compile time invariant
  482. op2 is compile time invariant
  483. op3 is compile time invariant
  484. op4 is compile time invariant
  485. op5 is compile time invariant
  486. prvCheckForValidListAndQueue/29 function not considered for inlining
  487. loop depth: 0 freq:1.00 size: 1 time: 10callee size:12 stack: 0
  488. Flattening functions:
  489. Overall time estimate: 351507.595703 weighted by profile: 0.000000
  490. Deciding on inlining of small functions. Starting with size 0.
  491. Enqueueing calls in prvInitialiseNewTimer.constprop/72.
  492. Enqueueing calls in prvInsertTimerInActiveList.part.0/57.
  493. Enqueueing calls in vTimerSetTimerNumber/36.
  494. Enqueueing calls in uxTimerGetTimerNumber/35.
  495. Enqueueing calls in xTimerPendFunctionCall/34.
  496. Enqueueing calls in xTimerPendFunctionCallFromISR/33.
  497. Enqueueing calls in vTimerSetTimerID/32.
  498. Enqueueing calls in pvTimerGetTimerID/31.
  499. Enqueueing calls in xTimerIsTimerActive/30.
  500. Enqueueing calls in prvCheckForValidListAndQueue/29.
  501. Enqueueing calls in prvSwitchTimerLists/28.
  502. Enqueueing calls in prvProcessReceivedCommands/27.
  503. Enqueueing calls in prvInsertTimerInActiveList/26.
  504. Enqueueing calls in prvSampleTimeNow/25.
  505. Enqueueing calls in prvGetNextExpireTime/24.
  506. Enqueueing calls in prvProcessTimerOrBlockTask/23.
  507. Enqueueing calls in prvTimerTask/22.
  508. Enqueueing calls in prvProcessExpiredTimer/21.
  509. Enqueueing calls in prvReloadTimer/20.
  510. Enqueueing calls in pcTimerGetName/19.
  511. Enqueueing calls in xTimerGetExpiryTime/18.
  512. Enqueueing calls in uxTimerGetReloadMode/17.
  513. Enqueueing calls in vTimerSetReloadMode/16.
  514. Enqueueing calls in xTimerGetPeriod/15.
  515. Enqueueing calls in xTimerGetTimerDaemonTaskHandle/14.
  516. Enqueueing calls in xTimerGenericCommand/13.
  517. Enqueueing calls in xTimerCreate/11.
  518. Enqueueing calls in xTimerCreateTimerTask/10.
  519. Considering prvGetNextExpireTime/24 with 12 size
  520. to be inlined into prvTimerTask/22 in ../FreeRTOS/Source/timers.c:586
  521. Estimated badness is -6041.676941, frequency 10000.02.
  522. Considering prvProcessTimerOrBlockTask/23 with 38 size
  523. to be inlined into prvTimerTask/22 in ../FreeRTOS/Source/timers.c:590
  524. Estimated badness is -416.667376, frequency 10000.02.
  525. Considering prvSampleTimeNow/25 with 12 size
  526. to be inlined into prvProcessTimerOrBlockTask/23 in ../FreeRTOS/Source/timers.c:611
  527. Estimated badness is -7733.346512, frequency 10000.02.
  528. Considering prvProcessReceivedCommands/27 with 112 size
  529. to be inlined into prvTimerTask/22 in ../FreeRTOS/Source/timers.c:593
  530. Estimated badness is -37.600263, frequency 10000.02.
  531. Considering prvSampleTimeNow/25 with 12 size
  532. to be inlined into prvProcessReceivedCommands/27 in ../FreeRTOS/Source/timers.c:811
  533. Estimated badness is -7232.827499, frequency 9352.79.
  534. Considering prvInitialiseNewTimer.constprop/72 with 22 size
  535. to be inlined into xTimerCreate/11 in ../FreeRTOS/Source/timers.c:304
  536. Estimated badness is -0.166209, frequency 0.53.
  537. Considering prvInsertTimerInActiveList.part.0/57 with 7 size
  538. to be inlined into prvInsertTimerInActiveList/26 in unknown:0
  539. Estimated badness is -0.001786, frequency 0.16.
  540. Reclaiming functions:
  541. Reclaiming variables:
  542. Clearing address taken flags:
  543. Deciding on functions to be inlined into all callers and removing useless speculations:
  544. Overall time estimate: 6607568.406250 weighted by profile: 0.000000
  545. Why inlining failed?
  546. function body not available : 38 calls, 230526.954346 freq, 0 count
  547. call is unlikely and code size would grow : 11 calls, 11457.497711 freq, 0 count
  548. IPA function summary for vTimerSetTimerNumber/36 inlinable
  549. global time: 3.000000
  550. self size: 4
  551. global size: 4
  552. min size: 0
  553. self stack: 0
  554. global stack: 0
  555. size:0.500000, time:0.500000
  556. size:3.500000, time:2.500000, executed if:(not inlined)
  557. calls:
  558. IPA function summary for uxTimerGetTimerNumber/35 inlinable
  559. global time: 3.000000
  560. self size: 4
  561. global size: 4
  562. min size: 0
  563. self stack: 0
  564. global stack: 0
  565. size:0.000000, time:0.000000
  566. size:3.000000, time:2.000000, executed if:(not inlined)
  567. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 288] changed) && (not inlined)
  568. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 288] changed)
  569. calls:
  570. IPA function summary for xTimerPendFunctionCall/34 inlinable
  571. global time: 16.555202
  572. self size: 21
  573. global size: 21
  574. min size: 12
  575. self stack: 16
  576. global stack: 16
  577. size:12.000000, time:7.465300
  578. size:3.000000, time:1.069400, executed if:(not inlined)
  579. calls:
  580. xQueueGenericSend/55 function body not available
  581. loop depth: 0 freq:0.53 size: 6 time: 15
  582. op1 is compile time invariant
  583. op3 is compile time invariant
  584. IPA function summary for xTimerPendFunctionCallFromISR/33 inlinable
  585. global time: 22.000000
  586. self size: 14
  587. global size: 14
  588. min size: 12
  589. self stack: 16
  590. global stack: 16
  591. size:5.000000, time:5.000000
  592. size:3.000000, time:2.000000, executed if:(not inlined)
  593. calls:
  594. xQueueGenericSendFromISR/56 function body not available
  595. loop depth: 0 freq:1.00 size: 6 time: 15
  596. op1 is compile time invariant
  597. op3 is compile time invariant
  598. IPA function summary for vTimerSetTimerID/32 inlinable
  599. global time: 16.624602
  600. self size: 13
  601. global size: 13
  602. min size: 0
  603. self stack: 0
  604. global stack: 0
  605. size:0.000000, time:0.000000
  606. size:2.000000, time:0.000000, executed if:(not inlined)
  607. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  608. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  609. size:0.500000, time:0.267350, executed if:(op0 != 0B)
  610. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  611. calls:
  612. vPortExitCritical/51 function body not available
  613. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  614. vPortEnterCritical/47 function body not available
  615. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  616. IPA function summary for pvTimerGetTimerID/31 inlinable
  617. global time: 16.624602
  618. self size: 13
  619. global size: 13
  620. min size: 0
  621. self stack: 0
  622. global stack: 0
  623. size:0.000000, time:0.000000
  624. size:2.000000, time:0.000000, executed if:(not inlined)
  625. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  626. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  627. size:0.500000, time:0.267350, executed if:(op0 != 0B)
  628. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  629. calls:
  630. vPortExitCritical/51 function body not available
  631. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  632. vPortEnterCritical/47 function body not available
  633. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  634. IPA function summary for xTimerIsTimerActive/30 inlinable
  635. global time: 17.159302
  636. self size: 14
  637. global size: 14
  638. min size: 0
  639. self stack: 0
  640. global stack: 0
  641. size:0.000000, time:0.000000
  642. size:2.000000, time:0.000000, executed if:(not inlined)
  643. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  644. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  645. size:1.500000, time:0.802050, executed if:(op0 != 0B)
  646. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  647. calls:
  648. vPortExitCritical/51 function body not available
  649. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  650. vPortEnterCritical/47 function body not available
  651. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  652. IPA function summary for prvCheckForValidListAndQueue/29 inlinable
  653. global time: 33.264679
  654. self size: 25
  655. global size: 25
  656. min size: 8
  657. self stack: 0
  658. global stack: 0
  659. estimated growth:17
  660. size:8.000000, time:3.871500
  661. size:3.000000, time:2.000000, executed if:(not inlined)
  662. calls:
  663. vPortExitCritical/51 function body not available
  664. loop depth: 0 freq:1.00 size: 1 time: 10
  665. vQueueAddToRegistry/50 function body not available
  666. loop depth: 0 freq:0.09 size: 3 time: 12
  667. op1 is compile time invariant
  668. xQueueGenericCreate/49 function body not available
  669. loop depth: 0 freq:0.17 size: 5 time: 14
  670. op0 is compile time invariant
  671. op1 is compile time invariant
  672. op2 is compile time invariant
  673. vListInitialise/48 function body not available
  674. loop depth: 0 freq:0.17 size: 2 time: 11
  675. op0 is compile time invariant
  676. vListInitialise/48 function body not available
  677. loop depth: 0 freq:0.17 size: 2 time: 11
  678. op0 is compile time invariant
  679. vPortEnterCritical/47 function body not available
  680. loop depth: 0 freq:1.00 size: 1 time: 10
  681. IPA function summary for prvSwitchTimerLists/28 inlinable
  682. global time: 154.636365
  683. self size: 15
  684. global size: 15
  685. min size: 9
  686. self stack: 0
  687. global stack: 0
  688. estimated growth:-4
  689. size:9.000000, time:55.545455
  690. size:3.000000, time:2.000000, executed if:(not inlined)
  691. calls:
  692. prvProcessExpiredTimer/21 call is unlikely and code size would grow
  693. loop depth: 1 freq:8.09 size: 3 time: 12callee size:11 stack: 0
  694. op1 is compile time invariant
  695. IPA function summary for prvInsertTimerInActiveList/26 inlinable
  696. global time: 16.137500
  697. self size: 22
  698. global size: 23
  699. min size: 3
  700. self stack: 0
  701. global stack: 0
  702. estimated growth:15
  703. size:3.000000, time:1.497500
  704. size:4.000000, time:3.000000, executed if:(not inlined)
  705. size:2.000000, time:2.000000, nonconst if:(op1 changed || op2 changed)
  706. size:3.000000, time:1.500000, nonconst if:(op2 changed || op3 changed)
  707. size:2.000000, time:0.670000, nonconst if:(op1 changed || op3 changed)
  708. size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
  709. size:0.500000, time:0.250000, nonconst if:(op0[ref offset: 192] changed)
  710. size:2.000000, time:1.000000, nonconst if:(op2 changed || op3 changed || op0[ref offset: 192] changed)
  711. calls:
  712. vListInsert/44 function body not available
  713. loop depth: 0 freq:0.33 size: 3 time: 12
  714. prvInsertTimerInActiveList.part.0/57 inlined
  715. loop depth: 0 freq:0.16 size: 3 time: 12callee size: 3 stack: 0
  716. Stack frame offset 0, callee self size 0, callee size 0
  717. vListInsert/44 function body not available
  718. loop depth: 0 freq:0.16 size: 3 time: 12
  719. IPA function summary for prvTimerTask/22 inlinable
  720. global time: 6606767.054688
  721. self size: 10
  722. global size: 166
  723. min size: 290
  724. self stack: 4
  725. global stack: 24
  726. size:112.500000, time:2200324.062500
  727. size:2.000000, time:0.000000, executed if:(not inlined)
  728. calls:
  729. prvProcessReceivedCommands/27 inlined
  730. loop depth: 1 freq:10000.02 size: 1 time: 10callee size:56 stack:20
  731. Stack frame offset 4, callee self size 20, callee size 20
  732. xQueueReceive/46 function body not available
  733. loop depth: 4 freq:179947.93 size: 5 time: 14
  734. op1 is compile time invariant
  735. op2 is compile time invariant
  736. vPortFree/45 function body not available
  737. loop depth: 2 freq:617.28 size: 2 time: 11
  738. prvInsertTimerInActiveList/26 call is unlikely and code size would grow
  739. loop depth: 2 freq:1767.68 size: 5 time: 14callee size:11 stack: 0
  740. prvReloadTimer/20 call is unlikely and code size would grow
  741. loop depth: 2 freq:308.64 size: 4 time: 13callee size:10 stack: 0
  742. prvInsertTimerInActiveList/26 call is unlikely and code size would grow
  743. loop depth: 2 freq:1870.56 size: 6 time: 15callee size:11 stack: 0
  744. prvSampleTimeNow/25 inlined
  745. loop depth: 3 freq:9352.79 size: 3 time: 12callee size: 6 stack: 0
  746. Stack frame offset 24, callee self size 0, callee size 0
  747. prvSwitchTimerLists/28 call is unlikely and code size would grow
  748. loop depth: 3 freq:3086.42 size: 1 time: 10callee size: 7 stack: 0
  749. xTaskGetTickCount/41 function body not available
  750. loop depth: 3 freq:9352.79 size: 2 time: 11
  751. uxListRemove/43 function body not available
  752. loop depth: 3 freq:5000.94 size: 2 time: 11
  753. indirect call loop depth: 2 freq:935.28 size: 4 time: 16
  754. indirect call loop depth: 4 freq:69720.83 size: 5 time: 17
  755. prvProcessTimerOrBlockTask/23 inlined
  756. loop depth: 1 freq:10000.02 size: 3 time: 12callee size:19 stack: 4
  757. Stack frame offset 4, callee self size 4, callee size 4
  758. xTaskResumeAll/39 function body not available
  759. loop depth: 1 freq:3300.01 size: 1 time: 10
  760. xTaskResumeAll/39 function body not available
  761. loop depth: 1 freq:5594.51 size: 2 time: 11
  762. vQueueWaitForMessageRestricted/40 function body not available
  763. loop depth: 1 freq:5594.51 size: 4 time: 13
  764. prvProcessExpiredTimer/21 call is unlikely and code size would grow
  765. loop depth: 1 freq:1105.50 size: 3 time: 12callee size:11 stack: 0
  766. xTaskResumeAll/39 function body not available
  767. loop depth: 1 freq:1105.50 size: 1 time: 10
  768. prvSampleTimeNow/73 inlined
  769. loop depth: 1 freq:10000.02 size: 3 time: 12callee size: 6 stack: 0
  770. Stack frame offset 8, callee self size 0, callee size 0
  771. xTaskGetTickCount/41 function body not available
  772. loop depth: 1 freq:10000.02 size: 2 time: 11
  773. prvSwitchTimerLists/28 call is unlikely and code size would grow
  774. loop depth: 1 freq:3300.01 size: 1 time: 10callee size: 7 stack: 0
  775. vTaskSuspendAll/38 function body not available
  776. loop depth: 1 freq:10000.02 size: 1 time: 10
  777. prvGetNextExpireTime/24 inlined
  778. loop depth: 1 freq:10000.02 size: 3 time: 12callee size: 6 stack: 0
  779. Stack frame offset 4, callee self size 0, callee size 0
  780. IPA function summary for prvProcessExpiredTimer/21 inlinable
  781. global time: 42.630000
  782. self size: 23
  783. global size: 23
  784. min size: 10
  785. self stack: 0
  786. global stack: 0
  787. estimated growth:11
  788. size:10.000000, time:9.340000
  789. size:3.000000, time:2.000000, executed if:(not inlined)
  790. calls:
  791. prvReloadTimer/20 call is unlikely and code size would grow
  792. loop depth: 0 freq:0.33 size: 4 time: 13callee size:10 stack: 0
  793. uxListRemove/43 function body not available
  794. loop depth: 0 freq:1.00 size: 2 time: 11
  795. indirect call loop depth: 0 freq:1.00 size: 4 time: 16
  796. IPA function summary for prvReloadTimer/20 inlinable
  797. global time: 328.454547
  798. self size: 20
  799. global size: 20
  800. min size: 6
  801. self stack: 0
  802. global stack: 0
  803. estimated growth:4
  804. size:5.500000, time:48.000000
  805. size:4.500000, time:14.636364, executed if:(not inlined)
  806. calls:
  807. prvInsertTimerInActiveList/26 call is unlikely and code size would grow
  808. loop depth: 1 freq:9.09 size: 6 time: 15callee size:11 stack: 0
  809. op0 change 10.990000% of time
  810. op2 change 10.990000% of time
  811. indirect call loop depth: 1 freq:8.09 size: 4 time: 16
  812. IPA function summary for pcTimerGetName/19 inlinable
  813. global time: 5.600001
  814. self size: 11
  815. global size: 11
  816. min size: 0
  817. self stack: 0
  818. global stack: 0
  819. size:0.000000, time:0.000000
  820. size:2.000000, time:0.000000, executed if:(not inlined)
  821. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  822. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  823. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  824. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  825. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  826. calls:
  827. IPA function summary for xTimerGetExpiryTime/18 inlinable
  828. global time: 5.600001
  829. self size: 11
  830. global size: 11
  831. min size: 0
  832. self stack: 0
  833. global stack: 0
  834. size:0.000000, time:0.000000
  835. size:2.000000, time:0.000000, executed if:(not inlined)
  836. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  837. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  838. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  839. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  840. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  841. calls:
  842. IPA function summary for uxTimerGetReloadMode/17 inlinable
  843. global time: 18.228702
  844. self size: 16
  845. global size: 16
  846. min size: 0
  847. self stack: 0
  848. global stack: 0
  849. size:0.000000, time:0.000000
  850. size:2.000000, time:0.000000, executed if:(not inlined)
  851. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  852. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  853. size:3.500000, time:1.871450, executed if:(op0 != 0B)
  854. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  855. calls:
  856. vPortExitCritical/51 function body not available
  857. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  858. vPortEnterCritical/47 function body not available
  859. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  860. IPA function summary for vTimerSetReloadMode/16 inlinable
  861. global time: 18.763389
  862. self size: 20
  863. global size: 20
  864. min size: 0
  865. self stack: 0
  866. global stack: 0
  867. size:0.000000, time:0.000000
  868. size:2.000000, time:0.000000, executed if:(not inlined)
  869. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  870. size:2.000000, time:1.069400, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  871. size:1.000000, time:0.267348, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  872. size:2.000000, time:0.534696, executed if:(op1 == 0) && (op0 != 0B)
  873. size:1.000000, time:0.267348, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
  874. size:2.000000, time:0.534696, executed if:(op1 != 0) && (op0 != 0B)
  875. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  876. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  877. calls:
  878. vPortExitCritical/51 function body not available
  879. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  880. vPortEnterCritical/47 function body not available
  881. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  882. IPA function summary for xTimerGetPeriod/15 inlinable
  883. global time: 5.600001
  884. self size: 11
  885. global size: 11
  886. min size: 0
  887. self stack: 0
  888. global stack: 0
  889. size:0.000000, time:0.000000
  890. size:2.000000, time:0.000000, executed if:(not inlined)
  891. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  892. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
  893. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
  894. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  895. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  896. calls:
  897. IPA function summary for xTimerGetTimerDaemonTaskHandle/14 inlinable
  898. global time: 5.900001
  899. self size: 11
  900. global size: 11
  901. min size: 0
  902. self stack: 0
  903. global stack: 0
  904. size:8.000000, time:4.500001
  905. size:3.000000, time:1.399999, executed if:(not inlined)
  906. calls:
  907. IPA function summary for xTimerGenericCommand/13 inlinable
  908. global time: 20.230048
  909. self size: 42
  910. global size: 42
  911. min size: 0
  912. self stack: 16
  913. global stack: 16
  914. size:0.000000, time:0.000000
  915. size:2.000000, time:0.000000, executed if:(not inlined)
  916. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  917. size:6.000000, time:3.570004, executed if:(op0 != 0B)
  918. size:2.000000, time:0.980004, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  919. size:4.000000, time:0.735003, executed if:(op1 <= 5) && (op0 != 0B)
  920. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  921. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  922. calls:
  923. xQueueGenericSendFromISR/56 function body not available
  924. loop depth: 0 freq:0.25 size: 6 time: 15 predicate: (op1 > 5) && (op0 != 0B)
  925. op1 is compile time invariant
  926. op3 is compile time invariant
  927. xQueueGenericSend/55 function body not available
  928. loop depth: 0 freq:0.16 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
  929. op1 is compile time invariant
  930. op2 is compile time invariant
  931. op3 is compile time invariant
  932. xQueueGenericSend/55 function body not available
  933. loop depth: 0 freq:0.08 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
  934. op1 is compile time invariant
  935. op3 is compile time invariant
  936. xTaskGetSchedulerState/54 function body not available
  937. loop depth: 0 freq:0.25 size: 2 time: 11 predicate: (op1 <= 5) && (op0 != 0B)
  938. IPA function summary for xTimerCreate/11 inlinable
  939. global time: 23.983085
  940. self size: 16
  941. global size: 25
  942. min size: 26
  943. self stack: 0
  944. global stack: 0
  945. size:3.000000, time:2.534700
  946. size:3.000000, time:2.000000, executed if:(not inlined)
  947. size:2.000000, time:1.069400, nonconst if:(op1 changed)
  948. size:2.000000, time:0.352903, executed if:(op1 != 0)
  949. size:2.000000, time:0.352903, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0)
  950. size:2.000000, time:0.176452, executed if:(op2 != 0) && (op1 != 0)
  951. size:5.000000, time:1.791242, executed if:(op1 == 0)
  952. calls:
  953. prvInitialiseNewTimer.constprop/72 inlined
  954. loop depth: 0 freq:0.53 size: 7 time: 16callee size:11 stack: 0
  955. Stack frame offset 0, callee self size 0, callee size 0
  956. prvCheckForValidListAndQueue/29 call is unlikely and code size would grow
  957. loop depth: 0 freq:0.18 size: 1 time: 10callee size:12 stack: 0 predicate: (op1 != 0)
  958. vListInitialiseItem/53 function body not available
  959. loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op1 != 0)
  960. pvPortMalloc/52 function body not available
  961. loop depth: 0 freq:1.00 size: 3 time: 12
  962. op0 is compile time invariant
  963. IPA function summary for xTimerCreateTimerTask/10 inlinable
  964. global time: 27.357181
  965. self size: 22
  966. global size: 22
  967. min size: 18
  968. self stack: 0
  969. global stack: 0
  970. size:10.000000, time:7.732635
  971. size:3.000000, time:0.534703, executed if:(not inlined)
  972. calls:
  973. xTaskCreate/37 function body not available
  974. loop depth: 0 freq:0.53 size: 8 time: 17
  975. op0 is compile time invariant
  976. op1 is compile time invariant
  977. op2 is compile time invariant
  978. op3 is compile time invariant
  979. op4 is compile time invariant
  980. op5 is compile time invariant
  981. prvCheckForValidListAndQueue/29 call is unlikely and code size would grow
  982. loop depth: 0 freq:1.00 size: 1 time: 10callee size:12 stack: 0
  983. Symbol table:
  984. prvSampleTimeNow/73 (prvSampleTimeNow) @05e5b0e0
  985. Type: function definition analyzed
  986. Visibility:
  987. next sharing asm name: 25
  988. References: xLastTime.6551/42 (read)xLastTime.6551/42 (write)
  989. Referring:
  990. Function prvSampleTimeNow/73 is inline copy in prvTimerTask/22
  991. Clone of prvSampleTimeNow/25
  992. Availability: local
  993. Function flags: count:1073741824 (estimated locally) body local optimize_size
  994. Called by: prvProcessTimerOrBlockTask/23 (inlined) (1073741824 (estimated locally),10000.02 per call)
  995. Calls: xTaskGetTickCount/41 (1073741824 (estimated locally),10000.02 per call) prvSwitchTimerLists/28 (354334802 (estimated locally),3300.01 per call)
  996. prvInitialiseNewTimer.constprop.0/72 (prvInitialiseNewTimer.constprop) @05e55d20
  997. Type: function definition analyzed
  998. Visibility:
  999. References:
  1000. Referring:
  1001. Function prvInitialiseNewTimer.constprop/72 is inline copy in xTimerCreate/11
  1002. Clone of prvInitialiseNewTimer/12
  1003. Availability: local
  1004. Function flags: count:574129754 (estimated locally) local optimize_size
  1005. Called by: xTimerCreate/11 (inlined) (574129754 (estimated locally),0.53 per call)
  1006. Calls: prvCheckForValidListAndQueue/29 (189463535 (estimated locally),0.18 per call) vListInitialiseItem/53 (189463535 (estimated locally),0.18 per call)
  1007. prvInsertTimerInActiveList.part.0/57 (prvInsertTimerInActiveList.part.0) @05e55a80
  1008. Type: function definition analyzed
  1009. Visibility: prevailing_def_ironly artificial
  1010. References: pxOverflowTimerList/7 (read)
  1011. Referring:
  1012. Function prvInsertTimerInActiveList.part.0/57 is inline copy in prvInsertTimerInActiveList/26
  1013. Availability: local
  1014. Function flags: count:177167400 (estimated locally) first_run:1 body local split_part optimize_size
  1015. Called by: prvInsertTimerInActiveList/26 (inlined) (177167400 (estimated locally),0.16 per call)
  1016. Calls: vListInsert/44 (177167400 (estimated locally),0.16 per call)
  1017. xQueueGenericSendFromISR/56 (xQueueGenericSendFromISR) @05f5cc40
  1018. Type: function
  1019. Visibility: external public
  1020. References:
  1021. Referring:
  1022. Availability: not_available
  1023. Function flags: optimize_size
  1024. Called by: xTimerPendFunctionCallFromISR/33 (1073741824 (estimated locally),1.00 per call) xTimerGenericCommand/13 (87689 (estimated locally),0.25 per call)
  1025. Calls:
  1026. xQueueGenericSend/55 (xQueueGenericSend) @05f5cb60
  1027. Type: function
  1028. Visibility: external public
  1029. References:
  1030. Referring:
  1031. Availability: not_available
  1032. Function flags: optimize_size
  1033. Called by: xTimerPendFunctionCall/34 (123389 (estimated locally),0.53 per call) xTimerGenericCommand/13 (57875 (estimated locally),0.16 per call) xTimerGenericCommand/13 (29814 (estimated locally),0.08 per call)
  1034. Calls:
  1035. xTaskGetSchedulerState/54 (xTaskGetSchedulerState) @05f5ca80
  1036. Type: function
  1037. Visibility: external public
  1038. References:
  1039. Referring:
  1040. Availability: not_available
  1041. Function flags: optimize_size
  1042. Called by: xTimerGenericCommand/13 (87689 (estimated locally),0.25 per call)
  1043. Calls:
  1044. vListInitialiseItem/53 (vListInitialiseItem) @05f5c8c0
  1045. Type: function
  1046. Visibility: external public
  1047. References:
  1048. Referring:
  1049. Availability: not_available
  1050. Function flags: optimize_size
  1051. Called by: prvInitialiseNewTimer.constprop/72 (189463535 (estimated locally),0.18 per call)
  1052. Calls:
  1053. pvPortMalloc/52 (pvPortMalloc) @05f5c700
  1054. Type: function
  1055. Visibility: external public
  1056. References:
  1057. Referring:
  1058. Availability: not_available
  1059. Function flags: optimize_size
  1060. Called by: xTimerCreate/11 (1073741824 (estimated locally),1.00 per call)
  1061. Calls:
  1062. vPortExitCritical/51 (vPortExitCritical) @05f5c460
  1063. Type: function
  1064. Visibility: external public
  1065. References:
  1066. Referring:
  1067. Availability: not_available
  1068. Function flags: optimize_size
  1069. Called by: vTimerSetTimerID/32 (123389 (estimated locally),0.53 per call) pvTimerGetTimerID/31 (123389 (estimated locally),0.53 per call) xTimerIsTimerActive/30 (123389 (estimated locally),0.53 per call) uxTimerGetReloadMode/17 (123389 (estimated locally),0.53 per call) vTimerSetReloadMode/16 (123389 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (1073741824 (estimated locally),1.00 per call)
  1070. Calls:
  1071. vQueueAddToRegistry/50 (vQueueAddToRegistry) @05f5c380
  1072. Type: function
  1073. Visibility: external public
  1074. References:
  1075. Referring:
  1076. Availability: not_available
  1077. Function flags: optimize_size
  1078. Called by: prvCheckForValidListAndQueue/29 (100070816 (estimated locally),0.09 per call)
  1079. Calls:
  1080. xQueueGenericCreate/49 (xQueueGenericCreate) @05f5c2a0
  1081. Type: function
  1082. Visibility: external public
  1083. References:
  1084. Referring:
  1085. Availability: not_available
  1086. Function flags: optimize_size
  1087. Called by: prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call)
  1088. Calls:
  1089. vListInitialise/48 (vListInitialise) @05f5c0e0
  1090. Type: function
  1091. Visibility: external public
  1092. References:
  1093. Referring:
  1094. Availability: not_available
  1095. Function flags: optimize_size
  1096. Called by: prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call) prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call)
  1097. Calls:
  1098. vPortEnterCritical/47 (vPortEnterCritical) @05f5c000
  1099. Type: function
  1100. Visibility: external public
  1101. References:
  1102. Referring:
  1103. Availability: not_available
  1104. Function flags: optimize_size
  1105. Called by: vTimerSetTimerID/32 (123389 (estimated locally),0.53 per call) pvTimerGetTimerID/31 (123389 (estimated locally),0.53 per call) xTimerIsTimerActive/30 (123389 (estimated locally),0.53 per call) uxTimerGetReloadMode/17 (123389 (estimated locally),0.53 per call) vTimerSetReloadMode/16 (123389 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (1073741824 (estimated locally),1.00 per call)
  1106. Calls:
  1107. xQueueReceive/46 (xQueueReceive) @05f36e00
  1108. Type: function
  1109. Visibility: external public
  1110. References:
  1111. Referring:
  1112. Availability: not_available
  1113. Function flags: optimize_size
  1114. Called by: prvProcessReceivedCommands/27 (19321729474 (estimated locally),179947.93 per call)
  1115. Calls:
  1116. vPortFree/45 (vPortFree) @05f36d20
  1117. Type: function
  1118. Visibility: external public
  1119. References:
  1120. Referring:
  1121. Availability: not_available
  1122. Function flags: optimize_size
  1123. Called by: prvProcessReceivedCommands/27 (66280295 (estimated locally),617.28 per call)
  1124. Calls:
  1125. vListInsert/44 (vListInsert) @05f369a0
  1126. Type: function
  1127. Visibility: external public
  1128. References:
  1129. Referring:
  1130. Availability: not_available
  1131. Function flags: optimize_size
  1132. Called by: prvInsertTimerInActiveList/26 (357019157 (estimated locally),0.33 per call) prvInsertTimerInActiveList.part.0/57 (177167400 (estimated locally),0.16 per call)
  1133. Calls:
  1134. uxListRemove/43 (uxListRemove) @05f36700
  1135. Type: function
  1136. Visibility: external public
  1137. References:
  1138. Referring:
  1139. Availability: not_available
  1140. Function flags: optimize_size
  1141. Called by: prvProcessReceivedCommands/27 (536970861 (estimated locally),5000.94 per call) prvProcessExpiredTimer/21 (1073741824 (estimated locally),1.00 per call)
  1142. Calls:
  1143. xLastTime.6551/42 (xLastTime) @05f4c120
  1144. Type: variable definition analyzed
  1145. Visibility: prevailing_def_ironly
  1146. References:
  1147. Referring: prvSampleTimeNow/25 (read)prvSampleTimeNow/25 (write)prvSampleTimeNow/73 (read)prvSampleTimeNow/73 (write)
  1148. Availability: available
  1149. Varpool flags: initialized
  1150. xTaskGetTickCount/41 (xTaskGetTickCount) @05f36380
  1151. Type: function
  1152. Visibility: external public
  1153. References:
  1154. Referring:
  1155. Availability: not_available
  1156. Function flags: optimize_size
  1157. Called by: prvSampleTimeNow/73 (1073741824 (estimated locally),10000.02 per call) prvSampleTimeNow/25 (1004246918 (estimated locally),9352.79 per call)
  1158. Calls:
  1159. vQueueWaitForMessageRestricted/40 (vQueueWaitForMessageRestricted) @05f361c0
  1160. Type: function
  1161. Visibility: external public
  1162. References:
  1163. Referring:
  1164. Availability: not_available
  1165. Function flags: optimize_size
  1166. Called by: prvProcessTimerOrBlockTask/23 (600704865 (estimated locally),5594.51 per call)
  1167. Calls:
  1168. xTaskResumeAll/39 (xTaskResumeAll) @05f360e0
  1169. Type: function
  1170. Visibility: external public
  1171. References:
  1172. Referring:
  1173. Availability: not_available
  1174. Function flags: optimize_size
  1175. Called by: prvProcessTimerOrBlockTask/23 (354334802 (estimated locally),3300.01 per call) prvProcessTimerOrBlockTask/23 (600704865 (estimated locally),5594.51 per call) prvProcessTimerOrBlockTask/23 (118702158 (estimated locally),1105.50 per call)
  1176. Calls:
  1177. vTaskSuspendAll/38 (vTaskSuspendAll) @05f36000
  1178. Type: function
  1179. Visibility: external public
  1180. References:
  1181. Referring:
  1182. Availability: not_available
  1183. Function flags: optimize_size
  1184. Called by: prvProcessTimerOrBlockTask/23 (1073741824 (estimated locally),10000.02 per call)
  1185. Calls:
  1186. xTaskCreate/37 (xTaskCreate) @05f2aee0
  1187. Type: function
  1188. Visibility: external public
  1189. References:
  1190. Referring:
  1191. Availability: not_available
  1192. Function flags: optimize_size
  1193. Called by: xTimerCreateTimerTask/10 (78363 (estimated locally),0.53 per call)
  1194. Calls:
  1195. vTimerSetTimerNumber/36 (vTimerSetTimerNumber) @05f2aa80
  1196. Type: function definition analyzed
  1197. Visibility: externally_visible public
  1198. References:
  1199. Referring:
  1200. Availability: available
  1201. Function flags: count:1073741824 (estimated locally) body optimize_size
  1202. Called by:
  1203. Calls:
  1204. uxTimerGetTimerNumber/35 (uxTimerGetTimerNumber) @05f2a7e0
  1205. Type: function definition analyzed
  1206. Visibility: externally_visible public
  1207. References:
  1208. Referring:
  1209. Availability: available
  1210. Function flags: count:1073741824 (estimated locally) body optimize_size
  1211. Called by:
  1212. Calls:
  1213. xTimerPendFunctionCall/34 (xTimerPendFunctionCall) @05f2a540
  1214. Type: function definition analyzed
  1215. Visibility: externally_visible public
  1216. References: xTimerQueue/8 (read)
  1217. Referring:
  1218. Availability: available
  1219. Function flags: count:230763 (estimated locally) body optimize_size
  1220. Called by:
  1221. Calls: xQueueGenericSend/55 (123389 (estimated locally),0.53 per call)
  1222. xTimerPendFunctionCallFromISR/33 (xTimerPendFunctionCallFromISR) @05f2a0e0
  1223. Type: function definition analyzed
  1224. Visibility: externally_visible public
  1225. References: xTimerQueue/8 (read)
  1226. Referring:
  1227. Availability: available
  1228. Function flags: count:1073741824 (estimated locally) body optimize_size
  1229. Called by:
  1230. Calls: xQueueGenericSendFromISR/56 (1073741824 (estimated locally),1.00 per call)
  1231. vTimerSetTimerID/32 (vTimerSetTimerID) @05f268c0
  1232. Type: function definition analyzed
  1233. Visibility: externally_visible public
  1234. References:
  1235. Referring:
  1236. Availability: available
  1237. Function flags: count:230763 (estimated locally) body optimize_size
  1238. Called by:
  1239. Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call)
  1240. pvTimerGetTimerID/31 (pvTimerGetTimerID) @05f26ee0
  1241. Type: function definition analyzed
  1242. Visibility: externally_visible public
  1243. References:
  1244. Referring:
  1245. Availability: available
  1246. Function flags: count:230763 (estimated locally) body optimize_size
  1247. Called by:
  1248. Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call)
  1249. xTimerIsTimerActive/30 (xTimerIsTimerActive) @05f26b60
  1250. Type: function definition analyzed
  1251. Visibility: externally_visible public
  1252. References:
  1253. Referring:
  1254. Availability: available
  1255. Function flags: count:230763 (estimated locally) body optimize_size
  1256. Called by:
  1257. Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call)
  1258. prvCheckForValidListAndQueue/29 (prvCheckForValidListAndQueue) @05f267e0
  1259. Type: function definition analyzed
  1260. Visibility: prevailing_def_ironly
  1261. References: xTimerQueue/8 (read)xActiveTimerList1/4 (addr)xActiveTimerList2/5 (addr)pxCurrentTimerList/6 (write)xActiveTimerList1/4 (addr)pxOverflowTimerList/7 (write)xActiveTimerList2/5 (addr)xTimerQueue/8 (write)
  1262. Referring:
  1263. Availability: local
  1264. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1265. Called by: prvInitialiseNewTimer.constprop/72 (189463535 (estimated locally),0.18 per call) xTimerCreateTimerTask/10 (146556 (estimated locally),1.00 per call)
  1266. Calls: vPortExitCritical/51 (1073741824 (estimated locally),1.00 per call) vQueueAddToRegistry/50 (100070816 (estimated locally),0.09 per call) xQueueGenericCreate/49 (187153200 (estimated locally),0.17 per call) vListInitialise/48 (187153200 (estimated locally),0.17 per call) vListInitialise/48 (187153200 (estimated locally),0.17 per call) vPortEnterCritical/47 (1073741824 (estimated locally),1.00 per call)
  1267. prvSwitchTimerLists/28 (prvSwitchTimerLists) @05f26460
  1268. Type: function definition analyzed
  1269. Visibility: prevailing_def_ironly
  1270. References: pxCurrentTimerList/6 (read)pxOverflowTimerList/7 (read)pxCurrentTimerList/6 (write)pxOverflowTimerList/7 (write)
  1271. Referring:
  1272. Availability: local
  1273. Function flags: count:118111600 (estimated locally) body local optimize_size
  1274. Called by: prvSampleTimeNow/73 (354334802 (estimated locally),3300.01 per call) prvSampleTimeNow/25 (331401483 (estimated locally),3086.42 per call)
  1275. Calls: prvProcessExpiredTimer/21 (955630223 (estimated locally),8.09 per call)
  1276. prvProcessReceivedCommands/27 (prvProcessReceivedCommands) @05f260e0
  1277. Type: function definition analyzed
  1278. Visibility: prevailing_def_ironly
  1279. References: xTimerQueue/8 (read)
  1280. Referring:
  1281. Function prvProcessReceivedCommands/27 is inline copy in prvTimerTask/22
  1282. Availability: local
  1283. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1284. Called by: prvTimerTask/22 (inlined) (1073741824 (estimated locally),10000.02 per call)
  1285. Calls: xQueueReceive/46 (19321729474 (estimated locally),179947.93 per call) vPortFree/45 (66280295 (estimated locally),617.28 per call) prvInsertTimerInActiveList/26 (189802709 (estimated locally),1767.68 per call) prvReloadTimer/20 (33140147 (estimated locally),308.64 per call) prvInsertTimerInActiveList/26 (200849425 (estimated locally),1870.56 per call) prvSampleTimeNow/25 (inlined) (1004246918 (estimated locally),9352.79 per call) uxListRemove/43 (536970861 (estimated locally),5000.94 per call)
  1286. Indirect call(100424661 (estimated locally),935.28 per call)
  1287. Indirect call(7486204063 (estimated locally),69720.83 per call)
  1288. prvInsertTimerInActiveList/26 (prvInsertTimerInActiveList) @05f1a7e0
  1289. Type: function definition analyzed
  1290. Visibility: prevailing_def_ironly
  1291. References: pxCurrentTimerList/6 (read)
  1292. Referring:
  1293. Availability: local
  1294. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1295. Called by: prvProcessReceivedCommands/27 (189802709 (estimated locally),1767.68 per call) prvProcessReceivedCommands/27 (200849425 (estimated locally),1870.56 per call) prvReloadTimer/20 (1073741824 (estimated locally),9.09 per call)
  1296. Calls: vListInsert/44 (357019157 (estimated locally),0.33 per call) prvInsertTimerInActiveList.part.0/57 (inlined) (177167400 (estimated locally),0.16 per call)
  1297. prvSampleTimeNow/25 (prvSampleTimeNow) @05f1ad20
  1298. Type: function definition analyzed
  1299. Visibility: prevailing_def_ironly
  1300. previous sharing asm name: 73
  1301. References: xLastTime.6551/42 (read)xLastTime.6551/42 (write)
  1302. Referring:
  1303. Function prvSampleTimeNow/25 is inline copy in prvTimerTask/22
  1304. Availability: local
  1305. Function flags: count:1004246918 (estimated locally) body local optimize_size
  1306. Called by: prvProcessReceivedCommands/27 (inlined) (1004246918 (estimated locally),9352.79 per call)
  1307. Calls: prvSwitchTimerLists/28 (331401483 (estimated locally),3086.42 per call) xTaskGetTickCount/41 (1004246918 (estimated locally),9352.79 per call)
  1308. prvGetNextExpireTime/24 (prvGetNextExpireTime) @05f1aa80
  1309. Type: function definition analyzed
  1310. Visibility: prevailing_def_ironly
  1311. References: pxCurrentTimerList/6 (read)
  1312. Referring:
  1313. Function prvGetNextExpireTime/24 is inline copy in prvTimerTask/22
  1314. Availability: local
  1315. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1316. Called by: prvTimerTask/22 (inlined) (1073741824 (estimated locally),10000.02 per call)
  1317. Calls:
  1318. prvProcessTimerOrBlockTask/23 (prvProcessTimerOrBlockTask) @05f1a700
  1319. Type: function definition analyzed
  1320. Visibility: prevailing_def_ironly
  1321. References: pxOverflowTimerList/7 (read)xTimerQueue/8 (read)
  1322. Referring:
  1323. Function prvProcessTimerOrBlockTask/23 is inline copy in prvTimerTask/22
  1324. Availability: local
  1325. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1326. Called by: prvTimerTask/22 (inlined) (1073741824 (estimated locally),10000.02 per call)
  1327. Calls: xTaskResumeAll/39 (354334802 (estimated locally),3300.01 per call) xTaskResumeAll/39 (600704865 (estimated locally),5594.51 per call) vQueueWaitForMessageRestricted/40 (600704865 (estimated locally),5594.51 per call) prvProcessExpiredTimer/21 (118702158 (estimated locally),1105.50 per call) xTaskResumeAll/39 (118702158 (estimated locally),1105.50 per call) prvSampleTimeNow/73 (inlined) (1073741824 (estimated locally),10000.02 per call) vTaskSuspendAll/38 (1073741824 (estimated locally),10000.02 per call)
  1328. prvTimerTask/22 (prvTimerTask) @05f1a2a0
  1329. Type: function definition analyzed
  1330. Visibility: prevailing_def_ironly
  1331. Address is taken.
  1332. References:
  1333. Referring: xTimerCreateTimerTask/10 (addr)
  1334. Availability: available
  1335. Function flags: count:107374 (estimated locally) body executed_once optimize_size
  1336. Called by:
  1337. Calls: prvProcessReceivedCommands/27 (inlined) (1073741824 (estimated locally),10000.02 per call) prvProcessTimerOrBlockTask/23 (inlined) (1073741824 (estimated locally),10000.02 per call) prvGetNextExpireTime/24 (inlined) (1073741824 (estimated locally),10000.02 per call)
  1338. prvProcessExpiredTimer/21 (prvProcessExpiredTimer) @05f1a000
  1339. Type: function definition analyzed
  1340. Visibility: prevailing_def_ironly
  1341. References: pxCurrentTimerList/6 (read)
  1342. Referring:
  1343. Availability: local
  1344. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1345. Called by: prvProcessTimerOrBlockTask/23 (118702158 (estimated locally),1105.50 per call) prvSwitchTimerLists/28 (955630223 (estimated locally),8.09 per call)
  1346. Calls: prvReloadTimer/20 (354334802 (estimated locally),0.33 per call) uxListRemove/43 (1073741824 (estimated locally),1.00 per call)
  1347. Indirect call(1073741824 (estimated locally),1.00 per call)
  1348. prvReloadTimer/20 (prvReloadTimer) @05ec0540
  1349. Type: function definition analyzed
  1350. Visibility: prevailing_def_ironly
  1351. References:
  1352. Referring:
  1353. Availability: local
  1354. Function flags: count:118111600 (estimated locally) body local optimize_size
  1355. Called by: prvProcessReceivedCommands/27 (33140147 (estimated locally),308.64 per call) prvProcessExpiredTimer/21 (354334802 (estimated locally),0.33 per call)
  1356. Calls: prvInsertTimerInActiveList/26 (1073741824 (estimated locally),9.09 per call)
  1357. Indirect call(955630223 (estimated locally),8.09 per call) of param:0 loaded from aggregate passed by reference at offset 256 (vptr maybe changed)
  1358. pcTimerGetName/19 (pcTimerGetName) @05ec0ee0
  1359. Type: function definition analyzed
  1360. Visibility: externally_visible public
  1361. References:
  1362. Referring:
  1363. Availability: available
  1364. Function flags: count:357913 (estimated locally) body optimize_size
  1365. Called by:
  1366. Calls:
  1367. xTimerGetExpiryTime/18 (xTimerGetExpiryTime) @05ec0b60
  1368. Type: function definition analyzed
  1369. Visibility: externally_visible public
  1370. References:
  1371. Referring:
  1372. Availability: available
  1373. Function flags: count:357913 (estimated locally) body optimize_size
  1374. Called by:
  1375. Calls:
  1376. uxTimerGetReloadMode/17 (uxTimerGetReloadMode) @05ec07e0
  1377. Type: function definition analyzed
  1378. Visibility: externally_visible public
  1379. References:
  1380. Referring:
  1381. Availability: available
  1382. Function flags: count:230763 (estimated locally) body optimize_size
  1383. Called by:
  1384. Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call)
  1385. vTimerSetReloadMode/16 (vTimerSetReloadMode) @05ec0460
  1386. Type: function definition analyzed
  1387. Visibility: externally_visible public
  1388. References:
  1389. Referring:
  1390. Availability: available
  1391. Function flags: count:230763 (estimated locally) body optimize_size
  1392. Called by:
  1393. Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call)
  1394. xTimerGetPeriod/15 (xTimerGetPeriod) @05ec00e0
  1395. Type: function definition analyzed
  1396. Visibility: externally_visible public
  1397. References:
  1398. Referring:
  1399. Availability: available
  1400. Function flags: count:357913 (estimated locally) body optimize_size
  1401. Called by:
  1402. Calls:
  1403. xTimerGetTimerDaemonTaskHandle/14 (xTimerGetTimerDaemonTaskHandle) @05f157e0
  1404. Type: function definition analyzed
  1405. Visibility: externally_visible public
  1406. References: xTimerTaskHandle/9 (read)
  1407. Referring:
  1408. Availability: available
  1409. Function flags: count:357913 (estimated locally) body optimize_size
  1410. Called by:
  1411. Calls:
  1412. xTimerGenericCommand/13 (xTimerGenericCommand) @05f151c0
  1413. Type: function definition analyzed
  1414. Visibility: externally_visible public
  1415. References: xTimerQueue/8 (read)xTimerQueue/8 (read)xTimerQueue/8 (read)
  1416. Referring:
  1417. Availability: available
  1418. Function flags: count:357913 (estimated locally) body optimize_size
  1419. Called by:
  1420. Calls: xQueueGenericSendFromISR/56 (87689 (estimated locally),0.25 per call) xQueueGenericSend/55 (57875 (estimated locally),0.16 per call) xQueueGenericSend/55 (29814 (estimated locally),0.08 per call) xTaskGetSchedulerState/54 (87689 (estimated locally),0.25 per call)
  1421. prvInitialiseNewTimer/12 (prvInitialiseNewTimer) @05f15a80
  1422. Type: function
  1423. Body removed by symtab_remove_unreachable_nodes
  1424. Visibility: prevailing_def_ironly
  1425. References:
  1426. Referring:
  1427. Availability: not_available
  1428. Function flags: count:160260 (estimated locally) body optimize_size
  1429. Called by:
  1430. Calls:
  1431. xTimerCreate/11 (xTimerCreate) @05f15700
  1432. Type: function definition analyzed
  1433. Visibility: externally_visible public
  1434. References:
  1435. Referring:
  1436. Availability: available
  1437. Function flags: count:1073741824 (estimated locally) body optimize_size
  1438. Called by:
  1439. Calls: prvInitialiseNewTimer.constprop/72 (inlined) (574129754 (estimated locally),0.53 per call) pvPortMalloc/52 (1073741824 (estimated locally),1.00 per call)
  1440. xTimerCreateTimerTask/10 (xTimerCreateTimerTask) @05f15460
  1441. Type: function definition analyzed
  1442. Visibility: externally_visible public
  1443. References: xTimerQueue/8 (read)prvTimerTask/22 (addr)xTimerTaskHandle/9 (addr)
  1444. Referring:
  1445. Availability: available
  1446. Function flags: count:146556 (estimated locally) body optimize_size
  1447. Called by:
  1448. Calls: xTaskCreate/37 (78363 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (146556 (estimated locally),1.00 per call)
  1449. xTimerTaskHandle/9 (xTimerTaskHandle) @05f0f678
  1450. Type: variable definition analyzed
  1451. Visibility: prevailing_def_ironly
  1452. References:
  1453. Referring: xTimerCreateTimerTask/10 (addr)xTimerGetTimerDaemonTaskHandle/14 (read)
  1454. Availability: available
  1455. Varpool flags: initialized
  1456. xTimerQueue/8 (xTimerQueue) @05f0f5e8
  1457. Type: variable definition analyzed
  1458. Visibility: prevailing_def_ironly
  1459. References:
  1460. Referring: prvProcessReceivedCommands/27 (read)xTimerGenericCommand/13 (read)xTimerPendFunctionCallFromISR/33 (read)prvCheckForValidListAndQueue/29 (write)xTimerCreateTimerTask/10 (read)prvCheckForValidListAndQueue/29 (read)prvProcessTimerOrBlockTask/23 (read)xTimerGenericCommand/13 (read)xTimerGenericCommand/13 (read)xTimerPendFunctionCall/34 (read)
  1461. Availability: available
  1462. Varpool flags: initialized
  1463. pxOverflowTimerList/7 (pxOverflowTimerList) @05f0f558
  1464. Type: variable definition analyzed
  1465. Visibility: prevailing_def_ironly
  1466. References:
  1467. Referring: prvInsertTimerInActiveList.part.0/57 (read)prvSwitchTimerLists/28 (write)prvProcessTimerOrBlockTask/23 (read)prvSwitchTimerLists/28 (read)prvCheckForValidListAndQueue/29 (write)
  1468. Availability: available
  1469. Varpool flags:
  1470. pxCurrentTimerList/6 (pxCurrentTimerList) @05f0f4c8
  1471. Type: variable definition analyzed
  1472. Visibility: prevailing_def_ironly
  1473. References:
  1474. Referring: prvSwitchTimerLists/28 (write)prvProcessExpiredTimer/21 (read)prvInsertTimerInActiveList/26 (read)prvGetNextExpireTime/24 (read)prvSwitchTimerLists/28 (read)prvCheckForValidListAndQueue/29 (write)
  1475. Availability: available
  1476. Varpool flags:
  1477. xActiveTimerList2/5 (xActiveTimerList2) @05f0f438
  1478. Type: variable definition analyzed
  1479. Visibility: prevailing_def_ironly
  1480. References:
  1481. Referring: prvCheckForValidListAndQueue/29 (addr)prvCheckForValidListAndQueue/29 (addr)
  1482. Availability: available
  1483. Varpool flags:
  1484. xActiveTimerList1/4 (xActiveTimerList1) @05f0f3a8
  1485. Type: variable definition analyzed
  1486. Visibility: prevailing_def_ironly
  1487. References:
  1488. Referring: prvCheckForValidListAndQueue/29 (addr)prvCheckForValidListAndQueue/29 (addr)
  1489. Availability: available
  1490. Varpool flags:
  1491. ;; Function prvCheckForValidListAndQueue (prvCheckForValidListAndQueue, funcdef_no=23, decl_uid=6421, cgraph_uid=24, symbol_order=29)
  1492. prvCheckForValidListAndQueue ()
  1493. {
  1494. struct QueueDefinition * xTimerQueue.17_1;
  1495. struct QueueDefinition * _2;
  1496. <bb 2> [local count: 1073741824]:
  1497. # DEBUG BEGIN_STMT
  1498. vPortEnterCritical ();
  1499. # DEBUG BEGIN_STMT
  1500. xTimerQueue.17_1 = xTimerQueue;
  1501. if (xTimerQueue.17_1 == 0B)
  1502. goto <bb 3>; [17.43%]
  1503. else
  1504. goto <bb 5>; [82.57%]
  1505. <bb 3> [local count: 187153200]:
  1506. # DEBUG BEGIN_STMT
  1507. vListInitialise (&xActiveTimerList1);
  1508. # DEBUG BEGIN_STMT
  1509. vListInitialise (&xActiveTimerList2);
  1510. # DEBUG BEGIN_STMT
  1511. pxCurrentTimerList = &xActiveTimerList1;
  1512. # DEBUG BEGIN_STMT
  1513. pxOverflowTimerList = &xActiveTimerList2;
  1514. # DEBUG BEGIN_STMT
  1515. _2 = xQueueGenericCreate (10, 16, 0);
  1516. xTimerQueue = _2;
  1517. # DEBUG BEGIN_STMT
  1518. if (_2 != 0B)
  1519. goto <bb 4>; [53.47%]
  1520. else
  1521. goto <bb 5>; [46.53%]
  1522. <bb 4> [local count: 100070816]:
  1523. # DEBUG BEGIN_STMT
  1524. vQueueAddToRegistry (_2, "TmrQ");
  1525. <bb 5> [local count: 1073741824]:
  1526. # DEBUG BEGIN_STMT
  1527. # DEBUG BEGIN_STMT
  1528. vPortExitCritical ();
  1529. return;
  1530. }
  1531. ;; Function prvInsertTimerInActiveList (prvInsertTimerInActiveList, funcdef_no=20, decl_uid=6430, cgraph_uid=21, symbol_order=26)
  1532. Symbols to be put in SSA form
  1533. { D.6795 D.6894 }
  1534. Incremental SSA update started at block: 0
  1535. Number of blocks in CFG: 13
  1536. Number of blocks to update: 12 ( 92%)
  1537. Removing basic block 4
  1538. Removing basic block 10
  1539. Merging blocks 11 and 12
  1540. Merging blocks 11 and 9
  1541. ;; 1 loops found
  1542. ;;
  1543. ;; Loop 0
  1544. ;; header 0, latch 1
  1545. ;; depth 0, outer -1
  1546. ;; nodes: 0 1 2 3 4 5 6 7 8
  1547. ;; 2 succs { 3 5 }
  1548. ;; 3 succs { 8 4 }
  1549. ;; 4 succs { 8 }
  1550. ;; 5 succs { 6 7 }
  1551. ;; 6 succs { 8 7 }
  1552. ;; 7 succs { 8 }
  1553. ;; 8 succs { 1 }
  1554. prvInsertTimerInActiveList (struct Timer_t * const pxTimer, const TickType_t xNextExpiryTime, const TickType_t xTimeNow, const TickType_t xCommandTime)
  1555. {
  1556. BaseType_t D.6894;
  1557. BaseType_t xProcessTimerNow;
  1558. long unsigned int _1;
  1559. long unsigned int _2;
  1560. struct List_t * pxCurrentTimerList.15_3;
  1561. struct ListItem_t * _4;
  1562. struct List_t * pxOverflowTimerList.14_17;
  1563. struct ListItem_t * _18;
  1564. <bb 2> [local count: 1073741824]:
  1565. # DEBUG BEGIN_STMT
  1566. # DEBUG xProcessTimerNow => 0
  1567. # DEBUG BEGIN_STMT
  1568. pxTimer_8(D)->xTimerListItem.xItemValue = xNextExpiryTime_9(D);
  1569. # DEBUG BEGIN_STMT
  1570. pxTimer_8(D)->xTimerListItem.pvOwner = pxTimer_8(D);
  1571. # DEBUG BEGIN_STMT
  1572. if (xNextExpiryTime_9(D) <= xTimeNow_12(D))
  1573. goto <bb 3>; [50.00%]
  1574. else
  1575. goto <bb 5>; [50.00%]
  1576. <bb 3> [local count: 536870913]:
  1577. # DEBUG BEGIN_STMT
  1578. _1 = xTimeNow_12(D) - xCommandTime_13(D);
  1579. _2 = pxTimer_8(D)->xTimerPeriodInTicks;
  1580. if (_1 >= _2)
  1581. goto <bb 8>; [67.00%]
  1582. else
  1583. goto <bb 4>; [33.00%]
  1584. <bb 4> [local count: 177167401]:
  1585. # DEBUG D#1 => xNextExpiryTime_9(D)
  1586. # DEBUG D#2 => xTimeNow_12(D)
  1587. # DEBUG D#3 => xCommandTime_13(D)
  1588. # DEBUG pxTimer => pxTimer_8(D)
  1589. # DEBUG INLINE_ENTRY prvInsertTimerInActiveList
  1590. # DEBUG D#6 => D#1
  1591. # DEBUG xNextExpiryTime => D#6
  1592. # DEBUG D#5 => D#2
  1593. # DEBUG xTimeNow => D#5
  1594. # DEBUG D#4 => D#3
  1595. # DEBUG xCommandTime => D#4
  1596. # DEBUG BEGIN_STMT
  1597. pxOverflowTimerList.14_17 = pxOverflowTimerList;
  1598. _18 = &pxTimer_8(D)->xTimerListItem;
  1599. vListInsert (pxOverflowTimerList.14_17, _18);
  1600. # DEBUG xProcessTimerNow => 0
  1601. # DEBUG BEGIN_STMT
  1602. _21 = 0;
  1603. # DEBUG pxTimer => NULL
  1604. # DEBUG xProcessTimerNow => NULL
  1605. # DEBUG xNextExpiryTime => NULL
  1606. # DEBUG xTimeNow => NULL
  1607. # DEBUG xCommandTime => NULL
  1608. xProcessTimerNow_16 = _21;
  1609. goto <bb 8>; [100.00%]
  1610. <bb 5> [local count: 536870913]:
  1611. # DEBUG BEGIN_STMT
  1612. if (xTimeNow_12(D) < xCommandTime_13(D))
  1613. goto <bb 6>; [67.00%]
  1614. else
  1615. goto <bb 7>; [33.00%]
  1616. <bb 6> [local count: 359703511]:
  1617. if (xNextExpiryTime_9(D) >= xCommandTime_13(D))
  1618. goto <bb 8>; [50.00%]
  1619. else
  1620. goto <bb 7>; [50.00%]
  1621. <bb 7> [local count: 357019157]:
  1622. # DEBUG BEGIN_STMT
  1623. pxCurrentTimerList.15_3 = pxCurrentTimerList;
  1624. _4 = &pxTimer_8(D)->xTimerListItem;
  1625. vListInsert (pxCurrentTimerList.15_3, _4);
  1626. <bb 8> [local count: 1073741824]:
  1627. # xProcessTimerNow_5 = PHI <xProcessTimerNow_16(4), 1(6), 0(7), 1(3)>
  1628. # DEBUG xProcessTimerNow => xProcessTimerNow_5
  1629. # DEBUG BEGIN_STMT
  1630. return xProcessTimerNow_5;
  1631. }
  1632. ;; Function prvReloadTimer (prvReloadTimer, funcdef_no=14, decl_uid=6434, cgraph_uid=15, symbol_order=20)
  1633. prvReloadTimer (struct Timer_t * const pxTimer, TickType_t xExpiredTime, const TickType_t xTimeNow)
  1634. {
  1635. long unsigned int _1;
  1636. void (*<T689>) (struct tmrTimerControl *) _2;
  1637. long unsigned int _3;
  1638. long unsigned int _4;
  1639. long int _5;
  1640. <bb 2> [local count: 118111600]:
  1641. # DEBUG BEGIN_STMT
  1642. goto <bb 4>; [100.00%]
  1643. <bb 3> [local count: 955630223]:
  1644. # DEBUG BEGIN_STMT
  1645. _1 = pxTimer_10(D)->xTimerPeriodInTicks;
  1646. xExpiredTime_13 = _1 + xExpiredTime_6;
  1647. # DEBUG xExpiredTime => xExpiredTime_13
  1648. # DEBUG BEGIN_STMT
  1649. # DEBUG BEGIN_STMT
  1650. _2 = pxTimer_10(D)->pxCallbackFunction;
  1651. _2 (pxTimer_10(D));
  1652. <bb 4> [local count: 1073741824]:
  1653. # xExpiredTime_6 = PHI <xExpiredTime_8(D)(2), xExpiredTime_13(3)>
  1654. # DEBUG xExpiredTime => xExpiredTime_6
  1655. # DEBUG BEGIN_STMT
  1656. _3 = pxTimer_10(D)->xTimerPeriodInTicks;
  1657. _4 = _3 + xExpiredTime_6;
  1658. _5 = prvInsertTimerInActiveList (pxTimer_10(D), _4, xTimeNow_11(D), xExpiredTime_6);
  1659. if (_5 != 0)
  1660. goto <bb 3>; [89.00%]
  1661. else
  1662. goto <bb 5>; [11.00%]
  1663. <bb 5> [local count: 118111601]:
  1664. return;
  1665. }
  1666. ;; Function prvProcessExpiredTimer (prvProcessExpiredTimer, funcdef_no=15, decl_uid=6437, cgraph_uid=16, symbol_order=21)
  1667. prvProcessExpiredTimer (const TickType_t xNextExpireTime, const TickType_t xTimeNow)
  1668. {
  1669. struct Timer_t * const pxTimer;
  1670. struct List_t * pxCurrentTimerList.13_1;
  1671. struct xLIST_ITEM * _2;
  1672. struct ListItem_t * _3;
  1673. unsigned char _4;
  1674. unsigned char _5;
  1675. void (*<T689>) (struct tmrTimerControl *) _6;
  1676. unsigned char _16;
  1677. <bb 2> [local count: 1073741824]:
  1678. # DEBUG BEGIN_STMT
  1679. pxCurrentTimerList.13_1 = pxCurrentTimerList;
  1680. _2 = pxCurrentTimerList.13_1->xListEnd.pxNext;
  1681. pxTimer_9 = _2->pvOwner;
  1682. # DEBUG pxTimer => pxTimer_9
  1683. # DEBUG BEGIN_STMT
  1684. _3 = &pxTimer_9->xTimerListItem;
  1685. uxListRemove (_3);
  1686. # DEBUG BEGIN_STMT
  1687. _4 = pxTimer_9->ucStatus;
  1688. _16 = _4 & 4;
  1689. if (_16 != 0)
  1690. goto <bb 3>; [33.00%]
  1691. else
  1692. goto <bb 4>; [67.00%]
  1693. <bb 3> [local count: 354334802]:
  1694. # DEBUG BEGIN_STMT
  1695. prvReloadTimer (pxTimer_9, xNextExpireTime_12(D), xTimeNow_13(D));
  1696. goto <bb 5>; [100.00%]
  1697. <bb 4> [local count: 719407023]:
  1698. # DEBUG BEGIN_STMT
  1699. _5 = _4 & 254;
  1700. pxTimer_9->ucStatus = _5;
  1701. <bb 5> [local count: 1073741824]:
  1702. # DEBUG BEGIN_STMT
  1703. # DEBUG BEGIN_STMT
  1704. _6 = pxTimer_9->pxCallbackFunction;
  1705. _6 (pxTimer_9);
  1706. return;
  1707. }
  1708. ;; Function prvSwitchTimerLists (prvSwitchTimerLists, funcdef_no=22, decl_uid=6439, cgraph_uid=23, symbol_order=28)
  1709. prvSwitchTimerLists ()
  1710. {
  1711. TickType_t xNextExpireTime;
  1712. struct xLIST_ITEM * _1;
  1713. struct List_t * pxCurrentTimerList.11_2;
  1714. long unsigned int _3;
  1715. struct List_t * pxOverflowTimerList.12_4;
  1716. struct List_t * pxCurrentTimerList.11_7;
  1717. <bb 2> [local count: 118111600]:
  1718. # DEBUG BEGIN_STMT
  1719. # DEBUG BEGIN_STMT
  1720. # DEBUG BEGIN_STMT
  1721. goto <bb 4>; [100.00%]
  1722. <bb 3> [local count: 955630223]:
  1723. # DEBUG BEGIN_STMT
  1724. _1 = pxCurrentTimerList.11_2->xListEnd.pxNext;
  1725. xNextExpireTime_10 = _1->xItemValue;
  1726. # DEBUG xNextExpireTime => xNextExpireTime_10
  1727. # DEBUG BEGIN_STMT
  1728. prvProcessExpiredTimer (xNextExpireTime_10, 4294967295);
  1729. <bb 4> [local count: 1073741824]:
  1730. # DEBUG BEGIN_STMT
  1731. pxCurrentTimerList.11_2 = pxCurrentTimerList;
  1732. _3 ={v} pxCurrentTimerList.11_2->uxNumberOfItems;
  1733. if (_3 != 0)
  1734. goto <bb 3>; [89.00%]
  1735. else
  1736. goto <bb 5>; [11.00%]
  1737. <bb 5> [local count: 118111601]:
  1738. # pxCurrentTimerList.11_7 = PHI <pxCurrentTimerList.11_2(4)>
  1739. # DEBUG BEGIN_STMT
  1740. # DEBUG pxTemp => pxCurrentTimerList.11_7
  1741. # DEBUG BEGIN_STMT
  1742. pxOverflowTimerList.12_4 = pxOverflowTimerList;
  1743. pxCurrentTimerList = pxOverflowTimerList.12_4;
  1744. # DEBUG BEGIN_STMT
  1745. pxOverflowTimerList = pxCurrentTimerList.11_7;
  1746. return;
  1747. }
  1748. ;; Function prvTimerTask (prvTimerTask, funcdef_no=16, decl_uid=6423, cgraph_uid=17, symbol_order=22) (executed once)
  1749. Symbols to be put in SSA form
  1750. { D.6802 D.6922 D.6925 D.6928 }
  1751. Incremental SSA update started at block: 0
  1752. Number of blocks in CFG: 62
  1753. Number of blocks to update: 61 ( 98%)
  1754. Merging blocks 3 and 47
  1755. Removing basic block 4
  1756. Removing basic block 5
  1757. Removing basic block 6
  1758. Removing basic block 10
  1759. Merging blocks 13 and 58
  1760. Removing basic block 14
  1761. Merging blocks 23 and 24
  1762. Removing basic block 34
  1763. Merging blocks 51 and 46
  1764. Merging blocks 56 and 52
  1765. Merging blocks 61 and 57
  1766. Merging blocks 51 and 35
  1767. Merging blocks 51 and 53
  1768. No longer having address taken: xListWasEmpty
  1769. No longer having address taken: xTimerListsWereSwitched
  1770. No longer having address taken: xTimerListsWereSwitched
  1771. Symbols to be put in SSA form
  1772. { D.6535 D.6906 D.6919 }
  1773. Incremental SSA update started at block: 0
  1774. Number of blocks in CFG: 48
  1775. Number of blocks to update: 47 ( 98%)
  1776. ;; 6 loops found
  1777. ;;
  1778. ;; Loop 0
  1779. ;; header 0, latch 1
  1780. ;; depth 0, outer -1
  1781. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
  1782. ;;
  1783. ;; Loop 2
  1784. ;; header 38, latch 38
  1785. ;; depth 1, outer 0
  1786. ;; nodes: 38
  1787. ;;
  1788. ;; Loop 1
  1789. ;; header 3, latch 47
  1790. ;; depth 1, outer 0
  1791. ;; nodes: 3 47 46 23 45 29 44 20 43 30 34 35 39 41 42 40 36 32 33 31 13 17 18 19 10 8 9 7 5 6 4 14 15 16 11 12 27 28 26 24 25 21 22
  1792. ;;
  1793. ;; Loop 3
  1794. ;; header 44, latch 43
  1795. ;; depth 2, outer 1
  1796. ;; nodes: 44 43 30 34 35 39 41 42 40 29 27 28 26 24 25 23 21 22 46 45 36 32 33 31
  1797. ;;
  1798. ;; Loop 4
  1799. ;; header 45, latch 29
  1800. ;; depth 3, outer 3
  1801. ;; nodes: 45 29 27 28 26 24 25 23 21 22 46
  1802. ;;
  1803. ;; Loop 5
  1804. ;; header 46, latch 23
  1805. ;; depth 4, outer 4
  1806. ;; nodes: 46 23 21 22
  1807. ;; 2 succs { 3 }
  1808. ;; 3 succs { 5 4 }
  1809. ;; 4 succs { 5 }
  1810. ;; 5 succs { 6 7 }
  1811. ;; 6 succs { 7 }
  1812. ;; 7 succs { 8 9 }
  1813. ;; 8 succs { 10 }
  1814. ;; 9 succs { 10 }
  1815. ;; 10 succs { 11 19 }
  1816. ;; 11 succs { 12 14 }
  1817. ;; 12 succs { 13 14 }
  1818. ;; 13 succs { 20 }
  1819. ;; 14 succs { 15 17 }
  1820. ;; 15 succs { 17 16 }
  1821. ;; 16 succs { 17 }
  1822. ;; 17 succs { 18 20 }
  1823. ;; 18 succs { 20 }
  1824. ;; 19 succs { 20 }
  1825. ;; 20 succs { 44 }
  1826. ;; 21 succs { 22 23 }
  1827. ;; 22 succs { 23 }
  1828. ;; 23 succs { 24 46 }
  1829. ;; 24 succs { 25 26 }
  1830. ;; 25 succs { 26 }
  1831. ;; 26 succs { 27 28 }
  1832. ;; 27 succs { 29 }
  1833. ;; 28 succs { 29 }
  1834. ;; 29 succs { 45 30 35 36 40 }
  1835. ;; 30 succs { 31 43 }
  1836. ;; 31 succs { 32 33 }
  1837. ;; 32 succs { 34 }
  1838. ;; 33 succs { 34 }
  1839. ;; 34 succs { 43 }
  1840. ;; 35 succs { 43 }
  1841. ;; 36 succs { 37 39 }
  1842. ;; 37 succs { 38 }
  1843. ;; 38 succs { 38 }
  1844. ;; 39 succs { 43 }
  1845. ;; 40 succs { 41 42 }
  1846. ;; 41 succs { 43 }
  1847. ;; 42 succs { 43 }
  1848. ;; 43 succs { 44 }
  1849. ;; 44 succs { 45 }
  1850. ;; 45 succs { 46 }
  1851. ;; 46 succs { 21 47 }
  1852. ;; 47 succs { 3 }
  1853. prvTimerTask (void * pvParameters)
  1854. {
  1855. TickType_t xTimeNow;
  1856. TickType_t D.6928;
  1857. static TickType_t xLastTime = 0;
  1858. TickType_t xTimeNow;
  1859. TickType_t D.6925;
  1860. static TickType_t xLastTime = 0;
  1861. TickType_t xNextExpireTime;
  1862. TickType_t D.6922;
  1863. TickType_t xTimeNow;
  1864. BaseType_t xTimerListsWereSwitched;
  1865. BaseType_t xListWasEmpty;
  1866. struct DaemonTaskMessage_t xMessage;
  1867. struct Timer_t * pxTimer;
  1868. BaseType_t xTimerListsWereSwitched;
  1869. TickType_t xTimeNow;
  1870. uint32_t ulNewBASEPRI;
  1871. BaseType_t xListWasEmpty;
  1872. TickType_t xNextExpireTime;
  1873. long int xListWasEmpty.1_1;
  1874. long int _8;
  1875. void (*<T68e>) (void *, uint32_t) _9;
  1876. void * _10;
  1877. long unsigned int _11;
  1878. long int _12;
  1879. struct xLIST * _14;
  1880. struct ListItem_t * _15;
  1881. long int _17;
  1882. unsigned char _19;
  1883. unsigned char _20;
  1884. long unsigned int _21;
  1885. long unsigned int _22;
  1886. long unsigned int _23;
  1887. long int _25;
  1888. unsigned char _26;
  1889. unsigned char _27;
  1890. long unsigned int _28;
  1891. long unsigned int _29;
  1892. long unsigned int _30;
  1893. unsigned char _31;
  1894. void (*<T689>) (struct tmrTimerControl *) _32;
  1895. unsigned char _34;
  1896. unsigned char _35;
  1897. unsigned char _37;
  1898. unsigned char _38;
  1899. long unsigned int _39;
  1900. long unsigned int _42;
  1901. unsigned char _44;
  1902. unsigned char _45;
  1903. unsigned char _46;
  1904. struct QueueDefinition * xTimerQueue.16_47;
  1905. long int _48;
  1906. long int xTimerListsWereSwitched.5_50;
  1907. struct List_t * pxOverflowTimerList.7_51;
  1908. long unsigned int _52;
  1909. struct QueueDefinition * xTimerQueue.8_53;
  1910. long unsigned int _54;
  1911. long int _56;
  1912. struct List_t * pxCurrentTimerList.3_57;
  1913. long unsigned int _58;
  1914. long int iftmp.2_59;
  1915. struct xLIST_ITEM * _60;
  1916. long unsigned int xLastTime.9_64;
  1917. long unsigned int xLastTime.9_66;
  1918. <bb 2> [local count: 107374]:
  1919. <bb 3> [local count: 10436763]:
  1920. # DEBUG ulNewBASEPRI => NULL
  1921. # DEBUG xTimeNow => NULL
  1922. # DEBUG xTimerListsWereSwitched => NULL
  1923. # DEBUG pxTimer => NULL
  1924. # DEBUG BEGIN_STMT
  1925. # DEBUG BEGIN_STMT
  1926. # DEBUG BEGIN_STMT
  1927. # DEBUG BEGIN_STMT
  1928. # DEBUG BEGIN_STMT
  1929. # DEBUG pxListWasEmpty => &xListWasEmpty
  1930. # DEBUG INLINE_ENTRY prvGetNextExpireTime
  1931. # DEBUG BEGIN_STMT
  1932. # DEBUG BEGIN_STMT
  1933. pxCurrentTimerList.3_57 = pxCurrentTimerList;
  1934. _58 ={v} pxCurrentTimerList.3_57->uxNumberOfItems;
  1935. if (_58 == 0)
  1936. goto <bb 5>; [50.00%]
  1937. else
  1938. goto <bb 4>; [50.00%]
  1939. <bb 4> [local count: 5218382]:
  1940. <bb 5> [local count: 10436763]:
  1941. # iftmp.2_59 = PHI <1(3), 0(4)>
  1942. xListWasEmpty_119 = iftmp.2_59;
  1943. # DEBUG xListWasEmpty => xListWasEmpty_119
  1944. # DEBUG BEGIN_STMT
  1945. if (iftmp.2_59 == 0)
  1946. goto <bb 6>; [50.00%]
  1947. else
  1948. goto <bb 7>; [50.00%]
  1949. <bb 6> [local count: 5218382]:
  1950. # DEBUG BEGIN_STMT
  1951. _60 = pxCurrentTimerList.3_57->xListEnd.pxNext;
  1952. xNextExpireTime_61 = _60->xItemValue;
  1953. # DEBUG xNextExpireTime => xNextExpireTime_61
  1954. <bb 7> [local count: 10436763]:
  1955. # xNextExpireTime_62 = PHI <0(5), xNextExpireTime_61(6)>
  1956. # DEBUG xNextExpireTime => xNextExpireTime_62
  1957. # DEBUG BEGIN_STMT
  1958. _78 = xNextExpireTime_62;
  1959. # DEBUG pxListWasEmpty => NULL
  1960. # DEBUG xNextExpireTime => NULL
  1961. xNextExpireTime_5 = _78;
  1962. # DEBUG xNextExpireTime => xNextExpireTime_5
  1963. # DEBUG BEGIN_STMT
  1964. xListWasEmpty.1_1 = xListWasEmpty_119;
  1965. # DEBUG xNextExpireTime => xNextExpireTime_5
  1966. # DEBUG xListWasEmpty => xListWasEmpty.1_1
  1967. # DEBUG INLINE_ENTRY prvProcessTimerOrBlockTask
  1968. # DEBUG BEGIN_STMT
  1969. # DEBUG BEGIN_STMT
  1970. # DEBUG BEGIN_STMT
  1971. vTaskSuspendAll ();
  1972. # DEBUG BEGIN_STMT
  1973. # DEBUG pxTimerListsWereSwitched => &xTimerListsWereSwitched
  1974. # DEBUG INLINE_ENTRY prvSampleTimeNow
  1975. # DEBUG BEGIN_STMT
  1976. # DEBUG BEGIN_STMT
  1977. # DEBUG BEGIN_STMT
  1978. xTimeNow_63 = xTaskGetTickCount ();
  1979. # DEBUG xTimeNow => xTimeNow_63
  1980. # DEBUG BEGIN_STMT
  1981. xLastTime.9_64 = xLastTime;
  1982. if (xTimeNow_63 < xLastTime.9_64)
  1983. goto <bb 8>; [33.00%]
  1984. else
  1985. goto <bb 9>; [67.00%]
  1986. <bb 8> [local count: 3444132]:
  1987. # DEBUG BEGIN_STMT
  1988. prvSwitchTimerLists ();
  1989. # DEBUG BEGIN_STMT
  1990. xTimerListsWereSwitched_121 = 1;
  1991. # DEBUG xTimerListsWereSwitched => xTimerListsWereSwitched_121
  1992. goto <bb 10>; [100.00%]
  1993. <bb 9> [local count: 6992631]:
  1994. # DEBUG BEGIN_STMT
  1995. xTimerListsWereSwitched_120 = 0;
  1996. # DEBUG xTimerListsWereSwitched => xTimerListsWereSwitched_120
  1997. <bb 10> [local count: 10436763]:
  1998. # xTimerListsWereSwitched_118 = PHI <xTimerListsWereSwitched_121(8), xTimerListsWereSwitched_120(9)>
  1999. # DEBUG xTimerListsWereSwitched => xTimerListsWereSwitched_118
  2000. # DEBUG BEGIN_STMT
  2001. xLastTime = xTimeNow_63;
  2002. # DEBUG BEGIN_STMT
  2003. _85 = xTimeNow_63;
  2004. # DEBUG pxTimerListsWereSwitched => NULL
  2005. # DEBUG xTimeNow => NULL
  2006. xTimeNow_49 = _85;
  2007. # DEBUG xTimeNow => xTimeNow_49
  2008. # DEBUG BEGIN_STMT
  2009. xTimerListsWereSwitched.5_50 = xTimerListsWereSwitched_118;
  2010. if (xTimerListsWereSwitched.5_50 == 0)
  2011. goto <bb 11>; [67.00%]
  2012. else
  2013. goto <bb 19>; [33.00%]
  2014. <bb 11> [local count: 6992631]:
  2015. # DEBUG BEGIN_STMT
  2016. if (xListWasEmpty.1_1 == 0)
  2017. goto <bb 12>; [50.00%]
  2018. else
  2019. goto <bb 14>; [50.00%]
  2020. <bb 12> [local count: 3496316]:
  2021. if (xNextExpireTime_5 <= xTimeNow_49)
  2022. goto <bb 13>; [33.00%]
  2023. else
  2024. goto <bb 14>; [67.00%]
  2025. <bb 13> [local count: 1153784]:
  2026. # DEBUG BEGIN_STMT
  2027. xTaskResumeAll ();
  2028. # DEBUG BEGIN_STMT
  2029. prvProcessExpiredTimer (xNextExpireTime_5, xTimeNow_49);
  2030. goto <bb 20>; [100.00%]
  2031. <bb 14> [local count: 5838847]:
  2032. # DEBUG BEGIN_STMT
  2033. if (xListWasEmpty.1_1 != 0)
  2034. goto <bb 15>; [50.00%]
  2035. else
  2036. goto <bb 17>; [50.00%]
  2037. <bb 15> [local count: 2919424]:
  2038. # DEBUG BEGIN_STMT
  2039. pxOverflowTimerList.7_51 = pxOverflowTimerList;
  2040. _52 ={v} pxOverflowTimerList.7_51->uxNumberOfItems;
  2041. if (_52 == 0)
  2042. goto <bb 17>; [50.00%]
  2043. else
  2044. goto <bb 16>; [50.00%]
  2045. <bb 16> [local count: 1459712]:
  2046. <bb 17> [local count: 5838847]:
  2047. # xListWasEmpty_55 = PHI <xListWasEmpty.1_1(14), 1(15), 0(16)>
  2048. # DEBUG xListWasEmpty => xListWasEmpty_55
  2049. # DEBUG BEGIN_STMT
  2050. xTimerQueue.8_53 = xTimerQueue;
  2051. _54 = xNextExpireTime_5 - xTimeNow_49;
  2052. vQueueWaitForMessageRestricted (xTimerQueue.8_53, _54, xListWasEmpty_55);
  2053. # DEBUG BEGIN_STMT
  2054. _56 = xTaskResumeAll ();
  2055. if (_56 == 0)
  2056. goto <bb 18>; [50.00%]
  2057. else
  2058. goto <bb 20>; [50.00%]
  2059. <bb 18> [local count: 2919424]:
  2060. # DEBUG BEGIN_STMT
  2061. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2062. # DEBUG BEGIN_STMT
  2063. __asm__ __volatile__("dsb" : : : "memory");
  2064. # DEBUG BEGIN_STMT
  2065. __asm__ __volatile__("isb");
  2066. # DEBUG BEGIN_STMT
  2067. goto <bb 20>; [100.00%]
  2068. <bb 19> [local count: 3444132]:
  2069. # DEBUG BEGIN_STMT
  2070. xTaskResumeAll ();
  2071. <bb 20> [local count: 10436763]:
  2072. # DEBUG D#10 => {CLOBBER}
  2073. # DEBUG xTimerListsWereSwitched => D#10
  2074. goto <bb 44>; [100.00%]
  2075. <bb 21> [local count: 177477686]:
  2076. # DEBUG BEGIN_STMT
  2077. _8 = xMessage.xMessageID;
  2078. if (_8 < 0)
  2079. goto <bb 22>; [41.00%]
  2080. else
  2081. goto <bb 23>; [59.00%]
  2082. <bb 22> [local count: 72765851]:
  2083. # DEBUG BEGIN_STMT
  2084. # DEBUG pxCallback => &xMessage.u.xCallbackParameters
  2085. # DEBUG BEGIN_STMT
  2086. # DEBUG BEGIN_STMT
  2087. # DEBUG BEGIN_STMT
  2088. _9 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].pxCallbackFunction;
  2089. _10 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].pvParameter1;
  2090. _11 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].ulParameter2;
  2091. _9 (_10, _11);
  2092. <bb 23> [local count: 177477686]:
  2093. # DEBUG BEGIN_STMT
  2094. # DEBUG BEGIN_STMT
  2095. _12 = xMessage.xMessageID;
  2096. if (_12 >= 0)
  2097. goto <bb 24>; [5.50%]
  2098. else
  2099. goto <bb 46>; [94.50%]
  2100. <bb 24> [local count: 9761273]:
  2101. # DEBUG BEGIN_STMT
  2102. pxTimer_13 = xMessage.u.xTimerParameters.pxTimer;
  2103. # DEBUG pxTimer => pxTimer_13
  2104. # DEBUG BEGIN_STMT
  2105. _14 = pxTimer_13->xTimerListItem.pvContainer;
  2106. if (_14 != 0B)
  2107. goto <bb 25>; [53.47%]
  2108. else
  2109. goto <bb 26>; [46.53%]
  2110. <bb 25> [local count: 5219353]:
  2111. # DEBUG BEGIN_STMT
  2112. _15 = &pxTimer_13->xTimerListItem;
  2113. uxListRemove (_15);
  2114. <bb 26> [local count: 9761273]:
  2115. # DEBUG BEGIN_STMT
  2116. # DEBUG BEGIN_STMT
  2117. # DEBUG BEGIN_STMT
  2118. # DEBUG pxTimerListsWereSwitched => &xTimerListsWereSwitched
  2119. # DEBUG INLINE_ENTRY prvSampleTimeNow
  2120. # DEBUG BEGIN_STMT
  2121. # DEBUG BEGIN_STMT
  2122. # DEBUG BEGIN_STMT
  2123. xTimeNow_65 = xTaskGetTickCount ();
  2124. # DEBUG xTimeNow => xTimeNow_65
  2125. # DEBUG BEGIN_STMT
  2126. xLastTime.9_66 = xLastTime;
  2127. if (xTimeNow_65 < xLastTime.9_66)
  2128. goto <bb 27>; [33.00%]
  2129. else
  2130. goto <bb 28>; [67.00%]
  2131. <bb 27> [local count: 3221220]:
  2132. # DEBUG BEGIN_STMT
  2133. prvSwitchTimerLists ();
  2134. # DEBUG BEGIN_STMT
  2135. xTimerListsWereSwitched_125 = 1;
  2136. # DEBUG xTimerListsWereSwitched => xTimerListsWereSwitched_125
  2137. goto <bb 29>; [100.00%]
  2138. <bb 28> [local count: 6540053]:
  2139. # DEBUG BEGIN_STMT
  2140. xTimerListsWereSwitched_124 = 0;
  2141. # DEBUG xTimerListsWereSwitched => xTimerListsWereSwitched_124
  2142. <bb 29> [local count: 9761273]:
  2143. # DEBUG BEGIN_STMT
  2144. xLastTime = xTimeNow_65;
  2145. # DEBUG BEGIN_STMT
  2146. _105 = xTimeNow_65;
  2147. # DEBUG pxTimerListsWereSwitched => NULL
  2148. # DEBUG xTimeNow => NULL
  2149. xTimeNow_16 = _105;
  2150. # DEBUG xTimeNow => xTimeNow_16
  2151. # DEBUG BEGIN_STMT
  2152. _17 = xMessage.xMessageID;
  2153. switch (_17) <default: <L6> [20.00%], case 1 ... 2: <L2> [20.00%], case 3: <L3> [20.00%], case 4: <L4> [20.00%], case 5: <L5> [20.00%], case 6 ... 7: <L2> [20.00%], case 8: <L3> [20.00%], case 9: <L4> [20.00%]>
  2154. <bb 30> [local count: 1952255]:
  2155. # pxTimer_18 = PHI <pxTimer_13(29)>
  2156. # xTimeNow_24 = PHI <xTimeNow_16(29)>
  2157. <L2>:
  2158. # DEBUG BEGIN_STMT
  2159. _19 = pxTimer_18->ucStatus;
  2160. _20 = _19 | 1;
  2161. pxTimer_18->ucStatus = _20;
  2162. # DEBUG BEGIN_STMT
  2163. _21 = xMessage.u.xTimerParameters.xMessageValue;
  2164. _22 = pxTimer_18->xTimerPeriodInTicks;
  2165. _23 = _21 + _22;
  2166. _25 = prvInsertTimerInActiveList (pxTimer_18, _23, xTimeNow_24, _21);
  2167. if (_25 != 0)
  2168. goto <bb 31>; [50.00%]
  2169. else
  2170. goto <bb 43>; [50.00%]
  2171. <bb 31> [local count: 976127]:
  2172. # DEBUG BEGIN_STMT
  2173. _26 = pxTimer_18->ucStatus;
  2174. _27 = _26 & 4;
  2175. if (_27 != 0)
  2176. goto <bb 32>; [33.00%]
  2177. else
  2178. goto <bb 33>; [67.00%]
  2179. <bb 32> [local count: 322122]:
  2180. # DEBUG BEGIN_STMT
  2181. _28 = xMessage.u.xTimerParameters.xMessageValue;
  2182. _29 = pxTimer_18->xTimerPeriodInTicks;
  2183. _30 = _28 + _29;
  2184. prvReloadTimer (pxTimer_18, _30, xTimeNow_24);
  2185. goto <bb 34>; [100.00%]
  2186. <bb 33> [local count: 654005]:
  2187. # DEBUG BEGIN_STMT
  2188. _31 = _26 & 254;
  2189. pxTimer_18->ucStatus = _31;
  2190. <bb 34> [local count: 976127]:
  2191. # DEBUG BEGIN_STMT
  2192. # DEBUG BEGIN_STMT
  2193. _32 = pxTimer_18->pxCallbackFunction;
  2194. _32 (pxTimer_18);
  2195. goto <bb 43>; [100.00%]
  2196. <bb 35> [local count: 1952255]:
  2197. # pxTimer_33 = PHI <pxTimer_13(29)>
  2198. <L3>:
  2199. # DEBUG BEGIN_STMT
  2200. _34 = pxTimer_33->ucStatus;
  2201. _35 = _34 & 254;
  2202. pxTimer_33->ucStatus = _35;
  2203. # DEBUG BEGIN_STMT
  2204. goto <bb 43>; [100.00%]
  2205. <bb 36> [local count: 1952255]:
  2206. # pxTimer_36 = PHI <pxTimer_13(29)>
  2207. # xTimeNow_41 = PHI <xTimeNow_16(29)>
  2208. <L4>:
  2209. # DEBUG BEGIN_STMT
  2210. _37 = pxTimer_36->ucStatus;
  2211. _38 = _37 | 1;
  2212. pxTimer_36->ucStatus = _38;
  2213. # DEBUG BEGIN_STMT
  2214. _39 = xMessage.u.xTimerParameters.xMessageValue;
  2215. pxTimer_36->xTimerPeriodInTicks = _39;
  2216. # DEBUG BEGIN_STMT
  2217. if (_39 == 0)
  2218. goto <bb 37>; [5.50%]
  2219. else
  2220. goto <bb 39>; [94.50%]
  2221. <bb 37> [local count: 107374]:
  2222. # DEBUG BEGIN_STMT
  2223. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2224. # DEBUG BEGIN_STMT
  2225. # DEBUG BEGIN_STMT
  2226. __asm__ __volatile__(" mov %0, %1
  2227. msr basepri, %0
  2228. isb
  2229. dsb
  2230. " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  2231. # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
  2232. <bb 38> [local count: 1073741824]:
  2233. # DEBUG ulNewBASEPRI => NULL
  2234. # DEBUG BEGIN_STMT
  2235. # DEBUG BEGIN_STMT
  2236. # DEBUG BEGIN_STMT
  2237. goto <bb 38>; [100.00%]
  2238. <bb 39> [local count: 1844881]:
  2239. # DEBUG BEGIN_STMT
  2240. # DEBUG BEGIN_STMT
  2241. _42 = _39 + xTimeNow_41;
  2242. prvInsertTimerInActiveList (pxTimer_36, _42, xTimeNow_41, xTimeNow_41);
  2243. # DEBUG BEGIN_STMT
  2244. goto <bb 43>; [100.00%]
  2245. <bb 40> [local count: 1952255]:
  2246. # pxTimer_43 = PHI <pxTimer_13(29)>
  2247. <L5>:
  2248. # DEBUG BEGIN_STMT
  2249. _44 = pxTimer_43->ucStatus;
  2250. _45 = _44 & 2;
  2251. if (_45 == 0)
  2252. goto <bb 41>; [33.00%]
  2253. else
  2254. goto <bb 42>; [67.00%]
  2255. <bb 41> [local count: 644244]:
  2256. # DEBUG BEGIN_STMT
  2257. vPortFree (pxTimer_43);
  2258. goto <bb 43>; [100.00%]
  2259. <bb 42> [local count: 1308011]:
  2260. # DEBUG BEGIN_STMT
  2261. _46 = _44 & 254;
  2262. pxTimer_43->ucStatus = _46;
  2263. <bb 43> [local count: 7701644]:
  2264. <bb 44> [local count: 18138407]:
  2265. # DEBUG xNextExpireTime => NULL
  2266. # DEBUG xListWasEmpty => NULL
  2267. # DEBUG xTimerListsWereSwitched => NULL
  2268. # DEBUG xTimeNow => NULL
  2269. <bb 45> [local count: 20090662]:
  2270. <L6>:
  2271. <bb 46> [local count: 187807075]:
  2272. # DEBUG BEGIN_STMT
  2273. xTimerQueue.16_47 = xTimerQueue;
  2274. _48 = xQueueReceive (xTimerQueue.16_47, &xMessage, 0);
  2275. if (_48 != 0)
  2276. goto <bb 21>; [94.50%]
  2277. else
  2278. goto <bb 47>; [5.50%]
  2279. <bb 47> [local count: 10329389]:
  2280. xMessage ={v} {CLOBBER};
  2281. # DEBUG D#11 => {CLOBBER}
  2282. # DEBUG xTimerListsWereSwitched => D#11
  2283. goto <bb 3>; [100.00%]
  2284. }
  2285. ;; Function xTimerCreateTimerTask (xTimerCreateTimerTask, funcdef_no=4, decl_uid=6377, cgraph_uid=5, symbol_order=10)
  2286. xTimerCreateTimerTask ()
  2287. {
  2288. uint32_t ulNewBASEPRI;
  2289. BaseType_t xReturn;
  2290. struct QueueDefinition * xTimerQueue.0_1;
  2291. <bb 2> [local count: 146556]:
  2292. # DEBUG BEGIN_STMT
  2293. # DEBUG xReturn => 0
  2294. # DEBUG BEGIN_STMT
  2295. prvCheckForValidListAndQueue ();
  2296. # DEBUG BEGIN_STMT
  2297. xTimerQueue.0_1 = xTimerQueue;
  2298. if (xTimerQueue.0_1 != 0B)
  2299. goto <bb 4>; [53.47%]
  2300. else
  2301. goto <bb 5>; [46.53%]
  2302. <bb 4> [local count: 78363]:
  2303. # DEBUG BEGIN_STMT
  2304. xReturn_5 = xTaskCreate (prvTimerTask, "Tmr Svc", 180, 0B, 2, &xTimerTaskHandle);
  2305. # DEBUG xReturn => xReturn_5
  2306. # DEBUG BEGIN_STMT
  2307. # DEBUG BEGIN_STMT
  2308. if (xReturn_5 == 0)
  2309. goto <bb 5>; [50.00%]
  2310. else
  2311. goto <bb 7>; [50.00%]
  2312. <bb 5> [local count: 107374]:
  2313. # DEBUG xReturn => NULL
  2314. # DEBUG BEGIN_STMT
  2315. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2316. # DEBUG BEGIN_STMT
  2317. # DEBUG BEGIN_STMT
  2318. __asm__ __volatile__(" mov %0, %1
  2319. msr basepri, %0
  2320. isb
  2321. dsb
  2322. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  2323. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  2324. <bb 6> [local count: 1073741824]:
  2325. # DEBUG ulNewBASEPRI => NULL
  2326. # DEBUG BEGIN_STMT
  2327. # DEBUG BEGIN_STMT
  2328. # DEBUG BEGIN_STMT
  2329. <bb 8> [local count: 1073741824]:
  2330. goto <bb 6>; [100.00%]
  2331. <bb 7> [local count: 39182]:
  2332. # DEBUG BEGIN_STMT
  2333. # DEBUG BEGIN_STMT
  2334. return xReturn_5;
  2335. }
  2336. ;; Function xTimerCreate (xTimerCreate, funcdef_no=5, decl_uid=6345, cgraph_uid=6, symbol_order=11)
  2337. Symbols to be put in SSA form
  2338. { D.6806 }
  2339. Incremental SSA update started at block: 0
  2340. Number of blocks in CFG: 14
  2341. Number of blocks to update: 13 ( 93%)
  2342. Merging blocks 3 and 6
  2343. Removing basic block 5
  2344. Merging blocks 9 and 10
  2345. Merging blocks 3 and 7
  2346. ;; 2 loops found
  2347. ;;
  2348. ;; Loop 0
  2349. ;; header 0, latch 1
  2350. ;; depth 0, outer -1
  2351. ;; nodes: 0 1 2 3 4 5 6 7 8 9
  2352. ;;
  2353. ;; Loop 1
  2354. ;; header 5, latch 5
  2355. ;; depth 1, outer 0
  2356. ;; nodes: 5
  2357. ;; 2 succs { 3 9 }
  2358. ;; 3 succs { 4 6 }
  2359. ;; 4 succs { 5 }
  2360. ;; 5 succs { 5 }
  2361. ;; 6 succs { 7 8 }
  2362. ;; 7 succs { 8 }
  2363. ;; 8 succs { 9 }
  2364. ;; 9 succs { 1 }
  2365. xTimerCreate (const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, void (*TimerCallbackFunction_t) (struct tmrTimerControl *) pxCallbackFunction)
  2366. {
  2367. uint32_t ulNewBASEPRI;
  2368. struct Timer_t * pxNewTimer;
  2369. struct ListItem_t * _13;
  2370. unsigned char _14;
  2371. unsigned char _15;
  2372. <bb 2> [local count: 299719]:
  2373. # DEBUG BEGIN_STMT
  2374. # DEBUG BEGIN_STMT
  2375. pxNewTimer_4 = pvPortMalloc (44);
  2376. # DEBUG pxNewTimer => pxNewTimer_4
  2377. # DEBUG BEGIN_STMT
  2378. if (pxNewTimer_4 != 0B)
  2379. goto <bb 3>; [53.47%]
  2380. else
  2381. goto <bb 9>; [46.53%]
  2382. <bb 3> [local count: 160260]:
  2383. # DEBUG BEGIN_STMT
  2384. pxNewTimer_4->ucStatus = 0;
  2385. # DEBUG BEGIN_STMT
  2386. # DEBUG pcTimerName => pcTimerName_6(D)
  2387. # DEBUG xTimerPeriodInTicks => xTimerPeriodInTicks_7(D)
  2388. # DEBUG uxAutoReload => uxAutoReload_8(D)
  2389. # DEBUG pvTimerID => pvTimerID_9(D)
  2390. # DEBUG pxCallbackFunction => pxCallbackFunction_10(D)
  2391. # DEBUG pxNewTimer => pxNewTimer_4
  2392. # DEBUG INLINE_ENTRY prvInitialiseNewTimer
  2393. # DEBUG BEGIN_STMT
  2394. if (xTimerPeriodInTicks_7(D) == 0)
  2395. goto <bb 4>; [67.00%]
  2396. else
  2397. goto <bb 6>; [33.00%]
  2398. <bb 4> [local count: 107374]:
  2399. # DEBUG BEGIN_STMT
  2400. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2401. # DEBUG BEGIN_STMT
  2402. # DEBUG BEGIN_STMT
  2403. __asm__ __volatile__(" mov %0, %1
  2404. msr basepri, %0
  2405. isb
  2406. dsb
  2407. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  2408. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  2409. <bb 5> [local count: 1073741824]:
  2410. # DEBUG ulNewBASEPRI => NULL
  2411. # DEBUG BEGIN_STMT
  2412. # DEBUG BEGIN_STMT
  2413. # DEBUG BEGIN_STMT
  2414. goto <bb 5>; [100.00%]
  2415. <bb 6> [local count: 52886]:
  2416. # DEBUG BEGIN_STMT
  2417. # DEBUG BEGIN_STMT
  2418. prvCheckForValidListAndQueue ();
  2419. # DEBUG BEGIN_STMT
  2420. pxNewTimer_4->pcTimerName = pcTimerName_6(D);
  2421. # DEBUG BEGIN_STMT
  2422. pxNewTimer_4->xTimerPeriodInTicks = xTimerPeriodInTicks_7(D);
  2423. # DEBUG BEGIN_STMT
  2424. pxNewTimer_4->pvTimerID = pvTimerID_9(D);
  2425. # DEBUG BEGIN_STMT
  2426. pxNewTimer_4->pxCallbackFunction = pxCallbackFunction_10(D);
  2427. # DEBUG BEGIN_STMT
  2428. _13 = &pxNewTimer_4->xTimerListItem;
  2429. vListInitialiseItem (_13);
  2430. # DEBUG BEGIN_STMT
  2431. if (uxAutoReload_8(D) != 0)
  2432. goto <bb 7>; [50.00%]
  2433. else
  2434. goto <bb 8>; [50.00%]
  2435. <bb 7> [local count: 26443]:
  2436. # DEBUG BEGIN_STMT
  2437. _14 = pxNewTimer_4->ucStatus;
  2438. _15 = _14 | 4;
  2439. pxNewTimer_4->ucStatus = _15;
  2440. <bb 8> [local count: 52886]:
  2441. # DEBUG BEGIN_STMT
  2442. <bb 9> [local count: 192345]:
  2443. # DEBUG pcTimerName => NULL
  2444. # DEBUG xTimerPeriodInTicks => NULL
  2445. # DEBUG uxAutoReload => NULL
  2446. # DEBUG pvTimerID => NULL
  2447. # DEBUG pxCallbackFunction => NULL
  2448. # DEBUG pxNewTimer => NULL
  2449. # DEBUG ulNewBASEPRI => NULL
  2450. # DEBUG BEGIN_STMT
  2451. return pxNewTimer_4;
  2452. }
  2453. ;; Function xTimerGenericCommand (xTimerGenericCommand, funcdef_no=7, decl_uid=6383, cgraph_uid=8, symbol_order=13)
  2454. xTimerGenericCommand (struct tmrTimerControl * xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t * const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait)
  2455. {
  2456. uint32_t ulNewBASEPRI;
  2457. struct DaemonTaskMessage_t xMessage;
  2458. BaseType_t xReturn;
  2459. struct QueueDefinition * xTimerQueue.20_1;
  2460. long int _2;
  2461. struct QueueDefinition * xTimerQueue.21_3;
  2462. struct QueueDefinition * xTimerQueue.22_4;
  2463. <bb 2> [local count: 357913]:
  2464. # DEBUG BEGIN_STMT
  2465. # DEBUG xReturn => 0
  2466. # DEBUG BEGIN_STMT
  2467. # DEBUG BEGIN_STMT
  2468. if (xTimer_7(D) == 0B)
  2469. goto <bb 3>; [30.00%]
  2470. else
  2471. goto <bb 5>; [70.00%]
  2472. <bb 3> [local count: 107374]:
  2473. # DEBUG BEGIN_STMT
  2474. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2475. # DEBUG BEGIN_STMT
  2476. # DEBUG BEGIN_STMT
  2477. __asm__ __volatile__(" mov %0, %1
  2478. msr basepri, %0
  2479. isb
  2480. dsb
  2481. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  2482. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  2483. <bb 4> [local count: 1073741824]:
  2484. # DEBUG ulNewBASEPRI => NULL
  2485. # DEBUG BEGIN_STMT
  2486. # DEBUG BEGIN_STMT
  2487. # DEBUG BEGIN_STMT
  2488. <bb 12> [local count: 1073741824]:
  2489. goto <bb 4>; [100.00%]
  2490. <bb 5> [local count: 250539]:
  2491. # DEBUG BEGIN_STMT
  2492. # DEBUG BEGIN_STMT
  2493. xTimerQueue.20_1 = xTimerQueue;
  2494. if (xTimerQueue.20_1 != 0B)
  2495. goto <bb 6>; [70.00%]
  2496. else
  2497. goto <bb 11>; [30.00%]
  2498. <bb 6> [local count: 175378]:
  2499. # DEBUG BEGIN_STMT
  2500. xMessage.xMessageID = xCommandID_9(D);
  2501. # DEBUG BEGIN_STMT
  2502. xMessage.u.xTimerParameters.xMessageValue = xOptionalValue_11(D);
  2503. # DEBUG BEGIN_STMT
  2504. xMessage.u.xTimerParameters.pxTimer = xTimer_7(D);
  2505. # DEBUG BEGIN_STMT
  2506. if (xCommandID_9(D) <= 5)
  2507. goto <bb 7>; [50.00%]
  2508. else
  2509. goto <bb 10>; [50.00%]
  2510. <bb 7> [local count: 87689]:
  2511. # DEBUG BEGIN_STMT
  2512. _2 = xTaskGetSchedulerState ();
  2513. if (_2 == 2)
  2514. goto <bb 8>; [34.00%]
  2515. else
  2516. goto <bb 9>; [66.00%]
  2517. <bb 8> [local count: 29814]:
  2518. # DEBUG BEGIN_STMT
  2519. xTimerQueue.21_3 = xTimerQueue;
  2520. xReturn_22 = xQueueGenericSend (xTimerQueue.21_3, &xMessage, xTicksToWait_20(D), 0);
  2521. # DEBUG xReturn => xReturn_22
  2522. goto <bb 11>; [100.00%]
  2523. <bb 9> [local count: 57875]:
  2524. # DEBUG BEGIN_STMT
  2525. xTimerQueue.22_4 = xTimerQueue;
  2526. xReturn_19 = xQueueGenericSend (xTimerQueue.22_4, &xMessage, 0, 0);
  2527. # DEBUG xReturn => xReturn_19
  2528. goto <bb 11>; [100.00%]
  2529. <bb 10> [local count: 87689]:
  2530. # DEBUG BEGIN_STMT
  2531. xReturn_16 = xQueueGenericSendFromISR (xTimerQueue.20_1, &xMessage, pxHigherPriorityTaskWoken_14(D), 0);
  2532. # DEBUG xReturn => xReturn_16
  2533. <bb 11> [local count: 250539]:
  2534. # xReturn_5 = PHI <0(5), xReturn_16(10), xReturn_19(9), xReturn_22(8)>
  2535. # DEBUG xReturn => xReturn_5
  2536. # DEBUG BEGIN_STMT
  2537. # DEBUG BEGIN_STMT
  2538. xMessage ={v} {CLOBBER};
  2539. return xReturn_5;
  2540. }
  2541. ;; Function xTimerGetTimerDaemonTaskHandle (xTimerGetTimerDaemonTaskHandle, funcdef_no=8, decl_uid=6354, cgraph_uid=9, symbol_order=14)
  2542. xTimerGetTimerDaemonTaskHandle ()
  2543. {
  2544. uint32_t ulNewBASEPRI;
  2545. struct tskTaskControlBlock * xTimerTaskHandle.24_1;
  2546. <bb 2> [local count: 357913]:
  2547. # DEBUG BEGIN_STMT
  2548. xTimerTaskHandle.24_1 = xTimerTaskHandle;
  2549. if (xTimerTaskHandle.24_1 == 0B)
  2550. goto <bb 3>; [30.00%]
  2551. else
  2552. goto <bb 5>; [70.00%]
  2553. <bb 3> [local count: 107374]:
  2554. # DEBUG BEGIN_STMT
  2555. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2556. # DEBUG BEGIN_STMT
  2557. # DEBUG BEGIN_STMT
  2558. __asm__ __volatile__(" mov %0, %1
  2559. msr basepri, %0
  2560. isb
  2561. dsb
  2562. " : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
  2563. # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
  2564. <bb 4> [local count: 1073741824]:
  2565. # DEBUG ulNewBASEPRI => NULL
  2566. # DEBUG BEGIN_STMT
  2567. # DEBUG BEGIN_STMT
  2568. # DEBUG BEGIN_STMT
  2569. <bb 6> [local count: 1073741824]:
  2570. goto <bb 4>; [100.00%]
  2571. <bb 5> [local count: 250539]:
  2572. # DEBUG BEGIN_STMT
  2573. # DEBUG BEGIN_STMT
  2574. return xTimerTaskHandle.24_1;
  2575. }
  2576. ;; Function xTimerGetPeriod (xTimerGetPeriod, funcdef_no=9, decl_uid=6373, cgraph_uid=10, symbol_order=15)
  2577. xTimerGetPeriod (struct tmrTimerControl * xTimer)
  2578. {
  2579. uint32_t ulNewBASEPRI;
  2580. TickType_t _3;
  2581. <bb 2> [local count: 357913]:
  2582. # DEBUG BEGIN_STMT
  2583. # DEBUG pxTimer => xTimer_1(D)
  2584. # DEBUG BEGIN_STMT
  2585. if (xTimer_1(D) == 0B)
  2586. goto <bb 3>; [30.00%]
  2587. else
  2588. goto <bb 5>; [70.00%]
  2589. <bb 3> [local count: 107374]:
  2590. # DEBUG BEGIN_STMT
  2591. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2592. # DEBUG BEGIN_STMT
  2593. # DEBUG BEGIN_STMT
  2594. __asm__ __volatile__(" mov %0, %1
  2595. msr basepri, %0
  2596. isb
  2597. dsb
  2598. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  2599. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  2600. <bb 4> [local count: 1073741824]:
  2601. # DEBUG ulNewBASEPRI => NULL
  2602. # DEBUG BEGIN_STMT
  2603. # DEBUG BEGIN_STMT
  2604. # DEBUG BEGIN_STMT
  2605. <bb 6> [local count: 1073741824]:
  2606. goto <bb 4>; [100.00%]
  2607. <bb 5> [local count: 250539]:
  2608. # DEBUG BEGIN_STMT
  2609. # DEBUG BEGIN_STMT
  2610. _3 = MEM[(struct Timer_t *)xTimer_1(D)].xTimerPeriodInTicks;
  2611. return _3;
  2612. }
  2613. ;; Function vTimerSetReloadMode (vTimerSetReloadMode, funcdef_no=10, decl_uid=6369, cgraph_uid=11, symbol_order=16)
  2614. vTimerSetReloadMode (struct tmrTimerControl * xTimer, const UBaseType_t uxAutoReload)
  2615. {
  2616. uint32_t ulNewBASEPRI;
  2617. unsigned char _1;
  2618. unsigned char _2;
  2619. unsigned char _3;
  2620. unsigned char _4;
  2621. <bb 2> [local count: 230763]:
  2622. # DEBUG BEGIN_STMT
  2623. # DEBUG pxTimer => xTimer_6(D)
  2624. # DEBUG BEGIN_STMT
  2625. if (xTimer_6(D) == 0B)
  2626. goto <bb 3>; [46.53%]
  2627. else
  2628. goto <bb 5>; [53.47%]
  2629. <bb 3> [local count: 107374]:
  2630. # DEBUG BEGIN_STMT
  2631. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2632. # DEBUG BEGIN_STMT
  2633. # DEBUG BEGIN_STMT
  2634. __asm__ __volatile__(" mov %0, %1
  2635. msr basepri, %0
  2636. isb
  2637. dsb
  2638. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  2639. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  2640. <bb 4> [local count: 1073741824]:
  2641. # DEBUG ulNewBASEPRI => NULL
  2642. # DEBUG BEGIN_STMT
  2643. # DEBUG BEGIN_STMT
  2644. # DEBUG BEGIN_STMT
  2645. <bb 9> [local count: 1073741824]:
  2646. goto <bb 4>; [100.00%]
  2647. <bb 5> [local count: 123389]:
  2648. # DEBUG BEGIN_STMT
  2649. # DEBUG BEGIN_STMT
  2650. vPortEnterCritical ();
  2651. # DEBUG BEGIN_STMT
  2652. if (uxAutoReload_9(D) != 0)
  2653. goto <bb 6>; [50.00%]
  2654. else
  2655. goto <bb 7>; [50.00%]
  2656. <bb 6> [local count: 61694]:
  2657. # DEBUG BEGIN_STMT
  2658. _1 = MEM[(struct Timer_t *)xTimer_6(D)].ucStatus;
  2659. _2 = _1 | 4;
  2660. MEM[(struct Timer_t *)xTimer_6(D)].ucStatus = _2;
  2661. goto <bb 8>; [100.00%]
  2662. <bb 7> [local count: 61694]:
  2663. # DEBUG BEGIN_STMT
  2664. _3 = MEM[(struct Timer_t *)xTimer_6(D)].ucStatus;
  2665. _4 = _3 & 251;
  2666. MEM[(struct Timer_t *)xTimer_6(D)].ucStatus = _4;
  2667. <bb 8> [local count: 123389]:
  2668. # DEBUG BEGIN_STMT
  2669. vPortExitCritical ();
  2670. return;
  2671. }
  2672. ;; Function uxTimerGetReloadMode (uxTimerGetReloadMode, funcdef_no=11, decl_uid=6371, cgraph_uid=12, symbol_order=17)
  2673. uxTimerGetReloadMode (struct tmrTimerControl * xTimer)
  2674. {
  2675. uint32_t ulNewBASEPRI;
  2676. UBaseType_t uxReturn;
  2677. unsigned char _1;
  2678. unsigned char _4;
  2679. <bb 2> [local count: 230763]:
  2680. # DEBUG BEGIN_STMT
  2681. # DEBUG pxTimer => xTimer_3(D)
  2682. # DEBUG BEGIN_STMT
  2683. # DEBUG BEGIN_STMT
  2684. if (xTimer_3(D) == 0B)
  2685. goto <bb 3>; [46.53%]
  2686. else
  2687. goto <bb 5>; [53.47%]
  2688. <bb 3> [local count: 107374]:
  2689. # DEBUG BEGIN_STMT
  2690. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2691. # DEBUG BEGIN_STMT
  2692. # DEBUG BEGIN_STMT
  2693. __asm__ __volatile__(" mov %0, %1
  2694. msr basepri, %0
  2695. isb
  2696. dsb
  2697. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2698. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2699. <bb 4> [local count: 1073741824]:
  2700. # DEBUG ulNewBASEPRI => NULL
  2701. # DEBUG BEGIN_STMT
  2702. # DEBUG BEGIN_STMT
  2703. # DEBUG BEGIN_STMT
  2704. <bb 8> [local count: 1073741824]:
  2705. goto <bb 4>; [100.00%]
  2706. <bb 5> [local count: 123389]:
  2707. # DEBUG BEGIN_STMT
  2708. # DEBUG BEGIN_STMT
  2709. vPortEnterCritical ();
  2710. # DEBUG BEGIN_STMT
  2711. _1 = MEM[(struct Timer_t *)xTimer_3(D)].ucStatus;
  2712. _4 = _1 & 4;
  2713. if (_4 == 0)
  2714. goto <bb 7>; [50.00%]
  2715. else
  2716. goto <bb 6>; [50.00%]
  2717. <bb 6> [local count: 61694]:
  2718. # DEBUG BEGIN_STMT
  2719. # DEBUG uxReturn => 1
  2720. <bb 7> [local count: 123389]:
  2721. # uxReturn_2 = PHI <0(5), 1(6)>
  2722. # DEBUG uxReturn => uxReturn_2
  2723. # DEBUG BEGIN_STMT
  2724. vPortExitCritical ();
  2725. # DEBUG BEGIN_STMT
  2726. return uxReturn_2;
  2727. }
  2728. ;; Function xTimerGetExpiryTime (xTimerGetExpiryTime, funcdef_no=12, decl_uid=6375, cgraph_uid=13, symbol_order=18)
  2729. xTimerGetExpiryTime (struct tmrTimerControl * xTimer)
  2730. {
  2731. uint32_t ulNewBASEPRI;
  2732. TickType_t xReturn;
  2733. <bb 2> [local count: 357913]:
  2734. # DEBUG BEGIN_STMT
  2735. # DEBUG pxTimer => xTimer_1(D)
  2736. # DEBUG BEGIN_STMT
  2737. # DEBUG BEGIN_STMT
  2738. if (xTimer_1(D) == 0B)
  2739. goto <bb 3>; [30.00%]
  2740. else
  2741. goto <bb 5>; [70.00%]
  2742. <bb 3> [local count: 107374]:
  2743. # DEBUG BEGIN_STMT
  2744. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2745. # DEBUG BEGIN_STMT
  2746. # DEBUG BEGIN_STMT
  2747. __asm__ __volatile__(" mov %0, %1
  2748. msr basepri, %0
  2749. isb
  2750. dsb
  2751. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  2752. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  2753. <bb 4> [local count: 1073741824]:
  2754. # DEBUG ulNewBASEPRI => NULL
  2755. # DEBUG BEGIN_STMT
  2756. # DEBUG BEGIN_STMT
  2757. # DEBUG BEGIN_STMT
  2758. <bb 6> [local count: 1073741824]:
  2759. goto <bb 4>; [100.00%]
  2760. <bb 5> [local count: 250539]:
  2761. # DEBUG BEGIN_STMT
  2762. # DEBUG BEGIN_STMT
  2763. xReturn_3 = MEM[(struct Timer_t *)xTimer_1(D)].xTimerListItem.xItemValue;
  2764. # DEBUG xReturn => xReturn_3
  2765. # DEBUG BEGIN_STMT
  2766. return xReturn_3;
  2767. }
  2768. ;; Function pcTimerGetName (pcTimerGetName, funcdef_no=13, decl_uid=6366, cgraph_uid=14, symbol_order=19)
  2769. pcTimerGetName (struct tmrTimerControl * xTimer)
  2770. {
  2771. uint32_t ulNewBASEPRI;
  2772. const char * _3;
  2773. <bb 2> [local count: 357913]:
  2774. # DEBUG BEGIN_STMT
  2775. # DEBUG pxTimer => xTimer_1(D)
  2776. # DEBUG BEGIN_STMT
  2777. if (xTimer_1(D) == 0B)
  2778. goto <bb 3>; [30.00%]
  2779. else
  2780. goto <bb 5>; [70.00%]
  2781. <bb 3> [local count: 107374]:
  2782. # DEBUG BEGIN_STMT
  2783. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2784. # DEBUG BEGIN_STMT
  2785. # DEBUG BEGIN_STMT
  2786. __asm__ __volatile__(" mov %0, %1
  2787. msr basepri, %0
  2788. isb
  2789. dsb
  2790. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  2791. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  2792. <bb 4> [local count: 1073741824]:
  2793. # DEBUG ulNewBASEPRI => NULL
  2794. # DEBUG BEGIN_STMT
  2795. # DEBUG BEGIN_STMT
  2796. # DEBUG BEGIN_STMT
  2797. <bb 6> [local count: 1073741824]:
  2798. goto <bb 4>; [100.00%]
  2799. <bb 5> [local count: 250539]:
  2800. # DEBUG BEGIN_STMT
  2801. # DEBUG BEGIN_STMT
  2802. _3 = MEM[(struct Timer_t *)xTimer_1(D)].pcTimerName;
  2803. return _3;
  2804. }
  2805. ;; Function xTimerIsTimerActive (xTimerIsTimerActive, funcdef_no=24, decl_uid=6352, cgraph_uid=25, symbol_order=30)
  2806. xTimerIsTimerActive (struct tmrTimerControl * xTimer)
  2807. {
  2808. uint32_t ulNewBASEPRI;
  2809. unsigned char _1;
  2810. long int _2;
  2811. unsigned char _4;
  2812. <bb 2> [local count: 230763]:
  2813. # DEBUG BEGIN_STMT
  2814. # DEBUG BEGIN_STMT
  2815. # DEBUG pxTimer => xTimer_3(D)
  2816. # DEBUG BEGIN_STMT
  2817. if (xTimer_3(D) == 0B)
  2818. goto <bb 3>; [46.53%]
  2819. else
  2820. goto <bb 5>; [53.47%]
  2821. <bb 3> [local count: 107374]:
  2822. # DEBUG BEGIN_STMT
  2823. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2824. # DEBUG BEGIN_STMT
  2825. # DEBUG BEGIN_STMT
  2826. __asm__ __volatile__(" mov %0, %1
  2827. msr basepri, %0
  2828. isb
  2829. dsb
  2830. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2831. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2832. <bb 4> [local count: 1073741824]:
  2833. # DEBUG ulNewBASEPRI => NULL
  2834. # DEBUG BEGIN_STMT
  2835. # DEBUG BEGIN_STMT
  2836. # DEBUG BEGIN_STMT
  2837. <bb 6> [local count: 1073741824]:
  2838. goto <bb 4>; [100.00%]
  2839. <bb 5> [local count: 123389]:
  2840. # DEBUG BEGIN_STMT
  2841. # DEBUG BEGIN_STMT
  2842. vPortEnterCritical ();
  2843. # DEBUG BEGIN_STMT
  2844. _1 = MEM[(struct Timer_t *)xTimer_3(D)].ucStatus;
  2845. _4 = _1 & 1;
  2846. _2 = (long int) _4;
  2847. # DEBUG xReturn => _2
  2848. # DEBUG BEGIN_STMT
  2849. vPortExitCritical ();
  2850. # DEBUG BEGIN_STMT
  2851. return _2;
  2852. }
  2853. ;; Function pvTimerGetTimerID (pvTimerGetTimerID, funcdef_no=25, decl_uid=6347, cgraph_uid=26, symbol_order=31)
  2854. pvTimerGetTimerID (struct tmrTimerControl * const xTimer)
  2855. {
  2856. uint32_t ulNewBASEPRI;
  2857. void * pvReturn;
  2858. <bb 2> [local count: 230763]:
  2859. # DEBUG BEGIN_STMT
  2860. # DEBUG pxTimer => xTimer_1(D)
  2861. # DEBUG BEGIN_STMT
  2862. # DEBUG BEGIN_STMT
  2863. if (xTimer_1(D) == 0B)
  2864. goto <bb 3>; [46.53%]
  2865. else
  2866. goto <bb 5>; [53.47%]
  2867. <bb 3> [local count: 107374]:
  2868. # DEBUG BEGIN_STMT
  2869. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2870. # DEBUG BEGIN_STMT
  2871. # DEBUG BEGIN_STMT
  2872. __asm__ __volatile__(" mov %0, %1
  2873. msr basepri, %0
  2874. isb
  2875. dsb
  2876. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  2877. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  2878. <bb 4> [local count: 1073741824]:
  2879. # DEBUG ulNewBASEPRI => NULL
  2880. # DEBUG BEGIN_STMT
  2881. # DEBUG BEGIN_STMT
  2882. # DEBUG BEGIN_STMT
  2883. <bb 6> [local count: 1073741824]:
  2884. goto <bb 4>; [100.00%]
  2885. <bb 5> [local count: 123389]:
  2886. # DEBUG BEGIN_STMT
  2887. # DEBUG BEGIN_STMT
  2888. vPortEnterCritical ();
  2889. # DEBUG BEGIN_STMT
  2890. pvReturn_4 = MEM[(struct Timer_t *)xTimer_1(D)].pvTimerID;
  2891. # DEBUG pvReturn => pvReturn_4
  2892. # DEBUG BEGIN_STMT
  2893. vPortExitCritical ();
  2894. # DEBUG BEGIN_STMT
  2895. return pvReturn_4;
  2896. }
  2897. ;; Function vTimerSetTimerID (vTimerSetTimerID, funcdef_no=26, decl_uid=6350, cgraph_uid=27, symbol_order=32)
  2898. vTimerSetTimerID (struct tmrTimerControl * xTimer, void * pvNewID)
  2899. {
  2900. uint32_t ulNewBASEPRI;
  2901. <bb 2> [local count: 230763]:
  2902. # DEBUG BEGIN_STMT
  2903. # DEBUG pxTimer => xTimer_1(D)
  2904. # DEBUG BEGIN_STMT
  2905. if (xTimer_1(D) == 0B)
  2906. goto <bb 3>; [46.53%]
  2907. else
  2908. goto <bb 5>; [53.47%]
  2909. <bb 3> [local count: 107374]:
  2910. # DEBUG BEGIN_STMT
  2911. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2912. # DEBUG BEGIN_STMT
  2913. # DEBUG BEGIN_STMT
  2914. __asm__ __volatile__(" mov %0, %1
  2915. msr basepri, %0
  2916. isb
  2917. dsb
  2918. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  2919. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  2920. <bb 4> [local count: 1073741824]:
  2921. # DEBUG ulNewBASEPRI => NULL
  2922. # DEBUG BEGIN_STMT
  2923. # DEBUG BEGIN_STMT
  2924. # DEBUG BEGIN_STMT
  2925. <bb 6> [local count: 1073741824]:
  2926. goto <bb 4>; [100.00%]
  2927. <bb 5> [local count: 123389]:
  2928. # DEBUG BEGIN_STMT
  2929. # DEBUG BEGIN_STMT
  2930. vPortEnterCritical ();
  2931. # DEBUG BEGIN_STMT
  2932. MEM[(struct Timer_t *)xTimer_1(D)].pvTimerID = pvNewID_4(D);
  2933. # DEBUG BEGIN_STMT
  2934. vPortExitCritical ();
  2935. return;
  2936. }
  2937. ;; Function xTimerPendFunctionCallFromISR (xTimerPendFunctionCallFromISR, funcdef_no=27, decl_uid=6359, cgraph_uid=28, symbol_order=33)
  2938. xTimerPendFunctionCallFromISR (void (*PendedFunction_t) (void *, uint32_t) xFunctionToPend, void * pvParameter1, uint32_t ulParameter2, BaseType_t * pxHigherPriorityTaskWoken)
  2939. {
  2940. BaseType_t xReturn;
  2941. struct DaemonTaskMessage_t xMessage;
  2942. struct QueueDefinition * xTimerQueue.25_1;
  2943. <bb 2> [local count: 1073741824]:
  2944. # DEBUG BEGIN_STMT
  2945. # DEBUG BEGIN_STMT
  2946. # DEBUG BEGIN_STMT
  2947. xMessage.xMessageID = -2;
  2948. # DEBUG BEGIN_STMT
  2949. xMessage.u.xCallbackParameters.pxCallbackFunction = xFunctionToPend_4(D);
  2950. # DEBUG BEGIN_STMT
  2951. xMessage.u.xCallbackParameters.pvParameter1 = pvParameter1_6(D);
  2952. # DEBUG BEGIN_STMT
  2953. xMessage.u.xCallbackParameters.ulParameter2 = ulParameter2_8(D);
  2954. # DEBUG BEGIN_STMT
  2955. xTimerQueue.25_1 = xTimerQueue;
  2956. xReturn_12 = xQueueGenericSendFromISR (xTimerQueue.25_1, &xMessage, pxHigherPriorityTaskWoken_10(D), 0);
  2957. # DEBUG xReturn => xReturn_12
  2958. # DEBUG BEGIN_STMT
  2959. # DEBUG BEGIN_STMT
  2960. xMessage ={v} {CLOBBER};
  2961. return xReturn_12;
  2962. }
  2963. ;; Function xTimerPendFunctionCall (xTimerPendFunctionCall, funcdef_no=28, decl_uid=6364, cgraph_uid=29, symbol_order=34)
  2964. xTimerPendFunctionCall (void (*PendedFunction_t) (void *, uint32_t) xFunctionToPend, void * pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait)
  2965. {
  2966. uint32_t ulNewBASEPRI;
  2967. BaseType_t xReturn;
  2968. struct DaemonTaskMessage_t xMessage;
  2969. struct QueueDefinition * xTimerQueue.26_1;
  2970. <bb 2> [local count: 230763]:
  2971. # DEBUG BEGIN_STMT
  2972. # DEBUG BEGIN_STMT
  2973. # DEBUG BEGIN_STMT
  2974. xTimerQueue.26_1 = xTimerQueue;
  2975. if (xTimerQueue.26_1 == 0B)
  2976. goto <bb 3>; [46.53%]
  2977. else
  2978. goto <bb 5>; [53.47%]
  2979. <bb 3> [local count: 107374]:
  2980. # DEBUG BEGIN_STMT
  2981. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2982. # DEBUG BEGIN_STMT
  2983. # DEBUG BEGIN_STMT
  2984. __asm__ __volatile__(" mov %0, %1
  2985. msr basepri, %0
  2986. isb
  2987. dsb
  2988. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  2989. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  2990. <bb 4> [local count: 1073741824]:
  2991. # DEBUG ulNewBASEPRI => NULL
  2992. # DEBUG BEGIN_STMT
  2993. # DEBUG BEGIN_STMT
  2994. # DEBUG BEGIN_STMT
  2995. <bb 6> [local count: 1073741824]:
  2996. goto <bb 4>; [100.00%]
  2997. <bb 5> [local count: 123389]:
  2998. # DEBUG BEGIN_STMT
  2999. # DEBUG BEGIN_STMT
  3000. xMessage.xMessageID = -1;
  3001. # DEBUG BEGIN_STMT
  3002. xMessage.u.xCallbackParameters.pxCallbackFunction = xFunctionToPend_4(D);
  3003. # DEBUG BEGIN_STMT
  3004. xMessage.u.xCallbackParameters.pvParameter1 = pvParameter1_6(D);
  3005. # DEBUG BEGIN_STMT
  3006. xMessage.u.xCallbackParameters.ulParameter2 = ulParameter2_8(D);
  3007. # DEBUG BEGIN_STMT
  3008. xReturn_12 = xQueueGenericSend (xTimerQueue.26_1, &xMessage, xTicksToWait_10(D), 0);
  3009. # DEBUG xReturn => xReturn_12
  3010. # DEBUG BEGIN_STMT
  3011. # DEBUG BEGIN_STMT
  3012. xMessage ={v} {CLOBBER};
  3013. return xReturn_12;
  3014. }
  3015. ;; Function uxTimerGetTimerNumber (uxTimerGetTimerNumber, funcdef_no=29, decl_uid=6388, cgraph_uid=30, symbol_order=35)
  3016. uxTimerGetTimerNumber (struct tmrTimerControl * xTimer)
  3017. {
  3018. UBaseType_t _3;
  3019. <bb 2> [local count: 1073741824]:
  3020. # DEBUG BEGIN_STMT
  3021. _3 = MEM[(struct Timer_t *)xTimer_2(D)].uxTimerNumber;
  3022. return _3;
  3023. }
  3024. ;; Function vTimerSetTimerNumber (vTimerSetTimerNumber, funcdef_no=30, decl_uid=6386, cgraph_uid=31, symbol_order=36)
  3025. vTimerSetTimerNumber (struct tmrTimerControl * xTimer, UBaseType_t uxTimerNumber)
  3026. {
  3027. <bb 2> [local count: 1073741824]:
  3028. # DEBUG BEGIN_STMT
  3029. MEM[(struct Timer_t *)xTimer_2(D)].uxTimerNumber = uxTimerNumber_3(D);
  3030. return;
  3031. }