12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366 |
- IPA function summary for xEventGroupSetBits.part.0/39 inlinable
- global time: 189.559092
- self size: 39
- global size: 39
- min size: 10
- self stack: 0
- global stack: 0
- size:26.500000, time:118.036364
- size:7.500000, time:10.744546, executed if:(not inlined)
- calls:
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:1.00 size: 1 time: 10
- vTaskRemoveFromUnorderedEventList/28 function body not available
- loop depth: 1 freq:3.40 size: 3 time: 12
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:1.00 size: 1 time: 10
- IPA function summary for xEventGroupClearBits.part.0/36 inlinable
- global time: 26.000000
- self size: 9
- global size: 9
- min size: 4
- self stack: 0
- global stack: 0
- size:2.000000, time:2.000000
- size:4.000000, time:3.000000, executed if:(not inlined)
- size:1.000000, time:1.000000, nonconst if:(op1 changed)
- calls:
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:1.00 size: 1 time: 10
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:1.00 size: 1 time: 10
- IPA function summary for vEventGroupSetNumber/17 inlinable
- global time: 3.000000
- self size: 4
- global size: 4
- min size: 0
- self stack: 0
- global stack: 0
- size:0.500000, time:0.500000
- size:3.500000, time:2.500000, executed if:(not inlined)
- calls:
- IPA function summary for uxEventGroupGetNumber/16 inlinable
- global time: 4.700000
- self size: 6
- global size: 6
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
- size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
- calls:
- IPA function summary for xEventGroupSetBitsFromISR/15 inlinable
- global time: 17.000000
- self size: 9
- global size: 9
- min size: 12
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xTimerPendFunctionCallFromISR/27 function body not available
- loop depth: 0 freq:1.00 size: 6 time: 15
- op0 is compile time invariant
- IPA function summary for prvTestWaitCondition/14 inlinable
- global time: 7.000000
- self size: 11
- global size: 11
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op2 changed)
- size:3.000000, time:1.500000, executed if:(op2 != 0), nonconst if:(op0 changed || op1 changed) && (op2 != 0)
- size:3.000000, time:1.500000, executed if:(op2 == 0), nonconst if:(op0 changed || op1 changed) && (op2 == 0)
- calls:
- IPA function summary for vEventGroupClearBitsCallback/13 inlinable
- global time: 14.000000
- self size: 6
- global size: 6
- min size: 6
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xEventGroupClearBits/7 function not considered for inlining
- loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
- IPA function summary for vEventGroupSetBitsCallback/12 inlinable
- global time: 14.000000
- self size: 6
- global size: 6
- min size: 6
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xEventGroupSetBits/10 function not considered for inlining
- loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
- IPA function summary for vEventGroupDelete/11 inlinable
- global time: 100.024761
- self size: 28
- global size: 28
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:2.000000, time:5.410727, executed if:(op0 != 0B) && (not inlined)
- size:10.000000, time:25.603487, executed if:(op0 != 0B)
- size:5.000000, time:2.326499, executed if:(op0 == 0B)
- calls:
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B)
- vPortFree/29 function body not available
- loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B)
- vTaskRemoveFromUnorderedEventList/28 function body not available
- loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B)
- op1 is compile time invariant
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
- IPA function summary for xEventGroupSetBits/10 inlinable
- global time: 11.410047
- self size: 22
- global size: 22
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:3.000000, time:2.100008, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined)
- size:5.000000, time:2.345004, executed if:(op0 != 0B)
- size:5.000000, time:1.500009, executed if:(op0 == 0B)
- calls:
- xEventGroupSetBits.part.0/39 function not considered for inlining
- loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0 predicate: (op0 != 0B)
- IPA function summary for xEventGroupGetBitsFromISR/9 inlinable
- global time: 10.000000
- self size: 11
- global size: 11
- min size: 0
- self stack: 0
- global stack: 0
- size:7.500000, time:7.500000
- size:3.500000, time:2.500000, executed if:(not inlined)
- calls:
- IPA function summary for xEventGroupClearBitsFromISR/8 inlinable
- global time: 17.000000
- self size: 9
- global size: 9
- min size: 12
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xTimerPendFunctionCallFromISR/27 function body not available
- loop depth: 0 freq:1.00 size: 6 time: 15
- op0 is compile time invariant
- op3 is compile time invariant
- IPA function summary for xEventGroupClearBits/7 inlinable
- global time: 11.410047
- self size: 22
- global size: 22
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:3.000000, time:2.100008, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined)
- size:5.000000, time:2.345004, executed if:(op0 != 0B)
- size:5.000000, time:1.500009, executed if:(op0 == 0B)
- calls:
- xEventGroupClearBits.part.0/36 function not considered for inlining
- loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0 != 0B)
- IPA function summary for xEventGroupWaitBits/6 inlinable
- global time: 16.066158
- self size: 92
- global size: 92
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:5.000000, time:2.799999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:18.000000, time:0.896349, executed if:(op1 != 0) && (op0 != 0B)
- size:4.000000, time:0.231577, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B)
- size:5.000000, time:0.193459, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.198354, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
- size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.009600, executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.019202, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:4.000000, time:0.089483, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.022371, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B)
- size:3.000000, time:0.033556, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.011185, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined)
- size:5.000000, time:1.172506, executed if:(op1 == 0) && (op0 != 0B)
- size:5.000000, time:1.749999, executed if:(op0 != 0B)
- size:5.000000, time:1.500002, executed if:(op0 == 0B)
- calls:
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- prvTestWaitCondition/14 function not considered for inlining
- loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- uxTaskResetEventItemValue/24 function body not available
- loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- vTaskPlaceOnUnorderedEventList/22 function body not available
- loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B)
- prvTestWaitCondition/14 function not considered for inlining
- loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- xTaskGetSchedulerState/20 function body not available
- loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- IPA function summary for xEventGroupSync/5 inlinable
- global time: 17.570981
- self size: 74
- global size: 74
- min size: 0
- self stack: 0
- global stack: 0
- size:5.000000, time:2.500000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:5.000000, time:4.000000, nonconst if:(op2 changed)
- size:24.500000, time:1.601894, executed if:(op2 != 0)
- size:4.000000, time:0.365936, executed if:(op2 != 0), nonconst if:(op3 changed) && (op2 != 0)
- size:5.000000, time:0.276370, executed if:(op3 != 0) && (op2 != 0)
- size:3.500000, time:0.323745, executed if:(op2 != 0) && (not inlined)
- size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0) && (not inlined)
- size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0)
- size:1.000000, time:0.023898, executed if:(op3 != 0) && (op2 != 0), nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0)
- size:2.000000, time:0.043460, executed if:(op2 != 0), nonconst if:(op2 changed) && (op2 != 0)
- size:5.000000, time:1.675010, executed if:(op2 == 0)
- calls:
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
- uxTaskResetEventItemValue/24 function body not available
- loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0)
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0)
- vTaskPlaceOnUnorderedEventList/22 function body not available
- loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0)
- xEventGroupSetBits/10 function not considered for inlining
- loop depth: 0 freq:0.11 size: 3 time: 12callee size:11 stack: 0 predicate: (op2 != 0)
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0)
- xTaskGetSchedulerState/20 function body not available
- loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0)
- IPA function summary for xEventGroupCreate/4 inlinable
- global time: 22.416400
- self size: 11
- global size: 11
- min size: 10
- self stack: 0
- global stack: 0
- size:3.000000, time:2.534700
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- vListInitialise/19 function body not available
- loop depth: 0 freq:0.53 size: 2 time: 11
- pvPortMalloc/18 function body not available
- loop depth: 0 freq:1.00 size: 3 time: 12
- op0 is compile time invariant
- Flattening functions:
- Overall time estimate: 481.157486 weighted by profile: 0.000000
- Deciding on inlining of small functions. Starting with size 0.
- Enqueueing calls in xEventGroupSetBits.part.0/39.
- Enqueueing calls in xEventGroupClearBits.part.0/36.
- Enqueueing calls in vEventGroupSetNumber/17.
- Enqueueing calls in uxEventGroupGetNumber/16.
- Enqueueing calls in xEventGroupSetBitsFromISR/15.
- Enqueueing calls in prvTestWaitCondition/14.
- Enqueueing calls in vEventGroupClearBitsCallback/13.
- Enqueueing calls in vEventGroupSetBitsCallback/12.
- Enqueueing calls in vEventGroupDelete/11.
- Enqueueing calls in xEventGroupSetBits/10.
- Enqueueing calls in xEventGroupGetBitsFromISR/9.
- Enqueueing calls in xEventGroupClearBitsFromISR/8.
- Enqueueing calls in xEventGroupClearBits/7.
- Enqueueing calls in xEventGroupWaitBits/6.
- Enqueueing calls in xEventGroupSync/5.
- Enqueueing calls in xEventGroupCreate/4.
- Considering xEventGroupClearBits.part.0/36 with 9 size
- to be inlined into xEventGroupClearBits/7 in unknown:0
- Estimated badness is -0.642787, frequency 0.23.
- Considering prvTestWaitCondition/14 with 11 size
- to be inlined into xEventGroupWaitBits/6 in ../FreeRTOS/Source/event_groups.c:344
- Estimated badness is -0.017248, frequency 0.08.
- Considering prvTestWaitCondition/14 with 11 size
- to be inlined into xEventGroupWaitBits/6 in ../FreeRTOS/Source/event_groups.c:435
- Estimated badness is -0.002846, frequency 0.01.
- Considering xEventGroupSetBits.part.0/39 with 39 size
- to be inlined into xEventGroupSetBits/10 in unknown:0
- Estimated badness is -0.000015, frequency 0.23.
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Deciding on functions to be inlined into all callers and removing useless speculations:
- Overall time estimate: 298.406526 weighted by profile: 0.000000
- Why inlining failed?
- function body not available : 27 calls, 11.643358 freq, 0 count
- --param max-inline-insns-auto limit reached : 1 calls, 0.109724 freq, 0 count
- call is unlikely and code size would grow : 2 calls, 2.000000 freq, 0 count
- IPA function summary for vEventGroupSetNumber/17 inlinable
- global time: 3.000000
- self size: 4
- global size: 4
- min size: 0
- self stack: 0
- global stack: 0
- size:0.500000, time:0.500000
- size:3.500000, time:2.500000, executed if:(not inlined)
- calls:
- IPA function summary for uxEventGroupGetNumber/16 inlinable
- global time: 4.700000
- self size: 6
- global size: 6
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
- size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
- calls:
- IPA function summary for xEventGroupSetBitsFromISR/15 inlinable
- global time: 17.000000
- self size: 9
- global size: 9
- min size: 12
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xTimerPendFunctionCallFromISR/27 function body not available
- loop depth: 0 freq:1.00 size: 6 time: 15
- op0 is compile time invariant
- IPA function summary for vEventGroupClearBitsCallback/13 inlinable
- global time: 14.000000
- self size: 6
- global size: 6
- min size: 6
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xEventGroupClearBits/7 call is unlikely and code size would grow
- loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
- IPA function summary for vEventGroupSetBitsCallback/12 inlinable
- global time: 14.000000
- self size: 6
- global size: 6
- min size: 6
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xEventGroupSetBits/10 call is unlikely and code size would grow
- loop depth: 0 freq:1.00 size: 3 time: 12callee size:25 stack: 0
- IPA function summary for vEventGroupDelete/11 inlinable
- global time: 100.024761
- self size: 28
- global size: 28
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:2.000000, time:5.410727, executed if:(op0 != 0B) && (not inlined)
- size:10.000000, time:25.603487, executed if:(op0 != 0B)
- size:5.000000, time:2.326499, executed if:(op0 == 0B)
- calls:
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B)
- vPortFree/29 function body not available
- loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B)
- vTaskRemoveFromUnorderedEventList/28 function body not available
- loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B)
- op1 is compile time invariant
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
- IPA function summary for xEventGroupSetBits/10 inlinable
- global time: 49.713483
- self size: 22
- global size: 50
- min size: 0
- self stack: 0
- global stack: 0
- estimated growth:32
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:3.000000, time:2.100008, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined)
- size:31.500000, time:29.611610, executed if:(op0 != 0B)
- size:5.000000, time:1.500009, executed if:(op0 == 0B)
- calls:
- xEventGroupSetBits.part.0/39 inlined
- loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0
- Stack frame offset 0, callee self size 0, callee size 0
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
- vTaskRemoveFromUnorderedEventList/28 function body not available
- loop depth: 1 freq:0.78 size: 3 time: 12 predicate: (op0 != 0B)
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
- IPA function summary for xEventGroupGetBitsFromISR/9 inlinable
- global time: 10.000000
- self size: 11
- global size: 11
- min size: 0
- self stack: 0
- global stack: 0
- size:7.500000, time:7.500000
- size:3.500000, time:2.500000, executed if:(not inlined)
- calls:
- IPA function summary for xEventGroupClearBitsFromISR/8 inlinable
- global time: 17.000000
- self size: 9
- global size: 9
- min size: 12
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- xTimerPendFunctionCallFromISR/27 function body not available
- loop depth: 0 freq:1.00 size: 6 time: 15
- op0 is compile time invariant
- op3 is compile time invariant
- IPA function summary for xEventGroupClearBits/7 inlinable
- global time: 13.720065
- self size: 22
- global size: 23
- min size: 0
- self stack: 0
- global stack: 0
- estimated growth:16
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:4.000000, time:2.331010, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined)
- size:7.000000, time:2.807008, executed if:(op0 != 0B)
- size:5.000000, time:1.500009, executed if:(op0 == 0B)
- calls:
- xEventGroupClearBits.part.0/36 inlined
- loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0
- Stack frame offset 0, callee self size 0, callee size 0
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
- IPA function summary for xEventGroupWaitBits/6 inlinable
- global time: 15.260836
- self size: 92
- global size: 98
- min size: 0
- self stack: 0
- global stack: 0
- size:0.000000, time:0.000000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:2.000000, time:2.000000, nonconst if:(op0 changed)
- size:5.000000, time:2.799999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
- size:18.000000, time:0.896349, executed if:(op1 != 0) && (op0 != 0B)
- size:4.000000, time:0.231577, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B)
- size:5.000000, time:0.193459, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.198354, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
- size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.009600, executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.019202, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
- size:4.000000, time:0.089483, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B)
- size:2.000000, time:0.022371, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B)
- size:3.000000, time:0.033556, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B)
- size:1.000000, time:0.011185, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined)
- size:5.000000, time:1.172506, executed if:(op1 == 0) && (op0 != 0B)
- size:5.000000, time:1.749999, executed if:(op0 != 0B)
- size:5.000000, time:1.500002, executed if:(op0 == 0B)
- size:4.000000, time:0.178960, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0) && (op0 != 0B)
- size:6.000000, time:0.134220, executed if:(op3 != 0) && (op1 != 0) && (op0 != 0B)
- size:6.000000, time:0.134220, executed if:(op3 == 0) && (op1 != 0) && (op0 != 0B)
- calls:
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- prvTestWaitCondition/14 inlined
- loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0
- Stack frame offset 0, callee self size 0, callee size 0
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- uxTaskResetEventItemValue/24 function body not available
- loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- vTaskPlaceOnUnorderedEventList/22 function body not available
- loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B)
- prvTestWaitCondition/44 inlined
- loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0
- Stack frame offset 0, callee self size 0, callee size 0
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
- xTaskGetSchedulerState/20 function body not available
- loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
- IPA function summary for xEventGroupSync/5 inlinable
- global time: 17.570981
- self size: 74
- global size: 74
- min size: 0
- self stack: 0
- global stack: 0
- size:5.000000, time:2.500000
- size:2.000000, time:0.000000, executed if:(not inlined)
- size:5.000000, time:4.000000, nonconst if:(op2 changed)
- size:24.500000, time:1.601894, executed if:(op2 != 0)
- size:4.000000, time:0.365936, executed if:(op2 != 0), nonconst if:(op3 changed) && (op2 != 0)
- size:5.000000, time:0.276370, executed if:(op3 != 0) && (op2 != 0)
- size:3.500000, time:0.323745, executed if:(op2 != 0) && (not inlined)
- size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0) && (not inlined)
- size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0)
- size:1.000000, time:0.023898, executed if:(op3 != 0) && (op2 != 0), nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0)
- size:2.000000, time:0.043460, executed if:(op2 != 0), nonconst if:(op2 changed) && (op2 != 0)
- size:5.000000, time:1.675010, executed if:(op2 == 0)
- calls:
- vPortExitCritical/26 function body not available
- loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
- vPortEnterCritical/25 function body not available
- loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
- uxTaskResetEventItemValue/24 function body not available
- loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0)
- xTaskResumeAll/23 function body not available
- loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0)
- vTaskPlaceOnUnorderedEventList/22 function body not available
- loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0)
- xEventGroupSetBits/10 --param max-inline-insns-auto limit reached
- loop depth: 0 freq:0.11 size: 3 time: 12callee size:25 stack: 0 predicate: (op2 != 0)
- vTaskSuspendAll/21 function body not available
- loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0)
- xTaskGetSchedulerState/20 function body not available
- loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0)
- IPA function summary for xEventGroupCreate/4 inlinable
- global time: 22.416400
- self size: 11
- global size: 11
- min size: 10
- self stack: 0
- global stack: 0
- size:3.000000, time:2.534700
- size:3.000000, time:2.000000, executed if:(not inlined)
- calls:
- vListInitialise/19 function body not available
- loop depth: 0 freq:0.53 size: 2 time: 11
- pvPortMalloc/18 function body not available
- loop depth: 0 freq:1.00 size: 3 time: 12
- op0 is compile time invariant
- Symbol table:
- prvTestWaitCondition/44 (prvTestWaitCondition) @05de9380
- Type: function definition analyzed
- Visibility:
- next sharing asm name: 14
- References:
- Referring:
- Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
- Clone of prvTestWaitCondition/14
- Availability: local
- Function flags: count:23563 (estimated locally) body local optimize_size
- Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call)
- Calls:
- xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
- Availability: local
- Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call)
- Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call)
- xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
- Availability: local
- Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call)
- Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call)
- vPortFree/29 (vPortFree) @05ecab60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call)
- Calls:
- vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call)
- Calls:
- xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call)
- Calls:
- vPortExitCritical/26 (vPortExitCritical) @05eadd20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
- Calls:
- vPortEnterCritical/25 (vPortEnterCritical) @05eadc40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call)
- Calls:
- uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call)
- Calls:
- xTaskResumeAll/23 (xTaskResumeAll) @05eada80
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
- Calls:
- vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call)
- Calls:
- vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call)
- Calls:
- xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call)
- Calls:
- vListInitialise/19 (vListInitialise) @05ead460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call)
- Calls:
- pvPortMalloc/18 (pvPortMalloc) @05ead380
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call)
- Calls:
- vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: vEventGroupSetBitsCallback/12 (addr)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
- prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- previous sharing asm name: 44
- References:
- Referring:
- Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
- Availability: local
- Function flags: count:3888 (estimated locally) body local optimize_size
- Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call)
- Calls:
- vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80
- Type: function definition analyzed
- Visibility: externally_visible public
- Address is taken.
- References:
- Referring: xEventGroupClearBitsFromISR/8 (addr)
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call)
- vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0
- Type: function definition analyzed
- Visibility: externally_visible public
- Address is taken.
- References:
- Referring: xEventGroupSetBitsFromISR/15 (addr)
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call)
- vEventGroupDelete/11 (vEventGroupDelete) @05ea1540
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:230763 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call)
- xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:228942 (estimated locally) body optimize_size
- Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call)
- Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call)
- xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: vEventGroupClearBitsCallback/13 (addr)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call)
- xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:228942 (estimated locally) body optimize_size
- Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call)
- Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call)
- xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:306783 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call)
- xEventGroupSync/5 (xEventGroupSync) @05e5d460
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:214748 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call)
- xEventGroupCreate/4 (xEventGroupCreate) @05e5d000
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call)
- ;; Function xEventGroupCreate (xEventGroupCreate, funcdef_no=4, decl_uid=6271, cgraph_uid=5, symbol_order=4)
- xEventGroupCreate ()
- {
- struct EventGroup_t * pxEventBits;
- struct List_t * _1;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxEventBits_5 = pvPortMalloc (28);
- # DEBUG pxEventBits => pxEventBits_5
- # DEBUG BEGIN_STMT
- if (pxEventBits_5 != 0B)
- goto <bb 3>; [53.47%]
- else
- goto <bb 4>; [46.53%]
- <bb 3> [local count: 574129754]:
- # DEBUG BEGIN_STMT
- pxEventBits_5->uxEventBits = 0;
- # DEBUG BEGIN_STMT
- _1 = &pxEventBits_5->xTasksWaitingForBits;
- vListInitialise (_1);
- # DEBUG BEGIN_STMT
- <bb 4> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return pxEventBits_5;
- }
- ;; Function xEventGroupWaitBits (xEventGroupWaitBits, funcdef_no=6, decl_uid=6277, cgraph_uid=7, symbol_order=6)
- Symbols to be put in SSA form
- { D.6652 D.6657 }
- Incremental SSA update started at block: 0
- Number of blocks in CFG: 52
- Number of blocks to update: 51 ( 98%)
- Merging blocks 4 and 34
- Merging blocks 7 and 35
- Merging blocks 10 and 36
- Merging blocks 14 and 37
- Merging blocks 15 and 39
- Merging blocks 28 and 46
- Merging blocks 44 and 38
- Merging blocks 51 and 45
- ;; 5 loops found
- ;;
- ;; Loop 0
- ;; header 0, latch 1
- ;; depth 0, outer -1
- ;; 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
- ;;
- ;; Loop 4
- ;; header 4, latch 4
- ;; depth 1, outer 0
- ;; nodes: 4
- ;;
- ;; Loop 3
- ;; header 7, latch 7
- ;; depth 1, outer 0
- ;; nodes: 7
- ;;
- ;; Loop 2
- ;; header 10, latch 10
- ;; depth 1, outer 0
- ;; nodes: 10
- ;;
- ;; Loop 1
- ;; header 14, latch 14
- ;; depth 1, outer 0
- ;; nodes: 14
- ;; 2 succs { 3 5 }
- ;; 3 succs { 4 }
- ;; 4 succs { 4 }
- ;; 5 succs { 6 8 }
- ;; 6 succs { 7 }
- ;; 7 succs { 7 }
- ;; 8 succs { 9 11 }
- ;; 9 succs { 10 }
- ;; 10 succs { 10 }
- ;; 11 succs { 15 12 }
- ;; 12 succs { 15 13 }
- ;; 13 succs { 14 }
- ;; 14 succs { 14 }
- ;; 15 succs { 16 18 }
- ;; 16 succs { 17 20 }
- ;; 17 succs { 20 }
- ;; 18 succs { 19 20 }
- ;; 19 succs { 20 }
- ;; 20 succs { 21 23 }
- ;; 21 succs { 22 29 }
- ;; 22 succs { 29 }
- ;; 23 succs { 29 24 }
- ;; 24 succs { 25 26 }
- ;; 25 succs { 26 }
- ;; 26 succs { 27 28 }
- ;; 27 succs { 28 }
- ;; 28 succs { 29 }
- ;; 29 succs { 30 43 }
- ;; 30 succs { 31 32 }
- ;; 31 succs { 32 }
- ;; 32 succs { 33 42 }
- ;; 33 succs { 34 36 }
- ;; 34 succs { 35 38 }
- ;; 35 succs { 38 }
- ;; 36 succs { 37 38 }
- ;; 37 succs { 38 }
- ;; 38 succs { 39 41 }
- ;; 39 succs { 40 41 }
- ;; 40 succs { 41 }
- ;; 41 succs { 42 }
- ;; 42 succs { 43 }
- ;; 43 succs { 1 }
- xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
- {
- BaseType_t xWaitConditionMet;
- BaseType_t D.6657;
- BaseType_t xWaitConditionMet;
- BaseType_t D.6652;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- const EventBits_t uxCurrentEventBits;
- BaseType_t xAlreadyYielded;
- BaseType_t xWaitConditionMet;
- EventBits_t uxControlBits;
- EventBits_t uxReturn;
- long unsigned int _1;
- long int _2;
- long unsigned int _3;
- long unsigned int _4;
- struct List_t * _5;
- long unsigned int _6;
- long unsigned int _7;
- long int _8;
- long unsigned int _9;
- long unsigned int _10;
- long unsigned int _55;
- long unsigned int _56;
- long unsigned int _58;
- long unsigned int _59;
- <bb 2> [local count: 306783]:
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_22(D)
- # DEBUG BEGIN_STMT
- # DEBUG uxControlBits => 0
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xTimeoutOccurred => 0
- # DEBUG BEGIN_STMT
- if (xEventGroup_22(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 92035]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
- <bb 4> [local count: 920350134]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = uxBitsToWaitFor_23(D) & 4278190080;
- if (_1 != 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxBitsToWaitFor_23(D) == 0)
- goto <bb 9>; [67.00%]
- else
- goto <bb 11>; [33.00%]
- <bb 9> [local count: 71941]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
- <bb 10> [local count: 719407022]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 10>; [100.00%]
- <bb 11> [local count: 35433]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xTaskGetSchedulerState ();
- if (_2 != 0)
- goto <bb 15>; [33.00%]
- else
- goto <bb 12>; [67.00%]
- <bb 12> [local count: 23740]:
- if (xTicksToWait_26(D) == 0)
- goto <bb 15>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 13> [local count: 11870]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
- <bb 14> [local count: 118702159]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [100.00%]
- <bb 15> [local count: 23563]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
- # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
- # DEBUG BEGIN_STMT
- # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
- # DEBUG uxBitsToWaitFor => uxBitsToWaitFor_23(D)
- # DEBUG xWaitForAllBits => xWaitForAllBits_29(D)
- # DEBUG INLINE_ENTRY prvTestWaitCondition
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 0
- # DEBUG BEGIN_STMT
- if (xWaitForAllBits_29(D) == 0)
- goto <bb 16>; [50.00%]
- else
- goto <bb 18>; [50.00%]
- <bb 16> [local count: 11782]:
- # DEBUG BEGIN_STMT
- _55 = uxBitsToWaitFor_23(D) & uxCurrentEventBits_28;
- if (_55 != 0)
- goto <bb 17>; [50.00%]
- else
- goto <bb 20>; [50.00%]
- <bb 17> [local count: 5891]:
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 1
- goto <bb 20>; [100.00%]
- <bb 18> [local count: 11782]:
- # DEBUG BEGIN_STMT
- _56 = uxBitsToWaitFor_23(D) & uxCurrentEventBits_28;
- if (uxBitsToWaitFor_23(D) == _56)
- goto <bb 19>; [34.00%]
- else
- goto <bb 20>; [66.00%]
- <bb 19> [local count: 4006]:
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 1
- <bb 20> [local count: 23563]:
- # xWaitConditionMet_57 = PHI <0(16), 1(17), 0(18), 1(19)>
- # DEBUG xWaitConditionMet => xWaitConditionMet_57
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _61 = xWaitConditionMet_57;
- # DEBUG uxCurrentEventBits => NULL
- # DEBUG uxBitsToWaitFor => NULL
- # DEBUG xWaitForAllBits => NULL
- # DEBUG xWaitConditionMet => NULL
- xWaitConditionMet_31 = _61;
- # DEBUG xWaitConditionMet => xWaitConditionMet_31
- # DEBUG BEGIN_STMT
- if (xWaitConditionMet_31 != 0)
- goto <bb 21>; [50.00%]
- else
- goto <bb 23>; [50.00%]
- <bb 21> [local count: 11782]:
- # DEBUG BEGIN_STMT
- # DEBUG uxReturn => uxCurrentEventBits_28
- # DEBUG BEGIN_STMT
- # DEBUG xTicksToWait => 0
- # DEBUG BEGIN_STMT
- if (xClearOnExit_32(D) != 0)
- goto <bb 22>; [50.00%]
- else
- goto <bb 29>; [50.00%]
- <bb 22> [local count: 5891]:
- # DEBUG BEGIN_STMT
- _3 = ~uxBitsToWaitFor_23(D);
- _4 = _3 & uxCurrentEventBits_28;
- MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
- goto <bb 29>; [100.00%]
- <bb 23> [local count: 11782]:
- # DEBUG BEGIN_STMT
- if (xTicksToWait_26(D) == 0)
- goto <bb 29>; [50.00%]
- else
- goto <bb 24>; [50.00%]
- <bb 24> [local count: 5891]:
- # DEBUG BEGIN_STMT
- if (xClearOnExit_32(D) != 0)
- goto <bb 25>; [50.00%]
- else
- goto <bb 26>; [50.00%]
- <bb 25> [local count: 2945]:
- # DEBUG BEGIN_STMT
- # DEBUG uxControlBits => 16777216
- <bb 26> [local count: 5891]:
- # uxControlBits_15 = PHI <0(24), 16777216(25)>
- # DEBUG uxControlBits => uxControlBits_15
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xWaitForAllBits_29(D) != 0)
- goto <bb 27>; [50.00%]
- else
- goto <bb 28>; [50.00%]
- <bb 27> [local count: 2945]:
- # DEBUG BEGIN_STMT
- uxControlBits_33 = uxControlBits_15 | 67108864;
- # DEBUG uxControlBits => uxControlBits_33
- <bb 28> [local count: 5891]:
- # uxControlBits_16 = PHI <uxControlBits_15(26), uxControlBits_33(27)>
- # DEBUG uxControlBits => uxControlBits_16
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
- _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
- vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
- # DEBUG BEGIN_STMT
- # DEBUG uxReturn => 0
- <bb 29> [local count: 23563]:
- # xTicksToWait_11 = PHI <0(22), xTicksToWait_26(D)(23), xTicksToWait_26(D)(28), 0(21)>
- # uxReturn_12 = PHI <uxCurrentEventBits_28(22), uxCurrentEventBits_28(23), 0(28), uxCurrentEventBits_28(21)>
- # DEBUG xTimeoutOccurred => NULL
- # DEBUG uxReturn => uxReturn_12
- # DEBUG xTicksToWait => xTicksToWait_11
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xAlreadyYielded_37 = xTaskResumeAll ();
- # DEBUG xAlreadyYielded => xAlreadyYielded_37
- # DEBUG BEGIN_STMT
- if (xTicksToWait_11 != 0)
- goto <bb 30>; [50.00%]
- else
- goto <bb 43>; [50.00%]
- <bb 30> [local count: 11782]:
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded_37 == 0)
- goto <bb 31>; [50.00%]
- else
- goto <bb 32>; [50.00%]
- <bb 31> [local count: 5891]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 32> [local count: 11782]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn_42 = uxTaskResetEventItemValue ();
- # DEBUG uxReturn => uxReturn_42
- # DEBUG BEGIN_STMT
- _7 = uxReturn_42 & 33554432;
- if (_7 == 0)
- goto <bb 33>; [33.00%]
- else
- goto <bb 42>; [67.00%]
- <bb 33> [local count: 3888]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
- # DEBUG uxReturn => uxReturn_44
- # DEBUG BEGIN_STMT
- # DEBUG uxCurrentEventBits => uxReturn_44
- # DEBUG uxBitsToWaitFor => uxBitsToWaitFor_23(D)
- # DEBUG xWaitForAllBits => xWaitForAllBits_29(D)
- # DEBUG INLINE_ENTRY prvTestWaitCondition
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 0
- # DEBUG BEGIN_STMT
- if (xWaitForAllBits_29(D) == 0)
- goto <bb 34>; [50.00%]
- else
- goto <bb 36>; [50.00%]
- <bb 34> [local count: 1944]:
- # DEBUG BEGIN_STMT
- _58 = uxBitsToWaitFor_23(D) & uxReturn_44;
- if (_58 != 0)
- goto <bb 35>; [50.00%]
- else
- goto <bb 38>; [50.00%]
- <bb 35> [local count: 972]:
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 1
- goto <bb 38>; [100.00%]
- <bb 36> [local count: 1944]:
- # DEBUG BEGIN_STMT
- _59 = uxBitsToWaitFor_23(D) & uxReturn_44;
- if (uxBitsToWaitFor_23(D) == _59)
- goto <bb 37>; [34.00%]
- else
- goto <bb 38>; [66.00%]
- <bb 37> [local count: 661]:
- # DEBUG BEGIN_STMT
- # DEBUG xWaitConditionMet => 1
- <bb 38> [local count: 3888]:
- # xWaitConditionMet_60 = PHI <0(34), 1(35), 0(36), 1(37)>
- # DEBUG xWaitConditionMet => xWaitConditionMet_60
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _62 = xWaitConditionMet_60;
- # DEBUG uxCurrentEventBits => NULL
- # DEBUG uxBitsToWaitFor => NULL
- # DEBUG xWaitForAllBits => NULL
- # DEBUG xWaitConditionMet => NULL
- _8 = _62;
- if (_8 != 0)
- goto <bb 39>; [50.00%]
- else
- goto <bb 41>; [50.00%]
- <bb 39> [local count: 1944]:
- # DEBUG BEGIN_STMT
- if (xClearOnExit_32(D) != 0)
- goto <bb 40>; [50.00%]
- else
- goto <bb 41>; [50.00%]
- <bb 40> [local count: 972]:
- # DEBUG BEGIN_STMT
- _9 = ~uxBitsToWaitFor_23(D);
- _10 = _9 & uxReturn_44;
- MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
- <bb 41> [local count: 3888]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xTimeoutOccurred => 1
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 42> [local count: 11782]:
- # uxReturn_13 = PHI <uxReturn_42(32), uxReturn_44(41)>
- # DEBUG uxReturn => uxReturn_13
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn_48 = uxReturn_13 & 16777215;
- # DEBUG uxReturn => uxReturn_48
- <bb 43> [local count: 23563]:
- # uxReturn_14 = PHI <uxReturn_12(29), uxReturn_48(42)>
- # DEBUG uxReturn => uxReturn_14
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return uxReturn_14;
- }
- ;; Function xEventGroupClearBits (xEventGroupClearBits, funcdef_no=7, decl_uid=6280, cgraph_uid=8, symbol_order=7)
- Symbols to be put in SSA form
- { D.6574 D.6670 }
- Incremental SSA update started at block: 0
- Number of blocks in CFG: 14
- Number of blocks to update: 13 ( 93%)
- Merging blocks 4 and 9
- Merging blocks 7 and 10
- Removing basic block 8
- Removing basic block 12
- Merging blocks 13 and 11
- ;; 3 loops found
- ;;
- ;; Loop 0
- ;; header 0, latch 1
- ;; depth 0, outer -1
- ;; nodes: 0 1 2 3 4 5 6 7 8
- ;;
- ;; Loop 2
- ;; header 4, latch 4
- ;; depth 1, outer 0
- ;; nodes: 4
- ;;
- ;; Loop 1
- ;; header 7, latch 7
- ;; depth 1, outer 0
- ;; nodes: 7
- ;; 2 succs { 3 5 }
- ;; 3 succs { 4 }
- ;; 4 succs { 4 }
- ;; 5 succs { 6 8 }
- ;; 6 succs { 7 }
- ;; 7 succs { 7 }
- ;; 8 succs { 1 }
- xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
- {
- EventBits_t uxReturn;
- EventBits_t D.6670;
- EventBits_t D.6607;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- long unsigned int _1;
- long unsigned int _12;
- long unsigned int _13;
- <bb 2> [local count: 228942]:
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_3(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xEventGroup_3(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 68683]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
- <bb 4> [local count: 686828460]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = uxBitsToClear_5(D) & 4278190080;
- if (_1 != 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 52886]:
- # DEBUG xEventGroup => xEventGroup_3(D)
- # DEBUG uxBitsToClear => uxBitsToClear_5(D)
- # DEBUG INLINE_ENTRY xEventGroupClearBits
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn_11 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- # DEBUG uxReturn => uxReturn_11
- # DEBUG BEGIN_STMT
- _12 = ~uxBitsToClear_5(D);
- _13 = uxReturn_11 & _12;
- MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _13;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _17 = uxReturn_11;
- # DEBUG xEventGroup => NULL
- # DEBUG uxBitsToClear => NULL
- # DEBUG pxEventBits => NULL
- # DEBUG uxReturn => NULL
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulNewBASEPRI => NULL
- _2 = _17;
- return _2;
- }
- ;; Function vEventGroupClearBitsCallback (vEventGroupClearBitsCallback, funcdef_no=13, decl_uid=6305, cgraph_uid=14, symbol_order=13)
- vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
- {
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
- return;
- }
- ;; Function xEventGroupClearBitsFromISR (xEventGroupClearBitsFromISR, funcdef_no=8, decl_uid=6283, cgraph_uid=9, symbol_order=8)
- xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
- {
- BaseType_t xReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
- # DEBUG xReturn => xReturn_5
- # DEBUG BEGIN_STMT
- return xReturn_5;
- }
- ;; Function xEventGroupGetBitsFromISR (xEventGroupGetBitsFromISR, funcdef_no=9, decl_uid=6297, cgraph_uid=10, symbol_order=9)
- xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
- {
- uint32_t ulOriginalBASEPRI;
- uint32_t ulNewBASEPRI;
- EventBits_t uxReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_1(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
- # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
- # DEBUG BEGIN_STMT
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulOriginalBASEPRI => NULL
- # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
- # DEBUG BEGIN_STMT
- uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
- # DEBUG uxReturn => uxReturn_3
- # DEBUG BEGIN_STMT
- # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
- # DEBUG INLINE_ENTRY vPortSetBASEPRI
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory");
- # DEBUG ulNewMaskValue => NULL
- # DEBUG BEGIN_STMT
- return uxReturn_3;
- }
- ;; Function xEventGroupSetBits (xEventGroupSetBits, funcdef_no=10, decl_uid=6286, cgraph_uid=11, symbol_order=10)
- Symbols to be put in SSA form
- { D.6578 D.6696 }
- Incremental SSA update started at block: 0
- Number of blocks in CFG: 23
- Number of blocks to update: 22 ( 96%)
- Merging blocks 4 and 9
- Merging blocks 7 and 10
- Removing basic block 8
- Removing basic block 12
- Merging blocks 22 and 11
- ;; 5 loops found
- ;;
- ;; Loop 0
- ;; header 0, latch 1
- ;; depth 0, outer -1
- ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
- ;;
- ;; Loop 3
- ;; header 4, latch 4
- ;; depth 1, outer 0
- ;; nodes: 4
- ;;
- ;; Loop 2
- ;; header 7, latch 7
- ;; depth 1, outer 0
- ;; nodes: 7
- ;;
- ;; Loop 4
- ;; header 16, latch 15
- ;; depth 1, outer 0
- ;; nodes: 16 15 10 11 14 12 13 9
- ;; 2 succs { 3 5 }
- ;; 3 succs { 4 }
- ;; 4 succs { 4 }
- ;; 5 succs { 6 8 }
- ;; 6 succs { 7 }
- ;; 7 succs { 7 }
- ;; 8 succs { 16 }
- ;; 9 succs { 10 11 }
- ;; 10 succs { 12 15 }
- ;; 11 succs { 12 15 }
- ;; 12 succs { 13 14 }
- ;; 13 succs { 14 }
- ;; 14 succs { 15 }
- ;; 15 succs { 16 }
- ;; 16 succs { 9 17 }
- ;; 17 succs { 1 }
- xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
- {
- EventBits_t uxBitsWaitedFor;
- EventBits_t uxBitsToClear;
- const struct ListItem_t * pxListEnd;
- struct ListItem_t * pxNext;
- struct ListItem_t * pxListItem;
- EventBits_t D.6696;
- EventBits_t D.6634;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- long unsigned int _1;
- long unsigned int _13;
- long unsigned int _14;
- long unsigned int _19;
- long unsigned int _20;
- long unsigned int _21;
- long unsigned int _22;
- long unsigned int _23;
- long unsigned int _24;
- long unsigned int _27;
- long unsigned int _28;
- long unsigned int _29;
- long unsigned int _31;
- long unsigned int _32;
- long unsigned int _33;
- <bb 2> [local count: 228942]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxBitsToClear => 0
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_3(D)
- # DEBUG BEGIN_STMT
- # DEBUG xMatchFound => 0
- # DEBUG BEGIN_STMT
- if (xEventGroup_3(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 68683]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
- <bb 4> [local count: 686828460]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = uxBitsToSet_4(D) & 4278190080;
- if (_1 != 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 52886]:
- # DEBUG xEventGroup => xEventGroup_3(D)
- # DEBUG uxBitsToSet => uxBitsToSet_4(D)
- # DEBUG INLINE_ENTRY xEventGroupSetBits
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_3(D)].xTasksWaitingForBits
- # DEBUG pxList => D#1
- # DEBUG BEGIN_STMT
- pxListEnd_11 = &MEM[(const struct List_t *)xEventGroup_3(D) + 4B].xListEnd;
- # DEBUG pxListEnd => pxListEnd_11
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxListItem_12 = MEM[(const struct List_t *)xEventGroup_3(D) + 4B].xListEnd.pxNext;
- # DEBUG pxListItem => pxListItem_12
- # DEBUG BEGIN_STMT
- _13 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _14 = uxBitsToSet_4(D) | _13;
- MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _14;
- # DEBUG BEGIN_STMT
- goto <bb 16>; [100.00%]
- <bb 9> [local count: 427893]:
- # DEBUG BEGIN_STMT
- pxNext_16 = pxListItem_15->pxNext;
- # DEBUG pxNext => pxNext_16
- # DEBUG BEGIN_STMT
- uxBitsWaitedFor_17 = pxListItem_15->xItemValue;
- # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_17
- # DEBUG BEGIN_STMT
- # DEBUG xMatchFound => 0
- # DEBUG BEGIN_STMT
- # DEBUG uxControlBits => uxBitsWaitedFor_17 & 4278190080
- # DEBUG BEGIN_STMT
- uxBitsWaitedFor_18 = uxBitsWaitedFor_17 & 16777215;
- # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_18
- # DEBUG BEGIN_STMT
- _19 = uxBitsWaitedFor_17 & 67108864;
- if (_19 == 0)
- goto <bb 10>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 10> [local count: 213947]:
- # DEBUG BEGIN_STMT
- _20 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _21 = uxBitsWaitedFor_18 & _20;
- if (_21 != 0)
- goto <bb 12>; [50.00%]
- else
- goto <bb 15>; [50.00%]
- <bb 11> [local count: 213947]:
- # DEBUG BEGIN_STMT
- _22 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _23 = uxBitsWaitedFor_18 & _22;
- if (uxBitsWaitedFor_18 == _23)
- goto <bb 12>; [34.00%]
- else
- goto <bb 15>; [66.00%]
- <bb 12> [local count: 179715]:
- # DEBUG xMatchFound => NULL
- # DEBUG BEGIN_STMT
- _24 = uxBitsWaitedFor_17 & 16777216;
- if (_24 != 0)
- goto <bb 13>; [50.00%]
- else
- goto <bb 14>; [50.00%]
- <bb 13> [local count: 89858]:
- # DEBUG BEGIN_STMT
- uxBitsToClear_26 = uxBitsWaitedFor_18 | uxBitsToClear_25;
- # DEBUG uxBitsToClear => uxBitsToClear_26
- <bb 14> [local count: 179715]:
- # uxBitsToClear_34 = PHI <uxBitsToClear_25(12), uxBitsToClear_26(13)>
- # DEBUG uxBitsToClear => uxBitsToClear_34
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _27 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _28 = _27 | 33554432;
- vTaskRemoveFromUnorderedEventList (pxListItem_15, _28);
- <bb 15> [local count: 427893]:
- # pxListItem_35 = PHI <pxNext_16(10), pxNext_16(11), pxNext_16(14)>
- # uxBitsToClear_36 = PHI <uxBitsToClear_25(10), uxBitsToClear_25(11), uxBitsToClear_34(14)>
- <bb 16> [local count: 480779]:
- # pxListItem_15 = PHI <pxListItem_12(8), pxListItem_35(15)>
- # uxBitsToClear_25 = PHI <0(8), uxBitsToClear_36(15)>
- # DEBUG xMatchFound => NULL
- # DEBUG uxBitsToClear => uxBitsToClear_25
- # DEBUG pxListItem => pxListItem_15
- # DEBUG BEGIN_STMT
- if (pxListEnd_11 != pxListItem_15)
- goto <bb 9>; [89.00%]
- else
- goto <bb 17>; [11.00%]
- <bb 17> [local count: 52886]:
- # uxBitsToClear_30 = PHI <uxBitsToClear_25(16)>
- # DEBUG BEGIN_STMT
- _29 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _31 = ~uxBitsToClear_30;
- _32 = _29 & _31;
- MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _32;
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- _33 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
- _43 = _33;
- # DEBUG xEventGroup => NULL
- # DEBUG uxBitsToSet => NULL
- # DEBUG pxListItem => NULL
- # DEBUG pxNext => NULL
- # DEBUG pxListEnd => NULL
- # DEBUG pxList => NULL
- # DEBUG uxBitsToClear => NULL
- # DEBUG uxBitsWaitedFor => NULL
- # DEBUG uxControlBits => NULL
- # DEBUG pxEventBits => NULL
- # DEBUG xMatchFound => NULL
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulNewBASEPRI => NULL
- _6 = _43;
- return _6;
- }
- ;; Function xEventGroupSync (xEventGroupSync, funcdef_no=5, decl_uid=6295, cgraph_uid=6, symbol_order=5)
- xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- BaseType_t xAlreadyYielded;
- EventBits_t uxReturn;
- EventBits_t uxOriginalBitValue;
- long unsigned int _1;
- long int _2;
- long unsigned int _3;
- long unsigned int _4;
- long unsigned int _5;
- long unsigned int _6;
- long unsigned int _7;
- struct List_t * _8;
- long unsigned int _9;
- long unsigned int _10;
- long unsigned int _11;
- long unsigned int _12;
- long unsigned int _13;
- <bb 2> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_23(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xTimeoutOccurred => 0
- # DEBUG BEGIN_STMT
- _1 = uxBitsToWaitFor_24(D) & 4278190080;
- if (_1 != 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 26> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxBitsToWaitFor_24(D) == 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 71941]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
- <bb 7> [local count: 719407023]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 27> [local count: 719407023]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 35433]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xTaskGetSchedulerState ();
- if (_2 != 0)
- goto <bb 12>; [33.00%]
- else
- goto <bb 9>; [67.00%]
- <bb 9> [local count: 23740]:
- if (xTicksToWait_27(D) == 0)
- goto <bb 12>; [50.00%]
- else
- goto <bb 10>; [50.00%]
- <bb 10> [local count: 11870]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
- <bb 11> [local count: 118702159]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 28> [local count: 118702159]:
- goto <bb 11>; [100.00%]
- <bb 12> [local count: 23563]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
- # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
- # DEBUG BEGIN_STMT
- xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
- # DEBUG BEGIN_STMT
- _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
- _4 = _3 & uxBitsToWaitFor_24(D);
- if (_4 == uxBitsToWaitFor_24(D))
- goto <bb 13>; [34.00%]
- else
- goto <bb 14>; [66.00%]
- <bb 13> [local count: 8011]:
- # DEBUG BEGIN_STMT
- # DEBUG uxReturn => _3
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
- _6 = ~uxBitsToWaitFor_24(D);
- _7 = _5 & _6;
- MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
- # DEBUG BEGIN_STMT
- # DEBUG xTicksToWait => 0
- goto <bb 17>; [100.00%]
- <bb 14> [local count: 15552]:
- # DEBUG BEGIN_STMT
- if (xTicksToWait_27(D) != 0)
- goto <bb 15>; [33.00%]
- else
- goto <bb 16>; [67.00%]
- <bb 15> [local count: 5132]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
- _9 = uxBitsToWaitFor_24(D) | 83886080;
- vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
- # DEBUG BEGIN_STMT
- # DEBUG uxReturn => 0
- goto <bb 17>; [100.00%]
- <bb 16> [local count: 10420]:
- # DEBUG BEGIN_STMT
- uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
- # DEBUG uxReturn => uxReturn_32
- # DEBUG BEGIN_STMT
- # DEBUG xTimeoutOccurred => 1
- <bb 17> [local count: 23563]:
- # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
- # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
- # DEBUG uxReturn => uxReturn_15
- # DEBUG xTicksToWait => xTicksToWait_14
- # DEBUG BEGIN_STMT
- xAlreadyYielded_36 = xTaskResumeAll ();
- # DEBUG xAlreadyYielded => xAlreadyYielded_36
- # DEBUG BEGIN_STMT
- if (xTicksToWait_14 != 0)
- goto <bb 18>; [50.00%]
- else
- goto <bb 25>; [50.00%]
- <bb 18> [local count: 11782]:
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded_36 == 0)
- goto <bb 19>; [50.00%]
- else
- goto <bb 20>; [50.00%]
- <bb 19> [local count: 5891]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 20> [local count: 11782]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn_41 = uxTaskResetEventItemValue ();
- # DEBUG uxReturn => uxReturn_41
- # DEBUG BEGIN_STMT
- _10 = uxReturn_41 & 33554432;
- if (_10 == 0)
- goto <bb 21>; [33.00%]
- else
- goto <bb 24>; [67.00%]
- <bb 21> [local count: 3888]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
- # DEBUG uxReturn => uxReturn_43
- # DEBUG BEGIN_STMT
- _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
- if (_11 == uxBitsToWaitFor_24(D))
- goto <bb 22>; [34.00%]
- else
- goto <bb 23>; [66.00%]
- <bb 22> [local count: 1322]:
- # DEBUG BEGIN_STMT
- _12 = ~uxBitsToWaitFor_24(D);
- _13 = _12 & uxReturn_43;
- MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
- <bb 23> [local count: 3888]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG xTimeoutOccurred => 1
- <bb 24> [local count: 11782]:
- # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
- # DEBUG uxReturn => uxReturn_16
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn_46 = uxReturn_16 & 16777215;
- # DEBUG uxReturn => uxReturn_46
- <bb 25> [local count: 23563]:
- # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
- # DEBUG uxReturn => uxReturn_17
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return uxReturn_17;
- }
- ;; Function vEventGroupSetBitsCallback (vEventGroupSetBitsCallback, funcdef_no=12, decl_uid=6302, cgraph_uid=13, symbol_order=12)
- vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
- {
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
- return;
- }
- ;; Function vEventGroupDelete (vEventGroupDelete, funcdef_no=11, decl_uid=6299, cgraph_uid=12, symbol_order=11)
- vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct xLIST_ITEM * _1;
- const struct MiniListItem_t * _2;
- long unsigned int _3;
- <bb 2> [local count: 230763]:
- # DEBUG BEGIN_STMT
- if (xEventGroup_5(D) == 0B)
- goto <bb 3>; [46.53%]
- else
- goto <bb 5>; [53.47%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 12> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_5(D)
- # DEBUG BEGIN_STMT
- # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
- # DEBUG pxTasksWaitingForBits => D#2
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 10>; [100.00%]
- <bb 6> [local count: 1089998]:
- # DEBUG BEGIN_STMT
- _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
- _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
- if (_1 == _2)
- goto <bb 7>; [5.50%]
- else
- goto <bb 9>; [94.50%]
- <bb 7> [local count: 59950]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
- <bb 8> [local count: 599500022]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 599500022]:
- goto <bb 8>; [100.00%]
- <bb 9> [local count: 1030048]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskRemoveFromUnorderedEventList (_1, 33554432);
- <bb 10> [local count: 1153437]:
- # DEBUG BEGIN_STMT
- _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
- if (_3 != 0)
- goto <bb 6>; [94.50%]
- else
- goto <bb 11>; [5.50%]
- <bb 11> [local count: 63439]:
- # DEBUG BEGIN_STMT
- vPortFree (xEventGroup_5(D));
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- return;
- }
- ;; Function xEventGroupSetBitsFromISR (xEventGroupSetBitsFromISR, funcdef_no=15, decl_uid=6290, cgraph_uid=16, symbol_order=15)
- xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
- {
- BaseType_t xReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
- # DEBUG xReturn => xReturn_6
- # DEBUG BEGIN_STMT
- return xReturn_6;
- }
- ;; Function uxEventGroupGetNumber (uxEventGroupGetNumber, funcdef_no=16, decl_uid=6307, cgraph_uid=17, symbol_order=16)
- uxEventGroupGetNumber (void * xEventGroup)
- {
- UBaseType_t xReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxEventBits => xEventGroup_2(D)
- # DEBUG BEGIN_STMT
- if (xEventGroup_2(D) == 0B)
- goto <bb 4>; [30.00%]
- else
- goto <bb 3>; [70.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
- # DEBUG xReturn => xReturn_4
- <bb 4> [local count: 1073741824]:
- # xReturn_1 = PHI <0(2), xReturn_4(3)>
- # DEBUG xReturn => xReturn_1
- # DEBUG BEGIN_STMT
- return xReturn_1;
- }
- ;; Function vEventGroupSetNumber (vEventGroupSetNumber, funcdef_no=17, decl_uid=6310, cgraph_uid=18, symbol_order=17)
- vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
- {
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
- return;
- }
|