tasks.c.072i.cp 296 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694
  1. IPA constant propagation start:
  2. Determining dynamic type for call: vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  3. Starting walk at: vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  4. instance pointer: pxNextTCB_12 Outer instance pointer: pxNextTCB_12 offset: 0 (bits) vtbl reference:
  5. Function call may change dynamic type:vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  6. Determining dynamic type for call: vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  7. Starting walk at: vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  8. instance pointer: _16 Outer instance pointer: _16 offset: 0 (bits) vtbl reference:
  9. Function call may change dynamic type:vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  10. Determining dynamic type for call: uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  11. Starting walk at: uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  12. instance pointer: pxTaskStatusArray_26 Outer instance pointer: pxTaskStatusArray_26 offset: 0 (bits) vtbl reference:
  13. Function call may change dynamic type:pxTaskStatusArray_26 = pvPortMalloc (_2);
  14. Determining dynamic type for call: uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  15. Starting walk at: uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  16. instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference:
  17. Function call may change dynamic type:pxTaskStatusArray_26 = pvPortMalloc (_2);
  18. Determining dynamic type for call: pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  19. Starting walk at: pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  20. instance pointer: pcWriteBuffer_16 Outer instance pointer: pcWriteBuffer_16 offset: 0 (bits) vtbl reference:
  21. Function call may change dynamic type:uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  22. Function call may change dynamic type:pxTaskStatusArray_26 = pvPortMalloc (_2);
  23. Function call may change dynamic type:sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
  24. Function call may change dynamic type:pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  25. Determining dynamic type for call: pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  26. Starting walk at: pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  27. instance pointer: _8 Outer instance pointer: _8 offset: 0 (bits) vtbl reference:
  28. Function call may change dynamic type:uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  29. Function call may change dynamic type:pxTaskStatusArray_26 = pvPortMalloc (_2);
  30. Function call may change dynamic type:sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
  31. Function call may change dynamic type:pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  32. Determining dynamic type for call: _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6);
  33. Starting walk at: _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6);
  34. instance pointer: pucEndOfStack_6 Outer instance pointer: pucEndOfStack_6 offset: 0 (bits) vtbl reference:
  35. Determining dynamic type for call: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  36. Starting walk at: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  37. instance pointer: pxTaskStatusArray_8(D) Outer instance pointer: pxTaskStatusArray_8(D) offset: 0 (bits) vtbl reference:
  38. Determining dynamic type for call: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  39. Starting walk at: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  40. instance pointer: pxList_7(D) Outer instance pointer: pxList_7(D) offset: 0 (bits) vtbl reference:
  41. Determining dynamic type for call: _8 = eTaskGetState (iftmp.119_11);
  42. Starting walk at: _8 = eTaskGetState (iftmp.119_11);
  43. instance pointer: iftmp.119_11 Outer instance pointer: iftmp.119_11 offset: 0 (bits) vtbl reference:
  44. Determining dynamic type for call: _10 = prvTaskCheckFreeStackSpace (_9);
  45. Starting walk at: _10 = prvTaskCheckFreeStackSpace (_9);
  46. instance pointer: _9 Outer instance pointer: _9 offset: 0 (bits) vtbl reference:
  47. Function call may change dynamic type:_8 = eTaskGetState (iftmp.119_11);
  48. Function call may change dynamic type:xTaskResumeAll ();
  49. Function call may change dynamic type:vTaskSuspendAll ();
  50. Determining dynamic type for call: prvDeleteTCB (pxTCB_11);
  51. Starting walk at: prvDeleteTCB (pxTCB_11);
  52. instance pointer: pxTCB_11 Outer instance pointer: pxTCB_11 offset: 0 (bits) vtbl reference:
  53. Function call may change dynamic type:vPortExitCritical ();
  54. Function call may change dynamic type:uxListRemove (_2);
  55. Function call may change dynamic type:vPortEnterCritical ();
  56. Function call may change dynamic type:prvDeleteTCB (pxTCB_11);
  57. Function call may change dynamic type:vPortExitCritical ();
  58. Function call may change dynamic type:uxListRemove (_2);
  59. Function call may change dynamic type:vPortEnterCritical ();
  60. Determining dynamic type for call: vTaskInternalSetTimeOutState (pxTimeOut_11(D));
  61. Starting walk at: vTaskInternalSetTimeOutState (pxTimeOut_11(D));
  62. instance pointer: pxTimeOut_11(D) Outer instance pointer: pxTimeOut_11(D) offset: 0 (bits) vtbl reference:
  63. Function call may change dynamic type:vPortEnterCritical ();
  64. Determining dynamic type for call: _1 = eTaskGetState (xTask_18(D));
  65. Starting walk at: _1 = eTaskGetState (xTask_18(D));
  66. instance pointer: xTask_18(D) Outer instance pointer: xTask_18(D) offset: 0 (bits) vtbl reference:
  67. Function call may change dynamic type:vTaskSuspendAll ();
  68. Determining dynamic type for call: _27 = prvListTasksWithinSingleList (_3, _4, 1);
  69. Starting walk at: _27 = prvListTasksWithinSingleList (_3, _4, 1);
  70. instance pointer: _3 Outer instance pointer: _3 offset: 0 (bits) vtbl reference:
  71. Function call may change dynamic type:vTaskSuspendAll ();
  72. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  73. Determining dynamic type for call: _27 = prvListTasksWithinSingleList (_3, _4, 1);
  74. Starting walk at: _27 = prvListTasksWithinSingleList (_3, _4, 1);
  75. instance pointer: _4 Outer instance pointer: &pxReadyTasksLists[uxQueue_24] offset: 0 (bits) vtbl reference:
  76. Function call may change dynamic type:vTaskSuspendAll ();
  77. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  78. Determining dynamic type for call: _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  79. Starting walk at: _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  80. instance pointer: _6 Outer instance pointer: _6 offset: 0 (bits) vtbl reference:
  81. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  82. Function call may change dynamic type:vTaskSuspendAll ();
  83. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  84. Determining dynamic type for call: _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  85. Starting walk at: _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  86. instance pointer: pxDelayedTaskList.73_7 Outer instance pointer: pxDelayedTaskList.73_7 offset: 0 (bits) vtbl reference:
  87. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  88. Function call may change dynamic type:vTaskSuspendAll ();
  89. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  90. Determining dynamic type for call: _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  91. Starting walk at: _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  92. instance pointer: _9 Outer instance pointer: _9 offset: 0 (bits) vtbl reference:
  93. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  94. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  95. Function call may change dynamic type:vTaskSuspendAll ();
  96. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  97. Determining dynamic type for call: _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  98. Starting walk at: _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  99. instance pointer: pxOverflowDelayedTaskList.74_10 Outer instance pointer: pxOverflowDelayedTaskList.74_10 offset: 0 (bits) vtbl reference:
  100. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  101. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  102. Function call may change dynamic type:vTaskSuspendAll ();
  103. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  104. Determining dynamic type for call: _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  105. Starting walk at: _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  106. instance pointer: _12 Outer instance pointer: _12 offset: 0 (bits) vtbl reference:
  107. Function call may change dynamic type:_33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  108. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  109. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  110. Function call may change dynamic type:vTaskSuspendAll ();
  111. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  112. Determining dynamic type for call: _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  113. Starting walk at: _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  114. instance pointer: &xTasksWaitingTermination Outer instance pointer: xTasksWaitingTermination offset: 0 (bits) vtbl reference:
  115. Function call may change dynamic type:_33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  116. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  117. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  118. Function call may change dynamic type:vTaskSuspendAll ();
  119. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  120. Determining dynamic type for call: _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  121. Starting walk at: _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  122. instance pointer: _14 Outer instance pointer: _14 offset: 0 (bits) vtbl reference:
  123. Function call may change dynamic type:_36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  124. Function call may change dynamic type:_33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  125. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  126. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  127. Function call may change dynamic type:vTaskSuspendAll ();
  128. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  129. Determining dynamic type for call: _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  130. Starting walk at: _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  131. instance pointer: &xSuspendedTaskList Outer instance pointer: xSuspendedTaskList offset: 0 (bits) vtbl reference:
  132. Function call may change dynamic type:_36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  133. Function call may change dynamic type:_33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  134. Function call may change dynamic type:_30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  135. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  136. Function call may change dynamic type:vTaskSuspendAll ();
  137. Function call may change dynamic type:_27 = prvListTasksWithinSingleList (_3, _4, 1);
  138. Determining dynamic type for call: pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  139. Starting walk at: pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  140. instance pointer: _2 Outer instance pointer: &pxReadyTasksLists[uxQueue_19] offset: 0 (bits) vtbl reference:
  141. Function call may change dynamic type:vTaskSuspendAll ();
  142. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  143. Determining dynamic type for call: pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  144. Starting walk at: pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  145. instance pointer: pcNameToQuery_17(D) Outer instance pointer: pcNameToQuery_17(D) offset: 0 (bits) vtbl reference:
  146. Function call may change dynamic type:vTaskSuspendAll ();
  147. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  148. Determining dynamic type for call: pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  149. Starting walk at: pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  150. instance pointer: pxDelayedTaskList.70_3 Outer instance pointer: pxDelayedTaskList.70_3 offset: 0 (bits) vtbl reference:
  151. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  152. Function call may change dynamic type:vTaskSuspendAll ();
  153. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  154. Determining dynamic type for call: pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  155. Starting walk at: pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  156. instance pointer: pcNameToQuery_17(D) Outer instance pointer: pcNameToQuery_17(D) offset: 0 (bits) vtbl reference:
  157. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  158. Function call may change dynamic type:vTaskSuspendAll ();
  159. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  160. Determining dynamic type for call: pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  161. Starting walk at: pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  162. instance pointer: pxOverflowDelayedTaskList.71_4 Outer instance pointer: pxOverflowDelayedTaskList.71_4 offset: 0 (bits) vtbl reference:
  163. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  164. Function call may change dynamic type:vTaskSuspendAll ();
  165. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  166. Determining dynamic type for call: pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  167. Starting walk at: pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  168. instance pointer: pcNameToQuery_17(D) Outer instance pointer: pcNameToQuery_17(D) offset: 0 (bits) vtbl reference:
  169. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  170. Function call may change dynamic type:vTaskSuspendAll ();
  171. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  172. Determining dynamic type for call: pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  173. Starting walk at: pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  174. instance pointer: &xSuspendedTaskList Outer instance pointer: xSuspendedTaskList offset: 0 (bits) vtbl reference:
  175. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  176. Function call may change dynamic type:vTaskSuspendAll ();
  177. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  178. Function call may change dynamic type:pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  179. Determining dynamic type for call: pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  180. Starting walk at: pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  181. instance pointer: pcNameToQuery_17(D) Outer instance pointer: pcNameToQuery_17(D) offset: 0 (bits) vtbl reference:
  182. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  183. Function call may change dynamic type:vTaskSuspendAll ();
  184. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  185. Function call may change dynamic type:pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  186. Determining dynamic type for call: pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  187. Starting walk at: pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  188. instance pointer: &xTasksWaitingTermination Outer instance pointer: xTasksWaitingTermination offset: 0 (bits) vtbl reference:
  189. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  190. Function call may change dynamic type:vTaskSuspendAll ();
  191. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  192. Function call may change dynamic type:pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  193. Function call may change dynamic type:pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  194. Determining dynamic type for call: pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  195. Starting walk at: pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  196. instance pointer: pcNameToQuery_17(D) Outer instance pointer: pcNameToQuery_17(D) offset: 0 (bits) vtbl reference:
  197. Function call may change dynamic type:pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  198. Function call may change dynamic type:vTaskSuspendAll ();
  199. Function call may change dynamic type:pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  200. Function call may change dynamic type:pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  201. Function call may change dynamic type:pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  202. Determining dynamic type for call: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  203. Starting walk at: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  204. instance pointer: prvIdleTask Outer instance pointer: prvIdleTask offset: 0 (bits) vtbl reference:
  205. Determining dynamic type for call: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  206. Starting walk at: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  207. instance pointer: "IDLE" Outer instance pointer: "IDLE" offset: 0 (bits) vtbl reference:
  208. Determining dynamic type for call: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  209. Starting walk at: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  210. instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference:
  211. Determining dynamic type for call: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  212. Starting walk at: xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  213. instance pointer: &xIdleTaskHandle Outer instance pointer: xIdleTaskHandle offset: 0 (bits) vtbl reference:
  214. Determining dynamic type for call: _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
  215. Starting walk at: _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
  216. instance pointer: xTaskToResume_20(D) Outer instance pointer: xTaskToResume_20(D) offset: 0 (bits) vtbl reference:
  217. Function call may change dynamic type:vPortValidateInterruptPriority ();
  218. Determining dynamic type for call: _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
  219. Starting walk at: _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
  220. instance pointer: xTaskToResume_16(D) Outer instance pointer: xTaskToResume_16(D) offset: 0 (bits) vtbl reference:
  221. Function call may change dynamic type:vPortEnterCritical ();
  222. Determining dynamic type for call: xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D));
  223. Starting walk at: xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D));
  224. instance pointer: xTask_5(D) Outer instance pointer: xTask_5(D) offset: 0 (bits) vtbl reference:
  225. Determining dynamic type for call: eReturn_13 = eTaskGetState.part.0 (xTask_5(D));
  226. Starting walk at: eReturn_13 = eTaskGetState.part.0 (xTask_5(D));
  227. instance pointer: xTask_5(D) Outer instance pointer: xTask_5(D) offset: 0 (bits) vtbl reference:
  228. Function call may change dynamic type:vPortExitCritical ();
  229. Function call may change dynamic type:vPortEnterCritical ();
  230. Determining dynamic type for call: prvDeleteTCB (iftmp.12_14);
  231. Starting walk at: prvDeleteTCB (iftmp.12_14);
  232. instance pointer: iftmp.12_14 Outer instance pointer: iftmp.12_14 offset: 0 (bits) vtbl reference:
  233. Function call may change dynamic type:uxListRemove (_1);
  234. Function call may change dynamic type:vPortEnterCritical ();
  235. Function call may change dynamic type:uxListRemove (_3);
  236. Determining dynamic type for call: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  237. Starting walk at: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  238. instance pointer: pxTaskCode_14(D) Outer instance pointer: pxTaskCode_14(D) offset: 0 (bits) vtbl reference:
  239. Function call may change dynamic type:vPortFree (pxStack_9);
  240. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  241. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  242. Determining dynamic type for call: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  243. Starting walk at: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  244. instance pointer: pcName_15(D) Outer instance pointer: pcName_15(D) offset: 0 (bits) vtbl reference:
  245. Function call may change dynamic type:vPortFree (pxStack_9);
  246. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  247. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  248. Determining dynamic type for call: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  249. Starting walk at: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  250. instance pointer: pvParameters_16(D) Outer instance pointer: pvParameters_16(D) offset: 0 (bits) vtbl reference:
  251. Function call may change dynamic type:vPortFree (pxStack_9);
  252. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  253. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  254. Determining dynamic type for call: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  255. Starting walk at: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  256. instance pointer: pxCreatedTask_18(D) Outer instance pointer: pxCreatedTask_18(D) offset: 0 (bits) vtbl reference:
  257. Function call may change dynamic type:vPortFree (pxStack_9);
  258. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  259. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  260. Determining dynamic type for call: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  261. Starting walk at: prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  262. instance pointer: pxNewTCB_11 Outer instance pointer: pxNewTCB_11 offset: 0 (bits) vtbl reference:
  263. Function call may change dynamic type:vPortFree (pxStack_9);
  264. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  265. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  266. Determining dynamic type for call: prvAddNewTaskToReadyList (pxNewTCB_11);
  267. Starting walk at: prvAddNewTaskToReadyList (pxNewTCB_11);
  268. instance pointer: pxNewTCB_11 Outer instance pointer: pxNewTCB_11 offset: 0 (bits) vtbl reference:
  269. Function call may change dynamic type:prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  270. Function call may change dynamic type:vPortFree (pxStack_9);
  271. Function call may change dynamic type:pxNewTCB_11 = pvPortMalloc (88);
  272. Function call may change dynamic type:pxStack_9 = pvPortMalloc (_2);
  273. IPA structures before propagation:
  274. Jump functions:
  275. Jump functions of caller prvListTasksWithinSingleList.part.0/158:
  276. callsite prvListTasksWithinSingleList.part.0/158 -> vTaskGetInfo/72 :
  277. param 0: UNKNOWN
  278. value: 0x0, mask: 0xffffffff
  279. Unknown VR
  280. param 1: UNKNOWN
  281. value: 0x0, mask: 0xffffffff
  282. Unknown VR
  283. param 2: CONST: 1
  284. value: 0x1, mask: 0x0
  285. Unknown VR
  286. param 3: PASS THROUGH: 2, op nop_expr
  287. value: 0x0, mask: 0xffffffff
  288. Unknown VR
  289. Jump functions of caller vTaskSwitchContext.part.0/146:
  290. Jump functions of caller xTaskResumeAll.part.0/137:
  291. callsite xTaskResumeAll.part.0/137 -> prvResetNextTaskUnblockTime/77 :
  292. callsite xTaskResumeAll.part.0/137 -> xTaskIncrementTick/56 :
  293. Jump functions of caller xTaskIncrementTick.part.0/135:
  294. callsite xTaskIncrementTick.part.0/135 -> prvResetNextTaskUnblockTime/77 :
  295. Jump functions of caller eTaskGetState.part.0/122:
  296. Jump functions of caller prvAddCurrentTaskToDelayedList.part.0/119:
  297. Jump functions of caller prvInitialiseNewTask.isra.0/118:
  298. Jump functions of caller prvResetNextTaskUnblockTime.part.0/115:
  299. Jump functions of caller prvTaskIsTaskSuspended.part.0/114:
  300. Jump functions of caller strcpy/112:
  301. Jump functions of caller sprintf/111:
  302. Jump functions of caller strlen/110:
  303. Jump functions of caller vPortEndScheduler/109:
  304. Jump functions of caller xPortStartScheduler/108:
  305. Jump functions of caller xTimerCreateTimerTask/107:
  306. Jump functions of caller vPortValidateInterruptPriority/106:
  307. Jump functions of caller vListInsert/105:
  308. Jump functions of caller vListInsertEnd/104:
  309. Jump functions of caller uxListRemove/103:
  310. Jump functions of caller vListInitialise/102:
  311. Jump functions of caller vPortExitCritical/101:
  312. Jump functions of caller vPortEnterCritical/100:
  313. Jump functions of caller pxPortInitialiseStack/99:
  314. Jump functions of caller vListInitialiseItem/98:
  315. Jump functions of caller memset/97:
  316. Jump functions of caller vPortFree/96:
  317. Jump functions of caller pvPortMalloc/95:
  318. Jump functions of caller prvAddCurrentTaskToDelayedList/94:
  319. callsite prvAddCurrentTaskToDelayedList/94 -> prvAddCurrentTaskToDelayedList.part.0/119 :
  320. Jump functions of caller ulTaskGenericNotifyValueClear/93:
  321. Jump functions of caller xTaskGenericNotifyStateClear/92:
  322. Jump functions of caller vTaskGenericNotifyGiveFromISR/91:
  323. Jump functions of caller xTaskGenericNotifyFromISR/90:
  324. Jump functions of caller xTaskGenericNotify/89:
  325. Jump functions of caller xTaskGenericNotifyWait/88:
  326. callsite xTaskGenericNotifyWait/88 -> prvAddCurrentTaskToDelayedList/94 :
  327. param 0: PASS THROUGH: 4, op nop_expr
  328. value: 0x0, mask: 0xffffffff
  329. Unknown VR
  330. param 1: CONST: 1
  331. value: 0x1, mask: 0x0
  332. Unknown VR
  333. Jump functions of caller ulTaskGenericNotifyTake/87:
  334. callsite ulTaskGenericNotifyTake/87 -> prvAddCurrentTaskToDelayedList/94 :
  335. param 0: PASS THROUGH: 2, op nop_expr
  336. value: 0x0, mask: 0xffffffff
  337. Unknown VR
  338. param 1: CONST: 1
  339. value: 0x1, mask: 0x0
  340. Unknown VR
  341. Jump functions of caller pvTaskIncrementMutexHeldCount/86:
  342. Jump functions of caller uxTaskResetEventItemValue/85:
  343. Jump functions of caller vTaskList/84:
  344. callsite vTaskList/84 -> prvWriteNameToBuffer/83 :
  345. param 0: UNKNOWN
  346. value: 0x0, mask: 0xffffffff
  347. Unknown VR
  348. param 1: UNKNOWN
  349. value: 0x0, mask: 0xffffffff
  350. Unknown VR
  351. callsite vTaskList/84 -> uxTaskGetSystemState/53 :
  352. param 0: UNKNOWN
  353. value: 0x0, mask: 0xffffffff
  354. Unknown VR
  355. param 1: UNKNOWN
  356. value: 0x0, mask: 0xffffffff
  357. Unknown VR
  358. param 2: CONST: 0B
  359. value: 0x0, mask: 0xfffffff8
  360. Unknown VR
  361. Jump functions of caller prvWriteNameToBuffer/83:
  362. Jump functions of caller vTaskPriorityDisinheritAfterTimeout/82:
  363. Jump functions of caller xTaskPriorityDisinherit/81:
  364. Jump functions of caller xTaskPriorityInherit/80:
  365. Jump functions of caller xTaskGetSchedulerState/79:
  366. Jump functions of caller xTaskGetCurrentTaskHandle/78:
  367. Jump functions of caller prvResetNextTaskUnblockTime/77:
  368. callsite prvResetNextTaskUnblockTime/77 -> prvResetNextTaskUnblockTime.part.0/115 :
  369. Jump functions of caller prvDeleteTCB/76:
  370. Jump functions of caller uxTaskGetStackHighWaterMark/75:
  371. callsite uxTaskGetStackHighWaterMark/75 -> prvTaskCheckFreeStackSpace/74 :
  372. param 0: UNKNOWN
  373. value: 0x0, mask: 0xffffffff
  374. Unknown VR
  375. Jump functions of caller prvTaskCheckFreeStackSpace/74:
  376. Jump functions of caller prvListTasksWithinSingleList/73:
  377. callsite prvListTasksWithinSingleList/73 -> prvListTasksWithinSingleList.part.0/158 :
  378. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  379. value: 0x0, mask: 0xffffffff
  380. Unknown VR
  381. param 1: PASS THROUGH: 1, op nop_expr, agg_preserved
  382. value: 0x0, mask: 0xffffffff
  383. Unknown VR
  384. param 2: PASS THROUGH: 2, op nop_expr
  385. value: 0x0, mask: 0xffffffff
  386. Unknown VR
  387. Jump functions of caller vTaskGetInfo/72:
  388. callsite vTaskGetInfo/72 -> prvTaskCheckFreeStackSpace/74 :
  389. param 0: UNKNOWN
  390. value: 0x0, mask: 0xffffffff
  391. Unknown VR
  392. callsite vTaskGetInfo/72 -> eTaskGetState/35 :
  393. param 0: UNKNOWN
  394. value: 0x0, mask: 0xffffffff
  395. Unknown VR
  396. callsite vTaskGetInfo/72 -> xTaskResumeAll/46 :
  397. callsite vTaskGetInfo/72 -> vTaskSuspendAll/45 :
  398. Jump functions of caller prvCheckTasksWaitingTermination/71:
  399. callsite prvCheckTasksWaitingTermination/71 -> prvDeleteTCB/76 :
  400. param 0: UNKNOWN
  401. value: 0x0, mask: 0xffffffff
  402. Unknown VR
  403. Jump functions of caller prvInitialiseTaskLists/70:
  404. Jump functions of caller prvIdleTask/69:
  405. callsite prvIdleTask/69 -> prvCheckTasksWaitingTermination/71 :
  406. Jump functions of caller vTaskSetTaskNumber/68:
  407. Jump functions of caller uxTaskGetTaskNumber/67:
  408. Jump functions of caller vTaskMissedYield/66:
  409. Jump functions of caller xTaskCheckForTimeOut/65:
  410. callsite xTaskCheckForTimeOut/65 -> vTaskInternalSetTimeOutState/64 :
  411. param 0: PASS THROUGH: 0, op nop_expr
  412. value: 0x0, mask: 0xffffffff
  413. Unknown VR
  414. Jump functions of caller vTaskInternalSetTimeOutState/64:
  415. Jump functions of caller vTaskSetTimeOutState/63:
  416. Jump functions of caller vTaskRemoveFromUnorderedEventList/62:
  417. Jump functions of caller xTaskRemoveFromEventList/61:
  418. Jump functions of caller vTaskPlaceOnEventListRestricted/60:
  419. callsite vTaskPlaceOnEventListRestricted/60 -> prvAddCurrentTaskToDelayedList/94 :
  420. param 0: UNKNOWN
  421. value: 0x0, mask: 0xffffffff
  422. Unknown VR
  423. param 1: PASS THROUGH: 2, op nop_expr
  424. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  425. Unknown VR
  426. Jump functions of caller vTaskPlaceOnUnorderedEventList/59:
  427. callsite vTaskPlaceOnUnorderedEventList/59 -> prvAddCurrentTaskToDelayedList/94 :
  428. param 0: PASS THROUGH: 2, op nop_expr
  429. value: 0x0, mask: 0xffffffff
  430. Unknown VR
  431. param 1: CONST: 1
  432. value: 0x1, mask: 0x0
  433. Unknown VR
  434. Jump functions of caller vTaskPlaceOnEventList/58:
  435. callsite vTaskPlaceOnEventList/58 -> prvAddCurrentTaskToDelayedList/94 :
  436. param 0: PASS THROUGH: 1, op nop_expr
  437. value: 0x0, mask: 0xffffffff
  438. Unknown VR
  439. param 1: CONST: 1
  440. value: 0x1, mask: 0x0
  441. Unknown VR
  442. Jump functions of caller vTaskSwitchContext/57:
  443. callsite vTaskSwitchContext/57 -> vTaskSwitchContext.part.0/146 :
  444. Jump functions of caller xTaskIncrementTick/56:
  445. callsite xTaskIncrementTick/56 -> xTaskIncrementTick.part.0/135 :
  446. Jump functions of caller xTaskAbortDelay/55:
  447. callsite xTaskAbortDelay/55 -> xTaskResumeAll/46 :
  448. callsite xTaskAbortDelay/55 -> eTaskGetState/35 :
  449. param 0: PASS THROUGH: 0, op nop_expr
  450. value: 0x0, mask: 0xffffffff
  451. Unknown VR
  452. callsite xTaskAbortDelay/55 -> vTaskSuspendAll/45 :
  453. Jump functions of caller xTaskCatchUpTicks/54:
  454. callsite xTaskCatchUpTicks/54 -> xTaskResumeAll/46 :
  455. callsite xTaskCatchUpTicks/54 -> vTaskSuspendAll/45 :
  456. Jump functions of caller uxTaskGetSystemState/53:
  457. callsite uxTaskGetSystemState/53 -> xTaskResumeAll/46 :
  458. callsite uxTaskGetSystemState/53 -> prvListTasksWithinSingleList/73 :
  459. param 0: UNKNOWN
  460. value: 0x0, mask: 0xffffffff
  461. Unknown VR
  462. param 1: CONST: &xSuspendedTaskList
  463. value: 0x0, mask: 0xfffffffc
  464. VR ~[0, 0]
  465. param 2: CONST: 3
  466. value: 0x3, mask: 0x0
  467. Unknown VR
  468. callsite uxTaskGetSystemState/53 -> prvListTasksWithinSingleList/73 :
  469. param 0: UNKNOWN
  470. value: 0x0, mask: 0xffffffff
  471. Unknown VR
  472. param 1: CONST: &xTasksWaitingTermination
  473. value: 0x0, mask: 0xfffffffc
  474. VR ~[0, 0]
  475. param 2: CONST: 4
  476. value: 0x4, mask: 0x0
  477. Unknown VR
  478. callsite uxTaskGetSystemState/53 -> prvListTasksWithinSingleList/73 :
  479. param 0: UNKNOWN
  480. value: 0x0, mask: 0xffffffff
  481. Unknown VR
  482. param 1: UNKNOWN
  483. value: 0x0, mask: 0xffffffff
  484. Unknown VR
  485. param 2: CONST: 2
  486. value: 0x2, mask: 0x0
  487. Unknown VR
  488. callsite uxTaskGetSystemState/53 -> prvListTasksWithinSingleList/73 :
  489. param 0: UNKNOWN
  490. value: 0x0, mask: 0xffffffff
  491. Unknown VR
  492. param 1: UNKNOWN
  493. value: 0x0, mask: 0xffffffff
  494. Unknown VR
  495. param 2: CONST: 2
  496. value: 0x2, mask: 0x0
  497. Unknown VR
  498. callsite uxTaskGetSystemState/53 -> prvListTasksWithinSingleList/73 :
  499. param 0: UNKNOWN
  500. value: 0x0, mask: 0xffffffff
  501. Unknown VR
  502. param 1: UNKNOWN
  503. value: 0x0, mask: 0xfffffffc
  504. VR ~[0, 0]
  505. param 2: CONST: 1
  506. value: 0x1, mask: 0x0
  507. Unknown VR
  508. callsite uxTaskGetSystemState/53 -> vTaskSuspendAll/45 :
  509. Jump functions of caller xTaskGetHandle/52:
  510. callsite xTaskGetHandle/52 -> xTaskResumeAll/46 :
  511. callsite xTaskGetHandle/52 -> prvSearchForNameWithinSingleList/51 :
  512. param 0: CONST: &xTasksWaitingTermination
  513. value: 0x0, mask: 0xfffffffc
  514. VR ~[0, 0]
  515. param 1: PASS THROUGH: 0, op nop_expr
  516. value: 0x0, mask: 0xffffffff
  517. Unknown VR
  518. callsite xTaskGetHandle/52 -> prvSearchForNameWithinSingleList/51 :
  519. param 0: CONST: &xSuspendedTaskList
  520. value: 0x0, mask: 0xfffffffc
  521. VR ~[0, 0]
  522. param 1: PASS THROUGH: 0, op nop_expr
  523. value: 0x0, mask: 0xffffffff
  524. Unknown VR
  525. callsite xTaskGetHandle/52 -> prvSearchForNameWithinSingleList/51 :
  526. param 0: UNKNOWN
  527. value: 0x0, mask: 0xffffffff
  528. Unknown VR
  529. param 1: PASS THROUGH: 0, op nop_expr
  530. value: 0x0, mask: 0xffffffff
  531. Unknown VR
  532. callsite xTaskGetHandle/52 -> prvSearchForNameWithinSingleList/51 :
  533. param 0: UNKNOWN
  534. value: 0x0, mask: 0xffffffff
  535. Unknown VR
  536. param 1: PASS THROUGH: 0, op nop_expr
  537. value: 0x0, mask: 0xffffffff
  538. Unknown VR
  539. callsite xTaskGetHandle/52 -> prvSearchForNameWithinSingleList/51 :
  540. param 0: UNKNOWN
  541. value: 0x0, mask: 0xfffffffc
  542. VR ~[0, 0]
  543. param 1: PASS THROUGH: 0, op nop_expr
  544. value: 0x0, mask: 0xffffffff
  545. Unknown VR
  546. callsite xTaskGetHandle/52 -> vTaskSuspendAll/45 :
  547. Jump functions of caller prvSearchForNameWithinSingleList/51:
  548. Jump functions of caller pcTaskGetName/50:
  549. Jump functions of caller uxTaskGetNumberOfTasks/49:
  550. Jump functions of caller xTaskGetTickCountFromISR/48:
  551. Jump functions of caller xTaskGetTickCount/47:
  552. Jump functions of caller xTaskResumeAll/46:
  553. callsite xTaskResumeAll/46 -> xTaskResumeAll.part.0/137 :
  554. Jump functions of caller vTaskSuspendAll/45:
  555. Jump functions of caller vTaskEndScheduler/44:
  556. Jump functions of caller vTaskStartScheduler/43:
  557. callsite vTaskStartScheduler/43 -> xTaskCreate/29 :
  558. param 0: CONST: prvIdleTask
  559. value: 0x0, mask: 0xffffffff
  560. VR ~[0, 0]
  561. param 1: CONST: "IDLE"
  562. value: 0x0, mask: 0xffffffff
  563. VR ~[0, 0]
  564. param 2: CONST: 90
  565. value: 0x5a, mask: 0x0
  566. Unknown VR
  567. param 3: CONST: 0B
  568. value: 0x0, mask: 0xfffffff8
  569. Unknown VR
  570. param 4: CONST: 0
  571. value: 0x0, mask: 0x0
  572. Unknown VR
  573. param 5: CONST: &xIdleTaskHandle
  574. value: 0x0, mask: 0xfffffffc
  575. VR ~[0, 0]
  576. Jump functions of caller xTaskResumeFromISR/42:
  577. callsite xTaskResumeFromISR/42 -> prvTaskIsTaskSuspended/40 :
  578. param 0: PASS THROUGH: 0, op nop_expr
  579. value: 0x0, mask: 0xffffffff
  580. Unknown VR
  581. Jump functions of caller vTaskResume/41:
  582. callsite vTaskResume/41 -> prvTaskIsTaskSuspended/40 :
  583. param 0: PASS THROUGH: 0, op nop_expr
  584. value: 0x0, mask: 0xffffffff
  585. Unknown VR
  586. Jump functions of caller prvTaskIsTaskSuspended/40:
  587. callsite prvTaskIsTaskSuspended/40 -> prvTaskIsTaskSuspended.part.0/114 :
  588. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  589. value: 0x0, mask: 0xffffffff
  590. Unknown VR
  591. Jump functions of caller vTaskSuspend/39:
  592. callsite vTaskSuspend/39 -> vTaskSwitchContext/57 :
  593. callsite vTaskSuspend/39 -> prvResetNextTaskUnblockTime/77 :
  594. Jump functions of caller vTaskPrioritySet/38:
  595. Jump functions of caller uxTaskPriorityGetFromISR/37:
  596. Jump functions of caller uxTaskPriorityGet/36:
  597. Jump functions of caller eTaskGetState/35:
  598. callsite eTaskGetState/35 -> eTaskGetState.part.0/122 :
  599. param 0: PASS THROUGH: 0, op nop_expr
  600. value: 0x0, mask: 0xffffffff
  601. Unknown VR
  602. Jump functions of caller vTaskDelay/34:
  603. callsite vTaskDelay/34 -> xTaskResumeAll/46 :
  604. callsite vTaskDelay/34 -> prvAddCurrentTaskToDelayedList/94 :
  605. param 0: PASS THROUGH: 0, op nop_expr
  606. value: 0x0, mask: 0xffffffff
  607. Unknown VR
  608. param 1: CONST: 0
  609. value: 0x0, mask: 0x0
  610. Unknown VR
  611. callsite vTaskDelay/34 -> vTaskSuspendAll/45 :
  612. Jump functions of caller xTaskDelayUntil/33:
  613. callsite xTaskDelayUntil/33 -> xTaskResumeAll/46 :
  614. callsite xTaskDelayUntil/33 -> prvAddCurrentTaskToDelayedList/94 :
  615. param 0: UNKNOWN
  616. value: 0x0, mask: 0xffffffff
  617. Unknown VR
  618. param 1: CONST: 0
  619. value: 0x0, mask: 0x0
  620. Unknown VR
  621. callsite xTaskDelayUntil/33 -> vTaskSuspendAll/45 :
  622. Jump functions of caller vTaskDelete/32:
  623. callsite vTaskDelete/32 -> prvResetNextTaskUnblockTime/77 :
  624. callsite vTaskDelete/32 -> prvDeleteTCB/76 :
  625. param 0: UNKNOWN
  626. value: 0x0, mask: 0xffffffff
  627. Unknown VR
  628. Jump functions of caller prvAddNewTaskToReadyList/31:
  629. callsite prvAddNewTaskToReadyList/31 -> prvInitialiseTaskLists/70 :
  630. Jump functions of caller xTaskCreate/29:
  631. callsite xTaskCreate/29 -> prvAddNewTaskToReadyList/31 :
  632. param 0: UNKNOWN
  633. value: 0x0, mask: 0xffffffff
  634. Unknown VR
  635. callsite xTaskCreate/29 -> prvInitialiseNewTask.isra.0/118 :
  636. param 0: PASS THROUGH: 0, op nop_expr
  637. value: 0x0, mask: 0xffffffff
  638. Unknown VR
  639. param 1: PASS THROUGH: 1, op nop_expr
  640. value: 0x0, mask: 0xffffffff
  641. Unknown VR
  642. param 2: UNKNOWN
  643. value: 0x0, mask: 0xffff
  644. VR [0, 65535]
  645. param 3: PASS THROUGH: 3, op nop_expr
  646. value: 0x0, mask: 0xffffffff
  647. Unknown VR
  648. param 4: PASS THROUGH: 4, op nop_expr
  649. value: 0x0, mask: 0xffffffff
  650. Unknown VR
  651. param 5: PASS THROUGH: 5, op nop_expr
  652. value: 0x0, mask: 0xffffffff
  653. Unknown VR
  654. param 6: UNKNOWN
  655. value: 0x0, mask: 0xffffffff
  656. Unknown VR
  657. Propagating constants:
  658. Not considering ulTaskGenericNotifyValueClear for cloning; -fipa-cp-clone disabled.
  659. Not considering xTaskGenericNotifyStateClear for cloning; -fipa-cp-clone disabled.
  660. Not considering vTaskGenericNotifyGiveFromISR for cloning; -fipa-cp-clone disabled.
  661. Not considering xTaskGenericNotifyFromISR for cloning; -fipa-cp-clone disabled.
  662. Not considering xTaskGenericNotify for cloning; -fipa-cp-clone disabled.
  663. Not considering xTaskGenericNotifyWait for cloning; -fipa-cp-clone disabled.
  664. Not considering ulTaskGenericNotifyTake for cloning; -fipa-cp-clone disabled.
  665. Not considering pvTaskIncrementMutexHeldCount for cloning; -fipa-cp-clone disabled.
  666. Not considering uxTaskResetEventItemValue for cloning; -fipa-cp-clone disabled.
  667. Not considering vTaskList for cloning; -fipa-cp-clone disabled.
  668. Not considering vTaskPriorityDisinheritAfterTimeout for cloning; -fipa-cp-clone disabled.
  669. Not considering xTaskPriorityDisinherit for cloning; -fipa-cp-clone disabled.
  670. Not considering xTaskPriorityInherit for cloning; -fipa-cp-clone disabled.
  671. Not considering xTaskGetSchedulerState for cloning; -fipa-cp-clone disabled.
  672. Not considering xTaskGetCurrentTaskHandle for cloning; -fipa-cp-clone disabled.
  673. Not considering uxTaskGetStackHighWaterMark for cloning; -fipa-cp-clone disabled.
  674. Not considering vTaskGetInfo for cloning; -fipa-cp-clone disabled.
  675. Not considering prvIdleTask for cloning; -fipa-cp-clone disabled.
  676. Not considering vTaskSetTaskNumber for cloning; -fipa-cp-clone disabled.
  677. Not considering uxTaskGetTaskNumber for cloning; -fipa-cp-clone disabled.
  678. Not considering vTaskMissedYield for cloning; -fipa-cp-clone disabled.
  679. Not considering xTaskCheckForTimeOut for cloning; -fipa-cp-clone disabled.
  680. Not considering vTaskInternalSetTimeOutState for cloning; -fipa-cp-clone disabled.
  681. Not considering vTaskSetTimeOutState for cloning; -fipa-cp-clone disabled.
  682. Not considering vTaskRemoveFromUnorderedEventList for cloning; -fipa-cp-clone disabled.
  683. Not considering xTaskRemoveFromEventList for cloning; -fipa-cp-clone disabled.
  684. Not considering vTaskPlaceOnEventListRestricted for cloning; -fipa-cp-clone disabled.
  685. Not considering vTaskPlaceOnUnorderedEventList for cloning; -fipa-cp-clone disabled.
  686. Not considering vTaskPlaceOnEventList for cloning; -fipa-cp-clone disabled.
  687. Not considering vTaskSwitchContext for cloning; -fipa-cp-clone disabled.
  688. Not considering xTaskIncrementTick for cloning; -fipa-cp-clone disabled.
  689. Not considering xTaskAbortDelay for cloning; -fipa-cp-clone disabled.
  690. Not considering xTaskCatchUpTicks for cloning; -fipa-cp-clone disabled.
  691. Not considering uxTaskGetSystemState for cloning; -fipa-cp-clone disabled.
  692. Not considering xTaskGetHandle for cloning; -fipa-cp-clone disabled.
  693. Not considering pcTaskGetName for cloning; -fipa-cp-clone disabled.
  694. Not considering uxTaskGetNumberOfTasks for cloning; -fipa-cp-clone disabled.
  695. Not considering xTaskGetTickCountFromISR for cloning; -fipa-cp-clone disabled.
  696. Not considering xTaskGetTickCount for cloning; -fipa-cp-clone disabled.
  697. Not considering xTaskResumeAll for cloning; -fipa-cp-clone disabled.
  698. Not considering vTaskSuspendAll for cloning; -fipa-cp-clone disabled.
  699. Not considering vTaskEndScheduler for cloning; -fipa-cp-clone disabled.
  700. Not considering vTaskStartScheduler for cloning; -fipa-cp-clone disabled.
  701. Not considering xTaskResumeFromISR for cloning; -fipa-cp-clone disabled.
  702. Not considering vTaskResume for cloning; -fipa-cp-clone disabled.
  703. Not considering vTaskSuspend for cloning; -fipa-cp-clone disabled.
  704. Not considering vTaskPrioritySet for cloning; -fipa-cp-clone disabled.
  705. Not considering uxTaskPriorityGetFromISR for cloning; -fipa-cp-clone disabled.
  706. Not considering uxTaskPriorityGet for cloning; -fipa-cp-clone disabled.
  707. Not considering eTaskGetState for cloning; -fipa-cp-clone disabled.
  708. Not considering vTaskDelay for cloning; -fipa-cp-clone disabled.
  709. Not considering xTaskDelayUntil for cloning; -fipa-cp-clone disabled.
  710. Not considering vTaskDelete for cloning; -fipa-cp-clone disabled.
  711. Not considering xTaskCreate for cloning; -fipa-cp-clone disabled.
  712. overall_size: 2347, max_new_size: 11001
  713. - context independent values, size: 9, time_benefit: 1.000000
  714. IPA lattices after all propagation:
  715. Lattices:
  716. Node: prvListTasksWithinSingleList.part.0/158:
  717. param [0]: VARIABLE
  718. ctxs: VARIABLE
  719. Bits unusable (BOTTOM)
  720. VARYING
  721. AGGS VARIABLE
  722. param [1]: VARIABLE
  723. &xSuspendedTaskList [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  724. &xTasksWaitingTermination [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  725. ctxs: VARIABLE
  726. Bits unusable (BOTTOM)
  727. VARYING
  728. AGGS VARIABLE
  729. param [2]: 3 [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  730. 4 [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  731. 2 [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  732. 1 [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  733. ctxs: VARIABLE
  734. Bits: value = 0x3, mask = 0x7
  735. eTaskState [1, 4]
  736. AGGS VARIABLE
  737. Node: vTaskSwitchContext.part.0/146:
  738. Node: xTaskResumeAll.part.0/137:
  739. Node: xTaskIncrementTick.part.0/135:
  740. Node: eTaskGetState.part.0/122:
  741. param [0]: VARIABLE
  742. ctxs: VARIABLE
  743. Bits unusable (BOTTOM)
  744. VARYING
  745. AGGS VARIABLE
  746. Node: prvAddCurrentTaskToDelayedList.part.0/119:
  747. Node: prvInitialiseNewTask.isra.0/118:
  748. param [0]: VARIABLE
  749. ctxs: VARIABLE
  750. Bits unusable (BOTTOM)
  751. VARYING
  752. AGGS VARIABLE
  753. param [1]: VARIABLE
  754. ctxs: VARIABLE
  755. Bits unusable (BOTTOM)
  756. VARYING
  757. AGGS VARIABLE
  758. param [2]: VARIABLE
  759. ctxs: VARIABLE
  760. Bits: value = 0x0, mask = 0xffff
  761. const uint32_t [0, 65535]
  762. AGGS VARIABLE
  763. param [3]: VARIABLE
  764. ctxs: VARIABLE
  765. Bits unusable (BOTTOM)
  766. VARYING
  767. AGGS VARIABLE
  768. param [4]: VARIABLE
  769. ctxs: VARIABLE
  770. Bits unusable (BOTTOM)
  771. VARYING
  772. AGGS VARIABLE
  773. param [5]: VARIABLE
  774. ctxs: VARIABLE
  775. Bits unusable (BOTTOM)
  776. VARYING
  777. AGGS VARIABLE
  778. param [6]: VARIABLE
  779. ctxs: VARIABLE
  780. Bits unusable (BOTTOM)
  781. VARYING
  782. AGGS VARIABLE
  783. Node: prvResetNextTaskUnblockTime.part.0/115:
  784. Node: prvTaskIsTaskSuspended.part.0/114:
  785. param [0]: VARIABLE
  786. ctxs: VARIABLE
  787. Bits unusable (BOTTOM)
  788. VARYING
  789. AGGS VARIABLE
  790. Node: prvAddCurrentTaskToDelayedList/94:
  791. param [0]: VARIABLE
  792. ctxs: VARIABLE
  793. Bits unusable (BOTTOM)
  794. VARYING
  795. AGGS VARIABLE
  796. param [1]: VARIABLE
  797. 0 [loc_time: 1, loc_size: 30, prop_time: 0, prop_size: 0]
  798. 1 [loc_time: 1, loc_size: 31, prop_time: 0, prop_size: 0]
  799. ctxs: VARIABLE
  800. Bits unusable (BOTTOM)
  801. VARYING
  802. AGGS VARIABLE
  803. Node: ulTaskGenericNotifyValueClear/93:
  804. param [0]: BOTTOM
  805. ctxs: BOTTOM
  806. Bits unusable (BOTTOM)
  807. VARYING
  808. AGGS BOTTOM
  809. param [1]: BOTTOM
  810. ctxs: BOTTOM
  811. Bits unusable (BOTTOM)
  812. VARYING
  813. AGGS BOTTOM
  814. param [2]: BOTTOM
  815. ctxs: BOTTOM
  816. Bits unusable (BOTTOM)
  817. VARYING
  818. AGGS BOTTOM
  819. Node: xTaskGenericNotifyStateClear/92:
  820. param [0]: BOTTOM
  821. ctxs: BOTTOM
  822. Bits unusable (BOTTOM)
  823. VARYING
  824. AGGS BOTTOM
  825. param [1]: BOTTOM
  826. ctxs: BOTTOM
  827. Bits unusable (BOTTOM)
  828. VARYING
  829. AGGS BOTTOM
  830. Node: vTaskGenericNotifyGiveFromISR/91:
  831. param [0]: BOTTOM
  832. ctxs: BOTTOM
  833. Bits unusable (BOTTOM)
  834. VARYING
  835. AGGS BOTTOM
  836. param [1]: BOTTOM
  837. ctxs: BOTTOM
  838. Bits unusable (BOTTOM)
  839. VARYING
  840. AGGS BOTTOM
  841. param [2]: BOTTOM
  842. ctxs: BOTTOM
  843. Bits unusable (BOTTOM)
  844. VARYING
  845. AGGS BOTTOM
  846. Node: xTaskGenericNotifyFromISR/90:
  847. param [0]: BOTTOM
  848. ctxs: BOTTOM
  849. Bits unusable (BOTTOM)
  850. VARYING
  851. AGGS BOTTOM
  852. param [1]: BOTTOM
  853. ctxs: BOTTOM
  854. Bits unusable (BOTTOM)
  855. VARYING
  856. AGGS BOTTOM
  857. param [2]: BOTTOM
  858. ctxs: BOTTOM
  859. Bits unusable (BOTTOM)
  860. VARYING
  861. AGGS BOTTOM
  862. param [3]: BOTTOM
  863. ctxs: BOTTOM
  864. Bits unusable (BOTTOM)
  865. VARYING
  866. AGGS BOTTOM
  867. param [4]: BOTTOM
  868. ctxs: BOTTOM
  869. Bits unusable (BOTTOM)
  870. VARYING
  871. AGGS BOTTOM
  872. param [5]: BOTTOM
  873. ctxs: BOTTOM
  874. Bits unusable (BOTTOM)
  875. VARYING
  876. AGGS BOTTOM
  877. Node: xTaskGenericNotify/89:
  878. param [0]: BOTTOM
  879. ctxs: BOTTOM
  880. Bits unusable (BOTTOM)
  881. VARYING
  882. AGGS BOTTOM
  883. param [1]: BOTTOM
  884. ctxs: BOTTOM
  885. Bits unusable (BOTTOM)
  886. VARYING
  887. AGGS BOTTOM
  888. param [2]: BOTTOM
  889. ctxs: BOTTOM
  890. Bits unusable (BOTTOM)
  891. VARYING
  892. AGGS BOTTOM
  893. param [3]: BOTTOM
  894. ctxs: BOTTOM
  895. Bits unusable (BOTTOM)
  896. VARYING
  897. AGGS BOTTOM
  898. param [4]: BOTTOM
  899. ctxs: BOTTOM
  900. Bits unusable (BOTTOM)
  901. VARYING
  902. AGGS BOTTOM
  903. Node: xTaskGenericNotifyWait/88:
  904. param [0]: BOTTOM
  905. ctxs: BOTTOM
  906. Bits unusable (BOTTOM)
  907. VARYING
  908. AGGS BOTTOM
  909. param [1]: BOTTOM
  910. ctxs: BOTTOM
  911. Bits unusable (BOTTOM)
  912. VARYING
  913. AGGS BOTTOM
  914. param [2]: BOTTOM
  915. ctxs: BOTTOM
  916. Bits unusable (BOTTOM)
  917. VARYING
  918. AGGS BOTTOM
  919. param [3]: BOTTOM
  920. ctxs: BOTTOM
  921. Bits unusable (BOTTOM)
  922. VARYING
  923. AGGS BOTTOM
  924. param [4]: BOTTOM
  925. ctxs: BOTTOM
  926. Bits unusable (BOTTOM)
  927. VARYING
  928. AGGS BOTTOM
  929. Node: ulTaskGenericNotifyTake/87:
  930. param [0]: BOTTOM
  931. ctxs: BOTTOM
  932. Bits unusable (BOTTOM)
  933. VARYING
  934. AGGS BOTTOM
  935. param [1]: BOTTOM
  936. ctxs: BOTTOM
  937. Bits unusable (BOTTOM)
  938. VARYING
  939. AGGS BOTTOM
  940. param [2]: BOTTOM
  941. ctxs: BOTTOM
  942. Bits unusable (BOTTOM)
  943. VARYING
  944. AGGS BOTTOM
  945. Node: pvTaskIncrementMutexHeldCount/86:
  946. Node: uxTaskResetEventItemValue/85:
  947. Node: vTaskList/84:
  948. param [0]: BOTTOM
  949. ctxs: BOTTOM
  950. Bits unusable (BOTTOM)
  951. VARYING
  952. AGGS BOTTOM
  953. Node: prvWriteNameToBuffer/83:
  954. param [0]: VARIABLE
  955. ctxs: VARIABLE
  956. Bits unusable (BOTTOM)
  957. VARYING
  958. AGGS VARIABLE
  959. param [1]: VARIABLE
  960. ctxs: VARIABLE
  961. Bits unusable (BOTTOM)
  962. VARYING
  963. AGGS VARIABLE
  964. Node: vTaskPriorityDisinheritAfterTimeout/82:
  965. param [0]: BOTTOM
  966. ctxs: BOTTOM
  967. Bits unusable (BOTTOM)
  968. VARYING
  969. AGGS BOTTOM
  970. param [1]: BOTTOM
  971. ctxs: BOTTOM
  972. Bits unusable (BOTTOM)
  973. VARYING
  974. AGGS BOTTOM
  975. Node: xTaskPriorityDisinherit/81:
  976. param [0]: BOTTOM
  977. ctxs: BOTTOM
  978. Bits unusable (BOTTOM)
  979. VARYING
  980. AGGS BOTTOM
  981. Node: xTaskPriorityInherit/80:
  982. param [0]: BOTTOM
  983. ctxs: BOTTOM
  984. Bits unusable (BOTTOM)
  985. VARYING
  986. AGGS BOTTOM
  987. Node: xTaskGetSchedulerState/79:
  988. Node: xTaskGetCurrentTaskHandle/78:
  989. Node: prvResetNextTaskUnblockTime/77:
  990. Node: prvDeleteTCB/76:
  991. param [0]: VARIABLE
  992. ctxs: VARIABLE
  993. Bits unusable (BOTTOM)
  994. VARYING
  995. AGGS VARIABLE
  996. Node: uxTaskGetStackHighWaterMark/75:
  997. param [0]: BOTTOM
  998. ctxs: BOTTOM
  999. Bits unusable (BOTTOM)
  1000. VARYING
  1001. AGGS BOTTOM
  1002. Node: prvTaskCheckFreeStackSpace/74:
  1003. param [0]: VARIABLE
  1004. ctxs: VARIABLE
  1005. Bits unusable (BOTTOM)
  1006. VARYING
  1007. AGGS VARIABLE
  1008. Node: prvListTasksWithinSingleList/73:
  1009. param [0]: VARIABLE
  1010. ctxs: VARIABLE
  1011. Bits unusable (BOTTOM)
  1012. VARYING
  1013. AGGS VARIABLE
  1014. param [1]: VARIABLE
  1015. &xTasksWaitingTermination [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1016. &xSuspendedTaskList [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1017. ctxs: VARIABLE
  1018. Bits unusable (BOTTOM)
  1019. VARYING
  1020. AGGS VARIABLE
  1021. param [2]: 1 [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1022. 2 [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1023. 4 [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1024. 3 [loc_time: 1, loc_size: 11, prop_time: 0, prop_size: 0]
  1025. ctxs: VARIABLE
  1026. Bits: value = 0x3, mask = 0x7
  1027. eTaskState [1, 4]
  1028. AGGS VARIABLE
  1029. Node: vTaskGetInfo/72:
  1030. param [0]: BOTTOM
  1031. ctxs: BOTTOM
  1032. Bits unusable (BOTTOM)
  1033. VARYING
  1034. AGGS BOTTOM
  1035. param [1]: BOTTOM
  1036. ctxs: BOTTOM
  1037. Bits unusable (BOTTOM)
  1038. VARYING
  1039. AGGS BOTTOM
  1040. param [2]: BOTTOM
  1041. ctxs: BOTTOM
  1042. Bits unusable (BOTTOM)
  1043. VARYING
  1044. AGGS BOTTOM
  1045. param [3]: BOTTOM
  1046. ctxs: BOTTOM
  1047. Bits unusable (BOTTOM)
  1048. VARYING
  1049. AGGS BOTTOM
  1050. Node: prvCheckTasksWaitingTermination/71:
  1051. Node: prvInitialiseTaskLists/70:
  1052. Node: prvIdleTask/69:
  1053. param [0]: BOTTOM
  1054. ctxs: BOTTOM
  1055. Bits unusable (BOTTOM)
  1056. VARYING
  1057. AGGS BOTTOM
  1058. Node: vTaskSetTaskNumber/68:
  1059. param [0]: BOTTOM
  1060. ctxs: BOTTOM
  1061. Bits unusable (BOTTOM)
  1062. VARYING
  1063. AGGS BOTTOM
  1064. param [1]: BOTTOM
  1065. ctxs: BOTTOM
  1066. Bits unusable (BOTTOM)
  1067. VARYING
  1068. AGGS BOTTOM
  1069. Node: uxTaskGetTaskNumber/67:
  1070. param [0]: BOTTOM
  1071. ctxs: BOTTOM
  1072. Bits unusable (BOTTOM)
  1073. VARYING
  1074. AGGS BOTTOM
  1075. Node: vTaskMissedYield/66:
  1076. Node: xTaskCheckForTimeOut/65:
  1077. param [0]: BOTTOM
  1078. ctxs: BOTTOM
  1079. Bits unusable (BOTTOM)
  1080. VARYING
  1081. AGGS BOTTOM
  1082. param [1]: BOTTOM
  1083. ctxs: BOTTOM
  1084. Bits unusable (BOTTOM)
  1085. VARYING
  1086. AGGS BOTTOM
  1087. Node: vTaskInternalSetTimeOutState/64:
  1088. param [0]: BOTTOM
  1089. ctxs: BOTTOM
  1090. Bits unusable (BOTTOM)
  1091. VARYING
  1092. AGGS BOTTOM
  1093. Node: vTaskSetTimeOutState/63:
  1094. param [0]: BOTTOM
  1095. ctxs: BOTTOM
  1096. Bits unusable (BOTTOM)
  1097. VARYING
  1098. AGGS BOTTOM
  1099. Node: vTaskRemoveFromUnorderedEventList/62:
  1100. param [0]: BOTTOM
  1101. ctxs: BOTTOM
  1102. Bits unusable (BOTTOM)
  1103. VARYING
  1104. AGGS BOTTOM
  1105. param [1]: BOTTOM
  1106. ctxs: BOTTOM
  1107. Bits unusable (BOTTOM)
  1108. VARYING
  1109. AGGS BOTTOM
  1110. Node: xTaskRemoveFromEventList/61:
  1111. param [0]: BOTTOM
  1112. ctxs: BOTTOM
  1113. Bits unusable (BOTTOM)
  1114. VARYING
  1115. AGGS BOTTOM
  1116. Node: vTaskPlaceOnEventListRestricted/60:
  1117. param [0]: BOTTOM
  1118. ctxs: BOTTOM
  1119. Bits unusable (BOTTOM)
  1120. VARYING
  1121. AGGS BOTTOM
  1122. param [1]: BOTTOM
  1123. ctxs: BOTTOM
  1124. Bits unusable (BOTTOM)
  1125. VARYING
  1126. AGGS BOTTOM
  1127. param [2]: BOTTOM
  1128. ctxs: BOTTOM
  1129. Bits unusable (BOTTOM)
  1130. VARYING
  1131. AGGS BOTTOM
  1132. Node: vTaskPlaceOnUnorderedEventList/59:
  1133. param [0]: BOTTOM
  1134. ctxs: BOTTOM
  1135. Bits unusable (BOTTOM)
  1136. VARYING
  1137. AGGS BOTTOM
  1138. param [1]: BOTTOM
  1139. ctxs: BOTTOM
  1140. Bits unusable (BOTTOM)
  1141. VARYING
  1142. AGGS BOTTOM
  1143. param [2]: BOTTOM
  1144. ctxs: BOTTOM
  1145. Bits unusable (BOTTOM)
  1146. VARYING
  1147. AGGS BOTTOM
  1148. Node: vTaskPlaceOnEventList/58:
  1149. param [0]: BOTTOM
  1150. ctxs: BOTTOM
  1151. Bits unusable (BOTTOM)
  1152. VARYING
  1153. AGGS BOTTOM
  1154. param [1]: BOTTOM
  1155. ctxs: BOTTOM
  1156. Bits unusable (BOTTOM)
  1157. VARYING
  1158. AGGS BOTTOM
  1159. Node: vTaskSwitchContext/57:
  1160. Node: xTaskIncrementTick/56:
  1161. Node: xTaskAbortDelay/55:
  1162. param [0]: BOTTOM
  1163. ctxs: BOTTOM
  1164. Bits unusable (BOTTOM)
  1165. VARYING
  1166. AGGS BOTTOM
  1167. Node: xTaskCatchUpTicks/54:
  1168. param [0]: BOTTOM
  1169. ctxs: BOTTOM
  1170. Bits unusable (BOTTOM)
  1171. VARYING
  1172. AGGS BOTTOM
  1173. Node: uxTaskGetSystemState/53:
  1174. param [0]: BOTTOM
  1175. ctxs: BOTTOM
  1176. Bits unusable (BOTTOM)
  1177. VARYING
  1178. AGGS BOTTOM
  1179. param [1]: BOTTOM
  1180. ctxs: BOTTOM
  1181. Bits unusable (BOTTOM)
  1182. VARYING
  1183. AGGS BOTTOM
  1184. param [2]: BOTTOM
  1185. ctxs: BOTTOM
  1186. Bits unusable (BOTTOM)
  1187. VARYING
  1188. AGGS BOTTOM
  1189. Node: xTaskGetHandle/52:
  1190. param [0]: BOTTOM
  1191. ctxs: BOTTOM
  1192. Bits unusable (BOTTOM)
  1193. VARYING
  1194. AGGS BOTTOM
  1195. Node: prvSearchForNameWithinSingleList/51:
  1196. param [0]: VARIABLE
  1197. &xSuspendedTaskList [loc_time: 1, loc_size: 38, prop_time: 0, prop_size: 0]
  1198. &xTasksWaitingTermination [loc_time: 1, loc_size: 38, prop_time: 0, prop_size: 0]
  1199. ctxs: VARIABLE
  1200. Bits unusable (BOTTOM)
  1201. VARYING
  1202. AGGS VARIABLE
  1203. param [1]: VARIABLE
  1204. ctxs: VARIABLE
  1205. Bits unusable (BOTTOM)
  1206. VARYING
  1207. AGGS VARIABLE
  1208. Node: pcTaskGetName/50:
  1209. param [0]: BOTTOM
  1210. ctxs: BOTTOM
  1211. Bits unusable (BOTTOM)
  1212. VARYING
  1213. AGGS BOTTOM
  1214. Node: uxTaskGetNumberOfTasks/49:
  1215. Node: xTaskGetTickCountFromISR/48:
  1216. Node: xTaskGetTickCount/47:
  1217. Node: xTaskResumeAll/46:
  1218. Node: vTaskSuspendAll/45:
  1219. Node: vTaskEndScheduler/44:
  1220. Node: vTaskStartScheduler/43:
  1221. Node: xTaskResumeFromISR/42:
  1222. param [0]: BOTTOM
  1223. ctxs: BOTTOM
  1224. Bits unusable (BOTTOM)
  1225. VARYING
  1226. AGGS BOTTOM
  1227. Node: vTaskResume/41:
  1228. param [0]: BOTTOM
  1229. ctxs: BOTTOM
  1230. Bits unusable (BOTTOM)
  1231. VARYING
  1232. AGGS BOTTOM
  1233. Node: prvTaskIsTaskSuspended/40:
  1234. param [0]: VARIABLE
  1235. ctxs: VARIABLE
  1236. Bits unusable (BOTTOM)
  1237. VARYING
  1238. AGGS VARIABLE
  1239. Node: vTaskSuspend/39:
  1240. param [0]: BOTTOM
  1241. ctxs: BOTTOM
  1242. Bits unusable (BOTTOM)
  1243. VARYING
  1244. AGGS BOTTOM
  1245. Node: vTaskPrioritySet/38:
  1246. param [0]: BOTTOM
  1247. ctxs: BOTTOM
  1248. Bits unusable (BOTTOM)
  1249. VARYING
  1250. AGGS BOTTOM
  1251. param [1]: BOTTOM
  1252. ctxs: BOTTOM
  1253. Bits unusable (BOTTOM)
  1254. VARYING
  1255. AGGS BOTTOM
  1256. Node: uxTaskPriorityGetFromISR/37:
  1257. param [0]: BOTTOM
  1258. ctxs: BOTTOM
  1259. Bits unusable (BOTTOM)
  1260. VARYING
  1261. AGGS BOTTOM
  1262. Node: uxTaskPriorityGet/36:
  1263. param [0]: BOTTOM
  1264. ctxs: BOTTOM
  1265. Bits unusable (BOTTOM)
  1266. VARYING
  1267. AGGS BOTTOM
  1268. Node: eTaskGetState/35:
  1269. param [0]: BOTTOM
  1270. ctxs: BOTTOM
  1271. Bits unusable (BOTTOM)
  1272. VARYING
  1273. AGGS BOTTOM
  1274. Node: vTaskDelay/34:
  1275. param [0]: BOTTOM
  1276. ctxs: BOTTOM
  1277. Bits unusable (BOTTOM)
  1278. VARYING
  1279. AGGS BOTTOM
  1280. Node: xTaskDelayUntil/33:
  1281. param [0]: BOTTOM
  1282. ctxs: BOTTOM
  1283. Bits unusable (BOTTOM)
  1284. VARYING
  1285. AGGS BOTTOM
  1286. param [1]: BOTTOM
  1287. ctxs: BOTTOM
  1288. Bits unusable (BOTTOM)
  1289. VARYING
  1290. AGGS BOTTOM
  1291. Node: vTaskDelete/32:
  1292. param [0]: BOTTOM
  1293. ctxs: BOTTOM
  1294. Bits unusable (BOTTOM)
  1295. VARYING
  1296. AGGS BOTTOM
  1297. Node: prvAddNewTaskToReadyList/31:
  1298. param [0]: VARIABLE
  1299. ctxs: VARIABLE
  1300. Bits unusable (BOTTOM)
  1301. VARYING
  1302. AGGS VARIABLE
  1303. Node: xTaskCreate/29:
  1304. param [0]: BOTTOM
  1305. ctxs: BOTTOM
  1306. Bits unusable (BOTTOM)
  1307. VARYING
  1308. AGGS BOTTOM
  1309. param [1]: BOTTOM
  1310. ctxs: BOTTOM
  1311. Bits unusable (BOTTOM)
  1312. VARYING
  1313. AGGS BOTTOM
  1314. param [2]: BOTTOM
  1315. ctxs: BOTTOM
  1316. Bits unusable (BOTTOM)
  1317. VARYING
  1318. AGGS BOTTOM
  1319. param [3]: BOTTOM
  1320. ctxs: BOTTOM
  1321. Bits unusable (BOTTOM)
  1322. VARYING
  1323. AGGS BOTTOM
  1324. param [4]: BOTTOM
  1325. ctxs: BOTTOM
  1326. Bits unusable (BOTTOM)
  1327. VARYING
  1328. AGGS BOTTOM
  1329. param [5]: BOTTOM
  1330. ctxs: BOTTOM
  1331. Bits unusable (BOTTOM)
  1332. VARYING
  1333. AGGS BOTTOM
  1334. IPA decision stage:
  1335. Propagated bits info for function prvListTasksWithinSingleList.part.0/158:
  1336. param 2: value = 0x3, mask = 0x7
  1337. Propagated bits info for function prvInitialiseNewTask.isra.0/118:
  1338. param 2: value = 0x0, mask = 0xffff
  1339. Propagated bits info for function prvListTasksWithinSingleList/73:
  1340. param 2: value = 0x3, mask = 0x7
  1341. IPA constant propagation end
  1342. Reclaiming functions:
  1343. Reclaiming variables:
  1344. Clearing address taken flags:
  1345. Symbol table:
  1346. CSWTCH.225/163 (CSWTCH.225) @063c4798
  1347. Type: variable definition analyzed
  1348. Visibility: prevailing_def_ironly artificial
  1349. References:
  1350. Referring: vTaskList/84 (read)
  1351. Availability: available
  1352. Varpool flags: initialized read-only const-value-known
  1353. prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @061d3b60
  1354. Type: function definition analyzed
  1355. Visibility: prevailing_def_ironly artificial
  1356. References:
  1357. Referring:
  1358. Availability: local
  1359. Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  1360. Called by: prvListTasksWithinSingleList/73 (118111600 (estimated locally),0.50 per call)
  1361. Calls: vTaskGetInfo/72 (1073741824 (estimated locally),9.09 per call)
  1362. vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @063282a0
  1363. Type: function definition analyzed
  1364. Visibility: prevailing_def_ironly artificial
  1365. References:
  1366. Referring:
  1367. Availability: local
  1368. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  1369. Called by: vTaskSwitchContext/57 (107374 (estimated locally),0.24 per call)
  1370. Calls:
  1371. xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @06328620
  1372. Type: function definition analyzed
  1373. Visibility: prevailing_def_ironly artificial
  1374. References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)uxSchedulerSuspended/28 (read)uxCurrentNumberOfTasks/17 (read)xPendingReadyList/13 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)xPendingReadyList/13 (read)xPendedTicks/21 (read)xYieldPending/22 (write)xPendedTicks/21 (write)xYieldPending/22 (read)
  1375. Referring:
  1376. Availability: local
  1377. Function flags: count:472446400 (estimated locally) first_run:1 body local split_part optimize_size
  1378. Called by: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call)
  1379. Calls: vPortEnterCritical/100 (472446400 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick/56 (536870915 (estimated locally),1.14 per call) vPortExitCritical/101 (472446401 (estimated locally),1.00 per call)
  1380. xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @06328540
  1381. Type: function definition analyzed
  1382. Visibility: prevailing_def_ironly artificial
  1383. References: xTickCount/18 (read)xTickCount/18 (write)pxDelayedTaskList/11 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)pxDelayedTaskList/11 (write)pxOverflowDelayedTaskList/12 (write)xNumOfOverflows/23 (read)xNumOfOverflows/23 (write)xNextTaskUnblockTime/25 (read)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (read)xYieldPending/22 (read)
  1384. Referring:
  1385. Availability: local
  1386. Function flags: count:320519 (estimated locally) first_run:1 body local split_part optimize_size
  1387. Called by: xTaskIncrementTick/56 (320520 (estimated locally),0.50 per call)
  1388. Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.17 per call)
  1389. eTaskGetState.part.0/122 (eTaskGetState.part.0) @061d39a0
  1390. Type: function definition analyzed
  1391. Visibility: prevailing_def_ironly artificial
  1392. References:
  1393. Referring:
  1394. Availability: local
  1395. Function flags: count:566398813 (estimated locally) first_run:1 body local split_part optimize_size
  1396. Called by: eTaskGetState/35 (11759 (estimated locally),0.03 per call)
  1397. Calls:
  1398. prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @05f2a540
  1399. Type: function definition analyzed
  1400. Visibility: prevailing_def_ironly artificial
  1401. References: xSuspendedTaskList/16 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSuspendedTaskList/16 (read)xSuspendedTaskList/16 (write)
  1402. Referring:
  1403. Availability: local
  1404. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  1405. Called by: prvAddCurrentTaskToDelayedList/94 (182536110 (estimated locally),0.17 per call)
  1406. Calls:
  1407. prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @05f2a2a0
  1408. Type: function definition analyzed
  1409. Visibility: prevailing_def_ironly artificial
  1410. References:
  1411. Referring:
  1412. Availability: local
  1413. Function flags: count:160260 (estimated locally) body local optimize_size
  1414. Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
  1415. Calls: pxPortInitialiseStack/99 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) memset/97 (160260 (estimated locally),1.00 per call)
  1416. prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @05f22e00
  1417. Type: function definition analyzed
  1418. Visibility: prevailing_def_ironly artificial
  1419. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  1420. Referring:
  1421. Availability: local
  1422. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  1423. Called by: prvResetNextTaskUnblockTime/77 (536870912 (estimated locally),0.50 per call)
  1424. Calls:
  1425. prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05e542a0
  1426. Type: function definition analyzed
  1427. Visibility: prevailing_def_ironly artificial
  1428. References: xPendingReadyList/13 (addr)
  1429. Referring:
  1430. Availability: local
  1431. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  1432. Called by: prvTaskIsTaskSuspended/40 (75162 (estimated locally),0.21 per call)
  1433. Calls:
  1434. strcpy/112 (strcpy) @06161000
  1435. Type: function
  1436. Visibility: external public
  1437. References:
  1438. Referring:
  1439. Availability: not_available
  1440. Function flags: optimize_size
  1441. Called by: prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call)
  1442. Calls:
  1443. sprintf/111 (sprintf) @06141ee0
  1444. Type: function
  1445. Visibility: external public
  1446. References:
  1447. Referring:
  1448. Availability: not_available
  1449. Function flags: optimize_size
  1450. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
  1451. Calls:
  1452. strlen/110 (strlen) @060d49a0
  1453. Type: function
  1454. Visibility: external public
  1455. References:
  1456. Referring:
  1457. Availability: not_available
  1458. Function flags: optimize_size
  1459. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) xTaskGetHandle/52 (160260 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call)
  1460. Calls:
  1461. vPortEndScheduler/109 (vPortEndScheduler) @060d4000
  1462. Type: function
  1463. Visibility: external public
  1464. References:
  1465. Referring:
  1466. Availability: not_available
  1467. Function flags: optimize_size
  1468. Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call)
  1469. Calls:
  1470. xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40
  1471. Type: function
  1472. Visibility: external public
  1473. References:
  1474. Referring:
  1475. Availability: not_available
  1476. Function flags: optimize_size
  1477. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  1478. Calls:
  1479. xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60
  1480. Type: function
  1481. Visibility: external public
  1482. References:
  1483. Referring:
  1484. Availability: not_available
  1485. Function flags: optimize_size
  1486. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  1487. Calls:
  1488. vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00
  1489. Type: function
  1490. Visibility: external public
  1491. References:
  1492. Referring:
  1493. Availability: not_available
  1494. Function flags: optimize_size
  1495. Called by: vTaskGenericNotifyGiveFromISR/91 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (52886 (estimated locally),0.23 per call) xTaskGetTickCountFromISR/48 (1073741824 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) uxTaskPriorityGetFromISR/37 (1073741824 (estimated locally),1.00 per call)
  1496. Calls:
  1497. vListInsert/105 (vListInsert) @05a837e0
  1498. Type: function
  1499. Visibility: external public
  1500. References:
  1501. Referring:
  1502. Availability: not_available
  1503. Function flags: optimize_size
  1504. Called by: vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call)
  1505. Calls:
  1506. vListInsertEnd/104 (vListInsertEnd) @05a830e0
  1507. Type: function
  1508. Visibility: external public
  1509. References:
  1510. Referring:
  1511. Availability: not_available
  1512. Function flags: optimize_size
  1513. Called by: vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (20359 (estimated locally),0.09 per call) vTaskDelete/32 (429496 (estimated locally),0.30 per call)
  1514. Calls:
  1515. uxListRemove/103 (uxListRemove) @05a83000
  1516. Type: function
  1517. Visibility: external public
  1518. References:
  1519. Referring:
  1520. Availability: not_available
  1521. Function flags: optimize_size
  1522. Called by: vTaskPriorityDisinheritAfterTimeout/82 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (65503620 (estimated locally),0.06 per call) vTaskSuspend/39 (765505 (estimated locally),0.53 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (13354 (estimated locally),0.06 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeFromISR/42 (41335 (estimated locally),0.18 per call) vTaskResume/41 (44208 (estimated locally),0.12 per call) vTaskPrioritySet/38 (6084 (estimated locally),0.04 per call) vTaskDelete/32 (765505 (estimated locally),0.53 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvAddCurrentTaskToDelayedList/94 (1073741823 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call)
  1523. Calls:
  1524. vListInitialise/102 (vListInitialise) @060b4ee0
  1525. Type: function
  1526. Visibility: external public
  1527. References:
  1528. Referring:
  1529. Availability: not_available
  1530. Function flags: optimize_size
  1531. Called by: prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (894749063 (estimated locally),5.00 per call)
  1532. Calls:
  1533. vPortExitCritical/101 (vPortExitCritical) @060b4d20
  1534. Type: function
  1535. Visibility: external public
  1536. References:
  1537. Referring:
  1538. Availability: not_available
  1539. Function flags: optimize_size
  1540. Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (33803 (estimated locally),0.16 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446401 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741823 (estimated locally),1.00 per call)
  1541. Calls:
  1542. vPortEnterCritical/100 (vPortEnterCritical) @060b4b60
  1543. Type: function
  1544. Visibility: external public
  1545. References:
  1546. Referring:
  1547. Availability: not_available
  1548. Function flags: optimize_size
  1549. Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446400 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741821 (estimated locally),1.00 per call)
  1550. Calls:
  1551. pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0
  1552. Type: function
  1553. Visibility: external public
  1554. References:
  1555. Referring:
  1556. Availability: not_available
  1557. Function flags: optimize_size
  1558. Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
  1559. Calls:
  1560. vListInitialiseItem/98 (vListInitialiseItem) @060b47e0
  1561. Type: function
  1562. Visibility: external public
  1563. References:
  1564. Referring:
  1565. Availability: not_available
  1566. Function flags: optimize_size
  1567. Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
  1568. Calls:
  1569. memset/97 (memset) @060b4700
  1570. Type: function
  1571. Visibility: external public
  1572. References:
  1573. Referring:
  1574. Availability: not_available
  1575. Function flags: optimize_size
  1576. Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (160260 (estimated locally),1.00 per call)
  1577. Calls:
  1578. vPortFree/96 (vPortFree) @060b4540
  1579. Type: function
  1580. Visibility: external public
  1581. References:
  1582. Referring:
  1583. Availability: not_available
  1584. Function flags: optimize_size
  1585. Called by: vTaskList/84 (118111601 (estimated locally),0.53 per call) xTaskCreate/29 (100070816 (estimated locally),0.09 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call)
  1586. Calls:
  1587. pvPortMalloc/95 (pvPortMalloc) @060b4460
  1588. Type: function
  1589. Visibility: external public
  1590. References:
  1591. Referring:
  1592. Availability: not_available
  1593. Function flags: optimize_size
  1594. Called by: vTaskList/84 (220893212 (estimated locally),1.00 per call) xTaskCreate/29 (574129754 (estimated locally),0.53 per call) xTaskCreate/29 (1073741824 (estimated locally),1.00 per call)
  1595. Calls:
  1596. prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000
  1597. Type: function definition analyzed
  1598. Visibility: prevailing_def_ironly
  1599. References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write)
  1600. Referring:
  1601. Availability: local
  1602. Function flags: count:1073741823 (estimated locally) body local optimize_size
  1603. Called by: xTaskGenericNotifyWait/88 (11519 (estimated locally),0.07 per call) ulTaskGenericNotifyTake/87 (8726 (estimated locally),0.05 per call) vTaskPlaceOnEventListRestricted/60 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (17717 (estimated locally),0.06 per call)
  1604. Calls: vListInsert/105 (445602856 (estimated locally),0.41 per call) vListInsert/105 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList.part.0/119 (182536110 (estimated locally),0.17 per call) uxListRemove/103 (1073741823 (estimated locally),1.00 per call)
  1605. ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540
  1606. Type: function definition analyzed
  1607. Visibility: externally_visible public
  1608. References: pxCurrentTCB/7 (read)
  1609. Referring:
  1610. Availability: available
  1611. Function flags: count:1073741824 (estimated locally) body optimize_size
  1612. Called by:
  1613. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  1614. xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20
  1615. Type: function definition analyzed
  1616. Visibility: externally_visible public
  1617. References: pxCurrentTCB/7 (read)
  1618. Referring:
  1619. Availability: available
  1620. Function flags: count:214748 (estimated locally) body optimize_size
  1621. Called by:
  1622. Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call)
  1623. vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0
  1624. Type: function definition analyzed
  1625. Visibility: externally_visible public
  1626. References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
  1627. Referring:
  1628. Availability: available
  1629. Function flags: count:228942 (estimated locally) body optimize_size
  1630. Called by:
  1631. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  1632. xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460
  1633. Type: function definition analyzed
  1634. Visibility: externally_visible public
  1635. References: xTickCount/18 (read)uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
  1636. Referring:
  1637. Availability: available
  1638. Function flags: count:228942 (estimated locally) body optimize_size
  1639. Called by:
  1640. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  1641. xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00
  1642. Type: function definition analyzed
  1643. Visibility: externally_visible public
  1644. References: xTickCount/18 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
  1645. Referring:
  1646. Availability: available
  1647. Function flags: count:214748 (estimated locally) body optimize_size
  1648. Called by:
  1649. Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call)
  1650. xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20
  1651. Type: function definition analyzed
  1652. Visibility: externally_visible public
  1653. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1654. Referring:
  1655. Availability: available
  1656. Function flags: count:160260 (estimated locally) body optimize_size
  1657. Called by:
  1658. Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (11519 (estimated locally),0.07 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
  1659. ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0
  1660. Type: function definition analyzed
  1661. Visibility: externally_visible public
  1662. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1663. Referring:
  1664. Availability: available
  1665. Function flags: count:160260 (estimated locally) body optimize_size
  1666. Called by:
  1667. Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (8726 (estimated locally),0.05 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
  1668. pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460
  1669. Type: function definition analyzed
  1670. Visibility: externally_visible public
  1671. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1672. Referring:
  1673. Availability: available
  1674. Function flags: count:1073741824 (estimated locally) body optimize_size
  1675. Called by:
  1676. Calls:
  1677. uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0
  1678. Type: function definition analyzed
  1679. Visibility: externally_visible public
  1680. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1681. Referring:
  1682. Availability: available
  1683. Function flags: count:1073741824 (estimated locally) body optimize_size
  1684. Called by:
  1685. Calls:
  1686. vTaskList/84 (vTaskList) @0604fc40
  1687. Type: function definition analyzed
  1688. Visibility: externally_visible public
  1689. References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read)
  1690. Referring:
  1691. Availability: available
  1692. Function flags: count:220893212 (estimated locally) body optimize_size
  1693. Called by:
  1694. Calls: vPortFree/96 (118111601 (estimated locally),0.53 per call) strlen/110 (955630226 (estimated locally),4.33 per call) sprintf/111 (955630226 (estimated locally),4.33 per call) prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call) uxTaskGetSystemState/53 (118111600 (estimated locally),0.53 per call) pvPortMalloc/95 (220893212 (estimated locally),1.00 per call)
  1695. prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540
  1696. Type: function definition analyzed
  1697. Visibility: prevailing_def_ironly
  1698. References:
  1699. Referring:
  1700. Availability: local
  1701. Function flags: count:118111600 (estimated locally) body local optimize_size
  1702. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
  1703. Calls: strlen/110 (118111600 (estimated locally),1.00 per call) strcpy/112 (118111600 (estimated locally),1.00 per call)
  1704. vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000
  1705. Type: function definition analyzed
  1706. Visibility: externally_visible public
  1707. References: pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
  1708. Referring:
  1709. Availability: available
  1710. Function flags: count:306783 (estimated locally) body optimize_size
  1711. Called by:
  1712. Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call)
  1713. xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60
  1714. Type: function definition analyzed
  1715. Visibility: externally_visible public
  1716. References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
  1717. Referring:
  1718. Availability: available
  1719. Function flags: count:219131 (estimated locally) body optimize_size
  1720. Called by:
  1721. Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call)
  1722. xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700
  1723. Type: function definition analyzed
  1724. Visibility: externally_visible public
  1725. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1726. Referring:
  1727. Availability: available
  1728. Function flags: count:1073741824 (estimated locally) body optimize_size
  1729. Called by:
  1730. Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call)
  1731. xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460
  1732. Type: function definition analyzed
  1733. Visibility: externally_visible public
  1734. References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
  1735. Referring:
  1736. Availability: available
  1737. Function flags: count:1073741824 (estimated locally) body optimize_size
  1738. Called by:
  1739. Calls:
  1740. xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0
  1741. Type: function definition analyzed
  1742. Visibility: externally_visible public
  1743. References: pxCurrentTCB/7 (read)
  1744. Referring:
  1745. Availability: available
  1746. Function flags: count:1073741824 (estimated locally) body optimize_size
  1747. Called by:
  1748. Calls:
  1749. prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40
  1750. Type: function definition analyzed
  1751. Visibility: prevailing_def_ironly
  1752. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  1753. Referring:
  1754. Availability: local
  1755. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1756. Called by: vTaskSuspend/39 (472446 (estimated locally),0.33 per call) xTaskResumeAll.part.0/137 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick.part.0/135 (52886 (estimated locally),0.17 per call) vTaskDelete/32 (1002157 (estimated locally),0.70 per call)
  1757. Calls: prvResetNextTaskUnblockTime.part.0/115 (536870912 (estimated locally),0.50 per call)
  1758. prvDeleteTCB/76 (prvDeleteTCB) @06043380
  1759. Type: function definition analyzed
  1760. Visibility: prevailing_def_ironly
  1761. References:
  1762. Referring:
  1763. Availability: local
  1764. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1765. Called by: vTaskDelete/32 (1002157 (estimated locally),0.70 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call)
  1766. Calls: vPortFree/96 (1073741824 (estimated locally),1.00 per call) vPortFree/96 (1073741824 (estimated locally),1.00 per call)
  1767. uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0
  1768. Type: function definition analyzed
  1769. Visibility: externally_visible public
  1770. References: pxCurrentTCB/7 (read)
  1771. Referring:
  1772. Availability: available
  1773. Function flags: count:1073741824 (estimated locally) body optimize_size
  1774. Called by:
  1775. Calls: prvTaskCheckFreeStackSpace/74 (1073741824 (estimated locally),1.00 per call)
  1776. prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60
  1777. Type: function definition analyzed
  1778. Visibility: prevailing_def_ironly
  1779. References:
  1780. Referring:
  1781. Availability: local
  1782. Function flags: count:118111600 (estimated locally) body local optimize_size
  1783. Called by: uxTaskGetStackHighWaterMark/75 (1073741824 (estimated locally),1.00 per call) vTaskGetInfo/72 (354334802 (estimated locally),0.33 per call)
  1784. Calls:
  1785. prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0
  1786. Type: function definition analyzed
  1787. Visibility: prevailing_def_ironly
  1788. References:
  1789. Referring:
  1790. Availability: local
  1791. Function flags: count:236223200 (estimated locally) body local optimize_size
  1792. Called by: uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (1073741824 (estimated locally),2.50 per call)
  1793. Calls: prvListTasksWithinSingleList.part.0/158 (118111600 (estimated locally),0.50 per call)
  1794. vTaskGetInfo/72 (vTaskGetInfo) @06043620
  1795. Type: function definition analyzed
  1796. Visibility: externally_visible public
  1797. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1798. Referring:
  1799. Availability: available
  1800. Function flags: count:1073741823 (estimated locally) body optimize_size
  1801. Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),9.09 per call)
  1802. Calls: prvTaskCheckFreeStackSpace/74 (354334802 (estimated locally),0.33 per call) eTaskGetState/35 (217325345 (estimated locally),0.20 per call) xTaskResumeAll/46 (121337087 (estimated locally),0.11 per call) vTaskSuspendAll/45 (121337087 (estimated locally),0.11 per call)
  1803. prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0
  1804. Type: function definition analyzed
  1805. Visibility: prevailing_def_ironly
  1806. References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
  1807. Referring:
  1808. Availability: local
  1809. Function flags: count:118111600 (estimated locally) body local optimize_size
  1810. Called by: prvIdleTask/69 (1073741824 (estimated locally),16949.09 per call)
  1811. Calls: prvDeleteTCB/76 (955630223 (estimated locally),8.09 per call) vPortExitCritical/101 (955630223 (estimated locally),8.09 per call) uxListRemove/103 (955630223 (estimated locally),8.09 per call) vPortEnterCritical/100 (955630223 (estimated locally),8.09 per call)
  1812. prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0
  1813. Type: function definition analyzed
  1814. Visibility: prevailing_def_ironly
  1815. References: pxReadyTasksLists/8 (addr)xDelayedTaskList1/9 (addr)xDelayedTaskList2/10 (addr)xPendingReadyList/13 (addr)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)pxDelayedTaskList/11 (write)xDelayedTaskList1/9 (addr)pxOverflowDelayedTaskList/12 (write)xDelayedTaskList2/10 (addr)
  1816. Referring:
  1817. Availability: local
  1818. Function flags: count:178992762 (estimated locally) body local optimize_size
  1819. Called by: prvAddNewTaskToReadyList/31 (65197603 (estimated locally),0.06 per call)
  1820. Calls: vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (894749063 (estimated locally),5.00 per call)
  1821. prvIdleTask/69 (prvIdleTask) @0603f9a0
  1822. Type: function definition analyzed
  1823. Visibility: prevailing_def_ironly
  1824. Address is taken.
  1825. References: pxReadyTasksLists/8 (read)
  1826. Referring: vTaskStartScheduler/43 (addr)
  1827. Availability: available
  1828. Function flags: count:63351 (estimated locally) body executed_once optimize_size
  1829. Called by:
  1830. Calls: prvCheckTasksWaitingTermination/71 (1073741824 (estimated locally),16949.09 per call)
  1831. vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00
  1832. Type: function definition analyzed
  1833. Visibility: externally_visible public
  1834. References:
  1835. Referring:
  1836. Availability: available
  1837. Function flags: count:1073741824 (estimated locally) body optimize_size
  1838. Called by:
  1839. Calls:
  1840. uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60
  1841. Type: function definition analyzed
  1842. Visibility: externally_visible public
  1843. References:
  1844. Referring:
  1845. Availability: available
  1846. Function flags: count:1073741824 (estimated locally) body optimize_size
  1847. Called by:
  1848. Calls:
  1849. vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0
  1850. Type: function definition analyzed
  1851. Visibility: externally_visible public
  1852. References: xYieldPending/22 (write)
  1853. Referring:
  1854. Availability: available
  1855. Function flags: count:1073741824 (estimated locally) body optimize_size
  1856. Called by:
  1857. Calls:
  1858. xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620
  1859. Type: function definition analyzed
  1860. Visibility: externally_visible public
  1861. References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
  1862. Referring:
  1863. Availability: available
  1864. Function flags: count:329661 (estimated locally) body optimize_size
  1865. Called by:
  1866. Calls: vPortExitCritical/101 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (9003 (estimated locally),0.03 per call) vPortEnterCritical/100 (123389 (estimated locally),0.37 per call)
  1867. vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0
  1868. Type: function definition analyzed
  1869. Visibility: externally_visible public
  1870. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  1871. Referring:
  1872. Availability: available
  1873. Function flags: count:1073741824 (estimated locally) body optimize_size
  1874. Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call)
  1875. Calls:
  1876. vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60
  1877. Type: function definition analyzed
  1878. Visibility: externally_visible public
  1879. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  1880. Referring:
  1881. Availability: available
  1882. Function flags: count:230763 (estimated locally) body optimize_size
  1883. Called by:
  1884. Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call)
  1885. vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0
  1886. Type: function definition analyzed
  1887. Visibility: externally_visible public
  1888. References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
  1889. Referring:
  1890. Availability: available
  1891. Function flags: count:214748 (estimated locally) body optimize_size
  1892. Called by:
  1893. Calls:
  1894. xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80
  1895. Type: function definition analyzed
  1896. Visibility: externally_visible public
  1897. References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
  1898. Referring:
  1899. Availability: available
  1900. Function flags: count:357913 (estimated locally) body optimize_size
  1901. Called by:
  1902. Calls:
  1903. vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620
  1904. Type: function definition analyzed
  1905. Visibility: externally_visible public
  1906. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1907. Referring:
  1908. Availability: available
  1909. Function flags: count:357913 (estimated locally) body optimize_size
  1910. Called by:
  1911. Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call)
  1912. vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0
  1913. Type: function definition analyzed
  1914. Visibility: externally_visible public
  1915. References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  1916. Referring:
  1917. Availability: available
  1918. Function flags: count:228942 (estimated locally) body optimize_size
  1919. Called by:
  1920. Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call)
  1921. vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80
  1922. Type: function definition analyzed
  1923. Visibility: externally_visible public
  1924. References: pxCurrentTCB/7 (read)
  1925. Referring:
  1926. Availability: available
  1927. Function flags: count:230763 (estimated locally) body optimize_size
  1928. Called by:
  1929. Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call)
  1930. vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00
  1931. Type: function definition analyzed
  1932. Visibility: force_output externally_visible public
  1933. References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (read)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write)
  1934. Referring:
  1935. Availability: available
  1936. Function flags: count:441995 (estimated locally) body optimize_size
  1937. Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call)
  1938. Calls: vTaskSwitchContext.part.0/146 (107374 (estimated locally),0.24 per call)
  1939. xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0
  1940. Type: function definition analyzed
  1941. Visibility: externally_visible public
  1942. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  1943. Referring:
  1944. Availability: available
  1945. Function flags: count:641039 (estimated locally) body optimize_size
  1946. Called by: xTaskResumeAll.part.0/137 (536870915 (estimated locally),1.14 per call)
  1947. Calls: xTaskIncrementTick.part.0/135 (320520 (estimated locally),0.50 per call)
  1948. xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380
  1949. Type: function definition analyzed
  1950. Visibility: externally_visible public
  1951. References: uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
  1952. Referring:
  1953. Availability: available
  1954. Function flags: count:230763 (estimated locally) body optimize_size
  1955. Called by:
  1956. Calls: xTaskResumeAll/46 (123389 (estimated locally),0.53 per call) vPortExitCritical/101 (24974 (estimated locally),0.11 per call) uxListRemove/103 (13354 (estimated locally),0.06 per call) vPortEnterCritical/100 (24974 (estimated locally),0.11 per call) uxListRemove/103 (24974 (estimated locally),0.11 per call) eTaskGetState/35 (123389 (estimated locally),0.53 per call) vTaskSuspendAll/45 (123389 (estimated locally),0.53 per call)
  1957. xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000
  1958. Type: function definition analyzed
  1959. Visibility: externally_visible public
  1960. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  1961. Referring:
  1962. Availability: available
  1963. Function flags: count:160260 (estimated locally) body optimize_size
  1964. Called by:
  1965. Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call)
  1966. uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0
  1967. Type: function definition analyzed
  1968. Visibility: externally_visible public
  1969. References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)
  1970. Referring:
  1971. Availability: available
  1972. Function flags: count:429496728 (estimated locally) body optimize_size
  1973. Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call)
  1974. Calls: xTaskResumeAll/46 (429496729 (estimated locally),1.00 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (1073741824 (estimated locally),2.50 per call) vTaskSuspendAll/45 (429496728 (estimated locally),1.00 per call)
  1975. xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0
  1976. Type: function definition analyzed
  1977. Visibility: externally_visible public
  1978. References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  1979. Referring:
  1980. Availability: available
  1981. Function flags: count:160260 (estimated locally) body optimize_size
  1982. Called by:
  1983. Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (216745 (estimated locally),1.35 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) strlen/110 (160260 (estimated locally),1.00 per call)
  1984. prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00
  1985. Type: function definition analyzed
  1986. Visibility: prevailing_def_ironly
  1987. References:
  1988. Referring:
  1989. Availability: local
  1990. Function flags: count:25274560 (estimated locally) body local optimize_size
  1991. Called by: xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (216745 (estimated locally),1.35 per call)
  1992. Calls:
  1993. pcTaskGetName/50 (pcTaskGetName) @05f7fb60
  1994. Type: function definition analyzed
  1995. Visibility: externally_visible public
  1996. References: pxCurrentTCB/7 (read)
  1997. Referring:
  1998. Availability: available
  1999. Function flags: count:357913 (estimated locally) body optimize_size
  2000. Called by:
  2001. Calls:
  2002. uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700
  2003. Type: function definition analyzed
  2004. Visibility: externally_visible public
  2005. References: uxCurrentNumberOfTasks/17 (read)
  2006. Referring:
  2007. Availability: available
  2008. Function flags: count:1073741824 (estimated locally) body optimize_size
  2009. Called by:
  2010. Calls:
  2011. xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460
  2012. Type: function definition analyzed
  2013. Visibility: externally_visible public
  2014. References: xTickCount/18 (read)
  2015. Referring:
  2016. Availability: available
  2017. Function flags: count:1073741824 (estimated locally) body optimize_size
  2018. Called by:
  2019. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  2020. xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0
  2021. Type: function definition analyzed
  2022. Visibility: externally_visible public
  2023. References: xTickCount/18 (read)
  2024. Referring:
  2025. Availability: available
  2026. Function flags: count:1073741824 (estimated locally) body optimize_size
  2027. Called by:
  2028. Calls:
  2029. xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00
  2030. Type: function definition analyzed
  2031. Visibility: externally_visible public
  2032. References: uxSchedulerSuspended/28 (read)
  2033. Referring:
  2034. Availability: available
  2035. Function flags: count:160260 (estimated locally) body optimize_size
  2036. Called by: uxTaskGetSystemState/53 (429496729 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call)
  2037. Calls: xTaskResumeAll.part.0/137 (52886 (estimated locally),0.33 per call)
  2038. vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20
  2039. Type: function definition analyzed
  2040. Visibility: externally_visible public
  2041. References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
  2042. Referring:
  2043. Availability: available
  2044. Function flags: count:1073741824 (estimated locally) body optimize_size
  2045. Called by: uxTaskGetSystemState/53 (429496728 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call)
  2046. Calls:
  2047. vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80
  2048. Type: function definition analyzed
  2049. Visibility: externally_visible public
  2050. References: xSchedulerRunning/20 (write)
  2051. Referring:
  2052. Availability: available
  2053. Function flags: count:1073741824 (estimated locally) body optimize_size
  2054. Called by:
  2055. Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call)
  2056. vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0
  2057. Type: function definition analyzed
  2058. Visibility: externally_visible public
  2059. References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read)
  2060. Referring:
  2061. Availability: available
  2062. Function flags: count:395945 (estimated locally) body optimize_size
  2063. Called by:
  2064. Calls: xPortStartScheduler/108 (80139 (estimated locally),0.20 per call) xTimerCreateTimerTask/107 (80139 (estimated locally),0.20 per call) xTaskCreate/29 (395945 (estimated locally),1.00 per call)
  2065. xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540
  2066. Type: function definition analyzed
  2067. Visibility: externally_visible public
  2068. References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)xYieldPending/22 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (addr)
  2069. Referring:
  2070. Availability: available
  2071. Function flags: count:230763 (estimated locally) body optimize_size
  2072. Called by:
  2073. Calls: vListInsertEnd/104 (20359 (estimated locally),0.09 per call) uxListRemove/103 (41335 (estimated locally),0.18 per call) prvTaskIsTaskSuspended/40 (123389 (estimated locally),0.53 per call) vPortValidateInterruptPriority/106 (123389 (estimated locally),0.53 per call)
  2074. vTaskResume/41 (vTaskResume) @05f6c1c0
  2075. Type: function definition analyzed
  2076. Visibility: externally_visible public
  2077. References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
  2078. Referring:
  2079. Availability: available
  2080. Function flags: count:357913 (estimated locally) body optimize_size
  2081. Called by:
  2082. Calls: vPortExitCritical/101 (133963 (estimated locally),0.37 per call) uxListRemove/103 (44208 (estimated locally),0.12 per call) prvTaskIsTaskSuspended/40 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call)
  2083. prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0
  2084. Type: function definition analyzed
  2085. Visibility: prevailing_def_ironly
  2086. References: xSuspendedTaskList/16 (addr)
  2087. Referring:
  2088. Availability: local
  2089. Function flags: count:357913 (estimated locally) body local optimize_size
  2090. Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call)
  2091. Calls: prvTaskIsTaskSuspended.part.0/114 (75162 (estimated locally),0.21 per call)
  2092. vTaskSuspend/39 (vTaskSuspend) @05f5de00
  2093. Type: function definition analyzed
  2094. Visibility: externally_visible public
  2095. References: pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)xSuspendedTaskList/16 (read)uxCurrentNumberOfTasks/17 (read)pxCurrentTCB/7 (write)
  2096. Referring:
  2097. Availability: available
  2098. Function flags: count:1431653 (estimated locally) body optimize_size
  2099. Called by:
  2100. Calls: vTaskSwitchContext/57 (104969 (estimated locally),0.07 per call) vPortExitCritical/101 (472446 (estimated locally),0.33 per call) prvResetNextTaskUnblockTime/77 (472446 (estimated locally),0.33 per call) vPortEnterCritical/100 (472446 (estimated locally),0.33 per call) vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) vListInsertEnd/104 (1431653 (estimated locally),1.00 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call)
  2101. vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0
  2102. Type: function definition analyzed
  2103. Visibility: externally_visible public
  2104. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
  2105. Referring:
  2106. Availability: available
  2107. Function flags: count:160260 (estimated locally) body optimize_size
  2108. Called by:
  2109. Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) uxListRemove/103 (6084 (estimated locally),0.04 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
  2110. uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380
  2111. Type: function definition analyzed
  2112. Visibility: externally_visible public
  2113. References: pxCurrentTCB/7 (read)
  2114. Referring:
  2115. Availability: available
  2116. Function flags: count:1073741824 (estimated locally) body optimize_size
  2117. Called by:
  2118. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  2119. uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000
  2120. Type: function definition analyzed
  2121. Visibility: externally_visible public
  2122. References: pxCurrentTCB/7 (read)
  2123. Referring:
  2124. Availability: available
  2125. Function flags: count:1073741824 (estimated locally) body optimize_size
  2126. Called by:
  2127. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  2128. eTaskGetState/35 (eTaskGetState) @05f482a0
  2129. Type: function definition analyzed
  2130. Visibility: externally_visible public
  2131. References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  2132. Referring:
  2133. Availability: available
  2134. Function flags: count:357913 (estimated locally) body optimize_size
  2135. Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call)
  2136. Calls: eTaskGetState.part.0/122 (11759 (estimated locally),0.03 per call) vPortExitCritical/101 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call)
  2137. vTaskDelay/34 (vTaskDelay) @05f48c40
  2138. Type: function definition analyzed
  2139. Visibility: externally_visible public
  2140. References: uxSchedulerSuspended/28 (read)
  2141. Referring:
  2142. Availability: available
  2143. Function flags: count:320519 (estimated locally) body optimize_size
  2144. Called by:
  2145. Calls: xTaskResumeAll/46 (52886 (estimated locally),0.17 per call) prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.17 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.17 per call)
  2146. xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0
  2147. Type: function definition analyzed
  2148. Visibility: externally_visible public
  2149. References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
  2150. Referring:
  2151. Availability: available
  2152. Function flags: count:306783 (estimated locally) body optimize_size
  2153. Called by:
  2154. Calls: xTaskResumeAll/46 (35433 (estimated locally),0.12 per call) prvAddCurrentTaskToDelayedList/94 (17717 (estimated locally),0.06 per call) vTaskSuspendAll/45 (35433 (estimated locally),0.12 per call)
  2155. vTaskDelete/32 (vTaskDelete) @05f481c0
  2156. Type: function definition analyzed
  2157. Visibility: externally_visible public
  2158. References: pxCurrentTCB/7 (read)uxTaskNumber/24 (read)uxTaskNumber/24 (write)pxCurrentTCB/7 (read)xTasksWaitingTermination/14 (addr)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)uxSchedulerSuspended/28 (read)
  2159. Referring:
  2160. Availability: available
  2161. Function flags: count:1431653 (estimated locally) body optimize_size
  2162. Called by:
  2163. Calls: vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call) vListInsertEnd/104 (429496 (estimated locally),0.30 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call)
  2164. prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540
  2165. Type: function definition analyzed
  2166. Visibility: prevailing_def_ironly
  2167. References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxCurrentNumberOfTasks/17 (read)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxTaskNumber/24 (read)uxTaskNumber/24 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)
  2168. Referring:
  2169. Availability: local
  2170. Function flags: count:1073741821 (estimated locally) body local optimize_size
  2171. Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
  2172. Calls: vPortExitCritical/101 (1073741823 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (65197603 (estimated locally),0.06 per call) vPortEnterCritical/100 (1073741821 (estimated locally),1.00 per call)
  2173. xTaskCreate/29 (xTaskCreate) @05f36700
  2174. Type: function definition analyzed
  2175. Visibility: externally_visible public
  2176. References:
  2177. Referring:
  2178. Availability: available
  2179. Function flags: count:1073741824 (estimated locally) body optimize_size
  2180. Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call)
  2181. Calls: prvAddNewTaskToReadyList/31 (306987179 (estimated locally),0.29 per call) prvInitialiseNewTask.isra.0/118 (306987179 (estimated locally),0.29 per call) vPortFree/96 (100070816 (estimated locally),0.09 per call) pvPortMalloc/95 (574129754 (estimated locally),0.53 per call) pvPortMalloc/95 (1073741824 (estimated locally),1.00 per call)
  2182. uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0
  2183. Type: variable definition analyzed
  2184. Visibility: force_output prevailing_def_ironly
  2185. References:
  2186. Referring: xTaskGetSchedulerState/79 (read)xTaskIncrementTick/56 (read)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskGenericNotifyFromISR/90 (read)vTaskRemoveFromUnorderedEventList/62 (read)vTaskDelete/32 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskDelayUntil/33 (read)xTaskResumeFromISR/42 (read)vTaskDelay/34 (read)vTaskSwitchContext/57 (read)vTaskSuspend/39 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)vTaskGenericNotifyGiveFromISR/91 (read)
  2187. Availability: available
  2188. Varpool flags: initialized
  2189. uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510
  2190. Type: variable definition analyzed
  2191. Visibility: force_output externally_visible public
  2192. References:
  2193. Referring: vTaskStartScheduler/43 (read)
  2194. Availability: available
  2195. Varpool flags: initialized read-only
  2196. xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480
  2197. Type: variable definition analyzed
  2198. Visibility: prevailing_def_ironly
  2199. References:
  2200. Referring: vTaskStartScheduler/43 (addr)
  2201. Availability: available
  2202. Varpool flags: initialized
  2203. xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0
  2204. Type: variable definition analyzed
  2205. Visibility: force_output prevailing_def_ironly
  2206. References:
  2207. Referring: prvResetNextTaskUnblockTime.part.0/115 (write)prvAddCurrentTaskToDelayedList/94 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)prvResetNextTaskUnblockTime/77 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (write)
  2208. Availability: available
  2209. Varpool flags: initialized
  2210. uxTaskNumber/24 (uxTaskNumber) @05f30360
  2211. Type: variable definition analyzed
  2212. Visibility: prevailing_def_ironly
  2213. References:
  2214. Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  2215. Availability: available
  2216. Varpool flags: initialized
  2217. xNumOfOverflows/23 (xNumOfOverflows) @05f30318
  2218. Type: variable definition analyzed
  2219. Visibility: force_output prevailing_def_ironly
  2220. References:
  2221. Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read)
  2222. Availability: available
  2223. Varpool flags: initialized
  2224. xYieldPending/22 (xYieldPending) @05f302d0
  2225. Type: variable definition analyzed
  2226. Visibility: force_output prevailing_def_ironly
  2227. References:
  2228. Referring: vTaskMissedYield/66 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (write)xTaskResumeAll.part.0/137 (write)xTaskResumeAll.part.0/137 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)xTaskResumeAll.part.0/137 (write)vTaskSwitchContext/57 (write)vTaskGenericNotifyGiveFromISR/91 (write)
  2229. Availability: available
  2230. Varpool flags: initialized
  2231. xPendedTicks/21 (xPendedTicks) @05f30240
  2232. Type: variable definition analyzed
  2233. Visibility: force_output prevailing_def_ironly
  2234. References:
  2235. Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)
  2236. Availability: available
  2237. Varpool flags: initialized
  2238. xSchedulerRunning/20 (xSchedulerRunning) @05f301b0
  2239. Type: variable definition analyzed
  2240. Visibility: force_output prevailing_def_ironly
  2241. References:
  2242. Referring: vTaskDelete/32 (read)vTaskEndScheduler/44 (write)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (read)vTaskStartScheduler/43 (write)prvAddNewTaskToReadyList/31 (read)vTaskSuspend/39 (read)xTaskGetSchedulerState/79 (read)
  2243. Availability: available
  2244. Varpool flags: initialized
  2245. uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120
  2246. Type: variable definition analyzed
  2247. Visibility: force_output prevailing_def_ironly
  2248. References:
  2249. Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
  2250. Availability: available
  2251. Varpool flags: initialized
  2252. xTickCount/18 (xTickCount) @05f300d8
  2253. Type: variable definition analyzed
  2254. Visibility: force_output prevailing_def_ironly
  2255. References:
  2256. Referring: xTaskGetTickCountFromISR/48 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)vTaskInternalSetTimeOutState/64 (read)xTaskGetTickCount/47 (read)xTaskIncrementTick.part.0/135 (write)xTaskDelayUntil/33 (read)vTaskSetTimeOutState/63 (read)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (read)
  2257. Availability: available
  2258. Varpool flags: initialized
  2259. uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090
  2260. Type: variable definition analyzed
  2261. Visibility: force_output prevailing_def_ironly
  2262. References:
  2263. Referring: xTaskResumeAll.part.0/137 (read)prvCheckTasksWaitingTermination/71 (read)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)uxTaskGetNumberOfTasks/49 (read)vTaskDelete/32 (read)uxTaskGetSystemState/53 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (write)prvAddNewTaskToReadyList/31 (read)vTaskList/84 (read)vTaskList/84 (read)
  2264. Availability: available
  2265. Varpool flags: initialized
  2266. xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78
  2267. Type: variable definition analyzed
  2268. Visibility: prevailing_def_ironly
  2269. References:
  2270. Referring: vTaskSuspend/39 (read)eTaskGetState/35 (addr)xTaskGetHandle/52 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (write)prvTaskIsTaskSuspended/40 (addr)prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (addr)vTaskSuspend/39 (addr)uxTaskGetSystemState/53 (addr)
  2271. Availability: available
  2272. Varpool flags:
  2273. uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8
  2274. Type: variable definition analyzed
  2275. Visibility: force_output prevailing_def_ironly
  2276. References:
  2277. Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  2278. Availability: available
  2279. Varpool flags: initialized
  2280. xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58
  2281. Type: variable definition analyzed
  2282. Visibility: prevailing_def_ironly
  2283. References:
  2284. Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr)
  2285. Availability: available
  2286. Varpool flags:
  2287. xPendingReadyList/13 (xPendingReadyList) @05f2cdc8
  2288. Type: variable definition analyzed
  2289. Visibility: prevailing_def_ironly
  2290. References:
  2291. Referring: xTaskGenericNotifyFromISR/90 (write)xTaskRemoveFromEventList/61 (write)prvTaskIsTaskSuspended.part.0/114 (addr)xTaskRemoveFromEventList/61 (read)prvInitialiseTaskLists/70 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskResumeFromISR/42 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
  2292. Availability: available
  2293. Varpool flags:
  2294. pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38
  2295. Type: variable definition analyzed
  2296. Visibility: force_output prevailing_def_ironly
  2297. References:
  2298. Referring: prvAddCurrentTaskToDelayedList/94 (read)xTaskGetHandle/52 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read)
  2299. Availability: available
  2300. Varpool flags:
  2301. pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0
  2302. Type: variable definition analyzed
  2303. Visibility: force_output prevailing_def_ironly
  2304. References:
  2305. Referring: xTaskGetHandle/52 (read)prvResetNextTaskUnblockTime.part.0/115 (read)prvAddCurrentTaskToDelayedList/94 (read)prvResetNextTaskUnblockTime/77 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read)
  2306. Availability: available
  2307. Varpool flags:
  2308. xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8
  2309. Type: variable definition analyzed
  2310. Visibility: prevailing_def_ironly
  2311. References:
  2312. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  2313. Availability: available
  2314. Varpool flags:
  2315. xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18
  2316. Type: variable definition analyzed
  2317. Visibility: prevailing_def_ironly
  2318. References:
  2319. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  2320. Availability: available
  2321. Varpool flags:
  2322. pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88
  2323. Type: variable definition analyzed
  2324. Visibility: prevailing_def_ironly
  2325. References:
  2326. Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (write)xTaskGenericNotify/89 (write)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvIdleTask/69 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)prvInitialiseTaskLists/70 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskRemoveFromEventList/61 (write)xTaskIncrementTick.part.0/135 (addr)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskResumeAll.part.0/137 (write)xTaskPriorityInherit/80 (addr)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskGetHandle/52 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (addr)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (read)vTaskPrioritySet/38 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)uxTaskGetSystemState/53 (addr)vTaskSwitchContext/57 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (addr)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)xTaskIncrementTick.part.0/135 (read)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)vTaskSwitchContext/57 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
  2327. Availability: available
  2328. Varpool flags:
  2329. pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40
  2330. Type: variable definition analyzed
  2331. Visibility: force_output externally_visible public
  2332. References:
  2333. Referring: ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyStateClear/92 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskDelete/32 (read)eTaskGetState/35 (read)prvAddNewTaskToReadyList/31 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)uxTaskPriorityGet/36 (read)vTaskDelete/32 (read)vTaskResume/41 (read)xTaskAbortDelay/55 (read)vTaskDelete/32 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)pcTaskGetName/50 (read)vTaskResume/41 (read)xTaskIncrementTick.part.0/135 (read)vTaskPrioritySet/38 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll.part.0/137 (read)vTaskSwitchContext/57 (write)ulTaskGenericNotifyTake/87 (read)prvAddNewTaskToReadyList/31 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)xTaskIncrementTick.part.0/135 (read)vTaskSuspend/39 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskCheckForTimeOut/65 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskGetInfo/72 (read)xTaskPriorityDisinherit/81 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnUnorderedEventList/59 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)ulTaskGenericNotifyValueClear/93 (read)
  2334. Availability: available
  2335. Varpool flags: initialized
  2336. ;; Function prvSearchForNameWithinSingleList (prvSearchForNameWithinSingleList, funcdef_no=29, decl_uid=6957, cgraph_uid=30, symbol_order=51)
  2337. Modification phase of node prvSearchForNameWithinSingleList/51
  2338. prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
  2339. {
  2340. char cNextChar;
  2341. UBaseType_t x;
  2342. struct TCB_t * pxReturn;
  2343. struct TCB_t * pxFirstTCB;
  2344. struct TCB_t * pxNextTCB;
  2345. long unsigned int _1;
  2346. struct ListItem_t * _2;
  2347. struct xLIST_ITEM * _3;
  2348. struct MiniListItem_t * _4;
  2349. struct xLIST_ITEM * _5;
  2350. struct ListItem_t * _6;
  2351. struct ListItem_t * _7;
  2352. struct xLIST_ITEM * _8;
  2353. struct xLIST_ITEM * _9;
  2354. struct ListItem_t * _10;
  2355. const char * _11;
  2356. char _12;
  2357. <bb 2> [local count: 25274560]:
  2358. # DEBUG BEGIN_STMT
  2359. # DEBUG pxReturn => 0B
  2360. # DEBUG BEGIN_STMT
  2361. # DEBUG BEGIN_STMT
  2362. # DEBUG BEGIN_STMT
  2363. # DEBUG BEGIN_STMT
  2364. _1 ={v} pxList_23(D)->uxNumberOfItems;
  2365. if (_1 != 0)
  2366. goto <bb 3>; [71.00%]
  2367. else
  2368. goto <bb 15>; [29.00%]
  2369. <bb 3> [local count: 17944938]:
  2370. # DEBUG BEGIN_STMT
  2371. # DEBUG pxConstList => pxList_23(D)
  2372. # DEBUG BEGIN_STMT
  2373. _2 = pxList_23(D)->pxIndex;
  2374. _3 = _2->pxNext;
  2375. pxList_23(D)->pxIndex = _3;
  2376. # DEBUG BEGIN_STMT
  2377. _4 = &pxList_23(D)->xListEnd;
  2378. if (_3 == _4)
  2379. goto <bb 4>; [30.00%]
  2380. else
  2381. goto <bb 5>; [70.00%]
  2382. <bb 4> [local count: 5383481]:
  2383. # DEBUG BEGIN_STMT
  2384. _5 = MEM[(struct ListItem_t *)_3].pxNext;
  2385. pxList_23(D)->pxIndex = _5;
  2386. <bb 5> [local count: 17944938]:
  2387. # DEBUG BEGIN_STMT
  2388. _6 = pxList_23(D)->pxIndex;
  2389. pxFirstTCB_26 = _6->pvOwner;
  2390. # DEBUG pxFirstTCB => pxFirstTCB_26
  2391. <bb 6> [local count: 167748888]:
  2392. # pxReturn_13 = PHI <0B(5), 0B(16)>
  2393. # DEBUG pxReturn => pxReturn_13
  2394. # DEBUG BEGIN_STMT
  2395. # DEBUG BEGIN_STMT
  2396. # DEBUG BEGIN_STMT
  2397. # DEBUG pxConstList => pxList_23(D)
  2398. # DEBUG BEGIN_STMT
  2399. _7 = pxList_23(D)->pxIndex;
  2400. _8 = _7->pxNext;
  2401. pxList_23(D)->pxIndex = _8;
  2402. # DEBUG BEGIN_STMT
  2403. if (_4 == _8)
  2404. goto <bb 7>; [30.00%]
  2405. else
  2406. goto <bb 8>; [70.00%]
  2407. <bb 7> [local count: 50324666]:
  2408. # DEBUG BEGIN_STMT
  2409. _9 = MEM[(struct ListItem_t *)_8].pxNext;
  2410. pxList_23(D)->pxIndex = _9;
  2411. <bb 8> [local count: 167748888]:
  2412. # DEBUG BEGIN_STMT
  2413. _10 = pxList_23(D)->pxIndex;
  2414. pxNextTCB_29 = _10->pvOwner;
  2415. # DEBUG pxNextTCB => pxNextTCB_29
  2416. # DEBUG BEGIN_STMT
  2417. # DEBUG BEGIN_STMT
  2418. # DEBUG xBreakLoop => 0
  2419. # DEBUG BEGIN_STMT
  2420. # DEBUG x => 0
  2421. goto <bb 12>; [100.00%]
  2422. <bb 9> [local count: 976138693]:
  2423. # DEBUG BEGIN_STMT
  2424. cNextChar_30 = pxNextTCB_29->pcTaskName[x_17];
  2425. # DEBUG cNextChar => cNextChar_30
  2426. # DEBUG BEGIN_STMT
  2427. _11 = pcNameToQuery_31(D) + x_17;
  2428. _12 = *_11;
  2429. if (_12 != cNextChar_30)
  2430. goto <bb 13>; [3.66%]
  2431. else
  2432. goto <bb 10>; [96.34%]
  2433. <bb 10> [local count: 940412017]:
  2434. # DEBUG BEGIN_STMT
  2435. if (cNextChar_30 == 0)
  2436. goto <bb 13>; [3.66%]
  2437. else
  2438. goto <bb 11>; [96.34%]
  2439. <bb 11> [local count: 905992937]:
  2440. # DEBUG xBreakLoop => 0
  2441. # DEBUG pxReturn => pxReturn_14
  2442. # DEBUG BEGIN_STMT
  2443. # DEBUG BEGIN_STMT
  2444. # DEBUG BEGIN_STMT
  2445. x_32 = x_17 + 1;
  2446. # DEBUG x => x_32
  2447. <bb 12> [local count: 1073741824]:
  2448. # pxReturn_14 = PHI <pxReturn_13(8), pxReturn_14(11)>
  2449. # x_17 = PHI <0(8), x_32(11)>
  2450. # DEBUG xBreakLoop => 0
  2451. # DEBUG x => x_17
  2452. # DEBUG pxReturn => pxReturn_14
  2453. # DEBUG BEGIN_STMT
  2454. if (x_17 != 10)
  2455. goto <bb 9>; [90.91%]
  2456. else
  2457. goto <bb 13>; [9.09%]
  2458. <bb 13> [local count: 167748888]:
  2459. # pxReturn_15 = PHI <pxNextTCB_29(10), pxReturn_14(12), pxReturn_14(9)>
  2460. # DEBUG xBreakLoop => NULL
  2461. # DEBUG pxReturn => pxReturn_15
  2462. # DEBUG BEGIN_STMT
  2463. if (pxReturn_15 != 0B)
  2464. goto <bb 15>; [5.50%]
  2465. else
  2466. goto <bb 14>; [94.50%]
  2467. <bb 14> [local count: 158522699]:
  2468. # DEBUG BEGIN_STMT
  2469. if (pxFirstTCB_26 != pxNextTCB_29)
  2470. goto <bb 16>; [94.50%]
  2471. else
  2472. goto <bb 15>; [5.50%]
  2473. <bb 16> [local count: 149803950]:
  2474. goto <bb 6>; [100.00%]
  2475. <bb 15> [local count: 25274560]:
  2476. # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)>
  2477. # DEBUG pxReturn => pxReturn_16
  2478. # DEBUG BEGIN_STMT
  2479. # DEBUG BEGIN_STMT
  2480. return pxReturn_16;
  2481. }
  2482. ;; Function prvTaskIsTaskSuspended (prvTaskIsTaskSuspended, funcdef_no=18, decl_uid=6939, cgraph_uid=19, symbol_order=40)
  2483. Modification phase of node prvTaskIsTaskSuspended/40
  2484. prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
  2485. {
  2486. uint32_t ulNewBASEPRI;
  2487. BaseType_t xReturn;
  2488. struct xLIST * _1;
  2489. <bb 2> [local count: 357913]:
  2490. # DEBUG BEGIN_STMT
  2491. # DEBUG xReturn => 0
  2492. # DEBUG BEGIN_STMT
  2493. # DEBUG pxTCB => xTask_5(D)
  2494. # DEBUG BEGIN_STMT
  2495. if (xTask_5(D) == 0B)
  2496. goto <bb 3>; [30.00%]
  2497. else
  2498. goto <bb 5>; [70.00%]
  2499. <bb 3> [local count: 107374]:
  2500. # DEBUG BEGIN_STMT
  2501. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2502. # DEBUG BEGIN_STMT
  2503. # DEBUG BEGIN_STMT
  2504. __asm__ __volatile__(" mov %0, %1
  2505. msr basepri, %0
  2506. isb
  2507. dsb
  2508. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2509. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2510. <bb 4> [local count: 1073741824]:
  2511. # DEBUG ulNewBASEPRI => NULL
  2512. # DEBUG BEGIN_STMT
  2513. # DEBUG BEGIN_STMT
  2514. # DEBUG BEGIN_STMT
  2515. <bb 8> [local count: 1073741824]:
  2516. goto <bb 4>; [100.00%]
  2517. <bb 5> [local count: 250539]:
  2518. # DEBUG BEGIN_STMT
  2519. # DEBUG BEGIN_STMT
  2520. _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  2521. if (_1 == &xSuspendedTaskList)
  2522. goto <bb 6>; [30.00%]
  2523. else
  2524. goto <bb 7>; [70.00%]
  2525. <bb 6> [local count: 75162]:
  2526. xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D));
  2527. <bb 7> [local count: 250539]:
  2528. # xReturn_3 = PHI <0(5), xReturn_2(6)>
  2529. # DEBUG xReturn => xReturn_3
  2530. # DEBUG BEGIN_STMT
  2531. # DEBUG BEGIN_STMT
  2532. return xReturn_3;
  2533. }
  2534. ;; Function prvResetNextTaskUnblockTime (prvResetNextTaskUnblockTime, funcdef_no=55, decl_uid=6961, cgraph_uid=56, symbol_order=77)
  2535. Modification phase of node prvResetNextTaskUnblockTime/77
  2536. prvResetNextTaskUnblockTime ()
  2537. {
  2538. struct List_t * pxDelayedTaskList.20_1;
  2539. long unsigned int _2;
  2540. <bb 2> [local count: 1073741824]:
  2541. # DEBUG BEGIN_STMT
  2542. pxDelayedTaskList.20_1 ={v} pxDelayedTaskList;
  2543. _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems;
  2544. if (_2 == 0)
  2545. goto <bb 3>; [50.00%]
  2546. else
  2547. goto <bb 4>; [50.00%]
  2548. <bb 3> [local count: 536870913]:
  2549. # DEBUG BEGIN_STMT
  2550. xNextTaskUnblockTime ={v} 4294967295;
  2551. goto <bb 5>; [100.00%]
  2552. <bb 4> [local count: 536870912]:
  2553. prvResetNextTaskUnblockTime.part.0 ();
  2554. <bb 5> [local count: 1073741824]:
  2555. return;
  2556. }
  2557. ;; Function prvAddCurrentTaskToDelayedList (prvAddCurrentTaskToDelayedList, funcdef_no=72, decl_uid=6950, cgraph_uid=73, symbol_order=94)
  2558. Modification phase of node prvAddCurrentTaskToDelayedList/94
  2559. prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
  2560. {
  2561. const TickType_t xConstTickCount;
  2562. TickType_t xTimeToWake;
  2563. struct TCB_t * pxCurrentTCB.23_1;
  2564. struct TCB_t * pxCurrentTCB.24_2;
  2565. struct ListItem_t * _3;
  2566. struct TCB_t * pxCurrentTCB.30_5;
  2567. struct List_t * pxOverflowDelayedTaskList.31_6;
  2568. struct TCB_t * pxCurrentTCB.32_7;
  2569. struct ListItem_t * _8;
  2570. struct List_t * pxDelayedTaskList.33_9;
  2571. struct TCB_t * pxCurrentTCB.34_10;
  2572. struct ListItem_t * _11;
  2573. long unsigned int xNextTaskUnblockTime.35_12;
  2574. <bb 2> [local count: 1073741823]:
  2575. # DEBUG BEGIN_STMT
  2576. # DEBUG BEGIN_STMT
  2577. xConstTickCount_14 ={v} xTickCount;
  2578. # DEBUG xConstTickCount => xConstTickCount_14
  2579. # DEBUG BEGIN_STMT
  2580. pxCurrentTCB.23_1 ={v} pxCurrentTCB;
  2581. pxCurrentTCB.23_1->ucDelayAborted = 0;
  2582. # DEBUG BEGIN_STMT
  2583. pxCurrentTCB.24_2 ={v} pxCurrentTCB;
  2584. _3 = &pxCurrentTCB.24_2->xStateListItem;
  2585. uxListRemove (_3);
  2586. # DEBUG BEGIN_STMT
  2587. # DEBUG BEGIN_STMT
  2588. if (xTicksToWait_17(D) == 4294967295)
  2589. goto <bb 3>; [34.00%]
  2590. else
  2591. goto <bb 5>; [66.00%]
  2592. <bb 3> [local count: 365072220]:
  2593. if (xCanBlockIndefinitely_18(D) != 0)
  2594. goto <bb 4>; [50.00%]
  2595. else
  2596. goto <bb 5>; [50.00%]
  2597. <bb 4> [local count: 182536110]:
  2598. # DEBUG D#2 => xTicksToWait_17(D)
  2599. # DEBUG D#3 => xCanBlockIndefinitely_18(D)
  2600. prvAddCurrentTaskToDelayedList.part.0 ();
  2601. goto <bb 9>; [100.00%]
  2602. <bb 5> [local count: 891205713]:
  2603. # DEBUG BEGIN_STMT
  2604. xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D);
  2605. # DEBUG xTimeToWake => xTimeToWake_19
  2606. # DEBUG BEGIN_STMT
  2607. pxCurrentTCB.30_5 ={v} pxCurrentTCB;
  2608. pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19;
  2609. # DEBUG BEGIN_STMT
  2610. if (xConstTickCount_14 > xTimeToWake_19)
  2611. goto <bb 6>; [50.00%]
  2612. else
  2613. goto <bb 7>; [50.00%]
  2614. <bb 6> [local count: 445602856]:
  2615. # DEBUG BEGIN_STMT
  2616. pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList;
  2617. pxCurrentTCB.32_7 ={v} pxCurrentTCB;
  2618. _8 = &pxCurrentTCB.32_7->xStateListItem;
  2619. vListInsert (pxOverflowDelayedTaskList.31_6, _8);
  2620. goto <bb 9>; [100.00%]
  2621. <bb 7> [local count: 445602856]:
  2622. # DEBUG BEGIN_STMT
  2623. pxDelayedTaskList.33_9 ={v} pxDelayedTaskList;
  2624. pxCurrentTCB.34_10 ={v} pxCurrentTCB;
  2625. _11 = &pxCurrentTCB.34_10->xStateListItem;
  2626. vListInsert (pxDelayedTaskList.33_9, _11);
  2627. # DEBUG BEGIN_STMT
  2628. xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime;
  2629. if (xNextTaskUnblockTime.35_12 > xTimeToWake_19)
  2630. goto <bb 8>; [50.00%]
  2631. else
  2632. goto <bb 9>; [50.00%]
  2633. <bb 8> [local count: 222801428]:
  2634. # DEBUG BEGIN_STMT
  2635. xNextTaskUnblockTime ={v} xTimeToWake_19;
  2636. <bb 9> [local count: 1073741824]:
  2637. # DEBUG BEGIN_STMT
  2638. return;
  2639. }
  2640. ;; Function prvIdleTask (prvIdleTask, funcdef_no=47, decl_uid=6943, cgraph_uid=48, symbol_order=69) (executed once)
  2641. Modification phase of node prvIdleTask/69
  2642. prvIdleTask (void * pvParameters)
  2643. {
  2644. long unsigned int _1;
  2645. <bb 2> [local count: 63351]:
  2646. <bb 3> [local count: 633507677]:
  2647. <bb 4> [local count: 1073741824]:
  2648. # DEBUG BEGIN_STMT
  2649. # DEBUG BEGIN_STMT
  2650. # DEBUG BEGIN_STMT
  2651. # DEBUG BEGIN_STMT
  2652. prvCheckTasksWaitingTermination ();
  2653. # DEBUG BEGIN_STMT
  2654. _1 ={v} pxReadyTasksLists[0].uxNumberOfItems;
  2655. if (_1 > 1)
  2656. goto <bb 5>; [59.00%]
  2657. else
  2658. goto <bb 6>; [41.00%]
  2659. <bb 6> [local count: 440234148]:
  2660. goto <bb 4>; [100.00%]
  2661. <bb 5> [local count: 633507677]:
  2662. # DEBUG BEGIN_STMT
  2663. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2664. # DEBUG BEGIN_STMT
  2665. __asm__ __volatile__("dsb" : : : "memory");
  2666. # DEBUG BEGIN_STMT
  2667. __asm__ __volatile__("isb");
  2668. # DEBUG BEGIN_STMT
  2669. goto <bb 3>; [100.00%]
  2670. }
  2671. ;; Function xTaskCreate (xTaskCreate, funcdef_no=7, decl_uid=6139, cgraph_uid=8, symbol_order=29)
  2672. Modification phase of node xTaskCreate/29
  2673. xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask)
  2674. {
  2675. StackType_t * pxStack;
  2676. BaseType_t xReturn;
  2677. struct TCB_t * pxNewTCB;
  2678. unsigned int _1;
  2679. unsigned int _2;
  2680. <bb 2> [local count: 1073741824]:
  2681. # DEBUG BEGIN_STMT
  2682. # DEBUG BEGIN_STMT
  2683. # DEBUG BEGIN_STMT
  2684. # DEBUG BEGIN_STMT
  2685. _1 = (unsigned int) usStackDepth_6(D);
  2686. _2 = _1 * 4;
  2687. pxStack_9 = pvPortMalloc (_2);
  2688. # DEBUG pxStack => pxStack_9
  2689. # DEBUG BEGIN_STMT
  2690. if (pxStack_9 != 0B)
  2691. goto <bb 4>; [53.47%]
  2692. else
  2693. goto <bb 9>; [46.53%]
  2694. <bb 4> [local count: 574129754]:
  2695. # DEBUG BEGIN_STMT
  2696. pxNewTCB_11 = pvPortMalloc (88);
  2697. # DEBUG pxNewTCB => pxNewTCB_11
  2698. # DEBUG BEGIN_STMT
  2699. if (pxNewTCB_11 != 0B)
  2700. goto <bb 5>; [82.57%]
  2701. else
  2702. goto <bb 6>; [17.43%]
  2703. <bb 5> [local count: 474058937]:
  2704. # DEBUG BEGIN_STMT
  2705. pxNewTCB_11->pxStack = pxStack_9;
  2706. goto <bb 7>; [100.00%]
  2707. <bb 6> [local count: 100070816]:
  2708. # DEBUG BEGIN_STMT
  2709. vPortFree (pxStack_9);
  2710. <bb 7> [local count: 574129754]:
  2711. # DEBUG pxNewTCB => pxNewTCB_11
  2712. # DEBUG BEGIN_STMT
  2713. if (pxNewTCB_11 != 0B)
  2714. goto <bb 8>; [53.47%]
  2715. else
  2716. goto <bb 9>; [46.53%]
  2717. <bb 8> [local count: 306987179]:
  2718. # DEBUG BEGIN_STMT
  2719. # DEBUG D#1 => 0B
  2720. prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  2721. # DEBUG BEGIN_STMT
  2722. prvAddNewTaskToReadyList (pxNewTCB_11);
  2723. # DEBUG BEGIN_STMT
  2724. # DEBUG xReturn => 1
  2725. <bb 9> [local count: 1073741824]:
  2726. # xReturn_3 = PHI <1(8), -1(7), -1(2)>
  2727. # DEBUG pxNewTCB => NULL
  2728. # DEBUG xReturn => xReturn_3
  2729. # DEBUG BEGIN_STMT
  2730. return xReturn_3;
  2731. }
  2732. ;; Function vTaskDelete (vTaskDelete, funcdef_no=10, decl_uid=6144, cgraph_uid=11, symbol_order=32)
  2733. Modification phase of node vTaskDelete/32
  2734. vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
  2735. {
  2736. uint32_t ulNewBASEPRI;
  2737. struct ListItem_t * _1;
  2738. struct xLIST * _2;
  2739. struct ListItem_t * _3;
  2740. long unsigned int uxTaskNumber.13_4;
  2741. long unsigned int _5;
  2742. struct TCB_t * pxCurrentTCB.14_6;
  2743. long unsigned int uxDeletedTasksWaitingCleanUp.15_7;
  2744. long unsigned int _8;
  2745. long unsigned int uxCurrentNumberOfTasks.16_9;
  2746. long unsigned int _10;
  2747. long int xSchedulerRunning.17_11;
  2748. struct TCB_t * pxCurrentTCB.18_12;
  2749. long unsigned int uxSchedulerSuspended.19_13;
  2750. struct TCB_t * iftmp.12_14;
  2751. struct TCB_t * iftmp.12_21;
  2752. <bb 2> [local count: 1431653]:
  2753. # DEBUG BEGIN_STMT
  2754. # DEBUG BEGIN_STMT
  2755. vPortEnterCritical ();
  2756. # DEBUG BEGIN_STMT
  2757. if (xTaskToDelete_20(D) == 0B)
  2758. goto <bb 3>; [30.00%]
  2759. else
  2760. goto <bb 4>; [70.00%]
  2761. <bb 3> [local count: 429496]:
  2762. iftmp.12_21 ={v} pxCurrentTCB;
  2763. <bb 4> [local count: 1431653]:
  2764. # iftmp.12_14 = PHI <iftmp.12_21(3), xTaskToDelete_20(D)(2)>
  2765. # DEBUG pxTCB => iftmp.12_14
  2766. # DEBUG BEGIN_STMT
  2767. _1 = &iftmp.12_14->xStateListItem;
  2768. uxListRemove (_1);
  2769. # DEBUG BEGIN_STMT
  2770. # DEBUG BEGIN_STMT
  2771. _2 = iftmp.12_14->xEventListItem.pvContainer;
  2772. if (_2 != 0B)
  2773. goto <bb 5>; [53.47%]
  2774. else
  2775. goto <bb 6>; [46.53%]
  2776. <bb 5> [local count: 765505]:
  2777. # DEBUG BEGIN_STMT
  2778. _3 = &iftmp.12_14->xEventListItem;
  2779. uxListRemove (_3);
  2780. <bb 6> [local count: 1431653]:
  2781. # DEBUG BEGIN_STMT
  2782. # DEBUG BEGIN_STMT
  2783. uxTaskNumber.13_4 = uxTaskNumber;
  2784. _5 = uxTaskNumber.13_4 + 1;
  2785. uxTaskNumber = _5;
  2786. # DEBUG BEGIN_STMT
  2787. pxCurrentTCB.14_6 ={v} pxCurrentTCB;
  2788. if (pxCurrentTCB.14_6 == iftmp.12_14)
  2789. goto <bb 7>; [30.00%]
  2790. else
  2791. goto <bb 8>; [70.00%]
  2792. <bb 7> [local count: 429496]:
  2793. # DEBUG BEGIN_STMT
  2794. vListInsertEnd (&xTasksWaitingTermination, _1);
  2795. # DEBUG BEGIN_STMT
  2796. uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp;
  2797. _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1;
  2798. uxDeletedTasksWaitingCleanUp ={v} _8;
  2799. # DEBUG BEGIN_STMT
  2800. # DEBUG BEGIN_STMT
  2801. goto <bb 9>; [100.00%]
  2802. <bb 8> [local count: 1002157]:
  2803. # DEBUG BEGIN_STMT
  2804. uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks;
  2805. _10 = uxCurrentNumberOfTasks.16_9 + 4294967295;
  2806. uxCurrentNumberOfTasks ={v} _10;
  2807. # DEBUG BEGIN_STMT
  2808. # DEBUG BEGIN_STMT
  2809. prvDeleteTCB (iftmp.12_14);
  2810. # DEBUG BEGIN_STMT
  2811. prvResetNextTaskUnblockTime ();
  2812. <bb 9> [local count: 1431653]:
  2813. # DEBUG BEGIN_STMT
  2814. vPortExitCritical ();
  2815. # DEBUG BEGIN_STMT
  2816. xSchedulerRunning.17_11 ={v} xSchedulerRunning;
  2817. if (xSchedulerRunning.17_11 != 0)
  2818. goto <bb 10>; [50.00%]
  2819. else
  2820. goto <bb 15>; [50.00%]
  2821. <bb 10> [local count: 715827]:
  2822. # DEBUG BEGIN_STMT
  2823. pxCurrentTCB.18_12 ={v} pxCurrentTCB;
  2824. if (pxCurrentTCB.18_12 == iftmp.12_14)
  2825. goto <bb 11>; [30.00%]
  2826. else
  2827. goto <bb 15>; [70.00%]
  2828. <bb 11> [local count: 214748]:
  2829. # DEBUG BEGIN_STMT
  2830. uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended;
  2831. if (uxSchedulerSuspended.19_13 != 0)
  2832. goto <bb 12>; [50.00%]
  2833. else
  2834. goto <bb 14>; [50.00%]
  2835. <bb 12> [local count: 107374]:
  2836. # DEBUG BEGIN_STMT
  2837. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2838. # DEBUG BEGIN_STMT
  2839. # DEBUG BEGIN_STMT
  2840. __asm__ __volatile__(" mov %0, %1
  2841. msr basepri, %0
  2842. isb
  2843. dsb
  2844. " : "=r" ulNewBASEPRI_34 : "i" 16 : "memory");
  2845. # DEBUG ulNewBASEPRI => ulNewBASEPRI_34
  2846. <bb 13> [local count: 1073741824]:
  2847. # DEBUG ulNewBASEPRI => NULL
  2848. # DEBUG BEGIN_STMT
  2849. # DEBUG BEGIN_STMT
  2850. # DEBUG BEGIN_STMT
  2851. <bb 16> [local count: 1073741824]:
  2852. goto <bb 13>; [100.00%]
  2853. <bb 14> [local count: 107374]:
  2854. # DEBUG BEGIN_STMT
  2855. # DEBUG BEGIN_STMT
  2856. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2857. # DEBUG BEGIN_STMT
  2858. __asm__ __volatile__("dsb" : : : "memory");
  2859. # DEBUG BEGIN_STMT
  2860. __asm__ __volatile__("isb");
  2861. # DEBUG BEGIN_STMT
  2862. <bb 15> [local count: 1324279]:
  2863. # DEBUG BEGIN_STMT
  2864. return;
  2865. }
  2866. ;; Function eTaskGetState (eTaskGetState, funcdef_no=13, decl_uid=6157, cgraph_uid=14, symbol_order=35)
  2867. Modification phase of node eTaskGetState/35
  2868. eTaskGetState (struct tskTaskControlBlock * xTask)
  2869. {
  2870. uint32_t ulNewBASEPRI;
  2871. BaseType_t x;
  2872. const struct List_t * pxOverflowedDelayedList;
  2873. const struct List_t * pxDelayedList;
  2874. const struct List_t * pxStateList;
  2875. eTaskState eReturn;
  2876. struct TCB_t * pxCurrentTCB.37_1;
  2877. struct xLIST * _2;
  2878. <bb 2> [local count: 357913]:
  2879. # DEBUG BEGIN_STMT
  2880. # DEBUG BEGIN_STMT
  2881. # DEBUG BEGIN_STMT
  2882. # DEBUG pxTCB => xTask_5(D)
  2883. # DEBUG BEGIN_STMT
  2884. if (xTask_5(D) == 0B)
  2885. goto <bb 3>; [30.00%]
  2886. else
  2887. goto <bb 5>; [70.00%]
  2888. <bb 3> [local count: 107374]:
  2889. # DEBUG BEGIN_STMT
  2890. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2891. # DEBUG BEGIN_STMT
  2892. # DEBUG BEGIN_STMT
  2893. __asm__ __volatile__(" mov %0, %1
  2894. msr basepri, %0
  2895. isb
  2896. dsb
  2897. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  2898. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  2899. <bb 4> [local count: 1073741824]:
  2900. # DEBUG ulNewBASEPRI => NULL
  2901. # DEBUG BEGIN_STMT
  2902. # DEBUG BEGIN_STMT
  2903. # DEBUG BEGIN_STMT
  2904. <bb 15> [local count: 1073741824]:
  2905. goto <bb 4>; [100.00%]
  2906. <bb 5> [local count: 250539]:
  2907. # DEBUG BEGIN_STMT
  2908. # DEBUG BEGIN_STMT
  2909. pxCurrentTCB.37_1 ={v} pxCurrentTCB;
  2910. if (pxCurrentTCB.37_1 == xTask_5(D))
  2911. goto <bb 14>; [46.53%]
  2912. else
  2913. goto <bb 6>; [53.47%]
  2914. <bb 6> [local count: 133963]:
  2915. # DEBUG BEGIN_STMT
  2916. vPortEnterCritical ();
  2917. # DEBUG BEGIN_STMT
  2918. pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  2919. # DEBUG pxStateList => pxStateList_9
  2920. # DEBUG BEGIN_STMT
  2921. pxDelayedList_10 ={v} pxDelayedTaskList;
  2922. # DEBUG pxDelayedList => pxDelayedList_10
  2923. # DEBUG BEGIN_STMT
  2924. pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList;
  2925. # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11
  2926. # DEBUG BEGIN_STMT
  2927. vPortExitCritical ();
  2928. # DEBUG BEGIN_STMT
  2929. if (pxStateList_9 == pxDelayedList_10)
  2930. goto <bb 14>; [18.75%]
  2931. else
  2932. goto <bb 7>; [81.25%]
  2933. <bb 7> [local count: 108845]:
  2934. if (pxStateList_9 == pxOverflowedDelayedList_11)
  2935. goto <bb 14>; [18.75%]
  2936. else
  2937. goto <bb 8>; [81.25%]
  2938. <bb 8> [local count: 88437]:
  2939. # DEBUG BEGIN_STMT
  2940. if (pxStateList_9 == &xSuspendedTaskList)
  2941. goto <bb 9>; [30.00%]
  2942. else
  2943. goto <bb 11>; [70.00%]
  2944. <bb 9> [local count: 26531]:
  2945. # DEBUG BEGIN_STMT
  2946. _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer;
  2947. if (_2 == 0B)
  2948. goto <bb 10>; [44.32%]
  2949. else
  2950. goto <bb 14>; [55.68%]
  2951. <bb 10> [local count: 11759]:
  2952. # x_4 = PHI <0(9)>
  2953. eReturn_13 = eTaskGetState.part.0 (xTask_5(D));
  2954. goto <bb 14>; [100.00%]
  2955. <bb 11> [local count: 61906]:
  2956. # DEBUG BEGIN_STMT
  2957. if (pxStateList_9 == &xTasksWaitingTermination)
  2958. goto <bb 14>; [18.75%]
  2959. else
  2960. goto <bb 12>; [81.25%]
  2961. <bb 12> [local count: 50298]:
  2962. if (pxStateList_9 == 0B)
  2963. goto <bb 14>; [18.75%]
  2964. else
  2965. goto <bb 13>; [81.25%]
  2966. <bb 13> [local count: 40867]:
  2967. # DEBUG BEGIN_STMT
  2968. # DEBUG eReturn => 1
  2969. <bb 14> [local count: 250539]:
  2970. # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(12), 1(13), 4(11), eReturn_13(10), 2(6)>
  2971. # DEBUG eReturn => eReturn_3
  2972. # DEBUG BEGIN_STMT
  2973. return eReturn_3;
  2974. }
  2975. ;; Function uxTaskPriorityGet (uxTaskPriorityGet, funcdef_no=14, decl_uid=6153, cgraph_uid=15, symbol_order=36)
  2976. Modification phase of node uxTaskPriorityGet/36
  2977. uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
  2978. {
  2979. UBaseType_t uxReturn;
  2980. const struct TCB_t * iftmp.38_1;
  2981. const struct TCB_t * iftmp.38_5;
  2982. <bb 2> [local count: 1073741824]:
  2983. # DEBUG BEGIN_STMT
  2984. # DEBUG BEGIN_STMT
  2985. # DEBUG BEGIN_STMT
  2986. vPortEnterCritical ();
  2987. # DEBUG BEGIN_STMT
  2988. if (xTask_4(D) == 0B)
  2989. goto <bb 3>; [30.00%]
  2990. else
  2991. goto <bb 4>; [70.00%]
  2992. <bb 3> [local count: 322122547]:
  2993. iftmp.38_5 ={v} pxCurrentTCB;
  2994. <bb 4> [local count: 1073741824]:
  2995. # iftmp.38_1 = PHI <iftmp.38_5(3), xTask_4(D)(2)>
  2996. # DEBUG pxTCB => iftmp.38_1
  2997. # DEBUG BEGIN_STMT
  2998. uxReturn_6 = iftmp.38_1->uxPriority;
  2999. # DEBUG uxReturn => uxReturn_6
  3000. # DEBUG BEGIN_STMT
  3001. vPortExitCritical ();
  3002. # DEBUG BEGIN_STMT
  3003. return uxReturn_6;
  3004. }
  3005. ;; Function uxTaskPriorityGetFromISR (uxTaskPriorityGetFromISR, funcdef_no=15, decl_uid=6155, cgraph_uid=16, symbol_order=37)
  3006. Modification phase of node uxTaskPriorityGetFromISR/37
  3007. uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
  3008. {
  3009. uint32_t ulOriginalBASEPRI;
  3010. uint32_t ulNewBASEPRI;
  3011. UBaseType_t uxReturn;
  3012. const struct TCB_t * iftmp.39_1;
  3013. const struct TCB_t * iftmp.39_5;
  3014. <bb 2> [local count: 1073741824]:
  3015. # DEBUG BEGIN_STMT
  3016. # DEBUG BEGIN_STMT
  3017. # DEBUG BEGIN_STMT
  3018. vPortValidateInterruptPriority ();
  3019. # DEBUG BEGIN_STMT
  3020. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3021. # DEBUG BEGIN_STMT
  3022. # DEBUG BEGIN_STMT
  3023. __asm__ __volatile__(" mrs %0, basepri
  3024. mov %1, %2
  3025. msr basepri, %1
  3026. isb
  3027. dsb
  3028. " : "=r" ulOriginalBASEPRI_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  3029. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  3030. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7
  3031. # DEBUG BEGIN_STMT
  3032. # DEBUG ulNewBASEPRI => NULL
  3033. # DEBUG ulOriginalBASEPRI => NULL
  3034. # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7
  3035. # DEBUG BEGIN_STMT
  3036. if (xTask_4(D) == 0B)
  3037. goto <bb 3>; [30.00%]
  3038. else
  3039. goto <bb 4>; [70.00%]
  3040. <bb 3> [local count: 322122547]:
  3041. iftmp.39_5 ={v} pxCurrentTCB;
  3042. <bb 4> [local count: 1073741824]:
  3043. # iftmp.39_1 = PHI <iftmp.39_5(3), xTask_4(D)(2)>
  3044. # DEBUG pxTCB => iftmp.39_1
  3045. # DEBUG BEGIN_STMT
  3046. uxReturn_6 = iftmp.39_1->uxPriority;
  3047. # DEBUG uxReturn => uxReturn_6
  3048. # DEBUG BEGIN_STMT
  3049. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7
  3050. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3051. # DEBUG BEGIN_STMT
  3052. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory");
  3053. # DEBUG ulNewMaskValue => NULL
  3054. # DEBUG BEGIN_STMT
  3055. return uxReturn_6;
  3056. }
  3057. ;; Function vTaskPrioritySet (vTaskPrioritySet, funcdef_no=16, decl_uid=6165, cgraph_uid=17, symbol_order=38)
  3058. Modification phase of node vTaskPrioritySet/38
  3059. vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
  3060. {
  3061. uint32_t ulNewBASEPRI;
  3062. struct ListItem_t * const pxIndex;
  3063. BaseType_t xYieldRequired;
  3064. UBaseType_t uxPriorityUsedOnEntry;
  3065. UBaseType_t uxCurrentBasePriority;
  3066. struct TCB_t * pxCurrentTCB.41_1;
  3067. struct TCB_t * pxCurrentTCB.42_2;
  3068. long unsigned int _3;
  3069. struct TCB_t * pxCurrentTCB.43_4;
  3070. long unsigned int _5;
  3071. signed int _6;
  3072. long unsigned int _7;
  3073. struct xLIST * _8;
  3074. struct List_t * _9;
  3075. struct ListItem_t * _10;
  3076. long unsigned int _11;
  3077. long unsigned int uxTopReadyPriority.44_12;
  3078. struct xLIST_ITEM * _13;
  3079. struct xLIST_ITEM * _14;
  3080. struct List_t * _15;
  3081. long unsigned int _16;
  3082. long unsigned int _17;
  3083. struct TCB_t * iftmp.40_19;
  3084. struct TCB_t * iftmp.40_29;
  3085. <bb 2> [local count: 160260]:
  3086. # DEBUG BEGIN_STMT
  3087. # DEBUG BEGIN_STMT
  3088. # DEBUG BEGIN_STMT
  3089. # DEBUG xYieldRequired => 0
  3090. # DEBUG BEGIN_STMT
  3091. if (uxNewPriority_25(D) > 4)
  3092. goto <bb 3>; [67.00%]
  3093. else
  3094. goto <bb 5>; [33.00%]
  3095. <bb 3> [local count: 107374]:
  3096. # DEBUG BEGIN_STMT
  3097. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3098. # DEBUG BEGIN_STMT
  3099. # DEBUG BEGIN_STMT
  3100. __asm__ __volatile__(" mov %0, %1
  3101. msr basepri, %0
  3102. isb
  3103. dsb
  3104. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  3105. # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
  3106. <bb 4> [local count: 1073741824]:
  3107. # DEBUG ulNewBASEPRI => NULL
  3108. # DEBUG BEGIN_STMT
  3109. # DEBUG BEGIN_STMT
  3110. # DEBUG BEGIN_STMT
  3111. <bb 25> [local count: 1073741824]:
  3112. goto <bb 4>; [100.00%]
  3113. <bb 5> [local count: 52886]:
  3114. # DEBUG BEGIN_STMT
  3115. # DEBUG BEGIN_STMT
  3116. # DEBUG uxNewPriority => uxNewPriority_25(D)
  3117. # DEBUG BEGIN_STMT
  3118. # DEBUG BEGIN_STMT
  3119. vPortEnterCritical ();
  3120. # DEBUG BEGIN_STMT
  3121. if (xTask_28(D) == 0B)
  3122. goto <bb 6>; [30.00%]
  3123. else
  3124. goto <bb 7>; [70.00%]
  3125. <bb 6> [local count: 15866]:
  3126. iftmp.40_29 ={v} pxCurrentTCB;
  3127. <bb 7> [local count: 52886]:
  3128. # iftmp.40_19 = PHI <iftmp.40_29(6), xTask_28(D)(5)>
  3129. # DEBUG pxTCB => iftmp.40_19
  3130. # DEBUG BEGIN_STMT
  3131. # DEBUG BEGIN_STMT
  3132. uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority;
  3133. # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30
  3134. # DEBUG BEGIN_STMT
  3135. if (uxNewPriority_25(D) != uxCurrentBasePriority_30)
  3136. goto <bb 8>; [66.00%]
  3137. else
  3138. goto <bb 24>; [34.00%]
  3139. <bb 8> [local count: 34905]:
  3140. # DEBUG BEGIN_STMT
  3141. if (uxNewPriority_25(D) > uxCurrentBasePriority_30)
  3142. goto <bb 9>; [50.00%]
  3143. else
  3144. goto <bb 12>; [50.00%]
  3145. <bb 9> [local count: 17452]:
  3146. # DEBUG BEGIN_STMT
  3147. pxCurrentTCB.41_1 ={v} pxCurrentTCB;
  3148. if (pxCurrentTCB.41_1 != iftmp.40_19)
  3149. goto <bb 10>; [70.00%]
  3150. else
  3151. goto <bb 14>; [30.00%]
  3152. <bb 10> [local count: 12217]:
  3153. # DEBUG BEGIN_STMT
  3154. pxCurrentTCB.42_2 ={v} pxCurrentTCB;
  3155. _3 = pxCurrentTCB.42_2->uxPriority;
  3156. if (_3 <= uxNewPriority_25(D))
  3157. goto <bb 11>; [50.00%]
  3158. else
  3159. goto <bb 14>; [50.00%]
  3160. <bb 11> [local count: 6108]:
  3161. # DEBUG BEGIN_STMT
  3162. # DEBUG xYieldRequired => 1
  3163. goto <bb 14>; [100.00%]
  3164. <bb 12> [local count: 17452]:
  3165. # DEBUG BEGIN_STMT
  3166. pxCurrentTCB.43_4 ={v} pxCurrentTCB;
  3167. if (pxCurrentTCB.43_4 == iftmp.40_19)
  3168. goto <bb 13>; [30.00%]
  3169. else
  3170. goto <bb 14>; [70.00%]
  3171. <bb 13> [local count: 5236]:
  3172. # DEBUG BEGIN_STMT
  3173. # DEBUG xYieldRequired => 1
  3174. <bb 14> [local count: 34905]:
  3175. # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)>
  3176. # DEBUG xYieldRequired => xYieldRequired_18
  3177. # DEBUG BEGIN_STMT
  3178. # DEBUG BEGIN_STMT
  3179. uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority;
  3180. # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31
  3181. # DEBUG BEGIN_STMT
  3182. if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31)
  3183. goto <bb 15>; [34.00%]
  3184. else
  3185. goto <bb 16>; [66.00%]
  3186. <bb 15> [local count: 11868]:
  3187. # DEBUG BEGIN_STMT
  3188. iftmp.40_19->uxPriority = uxNewPriority_25(D);
  3189. <bb 16> [local count: 34905]:
  3190. # DEBUG BEGIN_STMT
  3191. # DEBUG BEGIN_STMT
  3192. iftmp.40_19->uxBasePriority = uxNewPriority_25(D);
  3193. # DEBUG BEGIN_STMT
  3194. _5 = iftmp.40_19->xEventListItem.xItemValue;
  3195. _6 = (signed int) _5;
  3196. if (_6 >= 0)
  3197. goto <bb 17>; [59.00%]
  3198. else
  3199. goto <bb 18>; [41.00%]
  3200. <bb 17> [local count: 20594]:
  3201. # DEBUG BEGIN_STMT
  3202. _7 = 5 - uxNewPriority_25(D);
  3203. iftmp.40_19->xEventListItem.xItemValue = _7;
  3204. <bb 18> [local count: 34905]:
  3205. # DEBUG BEGIN_STMT
  3206. # DEBUG BEGIN_STMT
  3207. _8 = iftmp.40_19->xStateListItem.pvContainer;
  3208. _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31];
  3209. if (_8 == _9)
  3210. goto <bb 19>; [17.43%]
  3211. else
  3212. goto <bb 22>; [82.57%]
  3213. <bb 19> [local count: 6084]:
  3214. # DEBUG BEGIN_STMT
  3215. _10 = &iftmp.40_19->xStateListItem;
  3216. uxListRemove (_10);
  3217. # DEBUG BEGIN_STMT
  3218. # DEBUG BEGIN_STMT
  3219. # DEBUG BEGIN_STMT
  3220. _11 = iftmp.40_19->uxPriority;
  3221. uxTopReadyPriority.44_12 ={v} uxTopReadyPriority;
  3222. if (_11 > uxTopReadyPriority.44_12)
  3223. goto <bb 20>; [50.00%]
  3224. else
  3225. goto <bb 21>; [50.00%]
  3226. <bb 20> [local count: 3042]:
  3227. # DEBUG BEGIN_STMT
  3228. uxTopReadyPriority ={v} _11;
  3229. <bb 21> [local count: 6084]:
  3230. # DEBUG BEGIN_STMT
  3231. # DEBUG BEGIN_STMT
  3232. pxIndex_37 = pxReadyTasksLists[_11].pxIndex;
  3233. # DEBUG pxIndex => pxIndex_37
  3234. # DEBUG BEGIN_STMT
  3235. # DEBUG BEGIN_STMT
  3236. # DEBUG BEGIN_STMT
  3237. iftmp.40_19->xStateListItem.pxNext = pxIndex_37;
  3238. # DEBUG BEGIN_STMT
  3239. _13 = pxIndex_37->pxPrevious;
  3240. iftmp.40_19->xStateListItem.pxPrevious = _13;
  3241. # DEBUG BEGIN_STMT
  3242. _14 = pxIndex_37->pxPrevious;
  3243. _14->pxNext = _10;
  3244. # DEBUG BEGIN_STMT
  3245. pxIndex_37->pxPrevious = _10;
  3246. # DEBUG BEGIN_STMT
  3247. _15 = &pxReadyTasksLists[_11];
  3248. iftmp.40_19->xStateListItem.pvContainer = _15;
  3249. # DEBUG BEGIN_STMT
  3250. _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
  3251. _17 = _16 + 1;
  3252. pxReadyTasksLists[_11].uxNumberOfItems ={v} _17;
  3253. # DEBUG BEGIN_STMT
  3254. # DEBUG BEGIN_STMT
  3255. <bb 22> [local count: 34905]:
  3256. # DEBUG BEGIN_STMT
  3257. # DEBUG BEGIN_STMT
  3258. if (xYieldRequired_18 != 0)
  3259. goto <bb 23>; [50.00%]
  3260. else
  3261. goto <bb 24>; [50.00%]
  3262. <bb 23> [local count: 17452]:
  3263. # DEBUG BEGIN_STMT
  3264. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3265. # DEBUG BEGIN_STMT
  3266. __asm__ __volatile__("dsb" : : : "memory");
  3267. # DEBUG BEGIN_STMT
  3268. __asm__ __volatile__("isb");
  3269. # DEBUG BEGIN_STMT
  3270. <bb 24> [local count: 52886]:
  3271. # DEBUG BEGIN_STMT
  3272. # DEBUG BEGIN_STMT
  3273. # DEBUG BEGIN_STMT
  3274. vPortExitCritical ();
  3275. return;
  3276. }
  3277. ;; Function vTaskResume (vTaskResume, funcdef_no=19, decl_uid=6169, cgraph_uid=20, symbol_order=41)
  3278. Modification phase of node vTaskResume/41
  3279. vTaskResume (struct tskTaskControlBlock * xTaskToResume)
  3280. {
  3281. uint32_t ulNewBASEPRI;
  3282. struct ListItem_t * const pxIndex;
  3283. struct TCB_t * pxCurrentTCB.51_1;
  3284. long int _2;
  3285. struct ListItem_t * _3;
  3286. long unsigned int _4;
  3287. long unsigned int uxTopReadyPriority.52_5;
  3288. struct xLIST_ITEM * _6;
  3289. struct xLIST_ITEM * _7;
  3290. struct List_t * _8;
  3291. long unsigned int _9;
  3292. long unsigned int _10;
  3293. struct TCB_t * pxCurrentTCB.53_11;
  3294. long unsigned int _12;
  3295. <bb 2> [local count: 357913]:
  3296. # DEBUG BEGIN_STMT
  3297. # DEBUG pxTCB => xTaskToResume_16(D)
  3298. # DEBUG BEGIN_STMT
  3299. if (xTaskToResume_16(D) == 0B)
  3300. goto <bb 3>; [30.00%]
  3301. else
  3302. goto <bb 5>; [70.00%]
  3303. <bb 3> [local count: 107374]:
  3304. # DEBUG BEGIN_STMT
  3305. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3306. # DEBUG BEGIN_STMT
  3307. # DEBUG BEGIN_STMT
  3308. __asm__ __volatile__(" mov %0, %1
  3309. msr basepri, %0
  3310. isb
  3311. dsb
  3312. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  3313. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  3314. <bb 4> [local count: 1073741824]:
  3315. # DEBUG ulNewBASEPRI => NULL
  3316. # DEBUG BEGIN_STMT
  3317. # DEBUG BEGIN_STMT
  3318. # DEBUG BEGIN_STMT
  3319. <bb 13> [local count: 1073741824]:
  3320. goto <bb 4>; [100.00%]
  3321. <bb 5> [local count: 250539]:
  3322. # DEBUG BEGIN_STMT
  3323. # DEBUG BEGIN_STMT
  3324. pxCurrentTCB.51_1 ={v} pxCurrentTCB;
  3325. if (pxCurrentTCB.51_1 != xTaskToResume_16(D))
  3326. goto <bb 6>; [53.47%]
  3327. else
  3328. goto <bb 12>; [46.53%]
  3329. <bb 6> [local count: 133963]:
  3330. # DEBUG BEGIN_STMT
  3331. vPortEnterCritical ();
  3332. # DEBUG BEGIN_STMT
  3333. _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
  3334. if (_2 != 0)
  3335. goto <bb 7>; [33.00%]
  3336. else
  3337. goto <bb 11>; [67.00%]
  3338. <bb 7> [local count: 44208]:
  3339. # DEBUG BEGIN_STMT
  3340. # DEBUG BEGIN_STMT
  3341. _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem;
  3342. uxListRemove (_3);
  3343. # DEBUG BEGIN_STMT
  3344. # DEBUG BEGIN_STMT
  3345. _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority;
  3346. uxTopReadyPriority.52_5 ={v} uxTopReadyPriority;
  3347. if (_4 > uxTopReadyPriority.52_5)
  3348. goto <bb 8>; [50.00%]
  3349. else
  3350. goto <bb 9>; [50.00%]
  3351. <bb 8> [local count: 22104]:
  3352. # DEBUG BEGIN_STMT
  3353. uxTopReadyPriority ={v} _4;
  3354. <bb 9> [local count: 44208]:
  3355. # DEBUG BEGIN_STMT
  3356. # DEBUG BEGIN_STMT
  3357. pxIndex_22 = pxReadyTasksLists[_4].pxIndex;
  3358. # DEBUG pxIndex => pxIndex_22
  3359. # DEBUG BEGIN_STMT
  3360. # DEBUG BEGIN_STMT
  3361. # DEBUG BEGIN_STMT
  3362. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22;
  3363. # DEBUG BEGIN_STMT
  3364. _6 = pxIndex_22->pxPrevious;
  3365. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6;
  3366. # DEBUG BEGIN_STMT
  3367. _7 = pxIndex_22->pxPrevious;
  3368. _7->pxNext = _3;
  3369. # DEBUG BEGIN_STMT
  3370. pxIndex_22->pxPrevious = _3;
  3371. # DEBUG BEGIN_STMT
  3372. _8 = &pxReadyTasksLists[_4];
  3373. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8;
  3374. # DEBUG BEGIN_STMT
  3375. _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems;
  3376. _10 = _9 + 1;
  3377. pxReadyTasksLists[_4].uxNumberOfItems ={v} _10;
  3378. # DEBUG BEGIN_STMT
  3379. # DEBUG BEGIN_STMT
  3380. # DEBUG BEGIN_STMT
  3381. pxCurrentTCB.53_11 ={v} pxCurrentTCB;
  3382. _12 = pxCurrentTCB.53_11->uxPriority;
  3383. if (_4 >= _12)
  3384. goto <bb 10>; [50.00%]
  3385. else
  3386. goto <bb 11>; [50.00%]
  3387. <bb 10> [local count: 22104]:
  3388. # DEBUG BEGIN_STMT
  3389. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3390. # DEBUG BEGIN_STMT
  3391. __asm__ __volatile__("dsb" : : : "memory");
  3392. # DEBUG BEGIN_STMT
  3393. __asm__ __volatile__("isb");
  3394. # DEBUG BEGIN_STMT
  3395. <bb 11> [local count: 133963]:
  3396. # DEBUG BEGIN_STMT
  3397. # DEBUG BEGIN_STMT
  3398. vPortExitCritical ();
  3399. <bb 12> [local count: 250539]:
  3400. # DEBUG BEGIN_STMT
  3401. return;
  3402. }
  3403. ;; Function xTaskResumeFromISR (xTaskResumeFromISR, funcdef_no=20, decl_uid=6171, cgraph_uid=21, symbol_order=42)
  3404. Modification phase of node xTaskResumeFromISR/42
  3405. xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
  3406. {
  3407. uint32_t ulOriginalBASEPRI;
  3408. uint32_t ulNewBASEPRI;
  3409. uint32_t ulNewBASEPRI;
  3410. struct ListItem_t * const pxIndex;
  3411. BaseType_t xYieldRequired;
  3412. long int _1;
  3413. long unsigned int uxSchedulerSuspended.54_2;
  3414. long unsigned int _3;
  3415. struct TCB_t * pxCurrentTCB.55_4;
  3416. long unsigned int _5;
  3417. struct ListItem_t * _6;
  3418. long unsigned int _7;
  3419. long unsigned int uxTopReadyPriority.56_8;
  3420. struct xLIST_ITEM * _9;
  3421. struct xLIST_ITEM * _10;
  3422. struct List_t * _11;
  3423. long unsigned int _12;
  3424. long unsigned int _13;
  3425. struct ListItem_t * _14;
  3426. <bb 2> [local count: 230763]:
  3427. # DEBUG BEGIN_STMT
  3428. # DEBUG xYieldRequired => 0
  3429. # DEBUG BEGIN_STMT
  3430. # DEBUG pxTCB => xTaskToResume_20(D)
  3431. # DEBUG BEGIN_STMT
  3432. # DEBUG BEGIN_STMT
  3433. if (xTaskToResume_20(D) == 0B)
  3434. goto <bb 3>; [46.53%]
  3435. else
  3436. goto <bb 5>; [53.47%]
  3437. <bb 3> [local count: 107374]:
  3438. # DEBUG BEGIN_STMT
  3439. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3440. # DEBUG BEGIN_STMT
  3441. # DEBUG BEGIN_STMT
  3442. __asm__ __volatile__(" mov %0, %1
  3443. msr basepri, %0
  3444. isb
  3445. dsb
  3446. " : "=r" ulNewBASEPRI_35 : "i" 16 : "memory");
  3447. # DEBUG ulNewBASEPRI => ulNewBASEPRI_35
  3448. <bb 4> [local count: 1073741824]:
  3449. # DEBUG ulNewBASEPRI => NULL
  3450. # DEBUG BEGIN_STMT
  3451. # DEBUG BEGIN_STMT
  3452. # DEBUG BEGIN_STMT
  3453. <bb 14> [local count: 1073741824]:
  3454. goto <bb 4>; [100.00%]
  3455. <bb 5> [local count: 123389]:
  3456. # DEBUG BEGIN_STMT
  3457. # DEBUG BEGIN_STMT
  3458. vPortValidateInterruptPriority ();
  3459. # DEBUG BEGIN_STMT
  3460. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3461. # DEBUG BEGIN_STMT
  3462. # DEBUG BEGIN_STMT
  3463. __asm__ __volatile__(" mrs %0, basepri
  3464. mov %1, %2
  3465. msr basepri, %1
  3466. isb
  3467. dsb
  3468. " : "=r" ulOriginalBASEPRI_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  3469. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  3470. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36
  3471. # DEBUG BEGIN_STMT
  3472. # DEBUG ulNewBASEPRI => NULL
  3473. # DEBUG ulOriginalBASEPRI => NULL
  3474. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36
  3475. # DEBUG BEGIN_STMT
  3476. _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
  3477. if (_1 != 0)
  3478. goto <bb 6>; [50.00%]
  3479. else
  3480. goto <bb 13>; [50.00%]
  3481. <bb 6> [local count: 61694]:
  3482. # DEBUG BEGIN_STMT
  3483. # DEBUG BEGIN_STMT
  3484. uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended;
  3485. if (uxSchedulerSuspended.54_2 == 0)
  3486. goto <bb 7>; [67.00%]
  3487. else
  3488. goto <bb 12>; [33.00%]
  3489. <bb 7> [local count: 41335]:
  3490. # DEBUG BEGIN_STMT
  3491. _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  3492. pxCurrentTCB.55_4 ={v} pxCurrentTCB;
  3493. _5 = pxCurrentTCB.55_4->uxPriority;
  3494. if (_3 >= _5)
  3495. goto <bb 8>; [50.00%]
  3496. else
  3497. goto <bb 9>; [50.00%]
  3498. <bb 8> [local count: 20668]:
  3499. # DEBUG BEGIN_STMT
  3500. # DEBUG xYieldRequired => 1
  3501. # DEBUG BEGIN_STMT
  3502. xYieldPending ={v} 1;
  3503. <bb 9> [local count: 41335]:
  3504. # xYieldRequired_15 = PHI <0(7), 1(8)>
  3505. # DEBUG xYieldRequired => xYieldRequired_15
  3506. # DEBUG BEGIN_STMT
  3507. # DEBUG BEGIN_STMT
  3508. _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem;
  3509. uxListRemove (_6);
  3510. # DEBUG BEGIN_STMT
  3511. # DEBUG BEGIN_STMT
  3512. _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  3513. uxTopReadyPriority.56_8 ={v} uxTopReadyPriority;
  3514. if (_7 > uxTopReadyPriority.56_8)
  3515. goto <bb 10>; [50.00%]
  3516. else
  3517. goto <bb 11>; [50.00%]
  3518. <bb 10> [local count: 20668]:
  3519. # DEBUG BEGIN_STMT
  3520. uxTopReadyPriority ={v} _7;
  3521. <bb 11> [local count: 41335]:
  3522. # DEBUG BEGIN_STMT
  3523. # DEBUG BEGIN_STMT
  3524. pxIndex_28 = pxReadyTasksLists[_7].pxIndex;
  3525. # DEBUG pxIndex => pxIndex_28
  3526. # DEBUG BEGIN_STMT
  3527. # DEBUG BEGIN_STMT
  3528. # DEBUG BEGIN_STMT
  3529. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28;
  3530. # DEBUG BEGIN_STMT
  3531. _9 = pxIndex_28->pxPrevious;
  3532. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9;
  3533. # DEBUG BEGIN_STMT
  3534. _10 = pxIndex_28->pxPrevious;
  3535. _10->pxNext = _6;
  3536. # DEBUG BEGIN_STMT
  3537. pxIndex_28->pxPrevious = _6;
  3538. # DEBUG BEGIN_STMT
  3539. _11 = &pxReadyTasksLists[_7];
  3540. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11;
  3541. # DEBUG BEGIN_STMT
  3542. _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  3543. _13 = _12 + 1;
  3544. pxReadyTasksLists[_7].uxNumberOfItems ={v} _13;
  3545. # DEBUG BEGIN_STMT
  3546. # DEBUG BEGIN_STMT
  3547. goto <bb 13>; [100.00%]
  3548. <bb 12> [local count: 20359]:
  3549. # DEBUG BEGIN_STMT
  3550. _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem;
  3551. vListInsertEnd (&xPendingReadyList, _14);
  3552. <bb 13> [local count: 123389]:
  3553. # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)>
  3554. # DEBUG xYieldRequired => xYieldRequired_16
  3555. # DEBUG BEGIN_STMT
  3556. # DEBUG BEGIN_STMT
  3557. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36
  3558. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3559. # DEBUG BEGIN_STMT
  3560. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory");
  3561. # DEBUG ulNewMaskValue => NULL
  3562. # DEBUG BEGIN_STMT
  3563. return xYieldRequired_16;
  3564. }
  3565. ;; Function vTaskStartScheduler (vTaskStartScheduler, funcdef_no=21, decl_uid=6173, cgraph_uid=22, symbol_order=43)
  3566. Modification phase of node vTaskStartScheduler/43
  3567. vTaskStartScheduler ()
  3568. {
  3569. uint32_t ulNewBASEPRI;
  3570. uint32_t ulNewBASEPRI;
  3571. BaseType_t xReturn;
  3572. long unsigned int vol.57_13;
  3573. <bb 2> [local count: 395945]:
  3574. # DEBUG BEGIN_STMT
  3575. # DEBUG BEGIN_STMT
  3576. xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  3577. # DEBUG xReturn => xReturn_6
  3578. # DEBUG BEGIN_STMT
  3579. if (xReturn_6 == 1)
  3580. goto <bb 3>; [20.24%]
  3581. else
  3582. goto <bb 4>; [79.76%]
  3583. <bb 3> [local count: 80139]:
  3584. # DEBUG BEGIN_STMT
  3585. xReturn_8 = xTimerCreateTimerTask ();
  3586. # DEBUG xReturn => xReturn_8
  3587. <bb 4> [local count: 395945]:
  3588. # xReturn_1 = PHI <xReturn_6(2), xReturn_8(3)>
  3589. # DEBUG xReturn => xReturn_1
  3590. # DEBUG BEGIN_STMT
  3591. # DEBUG BEGIN_STMT
  3592. if (xReturn_1 == 1)
  3593. goto <bb 5>; [20.24%]
  3594. else
  3595. goto <bb 6>; [79.76%]
  3596. <bb 5> [local count: 80139]:
  3597. # DEBUG BEGIN_STMT
  3598. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3599. # DEBUG BEGIN_STMT
  3600. # DEBUG BEGIN_STMT
  3601. __asm__ __volatile__(" mov %0, %1
  3602. msr basepri, %0
  3603. isb
  3604. dsb
  3605. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  3606. # DEBUG ulNewBASEPRI => NULL
  3607. # DEBUG BEGIN_STMT
  3608. xNextTaskUnblockTime ={v} 4294967295;
  3609. # DEBUG BEGIN_STMT
  3610. xSchedulerRunning ={v} 1;
  3611. # DEBUG BEGIN_STMT
  3612. xTickCount ={v} 0;
  3613. # DEBUG BEGIN_STMT
  3614. # DEBUG BEGIN_STMT
  3615. # DEBUG BEGIN_STMT
  3616. xPortStartScheduler ();
  3617. goto <bb 9>; [100.00%]
  3618. <bb 6> [local count: 315806]:
  3619. # DEBUG BEGIN_STMT
  3620. if (xReturn_1 == -1)
  3621. goto <bb 7>; [34.00%]
  3622. else
  3623. goto <bb 9>; [66.00%]
  3624. <bb 7> [local count: 107374]:
  3625. # DEBUG BEGIN_STMT
  3626. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3627. # DEBUG BEGIN_STMT
  3628. # DEBUG BEGIN_STMT
  3629. __asm__ __volatile__(" mov %0, %1
  3630. msr basepri, %0
  3631. isb
  3632. dsb
  3633. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  3634. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  3635. <bb 8> [local count: 1073741824]:
  3636. # DEBUG ulNewBASEPRI => NULL
  3637. # DEBUG BEGIN_STMT
  3638. # DEBUG BEGIN_STMT
  3639. # DEBUG BEGIN_STMT
  3640. <bb 10> [local count: 1073741824]:
  3641. goto <bb 8>; [100.00%]
  3642. <bb 9> [local count: 288571]:
  3643. # DEBUG BEGIN_STMT
  3644. # DEBUG BEGIN_STMT
  3645. # DEBUG BEGIN_STMT
  3646. vol.57_13 ={v} uxTopUsedPriority;
  3647. return;
  3648. }
  3649. ;; Function vTaskEndScheduler (vTaskEndScheduler, funcdef_no=22, decl_uid=6175, cgraph_uid=23, symbol_order=44)
  3650. Modification phase of node vTaskEndScheduler/44
  3651. vTaskEndScheduler ()
  3652. {
  3653. uint32_t ulNewBASEPRI;
  3654. <bb 2> [local count: 1073741824]:
  3655. # DEBUG BEGIN_STMT
  3656. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3657. # DEBUG BEGIN_STMT
  3658. # DEBUG BEGIN_STMT
  3659. __asm__ __volatile__(" mov %0, %1
  3660. msr basepri, %0
  3661. isb
  3662. dsb
  3663. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  3664. # DEBUG ulNewBASEPRI => NULL
  3665. # DEBUG BEGIN_STMT
  3666. xSchedulerRunning ={v} 0;
  3667. # DEBUG BEGIN_STMT
  3668. vPortEndScheduler ();
  3669. return;
  3670. }
  3671. ;; Function vTaskSuspendAll (vTaskSuspendAll, funcdef_no=23, decl_uid=6177, cgraph_uid=24, symbol_order=45)
  3672. Modification phase of node vTaskSuspendAll/45
  3673. vTaskSuspendAll ()
  3674. {
  3675. long unsigned int uxSchedulerSuspended.61_1;
  3676. long unsigned int _2;
  3677. <bb 2> [local count: 1073741824]:
  3678. # DEBUG BEGIN_STMT
  3679. # DEBUG BEGIN_STMT
  3680. uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended;
  3681. _2 = uxSchedulerSuspended.61_1 + 1;
  3682. uxSchedulerSuspended ={v} _2;
  3683. # DEBUG BEGIN_STMT
  3684. __asm__ __volatile__("" : : : "memory");
  3685. return;
  3686. }
  3687. ;; Function xTaskGetTickCount (xTaskGetTickCount, funcdef_no=25, decl_uid=6181, cgraph_uid=26, symbol_order=47)
  3688. Modification phase of node xTaskGetTickCount/47
  3689. xTaskGetTickCount ()
  3690. {
  3691. TickType_t xTicks;
  3692. <bb 2> [local count: 1073741824]:
  3693. # DEBUG BEGIN_STMT
  3694. # DEBUG BEGIN_STMT
  3695. # DEBUG BEGIN_STMT
  3696. xTicks_2 ={v} xTickCount;
  3697. # DEBUG xTicks => xTicks_2
  3698. # DEBUG BEGIN_STMT
  3699. # DEBUG BEGIN_STMT
  3700. return xTicks_2;
  3701. }
  3702. ;; Function xTaskGetTickCountFromISR (xTaskGetTickCountFromISR, funcdef_no=26, decl_uid=6183, cgraph_uid=27, symbol_order=48)
  3703. Modification phase of node xTaskGetTickCountFromISR/48
  3704. xTaskGetTickCountFromISR ()
  3705. {
  3706. TickType_t xReturn;
  3707. <bb 2> [local count: 1073741824]:
  3708. # DEBUG BEGIN_STMT
  3709. # DEBUG BEGIN_STMT
  3710. # DEBUG BEGIN_STMT
  3711. vPortValidateInterruptPriority ();
  3712. # DEBUG BEGIN_STMT
  3713. # DEBUG uxSavedInterruptStatus => 0
  3714. # DEBUG BEGIN_STMT
  3715. xReturn_3 ={v} xTickCount;
  3716. # DEBUG xReturn => xReturn_3
  3717. # DEBUG BEGIN_STMT
  3718. # DEBUG BEGIN_STMT
  3719. return xReturn_3;
  3720. }
  3721. ;; Function uxTaskGetNumberOfTasks (uxTaskGetNumberOfTasks, funcdef_no=27, decl_uid=6185, cgraph_uid=28, symbol_order=49)
  3722. Modification phase of node uxTaskGetNumberOfTasks/49
  3723. uxTaskGetNumberOfTasks ()
  3724. {
  3725. UBaseType_t _2;
  3726. <bb 2> [local count: 1073741824]:
  3727. # DEBUG BEGIN_STMT
  3728. _2 ={v} uxCurrentNumberOfTasks;
  3729. return _2;
  3730. }
  3731. ;; Function pcTaskGetName (pcTaskGetName, funcdef_no=28, decl_uid=6187, cgraph_uid=29, symbol_order=50)
  3732. Modification phase of node pcTaskGetName/50
  3733. pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
  3734. {
  3735. uint32_t ulNewBASEPRI;
  3736. struct TCB_t * iftmp.69_1;
  3737. struct TCB_t * iftmp.69_4;
  3738. char * _5;
  3739. <bb 2> [local count: 357913]:
  3740. # DEBUG BEGIN_STMT
  3741. # DEBUG BEGIN_STMT
  3742. if (xTaskToQuery_2(D) == 0B)
  3743. goto <bb 3>; [30.00%]
  3744. else
  3745. goto <bb 4>; [70.00%]
  3746. <bb 3> [local count: 107374]:
  3747. iftmp.69_4 ={v} pxCurrentTCB;
  3748. <bb 4> [local count: 357913]:
  3749. # iftmp.69_1 = PHI <iftmp.69_4(3), xTaskToQuery_2(D)(2)>
  3750. # DEBUG pxTCB => iftmp.69_1
  3751. # DEBUG BEGIN_STMT
  3752. if (iftmp.69_1 == 0B)
  3753. goto <bb 5>; [30.00%]
  3754. else
  3755. goto <bb 7>; [70.00%]
  3756. <bb 5> [local count: 107374]:
  3757. # DEBUG BEGIN_STMT
  3758. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3759. # DEBUG BEGIN_STMT
  3760. # DEBUG BEGIN_STMT
  3761. __asm__ __volatile__(" mov %0, %1
  3762. msr basepri, %0
  3763. isb
  3764. dsb
  3765. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  3766. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  3767. <bb 6> [local count: 1073741824]:
  3768. # DEBUG ulNewBASEPRI => NULL
  3769. # DEBUG BEGIN_STMT
  3770. # DEBUG BEGIN_STMT
  3771. # DEBUG BEGIN_STMT
  3772. <bb 8> [local count: 1073741824]:
  3773. goto <bb 6>; [100.00%]
  3774. <bb 7> [local count: 250539]:
  3775. # DEBUG BEGIN_STMT
  3776. # DEBUG BEGIN_STMT
  3777. _5 = &iftmp.69_1->pcTaskName[0];
  3778. return _5;
  3779. }
  3780. ;; Function xTaskIncrementTick (xTaskIncrementTick, funcdef_no=34, decl_uid=6251, cgraph_uid=35, symbol_order=56)
  3781. Modification phase of node xTaskIncrementTick/56
  3782. xTaskIncrementTick ()
  3783. {
  3784. BaseType_t xSwitchRequired;
  3785. long unsigned int uxSchedulerSuspended.79_1;
  3786. long unsigned int xPendedTicks.91_5;
  3787. long unsigned int _6;
  3788. <bb 2> [local count: 641039]:
  3789. # DEBUG BEGIN_STMT
  3790. # DEBUG BEGIN_STMT
  3791. # DEBUG BEGIN_STMT
  3792. # DEBUG xSwitchRequired => 0
  3793. # DEBUG BEGIN_STMT
  3794. # DEBUG BEGIN_STMT
  3795. uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended;
  3796. if (uxSchedulerSuspended.79_1 == 0)
  3797. goto <bb 3>; [50.00%]
  3798. else
  3799. goto <bb 4>; [50.00%]
  3800. <bb 3> [local count: 320520]:
  3801. xSwitchRequired_2 = xTaskIncrementTick.part.0 ();
  3802. goto <bb 5>; [100.00%]
  3803. <bb 4> [local count: 320519]:
  3804. # DEBUG BEGIN_STMT
  3805. xPendedTicks.91_5 ={v} xPendedTicks;
  3806. _6 = xPendedTicks.91_5 + 1;
  3807. xPendedTicks ={v} _6;
  3808. <bb 5> [local count: 533665]:
  3809. # xSwitchRequired_7 = PHI <xSwitchRequired_2(3), 0(4)>
  3810. # DEBUG xSwitchRequired => xSwitchRequired_7
  3811. # DEBUG BEGIN_STMT
  3812. return xSwitchRequired_7;
  3813. }
  3814. ;; Function xTaskResumeAll (xTaskResumeAll, funcdef_no=24, decl_uid=6179, cgraph_uid=25, symbol_order=46)
  3815. Modification phase of node xTaskResumeAll/46
  3816. xTaskResumeAll ()
  3817. {
  3818. BaseType_t D.8425;
  3819. uint32_t ulNewBASEPRI;
  3820. long unsigned int uxSchedulerSuspended.62_1;
  3821. <bb 2> [local count: 160260]:
  3822. # DEBUG BEGIN_STMT
  3823. # DEBUG pxTCB => 0B
  3824. # DEBUG BEGIN_STMT
  3825. # DEBUG xAlreadyYielded => 0
  3826. # DEBUG BEGIN_STMT
  3827. uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended;
  3828. if (uxSchedulerSuspended.62_1 == 0)
  3829. goto <bb 3>; [67.00%]
  3830. else
  3831. goto <bb 5>; [33.00%]
  3832. <bb 3> [local count: 107374]:
  3833. # DEBUG BEGIN_STMT
  3834. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3835. # DEBUG BEGIN_STMT
  3836. # DEBUG BEGIN_STMT
  3837. __asm__ __volatile__(" mov %0, %1
  3838. msr basepri, %0
  3839. isb
  3840. dsb
  3841. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  3842. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  3843. <bb 4> [local count: 1073741824]:
  3844. # DEBUG ulNewBASEPRI => NULL
  3845. # DEBUG BEGIN_STMT
  3846. # DEBUG BEGIN_STMT
  3847. # DEBUG BEGIN_STMT
  3848. <bb 6> [local count: 1073741824]:
  3849. goto <bb 4>; [100.00%]
  3850. <bb 5> [local count: 52886]:
  3851. _2 = xTaskResumeAll.part.0 ();
  3852. return _2;
  3853. }
  3854. ;; Function xTaskDelayUntil (xTaskDelayUntil, funcdef_no=11, decl_uid=6149, cgraph_uid=12, symbol_order=33)
  3855. Modification phase of node xTaskDelayUntil/33
  3856. xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
  3857. {
  3858. uint32_t ulNewBASEPRI;
  3859. uint32_t ulNewBASEPRI;
  3860. uint32_t ulNewBASEPRI;
  3861. const TickType_t xConstTickCount;
  3862. BaseType_t xShouldDelay;
  3863. BaseType_t xAlreadyYielded;
  3864. TickType_t xTimeToWake;
  3865. long unsigned int uxSchedulerSuspended.22_1;
  3866. long unsigned int _2;
  3867. long unsigned int _3;
  3868. <bb 2> [local count: 306783]:
  3869. # DEBUG BEGIN_STMT
  3870. # DEBUG BEGIN_STMT
  3871. # DEBUG xShouldDelay => 0
  3872. # DEBUG BEGIN_STMT
  3873. if (pxPreviousWakeTime_7(D) == 0B)
  3874. goto <bb 3>; [30.00%]
  3875. else
  3876. goto <bb 5>; [70.00%]
  3877. <bb 3> [local count: 92035]:
  3878. # DEBUG BEGIN_STMT
  3879. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3880. # DEBUG BEGIN_STMT
  3881. # DEBUG BEGIN_STMT
  3882. __asm__ __volatile__(" mov %0, %1
  3883. msr basepri, %0
  3884. isb
  3885. dsb
  3886. " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
  3887. # DEBUG ulNewBASEPRI => ulNewBASEPRI_21
  3888. <bb 4> [local count: 920350133]:
  3889. # DEBUG ulNewBASEPRI => NULL
  3890. # DEBUG BEGIN_STMT
  3891. # DEBUG BEGIN_STMT
  3892. # DEBUG BEGIN_STMT
  3893. <bb 25> [local count: 920350133]:
  3894. goto <bb 4>; [100.00%]
  3895. <bb 5> [local count: 214748]:
  3896. # DEBUG BEGIN_STMT
  3897. # DEBUG BEGIN_STMT
  3898. if (xTimeIncrement_8(D) == 0)
  3899. goto <bb 6>; [50.00%]
  3900. else
  3901. goto <bb 8>; [50.00%]
  3902. <bb 6> [local count: 107374]:
  3903. # DEBUG BEGIN_STMT
  3904. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3905. # DEBUG BEGIN_STMT
  3906. # DEBUG BEGIN_STMT
  3907. __asm__ __volatile__(" mov %0, %1
  3908. msr basepri, %0
  3909. isb
  3910. dsb
  3911. " : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
  3912. # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
  3913. <bb 7> [local count: 1073741823]:
  3914. # DEBUG ulNewBASEPRI => NULL
  3915. # DEBUG BEGIN_STMT
  3916. # DEBUG BEGIN_STMT
  3917. # DEBUG BEGIN_STMT
  3918. <bb 26> [local count: 1073741824]:
  3919. goto <bb 7>; [100.00%]
  3920. <bb 8> [local count: 107374]:
  3921. # DEBUG BEGIN_STMT
  3922. # DEBUG BEGIN_STMT
  3923. uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended;
  3924. if (uxSchedulerSuspended.22_1 != 0)
  3925. goto <bb 9>; [67.00%]
  3926. else
  3927. goto <bb 11>; [33.00%]
  3928. <bb 9> [local count: 71941]:
  3929. # DEBUG BEGIN_STMT
  3930. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3931. # DEBUG BEGIN_STMT
  3932. # DEBUG BEGIN_STMT
  3933. __asm__ __volatile__(" mov %0, %1
  3934. msr basepri, %0
  3935. isb
  3936. dsb
  3937. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  3938. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  3939. <bb 10> [local count: 719407021]:
  3940. # DEBUG ulNewBASEPRI => NULL
  3941. # DEBUG BEGIN_STMT
  3942. # DEBUG BEGIN_STMT
  3943. # DEBUG BEGIN_STMT
  3944. <bb 27> [local count: 719407021]:
  3945. goto <bb 10>; [100.00%]
  3946. <bb 11> [local count: 35433]:
  3947. # DEBUG BEGIN_STMT
  3948. # DEBUG BEGIN_STMT
  3949. vTaskSuspendAll ();
  3950. # DEBUG BEGIN_STMT
  3951. xConstTickCount_11 ={v} xTickCount;
  3952. # DEBUG xConstTickCount => xConstTickCount_11
  3953. # DEBUG BEGIN_STMT
  3954. _2 = *pxPreviousWakeTime_7(D);
  3955. xTimeToWake_12 = _2 + xTimeIncrement_8(D);
  3956. # DEBUG xTimeToWake => xTimeToWake_12
  3957. # DEBUG BEGIN_STMT
  3958. if (_2 > xConstTickCount_11)
  3959. goto <bb 12>; [50.00%]
  3960. else
  3961. goto <bb 17>; [50.00%]
  3962. <bb 12> [local count: 17717]:
  3963. # DEBUG BEGIN_STMT
  3964. if (_2 > xTimeToWake_12)
  3965. goto <bb 14>; [50.00%]
  3966. else
  3967. goto <bb 13>; [50.00%]
  3968. <bb 13> [local count: 8858]:
  3969. # DEBUG xShouldDelay => 0
  3970. # DEBUG BEGIN_STMT
  3971. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  3972. # DEBUG BEGIN_STMT
  3973. goto <bb 22>; [100.00%]
  3974. <bb 14> [local count: 8858]:
  3975. if (xConstTickCount_11 < xTimeToWake_12)
  3976. goto <bb 16>; [50.00%]
  3977. else
  3978. goto <bb 15>; [50.00%]
  3979. <bb 15> [local count: 4429]:
  3980. # DEBUG xShouldDelay => 0
  3981. # DEBUG BEGIN_STMT
  3982. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  3983. # DEBUG BEGIN_STMT
  3984. goto <bb 22>; [100.00%]
  3985. <bb 16> [local count: 4429]:
  3986. # DEBUG BEGIN_STMT
  3987. # DEBUG xShouldDelay => 1
  3988. # DEBUG BEGIN_STMT
  3989. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  3990. # DEBUG BEGIN_STMT
  3991. goto <bb 21>; [100.00%]
  3992. <bb 17> [local count: 17717]:
  3993. # DEBUG BEGIN_STMT
  3994. if (_2 > xTimeToWake_12)
  3995. goto <bb 19>; [50.00%]
  3996. else
  3997. goto <bb 18>; [50.00%]
  3998. <bb 18> [local count: 8858]:
  3999. if (xConstTickCount_11 < xTimeToWake_12)
  4000. goto <bb 19>; [50.00%]
  4001. else
  4002. goto <bb 20>; [50.00%]
  4003. <bb 19> [local count: 13288]:
  4004. # DEBUG BEGIN_STMT
  4005. # DEBUG xShouldDelay => 1
  4006. # DEBUG BEGIN_STMT
  4007. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  4008. # DEBUG BEGIN_STMT
  4009. goto <bb 21>; [100.00%]
  4010. <bb 20> [local count: 4429]:
  4011. # DEBUG xShouldDelay => 0
  4012. # DEBUG BEGIN_STMT
  4013. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  4014. # DEBUG BEGIN_STMT
  4015. goto <bb 22>; [100.00%]
  4016. <bb 21> [local count: 17717]:
  4017. # DEBUG BEGIN_STMT
  4018. # DEBUG BEGIN_STMT
  4019. _3 = xTimeToWake_12 - xConstTickCount_11;
  4020. prvAddCurrentTaskToDelayedList (_3, 0);
  4021. <bb 22> [local count: 35433]:
  4022. # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)>
  4023. # DEBUG BEGIN_STMT
  4024. # DEBUG BEGIN_STMT
  4025. xAlreadyYielded_16 = xTaskResumeAll ();
  4026. # DEBUG xAlreadyYielded => xAlreadyYielded_16
  4027. # DEBUG BEGIN_STMT
  4028. if (xAlreadyYielded_16 == 0)
  4029. goto <bb 23>; [50.00%]
  4030. else
  4031. goto <bb 24>; [50.00%]
  4032. <bb 23> [local count: 17717]:
  4033. # DEBUG BEGIN_STMT
  4034. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4035. # DEBUG BEGIN_STMT
  4036. __asm__ __volatile__("dsb" : : : "memory");
  4037. # DEBUG BEGIN_STMT
  4038. __asm__ __volatile__("isb");
  4039. # DEBUG BEGIN_STMT
  4040. <bb 24> [local count: 35433]:
  4041. # DEBUG BEGIN_STMT
  4042. # DEBUG BEGIN_STMT
  4043. return xShouldDelay_29;
  4044. }
  4045. ;; Function vTaskDelay (vTaskDelay, funcdef_no=12, decl_uid=6146, cgraph_uid=13, symbol_order=34)
  4046. Modification phase of node vTaskDelay/34
  4047. vTaskDelay (const TickType_t xTicksToDelay)
  4048. {
  4049. uint32_t ulNewBASEPRI;
  4050. BaseType_t xAlreadyYielded;
  4051. long unsigned int uxSchedulerSuspended.36_1;
  4052. <bb 2> [local count: 320519]:
  4053. # DEBUG BEGIN_STMT
  4054. # DEBUG xAlreadyYielded => 0
  4055. # DEBUG BEGIN_STMT
  4056. if (xTicksToDelay_3(D) != 0)
  4057. goto <bb 4>; [50.00%]
  4058. else
  4059. goto <bb 8>; [50.00%]
  4060. <bb 4> [local count: 160260]:
  4061. # DEBUG BEGIN_STMT
  4062. uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended;
  4063. if (uxSchedulerSuspended.36_1 != 0)
  4064. goto <bb 5>; [67.00%]
  4065. else
  4066. goto <bb 7>; [33.00%]
  4067. <bb 5> [local count: 107374]:
  4068. # DEBUG BEGIN_STMT
  4069. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4070. # DEBUG BEGIN_STMT
  4071. # DEBUG BEGIN_STMT
  4072. __asm__ __volatile__(" mov %0, %1
  4073. msr basepri, %0
  4074. isb
  4075. dsb
  4076. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  4077. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  4078. <bb 6> [local count: 1073741824]:
  4079. # DEBUG ulNewBASEPRI => NULL
  4080. # DEBUG BEGIN_STMT
  4081. # DEBUG BEGIN_STMT
  4082. # DEBUG BEGIN_STMT
  4083. <bb 10> [local count: 1073741824]:
  4084. goto <bb 6>; [100.00%]
  4085. <bb 7> [local count: 52886]:
  4086. # DEBUG BEGIN_STMT
  4087. # DEBUG BEGIN_STMT
  4088. vTaskSuspendAll ();
  4089. # DEBUG BEGIN_STMT
  4090. # DEBUG BEGIN_STMT
  4091. prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0);
  4092. # DEBUG BEGIN_STMT
  4093. xAlreadyYielded_8 = xTaskResumeAll ();
  4094. # DEBUG xAlreadyYielded => xAlreadyYielded_8
  4095. # DEBUG BEGIN_STMT
  4096. # DEBUG BEGIN_STMT
  4097. if (xAlreadyYielded_8 == 0)
  4098. goto <bb 8>; [50.00%]
  4099. else
  4100. goto <bb 9>; [50.00%]
  4101. <bb 8> [local count: 186703]:
  4102. # DEBUG xAlreadyYielded => NULL
  4103. # DEBUG BEGIN_STMT
  4104. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4105. # DEBUG BEGIN_STMT
  4106. __asm__ __volatile__("dsb" : : : "memory");
  4107. # DEBUG BEGIN_STMT
  4108. __asm__ __volatile__("isb");
  4109. # DEBUG BEGIN_STMT
  4110. <bb 9> [local count: 213145]:
  4111. # DEBUG BEGIN_STMT
  4112. return;
  4113. }
  4114. ;; Function xTaskGetHandle (xTaskGetHandle, funcdef_no=30, decl_uid=6189, cgraph_uid=31, symbol_order=52)
  4115. Modification phase of node xTaskGetHandle/52
  4116. xTaskGetHandle (const char * pcNameToQuery)
  4117. {
  4118. uint32_t ulNewBASEPRI;
  4119. struct TCB_t * pxTCB;
  4120. UBaseType_t uxQueue;
  4121. unsigned int _1;
  4122. struct List_t * _2;
  4123. struct List_t * pxDelayedTaskList.70_3;
  4124. struct List_t * pxOverflowDelayedTaskList.71_4;
  4125. <bb 2> [local count: 160260]:
  4126. # DEBUG BEGIN_STMT
  4127. # DEBUG uxQueue => 5
  4128. # DEBUG BEGIN_STMT
  4129. # DEBUG BEGIN_STMT
  4130. _1 = strlen (pcNameToQuery_17(D));
  4131. if (_1 > 9)
  4132. goto <bb 3>; [67.00%]
  4133. else
  4134. goto <bb 5>; [33.00%]
  4135. <bb 3> [local count: 107374]:
  4136. # DEBUG BEGIN_STMT
  4137. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4138. # DEBUG BEGIN_STMT
  4139. # DEBUG BEGIN_STMT
  4140. __asm__ __volatile__(" mov %0, %1
  4141. msr basepri, %0
  4142. isb
  4143. dsb
  4144. " : "=r" ulNewBASEPRI_31 : "i" 16 : "memory");
  4145. # DEBUG ulNewBASEPRI => ulNewBASEPRI_31
  4146. <bb 4> [local count: 1073741824]:
  4147. # DEBUG ulNewBASEPRI => NULL
  4148. # DEBUG BEGIN_STMT
  4149. # DEBUG BEGIN_STMT
  4150. # DEBUG BEGIN_STMT
  4151. <bb 17> [local count: 1073741824]:
  4152. goto <bb 4>; [100.00%]
  4153. <bb 5> [local count: 52886]:
  4154. # DEBUG BEGIN_STMT
  4155. # DEBUG BEGIN_STMT
  4156. vTaskSuspendAll ();
  4157. <bb 6> [local count: 216745]:
  4158. # uxQueue_5 = PHI <5(5), uxQueue_19(18)>
  4159. # DEBUG uxQueue => uxQueue_5
  4160. # DEBUG BEGIN_STMT
  4161. # DEBUG BEGIN_STMT
  4162. uxQueue_19 = uxQueue_5 + 4294967295;
  4163. # DEBUG uxQueue => uxQueue_19
  4164. # DEBUG BEGIN_STMT
  4165. _2 = &pxReadyTasksLists[uxQueue_19];
  4166. pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  4167. # DEBUG pxTCB => pxTCB_21
  4168. # DEBUG BEGIN_STMT
  4169. if (pxTCB_21 != 0B)
  4170. goto <bb 8>; [5.50%]
  4171. else
  4172. goto <bb 7>; [94.50%]
  4173. <bb 7> [local count: 204824]:
  4174. # DEBUG BEGIN_STMT
  4175. if (uxQueue_19 != 0)
  4176. goto <bb 18>; [80.00%]
  4177. else
  4178. goto <bb 8>; [20.00%]
  4179. <bb 18> [local count: 163859]:
  4180. goto <bb 6>; [100.00%]
  4181. <bb 8> [local count: 52886]:
  4182. # pxTCB_15 = PHI <pxTCB_21(6), 0B(7)>
  4183. # DEBUG BEGIN_STMT
  4184. if (pxTCB_15 == 0B)
  4185. goto <bb 9>; [17.43%]
  4186. else
  4187. goto <bb 10>; [82.57%]
  4188. <bb 9> [local count: 9218]:
  4189. # DEBUG BEGIN_STMT
  4190. pxDelayedTaskList.70_3 ={v} pxDelayedTaskList;
  4191. pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  4192. # DEBUG pxTCB => pxTCB_23
  4193. <bb 10> [local count: 52886]:
  4194. # pxTCB_6 = PHI <pxTCB_15(8), pxTCB_23(9)>
  4195. # DEBUG pxTCB => pxTCB_6
  4196. # DEBUG BEGIN_STMT
  4197. if (pxTCB_6 == 0B)
  4198. goto <bb 11>; [17.43%]
  4199. else
  4200. goto <bb 12>; [82.57%]
  4201. <bb 11> [local count: 9218]:
  4202. # DEBUG BEGIN_STMT
  4203. pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList;
  4204. pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  4205. # DEBUG pxTCB => pxTCB_25
  4206. <bb 12> [local count: 52886]:
  4207. # pxTCB_7 = PHI <pxTCB_6(10), pxTCB_25(11)>
  4208. # DEBUG pxTCB => pxTCB_7
  4209. # DEBUG BEGIN_STMT
  4210. if (pxTCB_7 == 0B)
  4211. goto <bb 13>; [17.43%]
  4212. else
  4213. goto <bb 14>; [82.57%]
  4214. <bb 13> [local count: 9218]:
  4215. # DEBUG BEGIN_STMT
  4216. pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  4217. # DEBUG pxTCB => pxTCB_27
  4218. <bb 14> [local count: 52886]:
  4219. # pxTCB_8 = PHI <pxTCB_7(12), pxTCB_27(13)>
  4220. # DEBUG pxTCB => pxTCB_8
  4221. # DEBUG BEGIN_STMT
  4222. if (pxTCB_8 == 0B)
  4223. goto <bb 15>; [17.43%]
  4224. else
  4225. goto <bb 16>; [82.57%]
  4226. <bb 15> [local count: 9218]:
  4227. # DEBUG BEGIN_STMT
  4228. pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  4229. # DEBUG pxTCB => pxTCB_29
  4230. <bb 16> [local count: 52886]:
  4231. # pxTCB_9 = PHI <pxTCB_8(14), pxTCB_29(15)>
  4232. # DEBUG pxTCB => pxTCB_9
  4233. # DEBUG BEGIN_STMT
  4234. xTaskResumeAll ();
  4235. # DEBUG BEGIN_STMT
  4236. return pxTCB_9;
  4237. }
  4238. ;; Function xTaskCatchUpTicks (xTaskCatchUpTicks, funcdef_no=32, decl_uid=6249, cgraph_uid=33, symbol_order=54)
  4239. Modification phase of node xTaskCatchUpTicks/54
  4240. xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
  4241. {
  4242. uint32_t ulNewBASEPRI;
  4243. BaseType_t xYieldOccurred;
  4244. long unsigned int uxSchedulerSuspended.75_1;
  4245. long unsigned int xPendedTicks.76_2;
  4246. long unsigned int _3;
  4247. <bb 2> [local count: 160260]:
  4248. # DEBUG BEGIN_STMT
  4249. # DEBUG BEGIN_STMT
  4250. uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended;
  4251. if (uxSchedulerSuspended.75_1 != 0)
  4252. goto <bb 3>; [67.00%]
  4253. else
  4254. goto <bb 5>; [33.00%]
  4255. <bb 3> [local count: 107374]:
  4256. # DEBUG BEGIN_STMT
  4257. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4258. # DEBUG BEGIN_STMT
  4259. # DEBUG BEGIN_STMT
  4260. __asm__ __volatile__(" mov %0, %1
  4261. msr basepri, %0
  4262. isb
  4263. dsb
  4264. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  4265. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  4266. <bb 4> [local count: 1073741824]:
  4267. # DEBUG ulNewBASEPRI => NULL
  4268. # DEBUG BEGIN_STMT
  4269. # DEBUG BEGIN_STMT
  4270. # DEBUG BEGIN_STMT
  4271. <bb 6> [local count: 1073741824]:
  4272. goto <bb 4>; [100.00%]
  4273. <bb 5> [local count: 52886]:
  4274. # DEBUG BEGIN_STMT
  4275. # DEBUG BEGIN_STMT
  4276. vTaskSuspendAll ();
  4277. # DEBUG BEGIN_STMT
  4278. xPendedTicks.76_2 ={v} xPendedTicks;
  4279. _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D);
  4280. xPendedTicks ={v} _3;
  4281. # DEBUG BEGIN_STMT
  4282. xYieldOccurred_9 = xTaskResumeAll ();
  4283. # DEBUG xYieldOccurred => xYieldOccurred_9
  4284. # DEBUG BEGIN_STMT
  4285. return xYieldOccurred_9;
  4286. }
  4287. ;; Function xTaskAbortDelay (xTaskAbortDelay, funcdef_no=33, decl_uid=6151, cgraph_uid=34, symbol_order=55)
  4288. Modification phase of node xTaskAbortDelay/55
  4289. xTaskAbortDelay (struct tskTaskControlBlock * xTask)
  4290. {
  4291. uint32_t ulNewBASEPRI;
  4292. struct ListItem_t * const pxIndex;
  4293. BaseType_t xReturn;
  4294. <unnamed type> _1;
  4295. struct ListItem_t * _2;
  4296. struct xLIST * _3;
  4297. struct ListItem_t * _4;
  4298. long unsigned int _5;
  4299. long unsigned int uxTopReadyPriority.77_6;
  4300. struct xLIST_ITEM * _7;
  4301. struct xLIST_ITEM * _8;
  4302. struct List_t * _9;
  4303. long unsigned int _10;
  4304. long unsigned int _11;
  4305. struct TCB_t * pxCurrentTCB.78_12;
  4306. long unsigned int _13;
  4307. <bb 2> [local count: 230763]:
  4308. # DEBUG BEGIN_STMT
  4309. # DEBUG pxTCB => xTask_18(D)
  4310. # DEBUG BEGIN_STMT
  4311. # DEBUG BEGIN_STMT
  4312. if (xTask_18(D) == 0B)
  4313. goto <bb 3>; [46.53%]
  4314. else
  4315. goto <bb 5>; [53.47%]
  4316. <bb 3> [local count: 107374]:
  4317. # DEBUG BEGIN_STMT
  4318. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4319. # DEBUG BEGIN_STMT
  4320. # DEBUG BEGIN_STMT
  4321. __asm__ __volatile__(" mov %0, %1
  4322. msr basepri, %0
  4323. isb
  4324. dsb
  4325. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  4326. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  4327. <bb 4> [local count: 1073741824]:
  4328. # DEBUG ulNewBASEPRI => NULL
  4329. # DEBUG BEGIN_STMT
  4330. # DEBUG BEGIN_STMT
  4331. # DEBUG BEGIN_STMT
  4332. <bb 13> [local count: 1073741824]:
  4333. goto <bb 4>; [100.00%]
  4334. <bb 5> [local count: 123389]:
  4335. # DEBUG BEGIN_STMT
  4336. # DEBUG BEGIN_STMT
  4337. vTaskSuspendAll ();
  4338. # DEBUG BEGIN_STMT
  4339. _1 = eTaskGetState (xTask_18(D));
  4340. if (_1 == 2)
  4341. goto <bb 6>; [20.24%]
  4342. else
  4343. goto <bb 12>; [79.76%]
  4344. <bb 6> [local count: 24974]:
  4345. # DEBUG BEGIN_STMT
  4346. # DEBUG xReturn => 1
  4347. # DEBUG BEGIN_STMT
  4348. _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem;
  4349. uxListRemove (_2);
  4350. # DEBUG BEGIN_STMT
  4351. vPortEnterCritical ();
  4352. # DEBUG BEGIN_STMT
  4353. _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer;
  4354. if (_3 != 0B)
  4355. goto <bb 7>; [53.47%]
  4356. else
  4357. goto <bb 8>; [46.53%]
  4358. <bb 7> [local count: 13354]:
  4359. # DEBUG BEGIN_STMT
  4360. _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem;
  4361. uxListRemove (_4);
  4362. # DEBUG BEGIN_STMT
  4363. MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1;
  4364. <bb 8> [local count: 24974]:
  4365. # DEBUG BEGIN_STMT
  4366. # DEBUG BEGIN_STMT
  4367. vPortExitCritical ();
  4368. # DEBUG BEGIN_STMT
  4369. # DEBUG BEGIN_STMT
  4370. _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority;
  4371. uxTopReadyPriority.77_6 ={v} uxTopReadyPriority;
  4372. if (_5 > uxTopReadyPriority.77_6)
  4373. goto <bb 9>; [50.00%]
  4374. else
  4375. goto <bb 10>; [50.00%]
  4376. <bb 9> [local count: 12487]:
  4377. # DEBUG BEGIN_STMT
  4378. uxTopReadyPriority ={v} _5;
  4379. <bb 10> [local count: 24974]:
  4380. # DEBUG BEGIN_STMT
  4381. # DEBUG BEGIN_STMT
  4382. pxIndex_28 = pxReadyTasksLists[_5].pxIndex;
  4383. # DEBUG pxIndex => pxIndex_28
  4384. # DEBUG BEGIN_STMT
  4385. # DEBUG BEGIN_STMT
  4386. # DEBUG BEGIN_STMT
  4387. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28;
  4388. # DEBUG BEGIN_STMT
  4389. _7 = pxIndex_28->pxPrevious;
  4390. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7;
  4391. # DEBUG BEGIN_STMT
  4392. _8 = pxIndex_28->pxPrevious;
  4393. _8->pxNext = _2;
  4394. # DEBUG BEGIN_STMT
  4395. pxIndex_28->pxPrevious = _2;
  4396. # DEBUG BEGIN_STMT
  4397. _9 = &pxReadyTasksLists[_5];
  4398. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9;
  4399. # DEBUG BEGIN_STMT
  4400. _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems;
  4401. _11 = _10 + 1;
  4402. pxReadyTasksLists[_5].uxNumberOfItems ={v} _11;
  4403. # DEBUG BEGIN_STMT
  4404. # DEBUG BEGIN_STMT
  4405. # DEBUG BEGIN_STMT
  4406. pxCurrentTCB.78_12 ={v} pxCurrentTCB;
  4407. _13 = pxCurrentTCB.78_12->uxPriority;
  4408. if (_5 > _13)
  4409. goto <bb 11>; [50.00%]
  4410. else
  4411. goto <bb 12>; [50.00%]
  4412. <bb 11> [local count: 12487]:
  4413. # DEBUG BEGIN_STMT
  4414. xYieldPending ={v} 1;
  4415. <bb 12> [local count: 123389]:
  4416. # xReturn_14 = PHI <1(11), 0(5), 1(10)>
  4417. # DEBUG xReturn => xReturn_14
  4418. # DEBUG BEGIN_STMT
  4419. xTaskResumeAll ();
  4420. # DEBUG BEGIN_STMT
  4421. return xReturn_14;
  4422. }
  4423. ;; Function vTaskSwitchContext (vTaskSwitchContext, funcdef_no=35, decl_uid=6269, cgraph_uid=36, symbol_order=57)
  4424. Modification phase of node vTaskSwitchContext/57
  4425. __attribute__((used))
  4426. vTaskSwitchContext ()
  4427. {
  4428. UBaseType_t uxTopPriority;
  4429. long unsigned int uxSchedulerSuspended.92_1;
  4430. long unsigned int _2;
  4431. struct ListItem_t * _3;
  4432. struct xLIST_ITEM * _4;
  4433. struct MiniListItem_t * _6;
  4434. struct xLIST_ITEM * _8;
  4435. struct ListItem_t * _9;
  4436. void * _10;
  4437. <bb 2> [local count: 441995]:
  4438. # DEBUG BEGIN_STMT
  4439. uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended;
  4440. if (uxSchedulerSuspended.92_1 != 0)
  4441. goto <bb 3>; [50.00%]
  4442. else
  4443. goto <bb 4>; [50.00%]
  4444. <bb 3> [local count: 220997]:
  4445. # DEBUG BEGIN_STMT
  4446. xYieldPending ={v} 1;
  4447. goto <bb 12>; [100.00%]
  4448. <bb 4> [local count: 220997]:
  4449. # DEBUG BEGIN_STMT
  4450. xYieldPending ={v} 0;
  4451. # DEBUG BEGIN_STMT
  4452. # DEBUG BEGIN_STMT
  4453. # DEBUG BEGIN_STMT
  4454. uxTopPriority_15 ={v} uxTopReadyPriority;
  4455. # DEBUG uxTopPriority => uxTopPriority_15
  4456. # DEBUG BEGIN_STMT
  4457. goto <bb 8>; [100.00%]
  4458. <bb 5> [local count: 1952255]:
  4459. # DEBUG BEGIN_STMT
  4460. if (uxTopPriority_11 == 0)
  4461. goto <bb 6>; [5.50%]
  4462. else
  4463. goto <bb 7>; [94.50%]
  4464. <bb 6> [local count: 107374]:
  4465. vTaskSwitchContext.part.0 ();
  4466. <bb 7> [local count: 1844881]:
  4467. # DEBUG BEGIN_STMT
  4468. # DEBUG BEGIN_STMT
  4469. uxTopPriority_21 = uxTopPriority_11 + 4294967295;
  4470. # DEBUG uxTopPriority => uxTopPriority_21
  4471. <bb 8> [local count: 2065878]:
  4472. # uxTopPriority_11 = PHI <uxTopPriority_15(4), uxTopPriority_21(7)>
  4473. # DEBUG uxTopPriority => uxTopPriority_11
  4474. # DEBUG BEGIN_STMT
  4475. _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems;
  4476. if (_2 == 0)
  4477. goto <bb 5>; [94.50%]
  4478. else
  4479. goto <bb 9>; [5.50%]
  4480. <bb 9> [local count: 113623]:
  4481. # uxTopPriority_5 = PHI <uxTopPriority_11(8)>
  4482. # DEBUG BEGIN_STMT
  4483. # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5]
  4484. # DEBUG pxConstList => D#6
  4485. # DEBUG BEGIN_STMT
  4486. _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  4487. _4 = _3->pxNext;
  4488. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4;
  4489. # DEBUG BEGIN_STMT
  4490. _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd;
  4491. if (_4 == _6)
  4492. goto <bb 10>; [30.00%]
  4493. else
  4494. goto <bb 11>; [70.00%]
  4495. <bb 10> [local count: 34087]:
  4496. # DEBUG BEGIN_STMT
  4497. _8 = MEM[(struct ListItem_t *)_4].pxNext;
  4498. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8;
  4499. <bb 11> [local count: 113623]:
  4500. # DEBUG BEGIN_STMT
  4501. _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  4502. _10 = _9->pvOwner;
  4503. pxCurrentTCB ={v} _10;
  4504. # DEBUG BEGIN_STMT
  4505. # DEBUG BEGIN_STMT
  4506. uxTopReadyPriority ={v} uxTopPriority_5;
  4507. <bb 12> [local count: 334621]:
  4508. # DEBUG BEGIN_STMT
  4509. # DEBUG BEGIN_STMT
  4510. return;
  4511. }
  4512. ;; Function vTaskSuspend (vTaskSuspend, funcdef_no=17, decl_uid=6167, cgraph_uid=18, symbol_order=39)
  4513. Modification phase of node vTaskSuspend/39
  4514. vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
  4515. {
  4516. uint32_t ulNewBASEPRI;
  4517. BaseType_t x;
  4518. struct ListItem_t * _1;
  4519. struct xLIST * _2;
  4520. struct ListItem_t * _3;
  4521. unsigned char _4;
  4522. long int xSchedulerRunning.46_5;
  4523. struct TCB_t * pxCurrentTCB.47_6;
  4524. long int xSchedulerRunning.48_7;
  4525. long unsigned int uxSchedulerSuspended.49_8;
  4526. long unsigned int _9;
  4527. long unsigned int uxCurrentNumberOfTasks.50_10;
  4528. struct TCB_t * iftmp.45_12;
  4529. struct TCB_t * iftmp.45_21;
  4530. <bb 2> [local count: 1431653]:
  4531. # DEBUG BEGIN_STMT
  4532. # DEBUG BEGIN_STMT
  4533. vPortEnterCritical ();
  4534. # DEBUG BEGIN_STMT
  4535. if (xTaskToSuspend_20(D) == 0B)
  4536. goto <bb 3>; [30.00%]
  4537. else
  4538. goto <bb 4>; [70.00%]
  4539. <bb 3> [local count: 429496]:
  4540. iftmp.45_21 ={v} pxCurrentTCB;
  4541. <bb 4> [local count: 1431653]:
  4542. # iftmp.45_12 = PHI <iftmp.45_21(3), xTaskToSuspend_20(D)(2)>
  4543. # DEBUG pxTCB => iftmp.45_12
  4544. # DEBUG BEGIN_STMT
  4545. # DEBUG BEGIN_STMT
  4546. _1 = &iftmp.45_12->xStateListItem;
  4547. uxListRemove (_1);
  4548. # DEBUG BEGIN_STMT
  4549. # DEBUG BEGIN_STMT
  4550. _2 = iftmp.45_12->xEventListItem.pvContainer;
  4551. if (_2 != 0B)
  4552. goto <bb 5>; [53.47%]
  4553. else
  4554. goto <bb 6>; [46.53%]
  4555. <bb 5> [local count: 765505]:
  4556. # DEBUG BEGIN_STMT
  4557. _3 = &iftmp.45_12->xEventListItem;
  4558. uxListRemove (_3);
  4559. <bb 6> [local count: 1431653]:
  4560. # DEBUG BEGIN_STMT
  4561. # DEBUG BEGIN_STMT
  4562. vListInsertEnd (&xSuspendedTaskList, _1);
  4563. # DEBUG BEGIN_STMT
  4564. # DEBUG BEGIN_STMT
  4565. # DEBUG x => 0
  4566. goto <bb 9>; [100.00%]
  4567. <bb 7> [local count: 24598407]:
  4568. # DEBUG BEGIN_STMT
  4569. _4 ={v} iftmp.45_12->ucNotifyState[0];
  4570. if (_4 == 1)
  4571. goto <bb 8>; [67.00%]
  4572. else
  4573. goto <bb 24>; [33.00%]
  4574. <bb 24> [local count: 8117474]:
  4575. goto <bb 10>; [100.00%]
  4576. <bb 8> [local count: 16480933]:
  4577. # DEBUG BEGIN_STMT
  4578. iftmp.45_12->ucNotifyState[0] ={v} 0;
  4579. <bb 9> [local count: 17912586]:
  4580. # x_14 = PHI <0(6), 1(8)>
  4581. <bb 10> [local count: 26030061]:
  4582. # x_11 = PHI <x_14(9), 1(24)>
  4583. # DEBUG x => x_11
  4584. # DEBUG BEGIN_STMT
  4585. if (x_11 == 0)
  4586. goto <bb 7>; [94.50%]
  4587. else
  4588. goto <bb 11>; [5.50%]
  4589. <bb 11> [local count: 1431653]:
  4590. # DEBUG BEGIN_STMT
  4591. vPortExitCritical ();
  4592. # DEBUG BEGIN_STMT
  4593. xSchedulerRunning.46_5 ={v} xSchedulerRunning;
  4594. if (xSchedulerRunning.46_5 != 0)
  4595. goto <bb 12>; [33.00%]
  4596. else
  4597. goto <bb 13>; [67.00%]
  4598. <bb 12> [local count: 472446]:
  4599. # DEBUG BEGIN_STMT
  4600. vPortEnterCritical ();
  4601. # DEBUG BEGIN_STMT
  4602. prvResetNextTaskUnblockTime ();
  4603. # DEBUG BEGIN_STMT
  4604. vPortExitCritical ();
  4605. <bb 13> [local count: 1431653]:
  4606. # DEBUG BEGIN_STMT
  4607. # DEBUG BEGIN_STMT
  4608. pxCurrentTCB.47_6 ={v} pxCurrentTCB;
  4609. if (pxCurrentTCB.47_6 == iftmp.45_12)
  4610. goto <bb 14>; [30.00%]
  4611. else
  4612. goto <bb 22>; [70.00%]
  4613. <bb 14> [local count: 429496]:
  4614. # DEBUG BEGIN_STMT
  4615. xSchedulerRunning.48_7 ={v} xSchedulerRunning;
  4616. if (xSchedulerRunning.48_7 != 0)
  4617. goto <bb 15>; [50.00%]
  4618. else
  4619. goto <bb 19>; [50.00%]
  4620. <bb 15> [local count: 214748]:
  4621. # DEBUG BEGIN_STMT
  4622. uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended;
  4623. if (uxSchedulerSuspended.49_8 != 0)
  4624. goto <bb 16>; [50.00%]
  4625. else
  4626. goto <bb 18>; [50.00%]
  4627. <bb 16> [local count: 107374]:
  4628. # DEBUG BEGIN_STMT
  4629. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4630. # DEBUG BEGIN_STMT
  4631. # DEBUG BEGIN_STMT
  4632. __asm__ __volatile__(" mov %0, %1
  4633. msr basepri, %0
  4634. isb
  4635. dsb
  4636. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  4637. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  4638. <bb 17> [local count: 1073741824]:
  4639. # DEBUG ulNewBASEPRI => NULL
  4640. # DEBUG BEGIN_STMT
  4641. # DEBUG BEGIN_STMT
  4642. # DEBUG BEGIN_STMT
  4643. <bb 23> [local count: 1073741824]:
  4644. goto <bb 17>; [100.00%]
  4645. <bb 18> [local count: 107374]:
  4646. # DEBUG BEGIN_STMT
  4647. # DEBUG BEGIN_STMT
  4648. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4649. # DEBUG BEGIN_STMT
  4650. __asm__ __volatile__("dsb" : : : "memory");
  4651. # DEBUG BEGIN_STMT
  4652. __asm__ __volatile__("isb");
  4653. # DEBUG BEGIN_STMT
  4654. goto <bb 22>; [100.00%]
  4655. <bb 19> [local count: 214748]:
  4656. # DEBUG BEGIN_STMT
  4657. _9 ={v} xSuspendedTaskList.uxNumberOfItems;
  4658. uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks;
  4659. if (_9 == uxCurrentNumberOfTasks.50_10)
  4660. goto <bb 20>; [51.12%]
  4661. else
  4662. goto <bb 21>; [48.88%]
  4663. <bb 20> [local count: 109779]:
  4664. # DEBUG BEGIN_STMT
  4665. pxCurrentTCB ={v} 0B;
  4666. goto <bb 22>; [100.00%]
  4667. <bb 21> [local count: 104969]:
  4668. # DEBUG BEGIN_STMT
  4669. vTaskSwitchContext ();
  4670. <bb 22> [local count: 1324279]:
  4671. # DEBUG BEGIN_STMT
  4672. return;
  4673. }
  4674. ;; Function vTaskPlaceOnEventList (vTaskPlaceOnEventList, funcdef_no=36, decl_uid=6254, cgraph_uid=37, symbol_order=58)
  4675. Modification phase of node vTaskPlaceOnEventList/58
  4676. vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
  4677. {
  4678. uint32_t ulNewBASEPRI;
  4679. struct TCB_t * pxCurrentTCB.93_1;
  4680. struct ListItem_t * _2;
  4681. <bb 2> [local count: 230763]:
  4682. # DEBUG BEGIN_STMT
  4683. if (pxEventList_3(D) == 0B)
  4684. goto <bb 3>; [46.53%]
  4685. else
  4686. goto <bb 5>; [53.47%]
  4687. <bb 3> [local count: 107374]:
  4688. # DEBUG BEGIN_STMT
  4689. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4690. # DEBUG BEGIN_STMT
  4691. # DEBUG BEGIN_STMT
  4692. __asm__ __volatile__(" mov %0, %1
  4693. msr basepri, %0
  4694. isb
  4695. dsb
  4696. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  4697. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  4698. <bb 4> [local count: 1073741824]:
  4699. # DEBUG ulNewBASEPRI => NULL
  4700. # DEBUG BEGIN_STMT
  4701. # DEBUG BEGIN_STMT
  4702. # DEBUG BEGIN_STMT
  4703. <bb 6> [local count: 1073741824]:
  4704. goto <bb 4>; [100.00%]
  4705. <bb 5> [local count: 123389]:
  4706. # DEBUG BEGIN_STMT
  4707. # DEBUG BEGIN_STMT
  4708. pxCurrentTCB.93_1 ={v} pxCurrentTCB;
  4709. _2 = &pxCurrentTCB.93_1->xEventListItem;
  4710. vListInsert (pxEventList_3(D), _2);
  4711. # DEBUG BEGIN_STMT
  4712. prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1);
  4713. return;
  4714. }
  4715. ;; Function vTaskPlaceOnUnorderedEventList (vTaskPlaceOnUnorderedEventList, funcdef_no=37, decl_uid=6258, cgraph_uid=38, symbol_order=59)
  4716. Modification phase of node vTaskPlaceOnUnorderedEventList/59
  4717. vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
  4718. {
  4719. uint32_t ulNewBASEPRI;
  4720. uint32_t ulNewBASEPRI;
  4721. struct ListItem_t * const pxIndex;
  4722. long unsigned int uxSchedulerSuspended.94_1;
  4723. struct TCB_t * pxCurrentTCB.95_2;
  4724. long unsigned int _3;
  4725. struct TCB_t * pxCurrentTCB.96_4;
  4726. struct TCB_t * pxCurrentTCB.97_5;
  4727. struct xLIST_ITEM * _6;
  4728. struct TCB_t * pxCurrentTCB.98_7;
  4729. struct xLIST_ITEM * _8;
  4730. struct ListItem_t * _9;
  4731. struct TCB_t * pxCurrentTCB.99_10;
  4732. struct ListItem_t * _11;
  4733. struct TCB_t * pxCurrentTCB.100_12;
  4734. long unsigned int _13;
  4735. long unsigned int _14;
  4736. <bb 2> [local count: 228942]:
  4737. # DEBUG BEGIN_STMT
  4738. if (pxEventList_15(D) == 0B)
  4739. goto <bb 3>; [30.00%]
  4740. else
  4741. goto <bb 5>; [70.00%]
  4742. <bb 3> [local count: 68683]:
  4743. # DEBUG BEGIN_STMT
  4744. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4745. # DEBUG BEGIN_STMT
  4746. # DEBUG BEGIN_STMT
  4747. __asm__ __volatile__(" mov %0, %1
  4748. msr basepri, %0
  4749. isb
  4750. dsb
  4751. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  4752. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  4753. <bb 4> [local count: 686828460]:
  4754. # DEBUG ulNewBASEPRI => NULL
  4755. # DEBUG BEGIN_STMT
  4756. # DEBUG BEGIN_STMT
  4757. # DEBUG BEGIN_STMT
  4758. <bb 9> [local count: 686828460]:
  4759. goto <bb 4>; [100.00%]
  4760. <bb 5> [local count: 160260]:
  4761. # DEBUG BEGIN_STMT
  4762. # DEBUG BEGIN_STMT
  4763. uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended;
  4764. if (uxSchedulerSuspended.94_1 == 0)
  4765. goto <bb 6>; [67.00%]
  4766. else
  4767. goto <bb 8>; [33.00%]
  4768. <bb 6> [local count: 107374]:
  4769. # DEBUG BEGIN_STMT
  4770. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4771. # DEBUG BEGIN_STMT
  4772. # DEBUG BEGIN_STMT
  4773. __asm__ __volatile__(" mov %0, %1
  4774. msr basepri, %0
  4775. isb
  4776. dsb
  4777. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  4778. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  4779. <bb 7> [local count: 1073741824]:
  4780. # DEBUG ulNewBASEPRI => NULL
  4781. # DEBUG BEGIN_STMT
  4782. # DEBUG BEGIN_STMT
  4783. # DEBUG BEGIN_STMT
  4784. <bb 10> [local count: 1073741824]:
  4785. goto <bb 7>; [100.00%]
  4786. <bb 8> [local count: 52886]:
  4787. # DEBUG BEGIN_STMT
  4788. # DEBUG BEGIN_STMT
  4789. pxCurrentTCB.95_2 ={v} pxCurrentTCB;
  4790. _3 = xItemValue_17(D) | 2147483648;
  4791. pxCurrentTCB.95_2->xEventListItem.xItemValue = _3;
  4792. # DEBUG BEGIN_STMT
  4793. pxIndex_19 = pxEventList_15(D)->pxIndex;
  4794. # DEBUG pxIndex => pxIndex_19
  4795. # DEBUG BEGIN_STMT
  4796. # DEBUG BEGIN_STMT
  4797. # DEBUG BEGIN_STMT
  4798. pxCurrentTCB.96_4 ={v} pxCurrentTCB;
  4799. pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19;
  4800. # DEBUG BEGIN_STMT
  4801. pxCurrentTCB.97_5 ={v} pxCurrentTCB;
  4802. _6 = pxIndex_19->pxPrevious;
  4803. pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6;
  4804. # DEBUG BEGIN_STMT
  4805. pxCurrentTCB.98_7 ={v} pxCurrentTCB;
  4806. _8 = pxIndex_19->pxPrevious;
  4807. _9 = &pxCurrentTCB.98_7->xEventListItem;
  4808. _8->pxNext = _9;
  4809. # DEBUG BEGIN_STMT
  4810. pxCurrentTCB.99_10 ={v} pxCurrentTCB;
  4811. _11 = &pxCurrentTCB.99_10->xEventListItem;
  4812. pxIndex_19->pxPrevious = _11;
  4813. # DEBUG BEGIN_STMT
  4814. pxCurrentTCB.100_12 ={v} pxCurrentTCB;
  4815. pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D);
  4816. # DEBUG BEGIN_STMT
  4817. _13 ={v} pxEventList_15(D)->uxNumberOfItems;
  4818. _14 = _13 + 1;
  4819. pxEventList_15(D)->uxNumberOfItems ={v} _14;
  4820. # DEBUG BEGIN_STMT
  4821. # DEBUG BEGIN_STMT
  4822. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  4823. return;
  4824. }
  4825. ;; Function vTaskPlaceOnEventListRestricted (vTaskPlaceOnEventListRestricted, funcdef_no=38, decl_uid=6262, cgraph_uid=39, symbol_order=60)
  4826. Modification phase of node vTaskPlaceOnEventListRestricted/60
  4827. vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  4828. {
  4829. uint32_t ulNewBASEPRI;
  4830. struct ListItem_t * const pxIndex;
  4831. struct TCB_t * pxCurrentTCB.101_1;
  4832. struct TCB_t * pxCurrentTCB.102_2;
  4833. struct xLIST_ITEM * _3;
  4834. struct TCB_t * pxCurrentTCB.103_4;
  4835. struct xLIST_ITEM * _5;
  4836. struct ListItem_t * _6;
  4837. struct TCB_t * pxCurrentTCB.104_7;
  4838. struct ListItem_t * _8;
  4839. struct TCB_t * pxCurrentTCB.105_9;
  4840. long unsigned int _10;
  4841. long unsigned int _11;
  4842. <bb 2> [local count: 357913]:
  4843. # DEBUG BEGIN_STMT
  4844. if (pxEventList_13(D) == 0B)
  4845. goto <bb 3>; [30.00%]
  4846. else
  4847. goto <bb 5>; [70.00%]
  4848. <bb 3> [local count: 107374]:
  4849. # DEBUG BEGIN_STMT
  4850. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4851. # DEBUG BEGIN_STMT
  4852. # DEBUG BEGIN_STMT
  4853. __asm__ __volatile__(" mov %0, %1
  4854. msr basepri, %0
  4855. isb
  4856. dsb
  4857. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  4858. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  4859. <bb 4> [local count: 1073741824]:
  4860. # DEBUG ulNewBASEPRI => NULL
  4861. # DEBUG BEGIN_STMT
  4862. # DEBUG BEGIN_STMT
  4863. # DEBUG BEGIN_STMT
  4864. <bb 8> [local count: 1073741824]:
  4865. goto <bb 4>; [100.00%]
  4866. <bb 5> [local count: 250539]:
  4867. # DEBUG BEGIN_STMT
  4868. # DEBUG BEGIN_STMT
  4869. pxIndex_15 = pxEventList_13(D)->pxIndex;
  4870. # DEBUG pxIndex => pxIndex_15
  4871. # DEBUG BEGIN_STMT
  4872. # DEBUG BEGIN_STMT
  4873. # DEBUG BEGIN_STMT
  4874. pxCurrentTCB.101_1 ={v} pxCurrentTCB;
  4875. pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15;
  4876. # DEBUG BEGIN_STMT
  4877. pxCurrentTCB.102_2 ={v} pxCurrentTCB;
  4878. _3 = pxIndex_15->pxPrevious;
  4879. pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3;
  4880. # DEBUG BEGIN_STMT
  4881. pxCurrentTCB.103_4 ={v} pxCurrentTCB;
  4882. _5 = pxIndex_15->pxPrevious;
  4883. _6 = &pxCurrentTCB.103_4->xEventListItem;
  4884. _5->pxNext = _6;
  4885. # DEBUG BEGIN_STMT
  4886. pxCurrentTCB.104_7 ={v} pxCurrentTCB;
  4887. _8 = &pxCurrentTCB.104_7->xEventListItem;
  4888. pxIndex_15->pxPrevious = _8;
  4889. # DEBUG BEGIN_STMT
  4890. pxCurrentTCB.105_9 ={v} pxCurrentTCB;
  4891. pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D);
  4892. # DEBUG BEGIN_STMT
  4893. _10 ={v} pxEventList_13(D)->uxNumberOfItems;
  4894. _11 = _10 + 1;
  4895. pxEventList_13(D)->uxNumberOfItems ={v} _11;
  4896. # DEBUG BEGIN_STMT
  4897. # DEBUG BEGIN_STMT
  4898. if (xWaitIndefinitely_22(D) != 0)
  4899. goto <bb 6>; [50.00%]
  4900. else
  4901. goto <bb 7>; [50.00%]
  4902. <bb 6> [local count: 125270]:
  4903. # DEBUG BEGIN_STMT
  4904. # DEBUG xTicksToWait => 4294967295
  4905. <bb 7> [local count: 250539]:
  4906. # xTicksToWait_12 = PHI <xTicksToWait_23(D)(5), 4294967295(6)>
  4907. # DEBUG xTicksToWait => xTicksToWait_12
  4908. # DEBUG BEGIN_STMT
  4909. # DEBUG BEGIN_STMT
  4910. prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D));
  4911. return;
  4912. }
  4913. ;; Function xTaskRemoveFromEventList (xTaskRemoveFromEventList, funcdef_no=39, decl_uid=6264, cgraph_uid=40, symbol_order=61)
  4914. Modification phase of node xTaskRemoveFromEventList/61
  4915. xTaskRemoveFromEventList (const struct List_t * const pxEventList)
  4916. {
  4917. uint32_t ulNewBASEPRI;
  4918. struct ListItem_t * const pxIndex;
  4919. struct ListItem_t * const pxIndex;
  4920. struct List_t * const pxList;
  4921. struct List_t * const pxList;
  4922. BaseType_t xReturn;
  4923. struct TCB_t * pxUnblockedTCB;
  4924. struct xLIST_ITEM * _1;
  4925. struct xLIST_ITEM * _2;
  4926. struct xLIST_ITEM * _3;
  4927. struct ListItem_t * _4;
  4928. struct ListItem_t * _5;
  4929. long unsigned int _6;
  4930. long unsigned int _7;
  4931. long unsigned int uxSchedulerSuspended.106_8;
  4932. struct xLIST_ITEM * _9;
  4933. struct xLIST_ITEM * _10;
  4934. struct xLIST_ITEM * _11;
  4935. struct ListItem_t * _12;
  4936. struct ListItem_t * _13;
  4937. long unsigned int _14;
  4938. long unsigned int _15;
  4939. long unsigned int _16;
  4940. long unsigned int uxTopReadyPriority.107_17;
  4941. struct xLIST_ITEM * _18;
  4942. struct xLIST_ITEM * _19;
  4943. struct List_t * _20;
  4944. long unsigned int _21;
  4945. long unsigned int _22;
  4946. struct xLIST_ITEM * _23;
  4947. struct xLIST_ITEM * _24;
  4948. long unsigned int _25;
  4949. long unsigned int _26;
  4950. long unsigned int _27;
  4951. struct TCB_t * pxCurrentTCB.108_28;
  4952. long unsigned int _29;
  4953. <bb 2> [local count: 357913]:
  4954. # DEBUG BEGIN_STMT
  4955. # DEBUG BEGIN_STMT
  4956. # DEBUG BEGIN_STMT
  4957. _1 = pxEventList_37(D)->xListEnd.pxNext;
  4958. pxUnblockedTCB_38 = _1->pvOwner;
  4959. # DEBUG pxUnblockedTCB => pxUnblockedTCB_38
  4960. # DEBUG BEGIN_STMT
  4961. if (pxUnblockedTCB_38 == 0B)
  4962. goto <bb 3>; [30.00%]
  4963. else
  4964. goto <bb 5>; [70.00%]
  4965. <bb 3> [local count: 107374]:
  4966. # DEBUG BEGIN_STMT
  4967. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4968. # DEBUG BEGIN_STMT
  4969. # DEBUG BEGIN_STMT
  4970. __asm__ __volatile__(" mov %0, %1
  4971. msr basepri, %0
  4972. isb
  4973. dsb
  4974. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  4975. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  4976. <bb 4> [local count: 1073741824]:
  4977. # DEBUG ulNewBASEPRI => NULL
  4978. # DEBUG BEGIN_STMT
  4979. # DEBUG BEGIN_STMT
  4980. # DEBUG BEGIN_STMT
  4981. <bb 17> [local count: 1073741824]:
  4982. goto <bb 4>; [100.00%]
  4983. <bb 5> [local count: 250539]:
  4984. # DEBUG BEGIN_STMT
  4985. # DEBUG BEGIN_STMT
  4986. pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer;
  4987. # DEBUG pxList => pxList_39
  4988. # DEBUG BEGIN_STMT
  4989. _2 = pxUnblockedTCB_38->xEventListItem.pxNext;
  4990. _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious;
  4991. _2->pxPrevious = _3;
  4992. # DEBUG BEGIN_STMT
  4993. _3->pxNext = _2;
  4994. # DEBUG BEGIN_STMT
  4995. _4 = pxList_39->pxIndex;
  4996. _5 = &pxUnblockedTCB_38->xEventListItem;
  4997. if (_4 == _5)
  4998. goto <bb 6>; [30.00%]
  4999. else
  5000. goto <bb 7>; [70.00%]
  5001. <bb 6> [local count: 75162]:
  5002. # DEBUG BEGIN_STMT
  5003. pxList_39->pxIndex = _3;
  5004. <bb 7> [local count: 250539]:
  5005. # DEBUG BEGIN_STMT
  5006. pxUnblockedTCB_38->xEventListItem.pvContainer = 0B;
  5007. # DEBUG BEGIN_STMT
  5008. _6 ={v} pxList_39->uxNumberOfItems;
  5009. _7 = _6 + 4294967295;
  5010. pxList_39->uxNumberOfItems ={v} _7;
  5011. # DEBUG BEGIN_STMT
  5012. # DEBUG BEGIN_STMT
  5013. uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended;
  5014. if (uxSchedulerSuspended.106_8 == 0)
  5015. goto <bb 8>; [50.00%]
  5016. else
  5017. goto <bb 13>; [50.00%]
  5018. <bb 8> [local count: 125270]:
  5019. # DEBUG BEGIN_STMT
  5020. pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer;
  5021. # DEBUG pxList => pxList_52
  5022. # DEBUG BEGIN_STMT
  5023. _9 = pxUnblockedTCB_38->xStateListItem.pxNext;
  5024. _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  5025. _9->pxPrevious = _10;
  5026. # DEBUG BEGIN_STMT
  5027. _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  5028. _11->pxNext = _9;
  5029. # DEBUG BEGIN_STMT
  5030. _12 = pxList_52->pxIndex;
  5031. _13 = &pxUnblockedTCB_38->xStateListItem;
  5032. if (_12 == _13)
  5033. goto <bb 9>; [30.00%]
  5034. else
  5035. goto <bb 10>; [70.00%]
  5036. <bb 9> [local count: 37581]:
  5037. # DEBUG BEGIN_STMT
  5038. pxList_52->pxIndex = _11;
  5039. <bb 10> [local count: 125270]:
  5040. # DEBUG BEGIN_STMT
  5041. # DEBUG BEGIN_STMT
  5042. _14 ={v} pxList_52->uxNumberOfItems;
  5043. _15 = _14 + 4294967295;
  5044. pxList_52->uxNumberOfItems ={v} _15;
  5045. # DEBUG BEGIN_STMT
  5046. # DEBUG BEGIN_STMT
  5047. # DEBUG BEGIN_STMT
  5048. _16 = pxUnblockedTCB_38->uxPriority;
  5049. uxTopReadyPriority.107_17 ={v} uxTopReadyPriority;
  5050. if (_16 > uxTopReadyPriority.107_17)
  5051. goto <bb 11>; [50.00%]
  5052. else
  5053. goto <bb 12>; [50.00%]
  5054. <bb 11> [local count: 62635]:
  5055. # DEBUG BEGIN_STMT
  5056. uxTopReadyPriority ={v} _16;
  5057. <bb 12> [local count: 125270]:
  5058. # DEBUG BEGIN_STMT
  5059. # DEBUG BEGIN_STMT
  5060. pxIndex_58 = pxReadyTasksLists[_16].pxIndex;
  5061. # DEBUG pxIndex => pxIndex_58
  5062. # DEBUG BEGIN_STMT
  5063. # DEBUG BEGIN_STMT
  5064. # DEBUG BEGIN_STMT
  5065. pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58;
  5066. # DEBUG BEGIN_STMT
  5067. _18 = pxIndex_58->pxPrevious;
  5068. pxUnblockedTCB_38->xStateListItem.pxPrevious = _18;
  5069. # DEBUG BEGIN_STMT
  5070. _19 = pxIndex_58->pxPrevious;
  5071. _19->pxNext = _13;
  5072. # DEBUG BEGIN_STMT
  5073. pxIndex_58->pxPrevious = _13;
  5074. # DEBUG BEGIN_STMT
  5075. _20 = &pxReadyTasksLists[_16];
  5076. pxUnblockedTCB_38->xStateListItem.pvContainer = _20;
  5077. # DEBUG BEGIN_STMT
  5078. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  5079. _22 = _21 + 1;
  5080. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  5081. # DEBUG BEGIN_STMT
  5082. # DEBUG BEGIN_STMT
  5083. goto <bb 14>; [100.00%]
  5084. <bb 13> [local count: 125270]:
  5085. # DEBUG BEGIN_STMT
  5086. pxIndex_45 = xPendingReadyList.pxIndex;
  5087. # DEBUG pxIndex => pxIndex_45
  5088. # DEBUG BEGIN_STMT
  5089. # DEBUG BEGIN_STMT
  5090. # DEBUG BEGIN_STMT
  5091. pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45;
  5092. # DEBUG BEGIN_STMT
  5093. _23 = pxIndex_45->pxPrevious;
  5094. pxUnblockedTCB_38->xEventListItem.pxPrevious = _23;
  5095. # DEBUG BEGIN_STMT
  5096. _24 = pxIndex_45->pxPrevious;
  5097. _24->pxNext = _5;
  5098. # DEBUG BEGIN_STMT
  5099. pxIndex_45->pxPrevious = _5;
  5100. # DEBUG BEGIN_STMT
  5101. pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList;
  5102. # DEBUG BEGIN_STMT
  5103. _25 ={v} xPendingReadyList.uxNumberOfItems;
  5104. _26 = _25 + 1;
  5105. xPendingReadyList.uxNumberOfItems ={v} _26;
  5106. <bb 14> [local count: 250539]:
  5107. # DEBUG BEGIN_STMT
  5108. # DEBUG BEGIN_STMT
  5109. _27 = pxUnblockedTCB_38->uxPriority;
  5110. pxCurrentTCB.108_28 ={v} pxCurrentTCB;
  5111. _29 = pxCurrentTCB.108_28->uxPriority;
  5112. if (_27 > _29)
  5113. goto <bb 15>; [50.00%]
  5114. else
  5115. goto <bb 16>; [50.00%]
  5116. <bb 15> [local count: 125270]:
  5117. # DEBUG BEGIN_STMT
  5118. # DEBUG xReturn => 1
  5119. # DEBUG BEGIN_STMT
  5120. xYieldPending ={v} 1;
  5121. <bb 16> [local count: 250539]:
  5122. # xReturn_30 = PHI <1(15), 0(14)>
  5123. # DEBUG xReturn => xReturn_30
  5124. # DEBUG BEGIN_STMT
  5125. return xReturn_30;
  5126. }
  5127. ;; Function vTaskRemoveFromUnorderedEventList (vTaskRemoveFromUnorderedEventList, funcdef_no=40, decl_uid=6267, cgraph_uid=41, symbol_order=62)
  5128. Modification phase of node vTaskRemoveFromUnorderedEventList/62
  5129. vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
  5130. {
  5131. uint32_t ulNewBASEPRI;
  5132. uint32_t ulNewBASEPRI;
  5133. struct ListItem_t * const pxIndex;
  5134. struct List_t * const pxList;
  5135. struct List_t * const pxList;
  5136. struct TCB_t * pxUnblockedTCB;
  5137. long unsigned int uxSchedulerSuspended.109_1;
  5138. long unsigned int _2;
  5139. struct xLIST_ITEM * _3;
  5140. struct xLIST_ITEM * _4;
  5141. struct xLIST_ITEM * _5;
  5142. struct ListItem_t * _6;
  5143. long unsigned int _7;
  5144. long unsigned int _8;
  5145. struct xLIST_ITEM * _9;
  5146. struct xLIST_ITEM * _10;
  5147. struct xLIST_ITEM * _11;
  5148. struct ListItem_t * _12;
  5149. struct ListItem_t * _13;
  5150. long unsigned int _14;
  5151. long unsigned int _15;
  5152. long unsigned int _16;
  5153. long unsigned int uxTopReadyPriority.110_17;
  5154. struct xLIST_ITEM * _18;
  5155. struct xLIST_ITEM * _19;
  5156. struct List_t * _20;
  5157. long unsigned int _21;
  5158. long unsigned int _22;
  5159. struct TCB_t * pxCurrentTCB.111_23;
  5160. long unsigned int _24;
  5161. <bb 2> [local count: 214748]:
  5162. # DEBUG BEGIN_STMT
  5163. # DEBUG BEGIN_STMT
  5164. uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended;
  5165. if (uxSchedulerSuspended.109_1 == 0)
  5166. goto <bb 3>; [50.00%]
  5167. else
  5168. goto <bb 5>; [50.00%]
  5169. <bb 3> [local count: 107374]:
  5170. # DEBUG BEGIN_STMT
  5171. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5172. # DEBUG BEGIN_STMT
  5173. # DEBUG BEGIN_STMT
  5174. __asm__ __volatile__(" mov %0, %1
  5175. msr basepri, %0
  5176. isb
  5177. dsb
  5178. " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
  5179. # DEBUG ulNewBASEPRI => ulNewBASEPRI_54
  5180. <bb 4> [local count: 1073741824]:
  5181. # DEBUG ulNewBASEPRI => NULL
  5182. # DEBUG BEGIN_STMT
  5183. # DEBUG BEGIN_STMT
  5184. # DEBUG BEGIN_STMT
  5185. <bb 17> [local count: 1073741824]:
  5186. goto <bb 4>; [100.00%]
  5187. <bb 5> [local count: 107374]:
  5188. # DEBUG BEGIN_STMT
  5189. # DEBUG BEGIN_STMT
  5190. _2 = xItemValue_30(D) | 2147483648;
  5191. pxEventListItem_31(D)->xItemValue = _2;
  5192. # DEBUG BEGIN_STMT
  5193. pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner;
  5194. # DEBUG pxUnblockedTCB => pxUnblockedTCB_33
  5195. # DEBUG BEGIN_STMT
  5196. if (pxUnblockedTCB_33 == 0B)
  5197. goto <bb 6>; [30.00%]
  5198. else
  5199. goto <bb 8>; [70.00%]
  5200. <bb 6> [local count: 32212]:
  5201. # DEBUG BEGIN_STMT
  5202. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5203. # DEBUG BEGIN_STMT
  5204. # DEBUG BEGIN_STMT
  5205. __asm__ __volatile__(" mov %0, %1
  5206. msr basepri, %0
  5207. isb
  5208. dsb
  5209. " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
  5210. # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
  5211. <bb 7> [local count: 322122547]:
  5212. # DEBUG ulNewBASEPRI => NULL
  5213. # DEBUG BEGIN_STMT
  5214. # DEBUG BEGIN_STMT
  5215. # DEBUG BEGIN_STMT
  5216. <bb 18> [local count: 322122547]:
  5217. goto <bb 7>; [100.00%]
  5218. <bb 8> [local count: 75162]:
  5219. # DEBUG BEGIN_STMT
  5220. # DEBUG BEGIN_STMT
  5221. pxList_34 = pxEventListItem_31(D)->pvContainer;
  5222. # DEBUG pxList => pxList_34
  5223. # DEBUG BEGIN_STMT
  5224. _3 = pxEventListItem_31(D)->pxNext;
  5225. _4 = pxEventListItem_31(D)->pxPrevious;
  5226. _3->pxPrevious = _4;
  5227. # DEBUG BEGIN_STMT
  5228. _5 = pxEventListItem_31(D)->pxPrevious;
  5229. _5->pxNext = _3;
  5230. # DEBUG BEGIN_STMT
  5231. _6 = pxList_34->pxIndex;
  5232. if (_6 == pxEventListItem_31(D))
  5233. goto <bb 9>; [30.00%]
  5234. else
  5235. goto <bb 10>; [70.00%]
  5236. <bb 9> [local count: 22549]:
  5237. # DEBUG BEGIN_STMT
  5238. pxList_34->pxIndex = _5;
  5239. <bb 10> [local count: 75162]:
  5240. # DEBUG BEGIN_STMT
  5241. pxEventListItem_31(D)->pvContainer = 0B;
  5242. # DEBUG BEGIN_STMT
  5243. _7 ={v} pxList_34->uxNumberOfItems;
  5244. _8 = _7 + 4294967295;
  5245. pxList_34->uxNumberOfItems ={v} _8;
  5246. # DEBUG BEGIN_STMT
  5247. # DEBUG BEGIN_STMT
  5248. pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer;
  5249. # DEBUG pxList => pxList_40
  5250. # DEBUG BEGIN_STMT
  5251. _9 = pxUnblockedTCB_33->xStateListItem.pxNext;
  5252. _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  5253. _9->pxPrevious = _10;
  5254. # DEBUG BEGIN_STMT
  5255. _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  5256. _11->pxNext = _9;
  5257. # DEBUG BEGIN_STMT
  5258. _12 = pxList_40->pxIndex;
  5259. _13 = &pxUnblockedTCB_33->xStateListItem;
  5260. if (_12 == _13)
  5261. goto <bb 11>; [30.00%]
  5262. else
  5263. goto <bb 12>; [70.00%]
  5264. <bb 11> [local count: 22549]:
  5265. # DEBUG BEGIN_STMT
  5266. pxList_40->pxIndex = _11;
  5267. <bb 12> [local count: 75162]:
  5268. # DEBUG BEGIN_STMT
  5269. # DEBUG BEGIN_STMT
  5270. _14 ={v} pxList_40->uxNumberOfItems;
  5271. _15 = _14 + 4294967295;
  5272. pxList_40->uxNumberOfItems ={v} _15;
  5273. # DEBUG BEGIN_STMT
  5274. # DEBUG BEGIN_STMT
  5275. # DEBUG BEGIN_STMT
  5276. _16 = pxUnblockedTCB_33->uxPriority;
  5277. uxTopReadyPriority.110_17 ={v} uxTopReadyPriority;
  5278. if (_16 > uxTopReadyPriority.110_17)
  5279. goto <bb 13>; [50.00%]
  5280. else
  5281. goto <bb 14>; [50.00%]
  5282. <bb 13> [local count: 37581]:
  5283. # DEBUG BEGIN_STMT
  5284. uxTopReadyPriority ={v} _16;
  5285. <bb 14> [local count: 75162]:
  5286. # DEBUG BEGIN_STMT
  5287. # DEBUG BEGIN_STMT
  5288. pxIndex_46 = pxReadyTasksLists[_16].pxIndex;
  5289. # DEBUG pxIndex => pxIndex_46
  5290. # DEBUG BEGIN_STMT
  5291. # DEBUG BEGIN_STMT
  5292. # DEBUG BEGIN_STMT
  5293. pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46;
  5294. # DEBUG BEGIN_STMT
  5295. _18 = pxIndex_46->pxPrevious;
  5296. pxUnblockedTCB_33->xStateListItem.pxPrevious = _18;
  5297. # DEBUG BEGIN_STMT
  5298. _19 = pxIndex_46->pxPrevious;
  5299. _19->pxNext = _13;
  5300. # DEBUG BEGIN_STMT
  5301. pxIndex_46->pxPrevious = _13;
  5302. # DEBUG BEGIN_STMT
  5303. _20 = &pxReadyTasksLists[_16];
  5304. pxUnblockedTCB_33->xStateListItem.pvContainer = _20;
  5305. # DEBUG BEGIN_STMT
  5306. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  5307. _22 = _21 + 1;
  5308. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  5309. # DEBUG BEGIN_STMT
  5310. # DEBUG BEGIN_STMT
  5311. # DEBUG BEGIN_STMT
  5312. pxCurrentTCB.111_23 ={v} pxCurrentTCB;
  5313. _24 = pxCurrentTCB.111_23->uxPriority;
  5314. if (_16 > _24)
  5315. goto <bb 15>; [50.00%]
  5316. else
  5317. goto <bb 16>; [50.00%]
  5318. <bb 15> [local count: 37581]:
  5319. # DEBUG BEGIN_STMT
  5320. xYieldPending ={v} 1;
  5321. <bb 16> [local count: 75162]:
  5322. return;
  5323. }
  5324. ;; Function vTaskSetTimeOutState (vTaskSetTimeOutState, funcdef_no=41, decl_uid=6244, cgraph_uid=42, symbol_order=63)
  5325. Modification phase of node vTaskSetTimeOutState/63
  5326. vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  5327. {
  5328. uint32_t ulNewBASEPRI;
  5329. long int xNumOfOverflows.112_1;
  5330. long unsigned int xTickCount.113_2;
  5331. <bb 2> [local count: 230763]:
  5332. # DEBUG BEGIN_STMT
  5333. if (pxTimeOut_3(D) == 0B)
  5334. goto <bb 3>; [46.53%]
  5335. else
  5336. goto <bb 5>; [53.47%]
  5337. <bb 3> [local count: 107374]:
  5338. # DEBUG BEGIN_STMT
  5339. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5340. # DEBUG BEGIN_STMT
  5341. # DEBUG BEGIN_STMT
  5342. __asm__ __volatile__(" mov %0, %1
  5343. msr basepri, %0
  5344. isb
  5345. dsb
  5346. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  5347. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  5348. <bb 4> [local count: 1073741824]:
  5349. # DEBUG ulNewBASEPRI => NULL
  5350. # DEBUG BEGIN_STMT
  5351. # DEBUG BEGIN_STMT
  5352. # DEBUG BEGIN_STMT
  5353. <bb 6> [local count: 1073741824]:
  5354. goto <bb 4>; [100.00%]
  5355. <bb 5> [local count: 123389]:
  5356. # DEBUG BEGIN_STMT
  5357. # DEBUG BEGIN_STMT
  5358. vPortEnterCritical ();
  5359. # DEBUG BEGIN_STMT
  5360. xNumOfOverflows.112_1 ={v} xNumOfOverflows;
  5361. pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1;
  5362. # DEBUG BEGIN_STMT
  5363. xTickCount.113_2 ={v} xTickCount;
  5364. pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2;
  5365. # DEBUG BEGIN_STMT
  5366. vPortExitCritical ();
  5367. return;
  5368. }
  5369. ;; Function vTaskInternalSetTimeOutState (vTaskInternalSetTimeOutState, funcdef_no=42, decl_uid=6297, cgraph_uid=43, symbol_order=64)
  5370. Modification phase of node vTaskInternalSetTimeOutState/64
  5371. vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  5372. {
  5373. long int xNumOfOverflows.114_1;
  5374. long unsigned int xTickCount.115_2;
  5375. <bb 2> [local count: 1073741824]:
  5376. # DEBUG BEGIN_STMT
  5377. xNumOfOverflows.114_1 ={v} xNumOfOverflows;
  5378. pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1;
  5379. # DEBUG BEGIN_STMT
  5380. xTickCount.115_2 ={v} xTickCount;
  5381. pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2;
  5382. return;
  5383. }
  5384. ;; Function xTaskCheckForTimeOut (xTaskCheckForTimeOut, funcdef_no=43, decl_uid=6247, cgraph_uid=44, symbol_order=65)
  5385. Modification phase of node xTaskCheckForTimeOut/65
  5386. xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
  5387. {
  5388. uint32_t ulNewBASEPRI;
  5389. uint32_t ulNewBASEPRI;
  5390. const TickType_t xElapsedTime;
  5391. const TickType_t xConstTickCount;
  5392. BaseType_t xReturn;
  5393. long unsigned int _1;
  5394. struct TCB_t * pxCurrentTCB.116_2;
  5395. unsigned char _3;
  5396. struct TCB_t * pxCurrentTCB.117_4;
  5397. long unsigned int _5;
  5398. long int _6;
  5399. long int xNumOfOverflows.118_7;
  5400. long unsigned int _8;
  5401. long unsigned int _17;
  5402. <bb 2> [local count: 329661]:
  5403. # DEBUG BEGIN_STMT
  5404. # DEBUG BEGIN_STMT
  5405. if (pxTimeOut_11(D) == 0B)
  5406. goto <bb 3>; [30.00%]
  5407. else
  5408. goto <bb 5>; [70.00%]
  5409. <bb 3> [local count: 98898]:
  5410. # DEBUG BEGIN_STMT
  5411. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5412. # DEBUG BEGIN_STMT
  5413. # DEBUG BEGIN_STMT
  5414. __asm__ __volatile__(" mov %0, %1
  5415. msr basepri, %0
  5416. isb
  5417. dsb
  5418. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  5419. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  5420. <bb 4> [local count: 988985746]:
  5421. # DEBUG ulNewBASEPRI => NULL
  5422. # DEBUG BEGIN_STMT
  5423. # DEBUG BEGIN_STMT
  5424. # DEBUG BEGIN_STMT
  5425. <bb 18> [local count: 988985746]:
  5426. goto <bb 4>; [100.00%]
  5427. <bb 5> [local count: 230763]:
  5428. # DEBUG BEGIN_STMT
  5429. # DEBUG BEGIN_STMT
  5430. if (pxTicksToWait_12(D) == 0B)
  5431. goto <bb 6>; [46.53%]
  5432. else
  5433. goto <bb 8>; [53.47%]
  5434. <bb 6> [local count: 107374]:
  5435. # DEBUG BEGIN_STMT
  5436. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5437. # DEBUG BEGIN_STMT
  5438. # DEBUG BEGIN_STMT
  5439. __asm__ __volatile__(" mov %0, %1
  5440. msr basepri, %0
  5441. isb
  5442. dsb
  5443. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  5444. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  5445. <bb 7> [local count: 1073741824]:
  5446. # DEBUG ulNewBASEPRI => NULL
  5447. # DEBUG BEGIN_STMT
  5448. # DEBUG BEGIN_STMT
  5449. # DEBUG BEGIN_STMT
  5450. <bb 19> [local count: 1073741824]:
  5451. goto <bb 7>; [100.00%]
  5452. <bb 8> [local count: 123389]:
  5453. # DEBUG BEGIN_STMT
  5454. # DEBUG BEGIN_STMT
  5455. vPortEnterCritical ();
  5456. # DEBUG BEGIN_STMT
  5457. xConstTickCount_15 ={v} xTickCount;
  5458. # DEBUG xConstTickCount => xConstTickCount_15
  5459. # DEBUG BEGIN_STMT
  5460. _1 = pxTimeOut_11(D)->xTimeOnEntering;
  5461. xElapsedTime_16 = xConstTickCount_15 - _1;
  5462. # DEBUG xElapsedTime => xElapsedTime_16
  5463. # DEBUG BEGIN_STMT
  5464. pxCurrentTCB.116_2 ={v} pxCurrentTCB;
  5465. _3 = pxCurrentTCB.116_2->ucDelayAborted;
  5466. if (_3 != 0)
  5467. goto <bb 9>; [50.00%]
  5468. else
  5469. goto <bb 10>; [50.00%]
  5470. <bb 9> [local count: 61694]:
  5471. # DEBUG BEGIN_STMT
  5472. pxCurrentTCB.117_4 ={v} pxCurrentTCB;
  5473. pxCurrentTCB.117_4->ucDelayAborted = 0;
  5474. # DEBUG BEGIN_STMT
  5475. # DEBUG xReturn => 1
  5476. goto <bb 17>; [100.00%]
  5477. <bb 10> [local count: 61694]:
  5478. # DEBUG BEGIN_STMT
  5479. _5 = *pxTicksToWait_12(D);
  5480. if (_5 == 4294967295)
  5481. goto <bb 17>; [34.00%]
  5482. else
  5483. goto <bb 11>; [66.00%]
  5484. <bb 11> [local count: 40718]:
  5485. # DEBUG BEGIN_STMT
  5486. _6 = pxTimeOut_11(D)->xOverflowCount;
  5487. xNumOfOverflows.118_7 ={v} xNumOfOverflows;
  5488. if (_6 != xNumOfOverflows.118_7)
  5489. goto <bb 12>; [66.00%]
  5490. else
  5491. goto <bb 14>; [34.00%]
  5492. <bb 12> [local count: 26874]:
  5493. if (_1 <= xConstTickCount_15)
  5494. goto <bb 13>; [50.00%]
  5495. else
  5496. goto <bb 14>; [50.00%]
  5497. <bb 13> [local count: 13437]:
  5498. # DEBUG BEGIN_STMT
  5499. # DEBUG xReturn => 1
  5500. # DEBUG BEGIN_STMT
  5501. *pxTicksToWait_12(D) = 0;
  5502. goto <bb 17>; [100.00%]
  5503. <bb 14> [local count: 27281]:
  5504. # DEBUG BEGIN_STMT
  5505. if (_5 > xElapsedTime_16)
  5506. goto <bb 15>; [33.00%]
  5507. else
  5508. goto <bb 16>; [67.00%]
  5509. <bb 15> [local count: 9003]:
  5510. # DEBUG BEGIN_STMT
  5511. _17 = _1 - xConstTickCount_15;
  5512. _8 = _5 + _17;
  5513. *pxTicksToWait_12(D) = _8;
  5514. # DEBUG BEGIN_STMT
  5515. vTaskInternalSetTimeOutState (pxTimeOut_11(D));
  5516. # DEBUG BEGIN_STMT
  5517. # DEBUG xReturn => 0
  5518. goto <bb 17>; [100.00%]
  5519. <bb 16> [local count: 18278]:
  5520. # DEBUG BEGIN_STMT
  5521. *pxTicksToWait_12(D) = 0;
  5522. # DEBUG BEGIN_STMT
  5523. # DEBUG xReturn => 1
  5524. <bb 17> [local count: 123389]:
  5525. # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)>
  5526. # DEBUG xReturn => xReturn_9
  5527. # DEBUG BEGIN_STMT
  5528. vPortExitCritical ();
  5529. # DEBUG BEGIN_STMT
  5530. return xReturn_9;
  5531. }
  5532. ;; Function vTaskMissedYield (vTaskMissedYield, funcdef_no=44, decl_uid=6275, cgraph_uid=45, symbol_order=66)
  5533. Modification phase of node vTaskMissedYield/66
  5534. vTaskMissedYield ()
  5535. {
  5536. <bb 2> [local count: 1073741824]:
  5537. # DEBUG BEGIN_STMT
  5538. xYieldPending ={v} 1;
  5539. return;
  5540. }
  5541. ;; Function uxTaskGetTaskNumber (uxTaskGetTaskNumber, funcdef_no=45, decl_uid=6286, cgraph_uid=46, symbol_order=67)
  5542. Modification phase of node uxTaskGetTaskNumber/67
  5543. uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
  5544. {
  5545. UBaseType_t uxReturn;
  5546. <bb 2> [local count: 1073741824]:
  5547. # DEBUG BEGIN_STMT
  5548. # DEBUG BEGIN_STMT
  5549. # DEBUG BEGIN_STMT
  5550. if (xTask_2(D) != 0B)
  5551. goto <bb 3>; [70.00%]
  5552. else
  5553. goto <bb 4>; [30.00%]
  5554. <bb 3> [local count: 751619278]:
  5555. # DEBUG BEGIN_STMT
  5556. # DEBUG pxTCB => xTask_2(D)
  5557. # DEBUG BEGIN_STMT
  5558. uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber;
  5559. # DEBUG uxReturn => uxReturn_4
  5560. <bb 4> [local count: 1073741824]:
  5561. # uxReturn_1 = PHI <uxReturn_4(3), 0(2)>
  5562. # DEBUG uxReturn => uxReturn_1
  5563. # DEBUG BEGIN_STMT
  5564. return uxReturn_1;
  5565. }
  5566. ;; Function vTaskSetTaskNumber (vTaskSetTaskNumber, funcdef_no=46, decl_uid=6289, cgraph_uid=47, symbol_order=68)
  5567. Modification phase of node vTaskSetTaskNumber/68
  5568. vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
  5569. {
  5570. <bb 2> [local count: 1073741824]:
  5571. # DEBUG BEGIN_STMT
  5572. # DEBUG BEGIN_STMT
  5573. if (xTask_2(D) != 0B)
  5574. goto <bb 3>; [70.00%]
  5575. else
  5576. goto <bb 4>; [30.00%]
  5577. <bb 3> [local count: 751619278]:
  5578. # DEBUG BEGIN_STMT
  5579. # DEBUG pxTCB => xTask_2(D)
  5580. # DEBUG BEGIN_STMT
  5581. MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D);
  5582. <bb 4> [local count: 1073741824]:
  5583. return;
  5584. }
  5585. ;; Function vTaskGetInfo (vTaskGetInfo, funcdef_no=50, decl_uid=6162, cgraph_uid=51, symbol_order=72)
  5586. Modification phase of node vTaskGetInfo/72
  5587. vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
  5588. {
  5589. char * _1;
  5590. long unsigned int _2;
  5591. StackType_t * _3;
  5592. long unsigned int _4;
  5593. long unsigned int _5;
  5594. struct TCB_t * pxCurrentTCB.120_6;
  5595. struct xLIST * _7;
  5596. <unnamed type> _8;
  5597. StackType_t * _9;
  5598. short unsigned int _10;
  5599. struct TCB_t * iftmp.119_11;
  5600. struct TCB_t * iftmp.119_17;
  5601. <bb 2> [local count: 1073741823]:
  5602. # DEBUG BEGIN_STMT
  5603. # DEBUG BEGIN_STMT
  5604. if (xTask_15(D) == 0B)
  5605. goto <bb 3>; [30.00%]
  5606. else
  5607. goto <bb 4>; [70.00%]
  5608. <bb 3> [local count: 322122547]:
  5609. iftmp.119_17 ={v} pxCurrentTCB;
  5610. <bb 4> [local count: 1073741823]:
  5611. # iftmp.119_11 = PHI <iftmp.119_17(3), xTask_15(D)(2)>
  5612. # DEBUG pxTCB => iftmp.119_11
  5613. # DEBUG BEGIN_STMT
  5614. pxTaskStatus_18(D)->xHandle = iftmp.119_11;
  5615. # DEBUG BEGIN_STMT
  5616. _1 = &iftmp.119_11->pcTaskName[0];
  5617. pxTaskStatus_18(D)->pcTaskName = _1;
  5618. # DEBUG BEGIN_STMT
  5619. _2 = iftmp.119_11->uxPriority;
  5620. pxTaskStatus_18(D)->uxCurrentPriority = _2;
  5621. # DEBUG BEGIN_STMT
  5622. _3 = iftmp.119_11->pxStack;
  5623. pxTaskStatus_18(D)->pxStackBase = _3;
  5624. # DEBUG BEGIN_STMT
  5625. _4 = iftmp.119_11->uxTCBNumber;
  5626. pxTaskStatus_18(D)->xTaskNumber = _4;
  5627. # DEBUG BEGIN_STMT
  5628. _5 = iftmp.119_11->uxBasePriority;
  5629. pxTaskStatus_18(D)->uxBasePriority = _5;
  5630. # DEBUG BEGIN_STMT
  5631. pxTaskStatus_18(D)->ulRunTimeCounter = 0;
  5632. # DEBUG BEGIN_STMT
  5633. if (eState_26(D) != 5)
  5634. goto <bb 5>; [79.76%]
  5635. else
  5636. goto <bb 11>; [20.24%]
  5637. <bb 5> [local count: 856416478]:
  5638. # DEBUG BEGIN_STMT
  5639. pxCurrentTCB.120_6 ={v} pxCurrentTCB;
  5640. if (pxCurrentTCB.120_6 == iftmp.119_11)
  5641. goto <bb 6>; [30.00%]
  5642. else
  5643. goto <bb 7>; [70.00%]
  5644. <bb 6> [local count: 256924943]:
  5645. # DEBUG BEGIN_STMT
  5646. pxTaskStatus_18(D)->eCurrentState = 0;
  5647. goto <bb 12>; [100.00%]
  5648. <bb 7> [local count: 599491536]:
  5649. # DEBUG BEGIN_STMT
  5650. pxTaskStatus_18(D)->eCurrentState = eState_26(D);
  5651. # DEBUG BEGIN_STMT
  5652. if (eState_26(D) == 3)
  5653. goto <bb 8>; [20.24%]
  5654. else
  5655. goto <bb 12>; [79.76%]
  5656. <bb 8> [local count: 121337087]:
  5657. # DEBUG BEGIN_STMT
  5658. vTaskSuspendAll ();
  5659. # DEBUG BEGIN_STMT
  5660. _7 = iftmp.119_11->xEventListItem.pvContainer;
  5661. if (_7 != 0B)
  5662. goto <bb 9>; [70.00%]
  5663. else
  5664. goto <bb 10>; [30.00%]
  5665. <bb 9> [local count: 84935961]:
  5666. # DEBUG BEGIN_STMT
  5667. pxTaskStatus_18(D)->eCurrentState = 2;
  5668. <bb 10> [local count: 121337087]:
  5669. # DEBUG BEGIN_STMT
  5670. xTaskResumeAll ();
  5671. goto <bb 12>; [100.00%]
  5672. <bb 11> [local count: 217325345]:
  5673. # DEBUG BEGIN_STMT
  5674. _8 = eTaskGetState (iftmp.119_11);
  5675. pxTaskStatus_18(D)->eCurrentState = _8;
  5676. <bb 12> [local count: 1073741824]:
  5677. # DEBUG BEGIN_STMT
  5678. if (xGetFreeStackSpace_34(D) != 0)
  5679. goto <bb 13>; [33.00%]
  5680. else
  5681. goto <bb 14>; [67.00%]
  5682. <bb 13> [local count: 354334802]:
  5683. # DEBUG BEGIN_STMT
  5684. _9 = iftmp.119_11->pxStack;
  5685. _10 = prvTaskCheckFreeStackSpace (_9);
  5686. pxTaskStatus_18(D)->usStackHighWaterMark = _10;
  5687. goto <bb 15>; [100.00%]
  5688. <bb 14> [local count: 719407024]:
  5689. # DEBUG BEGIN_STMT
  5690. pxTaskStatus_18(D)->usStackHighWaterMark = 0;
  5691. <bb 15> [local count: 1073741824]:
  5692. return;
  5693. }
  5694. ;; Function prvListTasksWithinSingleList (prvListTasksWithinSingleList, funcdef_no=51, decl_uid=6954, cgraph_uid=52, symbol_order=73)
  5695. Modification phase of node prvListTasksWithinSingleList/73
  5696. Adjusting mask for param 2 to 0x7
  5697. Setting value range of param 2 [1, 4]
  5698. prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
  5699. {
  5700. UBaseType_t uxTask;
  5701. long unsigned int _1;
  5702. <bb 2> [local count: 236223200]:
  5703. # DEBUG BEGIN_STMT
  5704. # DEBUG BEGIN_STMT
  5705. # DEBUG uxTask => 0
  5706. # DEBUG BEGIN_STMT
  5707. _1 ={v} pxList_7(D)->uxNumberOfItems;
  5708. if (_1 != 0)
  5709. goto <bb 3>; [50.00%]
  5710. else
  5711. goto <bb 4>; [50.00%]
  5712. <bb 3> [local count: 118111600]:
  5713. uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  5714. <bb 4> [local count: 236223201]:
  5715. # uxTask_5 = PHI <0(2), uxTask_2(3)>
  5716. # DEBUG uxTask => uxTask_5
  5717. # DEBUG BEGIN_STMT
  5718. # DEBUG BEGIN_STMT
  5719. return uxTask_5;
  5720. }
  5721. ;; Function uxTaskGetSystemState (uxTaskGetSystemState, funcdef_no=31, decl_uid=6202, cgraph_uid=32, symbol_order=53)
  5722. Modification phase of node uxTaskGetSystemState/53
  5723. uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
  5724. {
  5725. UBaseType_t uxQueue;
  5726. UBaseType_t uxTask;
  5727. long unsigned int uxCurrentNumberOfTasks.72_1;
  5728. long unsigned int _2;
  5729. struct TaskStatus_t * _3;
  5730. struct List_t * _4;
  5731. long unsigned int _5;
  5732. struct TaskStatus_t * _6;
  5733. struct List_t * pxDelayedTaskList.73_7;
  5734. long unsigned int _8;
  5735. struct TaskStatus_t * _9;
  5736. struct List_t * pxOverflowDelayedTaskList.74_10;
  5737. long unsigned int _11;
  5738. struct TaskStatus_t * _12;
  5739. long unsigned int _13;
  5740. struct TaskStatus_t * _14;
  5741. long unsigned int _27;
  5742. long unsigned int _30;
  5743. long unsigned int _33;
  5744. long unsigned int _36;
  5745. long unsigned int _39;
  5746. <bb 2> [local count: 429496728]:
  5747. # DEBUG BEGIN_STMT
  5748. # DEBUG uxTask => 0
  5749. # DEBUG uxQueue => 5
  5750. # DEBUG BEGIN_STMT
  5751. vTaskSuspendAll ();
  5752. # DEBUG BEGIN_STMT
  5753. uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks;
  5754. if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D))
  5755. goto <bb 7>; [50.00%]
  5756. else
  5757. goto <bb 6>; [50.00%]
  5758. <bb 7> [local count: 214748364]:
  5759. <bb 3> [local count: 1073741824]:
  5760. # uxTask_15 = PHI <0(7), uxTask_28(8)>
  5761. # uxQueue_17 = PHI <5(7), uxQueue_24(8)>
  5762. # DEBUG uxQueue => uxQueue_17
  5763. # DEBUG uxTask => uxTask_15
  5764. # DEBUG BEGIN_STMT
  5765. # DEBUG BEGIN_STMT
  5766. uxQueue_24 = uxQueue_17 + 4294967295;
  5767. # DEBUG uxQueue => uxQueue_24
  5768. # DEBUG BEGIN_STMT
  5769. _2 = uxTask_15 * 36;
  5770. _3 = pxTaskStatusArray_25(D) + _2;
  5771. _4 = &pxReadyTasksLists[uxQueue_24];
  5772. _27 = prvListTasksWithinSingleList (_3, _4, 1);
  5773. uxTask_28 = uxTask_15 + _27;
  5774. # DEBUG uxTask => uxTask_28
  5775. # DEBUG BEGIN_STMT
  5776. if (uxQueue_24 != 0)
  5777. goto <bb 8>; [80.00%]
  5778. else
  5779. goto <bb 4>; [20.00%]
  5780. <bb 8> [local count: 858993459]:
  5781. goto <bb 3>; [100.00%]
  5782. <bb 4> [local count: 214748365]:
  5783. # uxTask_20 = PHI <uxTask_28(3)>
  5784. # DEBUG BEGIN_STMT
  5785. _5 = uxTask_20 * 36;
  5786. _6 = pxTaskStatusArray_25(D) + _5;
  5787. pxDelayedTaskList.73_7 ={v} pxDelayedTaskList;
  5788. _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  5789. uxTask_31 = uxTask_20 + _30;
  5790. # DEBUG uxTask => uxTask_31
  5791. # DEBUG BEGIN_STMT
  5792. _8 = uxTask_31 * 36;
  5793. _9 = pxTaskStatusArray_25(D) + _8;
  5794. pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList;
  5795. _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  5796. uxTask_34 = uxTask_31 + _33;
  5797. # DEBUG uxTask => uxTask_34
  5798. # DEBUG BEGIN_STMT
  5799. _11 = uxTask_34 * 36;
  5800. _12 = pxTaskStatusArray_25(D) + _11;
  5801. _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  5802. uxTask_37 = uxTask_34 + _36;
  5803. # DEBUG uxTask => uxTask_37
  5804. # DEBUG BEGIN_STMT
  5805. _13 = uxTask_37 * 36;
  5806. _14 = pxTaskStatusArray_25(D) + _13;
  5807. _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  5808. uxTask_40 = uxTask_37 + _39;
  5809. # DEBUG uxTask => uxTask_40
  5810. # DEBUG BEGIN_STMT
  5811. if (pulTotalRunTime_41(D) != 0B)
  5812. goto <bb 5>; [70.00%]
  5813. else
  5814. goto <bb 6>; [30.00%]
  5815. <bb 5> [local count: 150323855]:
  5816. # DEBUG BEGIN_STMT
  5817. *pulTotalRunTime_41(D) = 0;
  5818. <bb 6> [local count: 429496729]:
  5819. # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)>
  5820. # DEBUG uxTask => uxTask_16
  5821. # DEBUG BEGIN_STMT
  5822. # DEBUG BEGIN_STMT
  5823. xTaskResumeAll ();
  5824. # DEBUG BEGIN_STMT
  5825. return uxTask_16;
  5826. }
  5827. ;; Function uxTaskGetStackHighWaterMark (uxTaskGetStackHighWaterMark, funcdef_no=53, decl_uid=6191, cgraph_uid=54, symbol_order=75)
  5828. Modification phase of node uxTaskGetStackHighWaterMark/75
  5829. uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
  5830. {
  5831. UBaseType_t uxReturn;
  5832. uint8_t * pucEndOfStack;
  5833. short unsigned int _1;
  5834. struct TCB_t * iftmp.121_2;
  5835. struct TCB_t * iftmp.121_5;
  5836. <bb 2> [local count: 1073741824]:
  5837. # DEBUG BEGIN_STMT
  5838. # DEBUG BEGIN_STMT
  5839. # DEBUG BEGIN_STMT
  5840. # DEBUG BEGIN_STMT
  5841. if (xTask_3(D) == 0B)
  5842. goto <bb 3>; [30.00%]
  5843. else
  5844. goto <bb 4>; [70.00%]
  5845. <bb 3> [local count: 322122547]:
  5846. iftmp.121_5 ={v} pxCurrentTCB;
  5847. <bb 4> [local count: 1073741824]:
  5848. # iftmp.121_2 = PHI <iftmp.121_5(3), xTask_3(D)(2)>
  5849. # DEBUG pxTCB => iftmp.121_2
  5850. # DEBUG BEGIN_STMT
  5851. pucEndOfStack_6 = iftmp.121_2->pxStack;
  5852. # DEBUG pucEndOfStack => pucEndOfStack_6
  5853. # DEBUG BEGIN_STMT
  5854. _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6);
  5855. uxReturn_7 = (UBaseType_t) _1;
  5856. # DEBUG uxReturn => uxReturn_7
  5857. # DEBUG BEGIN_STMT
  5858. return uxReturn_7;
  5859. }
  5860. ;; Function xTaskGetCurrentTaskHandle (xTaskGetCurrentTaskHandle, funcdef_no=56, decl_uid=6273, cgraph_uid=57, symbol_order=78)
  5861. Modification phase of node xTaskGetCurrentTaskHandle/78
  5862. xTaskGetCurrentTaskHandle ()
  5863. {
  5864. struct tskTaskControlBlock * xReturn;
  5865. <bb 2> [local count: 1073741824]:
  5866. # DEBUG BEGIN_STMT
  5867. # DEBUG BEGIN_STMT
  5868. xReturn_2 ={v} pxCurrentTCB;
  5869. # DEBUG xReturn => xReturn_2
  5870. # DEBUG BEGIN_STMT
  5871. return xReturn_2;
  5872. }
  5873. ;; Function xTaskGetSchedulerState (xTaskGetSchedulerState, funcdef_no=57, decl_uid=6277, cgraph_uid=58, symbol_order=79)
  5874. Modification phase of node xTaskGetSchedulerState/79
  5875. xTaskGetSchedulerState ()
  5876. {
  5877. BaseType_t xReturn;
  5878. long int xSchedulerRunning.122_1;
  5879. long unsigned int uxSchedulerSuspended.123_2;
  5880. <bb 2> [local count: 1073741824]:
  5881. # DEBUG BEGIN_STMT
  5882. # DEBUG BEGIN_STMT
  5883. xSchedulerRunning.122_1 ={v} xSchedulerRunning;
  5884. if (xSchedulerRunning.122_1 == 0)
  5885. goto <bb 5>; [50.00%]
  5886. else
  5887. goto <bb 3>; [50.00%]
  5888. <bb 3> [local count: 536870913]:
  5889. # DEBUG BEGIN_STMT
  5890. uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended;
  5891. if (uxSchedulerSuspended.123_2 == 0)
  5892. goto <bb 5>; [35.00%]
  5893. else
  5894. goto <bb 4>; [65.00%]
  5895. <bb 4> [local count: 348966093]:
  5896. # DEBUG BEGIN_STMT
  5897. # DEBUG xReturn => 0
  5898. <bb 5> [local count: 1073741824]:
  5899. # xReturn_3 = PHI <1(2), 2(3), 0(4)>
  5900. # DEBUG xReturn => xReturn_3
  5901. # DEBUG BEGIN_STMT
  5902. return xReturn_3;
  5903. }
  5904. ;; Function xTaskPriorityInherit (xTaskPriorityInherit, funcdef_no=58, decl_uid=6279, cgraph_uid=59, symbol_order=80)
  5905. Modification phase of node xTaskPriorityInherit/80
  5906. xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
  5907. {
  5908. struct ListItem_t * const pxIndex;
  5909. BaseType_t xReturn;
  5910. long unsigned int _1;
  5911. struct TCB_t * pxCurrentTCB.124_2;
  5912. long unsigned int _3;
  5913. long unsigned int _4;
  5914. signed int _5;
  5915. struct TCB_t * pxCurrentTCB.125_6;
  5916. long unsigned int _7;
  5917. long unsigned int _8;
  5918. struct xLIST * _9;
  5919. struct List_t * _10;
  5920. struct ListItem_t * _11;
  5921. struct TCB_t * pxCurrentTCB.126_12;
  5922. long unsigned int _13;
  5923. long unsigned int uxTopReadyPriority.127_14;
  5924. struct xLIST_ITEM * _15;
  5925. struct xLIST_ITEM * _16;
  5926. struct List_t * _17;
  5927. long unsigned int _18;
  5928. long unsigned int _19;
  5929. struct TCB_t * pxCurrentTCB.128_20;
  5930. long unsigned int _21;
  5931. long unsigned int _22;
  5932. struct TCB_t * pxCurrentTCB.129_23;
  5933. long unsigned int _24;
  5934. <bb 2> [local count: 1073741824]:
  5935. # DEBUG BEGIN_STMT
  5936. # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D)
  5937. # DEBUG BEGIN_STMT
  5938. # DEBUG xReturn => 0
  5939. # DEBUG BEGIN_STMT
  5940. if (pxMutexHolder_29(D) != 0B)
  5941. goto <bb 3>; [70.00%]
  5942. else
  5943. goto <bb 13>; [30.00%]
  5944. <bb 3> [local count: 751619278]:
  5945. # DEBUG BEGIN_STMT
  5946. _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority;
  5947. pxCurrentTCB.124_2 ={v} pxCurrentTCB;
  5948. _3 = pxCurrentTCB.124_2->uxPriority;
  5949. if (_1 < _3)
  5950. goto <bb 4>; [50.00%]
  5951. else
  5952. goto <bb 11>; [50.00%]
  5953. <bb 4> [local count: 375809639]:
  5954. # DEBUG BEGIN_STMT
  5955. _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue;
  5956. _5 = (signed int) _4;
  5957. if (_5 >= 0)
  5958. goto <bb 5>; [59.00%]
  5959. else
  5960. goto <bb 6>; [41.00%]
  5961. <bb 5> [local count: 221727687]:
  5962. # DEBUG BEGIN_STMT
  5963. pxCurrentTCB.125_6 ={v} pxCurrentTCB;
  5964. _7 = pxCurrentTCB.125_6->uxPriority;
  5965. _8 = 5 - _7;
  5966. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8;
  5967. <bb 6> [local count: 375809639]:
  5968. # DEBUG BEGIN_STMT
  5969. # DEBUG BEGIN_STMT
  5970. _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer;
  5971. _10 = &pxReadyTasksLists[_1];
  5972. if (_9 == _10)
  5973. goto <bb 7>; [17.43%]
  5974. else
  5975. goto <bb 10>; [82.57%]
  5976. <bb 7> [local count: 65503620]:
  5977. # DEBUG BEGIN_STMT
  5978. _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem;
  5979. uxListRemove (_11);
  5980. # DEBUG BEGIN_STMT
  5981. # DEBUG BEGIN_STMT
  5982. pxCurrentTCB.126_12 ={v} pxCurrentTCB;
  5983. _13 = pxCurrentTCB.126_12->uxPriority;
  5984. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13;
  5985. # DEBUG BEGIN_STMT
  5986. # DEBUG BEGIN_STMT
  5987. uxTopReadyPriority.127_14 ={v} uxTopReadyPriority;
  5988. if (_13 > uxTopReadyPriority.127_14)
  5989. goto <bb 8>; [50.00%]
  5990. else
  5991. goto <bb 9>; [50.00%]
  5992. <bb 8> [local count: 32751810]:
  5993. # DEBUG BEGIN_STMT
  5994. uxTopReadyPriority ={v} _13;
  5995. <bb 9> [local count: 65503620]:
  5996. # DEBUG BEGIN_STMT
  5997. # DEBUG BEGIN_STMT
  5998. pxIndex_36 = pxReadyTasksLists[_13].pxIndex;
  5999. # DEBUG pxIndex => pxIndex_36
  6000. # DEBUG BEGIN_STMT
  6001. # DEBUG BEGIN_STMT
  6002. # DEBUG BEGIN_STMT
  6003. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36;
  6004. # DEBUG BEGIN_STMT
  6005. _15 = pxIndex_36->pxPrevious;
  6006. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15;
  6007. # DEBUG BEGIN_STMT
  6008. _16 = pxIndex_36->pxPrevious;
  6009. _16->pxNext = _11;
  6010. # DEBUG BEGIN_STMT
  6011. pxIndex_36->pxPrevious = _11;
  6012. # DEBUG BEGIN_STMT
  6013. _17 = &pxReadyTasksLists[_13];
  6014. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17;
  6015. # DEBUG BEGIN_STMT
  6016. _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems;
  6017. _19 = _18 + 1;
  6018. pxReadyTasksLists[_13].uxNumberOfItems ={v} _19;
  6019. # DEBUG BEGIN_STMT
  6020. # DEBUG BEGIN_STMT
  6021. goto <bb 13>; [100.00%]
  6022. <bb 10> [local count: 310306019]:
  6023. # DEBUG BEGIN_STMT
  6024. pxCurrentTCB.128_20 ={v} pxCurrentTCB;
  6025. _21 = pxCurrentTCB.128_20->uxPriority;
  6026. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21;
  6027. goto <bb 13>; [100.00%]
  6028. <bb 11> [local count: 375809639]:
  6029. # DEBUG BEGIN_STMT
  6030. _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority;
  6031. pxCurrentTCB.129_23 ={v} pxCurrentTCB;
  6032. _24 = pxCurrentTCB.129_23->uxPriority;
  6033. if (_22 < _24)
  6034. goto <bb 12>; [50.00%]
  6035. else
  6036. goto <bb 13>; [50.00%]
  6037. <bb 12> [local count: 187904819]:
  6038. # DEBUG BEGIN_STMT
  6039. # DEBUG xReturn => 1
  6040. <bb 13> [local count: 1073741824]:
  6041. # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)>
  6042. # DEBUG xReturn => xReturn_25
  6043. # DEBUG BEGIN_STMT
  6044. # DEBUG BEGIN_STMT
  6045. return xReturn_25;
  6046. }
  6047. ;; Function xTaskPriorityDisinherit (xTaskPriorityDisinherit, funcdef_no=59, decl_uid=6281, cgraph_uid=60, symbol_order=81)
  6048. Modification phase of node xTaskPriorityDisinherit/81
  6049. xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
  6050. {
  6051. uint32_t ulNewBASEPRI;
  6052. uint32_t ulNewBASEPRI;
  6053. struct ListItem_t * const pxIndex;
  6054. BaseType_t xReturn;
  6055. struct TCB_t * pxCurrentTCB.130_1;
  6056. long unsigned int _2;
  6057. long unsigned int _3;
  6058. long unsigned int _4;
  6059. long unsigned int _5;
  6060. struct ListItem_t * _6;
  6061. long unsigned int _7;
  6062. long unsigned int _8;
  6063. long unsigned int uxTopReadyPriority.131_9;
  6064. struct xLIST_ITEM * _10;
  6065. struct xLIST_ITEM * _11;
  6066. struct List_t * _12;
  6067. long unsigned int _13;
  6068. long unsigned int _14;
  6069. <bb 2> [local count: 219131]:
  6070. # DEBUG BEGIN_STMT
  6071. # DEBUG pxTCB => pxMutexHolder_18(D)
  6072. # DEBUG BEGIN_STMT
  6073. # DEBUG xReturn => 0
  6074. # DEBUG BEGIN_STMT
  6075. if (pxMutexHolder_18(D) != 0B)
  6076. goto <bb 3>; [70.00%]
  6077. else
  6078. goto <bb 14>; [30.00%]
  6079. <bb 3> [local count: 153391]:
  6080. # DEBUG BEGIN_STMT
  6081. pxCurrentTCB.130_1 ={v} pxCurrentTCB;
  6082. if (pxCurrentTCB.130_1 != pxMutexHolder_18(D))
  6083. goto <bb 4>; [70.00%]
  6084. else
  6085. goto <bb 6>; [30.00%]
  6086. <bb 4> [local count: 107374]:
  6087. # DEBUG BEGIN_STMT
  6088. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6089. # DEBUG BEGIN_STMT
  6090. # DEBUG BEGIN_STMT
  6091. __asm__ __volatile__(" mov %0, %1
  6092. msr basepri, %0
  6093. isb
  6094. dsb
  6095. " : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
  6096. # DEBUG ulNewBASEPRI => ulNewBASEPRI_32
  6097. <bb 5> [local count: 1073741824]:
  6098. # DEBUG ulNewBASEPRI => NULL
  6099. # DEBUG BEGIN_STMT
  6100. # DEBUG BEGIN_STMT
  6101. # DEBUG BEGIN_STMT
  6102. <bb 15> [local count: 1073741824]:
  6103. goto <bb 5>; [100.00%]
  6104. <bb 6> [local count: 46017]:
  6105. # DEBUG BEGIN_STMT
  6106. # DEBUG BEGIN_STMT
  6107. _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld;
  6108. if (_2 == 0)
  6109. goto <bb 7>; [50.00%]
  6110. else
  6111. goto <bb 9>; [50.00%]
  6112. <bb 7> [local count: 23009]:
  6113. # DEBUG BEGIN_STMT
  6114. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6115. # DEBUG BEGIN_STMT
  6116. # DEBUG BEGIN_STMT
  6117. __asm__ __volatile__(" mov %0, %1
  6118. msr basepri, %0
  6119. isb
  6120. dsb
  6121. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  6122. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  6123. <bb 8> [local count: 230087534]:
  6124. # DEBUG ulNewBASEPRI => NULL
  6125. # DEBUG BEGIN_STMT
  6126. # DEBUG BEGIN_STMT
  6127. # DEBUG BEGIN_STMT
  6128. <bb 16> [local count: 230087534]:
  6129. goto <bb 8>; [100.00%]
  6130. <bb 9> [local count: 23009]:
  6131. # DEBUG BEGIN_STMT
  6132. # DEBUG BEGIN_STMT
  6133. _3 = _2 + 4294967295;
  6134. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3;
  6135. # DEBUG BEGIN_STMT
  6136. _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority;
  6137. _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  6138. if (_4 != _5)
  6139. goto <bb 10>; [66.00%]
  6140. else
  6141. goto <bb 14>; [34.00%]
  6142. <bb 10> [local count: 15186]:
  6143. # DEBUG BEGIN_STMT
  6144. if (_3 == 0)
  6145. goto <bb 11>; [33.00%]
  6146. else
  6147. goto <bb 14>; [67.00%]
  6148. <bb 11> [local count: 5011]:
  6149. # DEBUG BEGIN_STMT
  6150. _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem;
  6151. uxListRemove (_6);
  6152. # DEBUG BEGIN_STMT
  6153. # DEBUG BEGIN_STMT
  6154. # DEBUG BEGIN_STMT
  6155. _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  6156. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7;
  6157. # DEBUG BEGIN_STMT
  6158. _8 = 5 - _7;
  6159. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8;
  6160. # DEBUG BEGIN_STMT
  6161. # DEBUG BEGIN_STMT
  6162. uxTopReadyPriority.131_9 ={v} uxTopReadyPriority;
  6163. if (_7 > uxTopReadyPriority.131_9)
  6164. goto <bb 12>; [50.00%]
  6165. else
  6166. goto <bb 13>; [50.00%]
  6167. <bb 12> [local count: 2506]:
  6168. # DEBUG BEGIN_STMT
  6169. uxTopReadyPriority ={v} _7;
  6170. <bb 13> [local count: 5011]:
  6171. # DEBUG BEGIN_STMT
  6172. # DEBUG BEGIN_STMT
  6173. pxIndex_25 = pxReadyTasksLists[_7].pxIndex;
  6174. # DEBUG pxIndex => pxIndex_25
  6175. # DEBUG BEGIN_STMT
  6176. # DEBUG BEGIN_STMT
  6177. # DEBUG BEGIN_STMT
  6178. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25;
  6179. # DEBUG BEGIN_STMT
  6180. _10 = pxIndex_25->pxPrevious;
  6181. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10;
  6182. # DEBUG BEGIN_STMT
  6183. _11 = pxIndex_25->pxPrevious;
  6184. _11->pxNext = _6;
  6185. # DEBUG BEGIN_STMT
  6186. pxIndex_25->pxPrevious = _6;
  6187. # DEBUG BEGIN_STMT
  6188. _12 = &pxReadyTasksLists[_7];
  6189. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12;
  6190. # DEBUG BEGIN_STMT
  6191. _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  6192. _14 = _13 + 1;
  6193. pxReadyTasksLists[_7].uxNumberOfItems ={v} _14;
  6194. # DEBUG BEGIN_STMT
  6195. # DEBUG BEGIN_STMT
  6196. # DEBUG BEGIN_STMT
  6197. # DEBUG xReturn => 1
  6198. <bb 14> [local count: 88748]:
  6199. # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)>
  6200. # DEBUG xReturn => xReturn_15
  6201. # DEBUG BEGIN_STMT
  6202. # DEBUG BEGIN_STMT
  6203. return xReturn_15;
  6204. }
  6205. ;; Function vTaskPriorityDisinheritAfterTimeout (vTaskPriorityDisinheritAfterTimeout, funcdef_no=60, decl_uid=6284, cgraph_uid=61, symbol_order=82)
  6206. Modification phase of node vTaskPriorityDisinheritAfterTimeout/82
  6207. vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
  6208. {
  6209. uint32_t ulNewBASEPRI;
  6210. uint32_t ulNewBASEPRI;
  6211. struct ListItem_t * const pxIndex;
  6212. UBaseType_t uxPriorityToUse;
  6213. long unsigned int _1;
  6214. long unsigned int _2;
  6215. long unsigned int _3;
  6216. struct TCB_t * pxCurrentTCB.132_4;
  6217. long unsigned int _5;
  6218. signed int _6;
  6219. long unsigned int _7;
  6220. struct xLIST * _8;
  6221. struct List_t * _9;
  6222. struct ListItem_t * _10;
  6223. long unsigned int _12;
  6224. long unsigned int uxTopReadyPriority.133_13;
  6225. struct xLIST_ITEM * _14;
  6226. struct xLIST_ITEM * _15;
  6227. struct List_t * _16;
  6228. long unsigned int _17;
  6229. long unsigned int _18;
  6230. <bb 2> [local count: 306783]:
  6231. # DEBUG BEGIN_STMT
  6232. # DEBUG pxTCB => pxMutexHolder_22(D)
  6233. # DEBUG BEGIN_STMT
  6234. # DEBUG BEGIN_STMT
  6235. # DEBUG uxOnlyOneMutexHeld => 1
  6236. # DEBUG BEGIN_STMT
  6237. if (pxMutexHolder_22(D) != 0B)
  6238. goto <bb 3>; [70.00%]
  6239. else
  6240. goto <bb 17>; [30.00%]
  6241. <bb 3> [local count: 214748]:
  6242. # DEBUG BEGIN_STMT
  6243. _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld;
  6244. if (_1 == 0)
  6245. goto <bb 4>; [50.00%]
  6246. else
  6247. goto <bb 6>; [50.00%]
  6248. <bb 4> [local count: 107374]:
  6249. # DEBUG BEGIN_STMT
  6250. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6251. # DEBUG BEGIN_STMT
  6252. # DEBUG BEGIN_STMT
  6253. __asm__ __volatile__(" mov %0, %1
  6254. msr basepri, %0
  6255. isb
  6256. dsb
  6257. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  6258. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  6259. <bb 5> [local count: 1073741823]:
  6260. # DEBUG ulNewBASEPRI => NULL
  6261. # DEBUG BEGIN_STMT
  6262. # DEBUG BEGIN_STMT
  6263. # DEBUG BEGIN_STMT
  6264. <bb 18> [local count: 1073741824]:
  6265. goto <bb 5>; [100.00%]
  6266. <bb 6> [local count: 107374]:
  6267. # DEBUG BEGIN_STMT
  6268. # DEBUG BEGIN_STMT
  6269. _2 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxBasePriority;
  6270. uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>;
  6271. # DEBUG uxPriorityToUse => uxPriorityToUse_11
  6272. # DEBUG BEGIN_STMT
  6273. _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  6274. if (_3 != uxPriorityToUse_11)
  6275. goto <bb 7>; [66.00%]
  6276. else
  6277. goto <bb 17>; [34.00%]
  6278. <bb 7> [local count: 70867]:
  6279. # DEBUG BEGIN_STMT
  6280. if (_1 == 1)
  6281. goto <bb 8>; [34.00%]
  6282. else
  6283. goto <bb 17>; [66.00%]
  6284. <bb 8> [local count: 24095]:
  6285. # DEBUG BEGIN_STMT
  6286. pxCurrentTCB.132_4 ={v} pxCurrentTCB;
  6287. if (pxCurrentTCB.132_4 == pxMutexHolder_22(D))
  6288. goto <bb 9>; [30.00%]
  6289. else
  6290. goto <bb 11>; [70.00%]
  6291. <bb 9> [local count: 7228]:
  6292. # DEBUG BEGIN_STMT
  6293. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6294. # DEBUG BEGIN_STMT
  6295. # DEBUG BEGIN_STMT
  6296. __asm__ __volatile__(" mov %0, %1
  6297. msr basepri, %0
  6298. isb
  6299. dsb
  6300. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  6301. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  6302. <bb 10> [local count: 72284299]:
  6303. # DEBUG ulNewBASEPRI => NULL
  6304. # DEBUG BEGIN_STMT
  6305. # DEBUG BEGIN_STMT
  6306. # DEBUG BEGIN_STMT
  6307. <bb 19> [local count: 72284299]:
  6308. goto <bb 10>; [100.00%]
  6309. <bb 11> [local count: 16866]:
  6310. # DEBUG BEGIN_STMT
  6311. # DEBUG BEGIN_STMT
  6312. # DEBUG BEGIN_STMT
  6313. # DEBUG uxPriorityUsedOnEntry => _3
  6314. # DEBUG BEGIN_STMT
  6315. MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11;
  6316. # DEBUG BEGIN_STMT
  6317. _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue;
  6318. _6 = (signed int) _5;
  6319. if (_6 >= 0)
  6320. goto <bb 12>; [59.00%]
  6321. else
  6322. goto <bb 13>; [41.00%]
  6323. <bb 12> [local count: 9951]:
  6324. # DEBUG BEGIN_STMT
  6325. _7 = 5 - uxPriorityToUse_11;
  6326. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7;
  6327. <bb 13> [local count: 16866]:
  6328. # DEBUG BEGIN_STMT
  6329. # DEBUG BEGIN_STMT
  6330. _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer;
  6331. _9 = &pxReadyTasksLists[_3];
  6332. if (_8 == _9)
  6333. goto <bb 14>; [17.43%]
  6334. else
  6335. goto <bb 17>; [82.57%]
  6336. <bb 14> [local count: 2940]:
  6337. # DEBUG BEGIN_STMT
  6338. _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem;
  6339. uxListRemove (_10);
  6340. # DEBUG BEGIN_STMT
  6341. # DEBUG BEGIN_STMT
  6342. # DEBUG BEGIN_STMT
  6343. _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  6344. uxTopReadyPriority.133_13 ={v} uxTopReadyPriority;
  6345. if (_12 > uxTopReadyPriority.133_13)
  6346. goto <bb 15>; [50.00%]
  6347. else
  6348. goto <bb 16>; [50.00%]
  6349. <bb 15> [local count: 1470]:
  6350. # DEBUG BEGIN_STMT
  6351. uxTopReadyPriority ={v} _12;
  6352. <bb 16> [local count: 2940]:
  6353. # DEBUG BEGIN_STMT
  6354. # DEBUG BEGIN_STMT
  6355. pxIndex_29 = pxReadyTasksLists[_12].pxIndex;
  6356. # DEBUG pxIndex => pxIndex_29
  6357. # DEBUG BEGIN_STMT
  6358. # DEBUG BEGIN_STMT
  6359. # DEBUG BEGIN_STMT
  6360. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29;
  6361. # DEBUG BEGIN_STMT
  6362. _14 = pxIndex_29->pxPrevious;
  6363. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14;
  6364. # DEBUG BEGIN_STMT
  6365. _15 = pxIndex_29->pxPrevious;
  6366. _15->pxNext = _10;
  6367. # DEBUG BEGIN_STMT
  6368. pxIndex_29->pxPrevious = _10;
  6369. # DEBUG BEGIN_STMT
  6370. _16 = &pxReadyTasksLists[_12];
  6371. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16;
  6372. # DEBUG BEGIN_STMT
  6373. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  6374. _18 = _17 + 1;
  6375. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  6376. # DEBUG BEGIN_STMT
  6377. # DEBUG BEGIN_STMT
  6378. <bb 17> [local count: 192180]:
  6379. # DEBUG BEGIN_STMT
  6380. return;
  6381. }
  6382. ;; Function vTaskList (vTaskList, funcdef_no=62, decl_uid=6204, cgraph_uid=63, symbol_order=84)
  6383. Modification phase of node vTaskList/84
  6384. vTaskList (char * pcWriteBuffer)
  6385. {
  6386. char cStatus;
  6387. UBaseType_t x;
  6388. UBaseType_t uxArraySize;
  6389. struct TaskStatus_t * pxTaskStatusArray;
  6390. long unsigned int uxCurrentNumberOfTasks.134_1;
  6391. long unsigned int _2;
  6392. long unsigned int _3;
  6393. struct TaskStatus_t * _4;
  6394. <unnamed type> _5;
  6395. unsigned int _6;
  6396. const char * _8;
  6397. int _9;
  6398. long unsigned int _11;
  6399. short unsigned int _12;
  6400. unsigned int _13;
  6401. long unsigned int _14;
  6402. unsigned int _15;
  6403. <bb 2> [local count: 220893212]:
  6404. # DEBUG BEGIN_STMT
  6405. # DEBUG BEGIN_STMT
  6406. # DEBUG BEGIN_STMT
  6407. # DEBUG BEGIN_STMT
  6408. *pcWriteBuffer_22(D) = 0;
  6409. # DEBUG BEGIN_STMT
  6410. uxArraySize_24 ={v} uxCurrentNumberOfTasks;
  6411. # DEBUG uxArraySize => uxArraySize_24
  6412. # DEBUG BEGIN_STMT
  6413. uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks;
  6414. _2 = uxCurrentNumberOfTasks.134_1 * 36;
  6415. pxTaskStatusArray_26 = pvPortMalloc (_2);
  6416. # DEBUG pxTaskStatusArray => pxTaskStatusArray_26
  6417. # DEBUG BEGIN_STMT
  6418. if (pxTaskStatusArray_26 != 0B)
  6419. goto <bb 3>; [53.47%]
  6420. else
  6421. goto <bb 10>; [46.53%]
  6422. <bb 3> [local count: 118111600]:
  6423. # DEBUG BEGIN_STMT
  6424. uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  6425. # DEBUG uxArraySize => uxArraySize_28
  6426. # DEBUG BEGIN_STMT
  6427. # DEBUG x => 0
  6428. goto <bb 8>; [100.00%]
  6429. <bb 4> [local count: 955630226]:
  6430. # DEBUG BEGIN_STMT
  6431. _3 = x_17 * 36;
  6432. _4 = pxTaskStatusArray_26 + _3;
  6433. _5 = _4->eCurrentState;
  6434. _6 = _5;
  6435. if (_6 <= 4)
  6436. goto <bb 6>; [50.00%]
  6437. else
  6438. goto <bb 5>; [50.00%]
  6439. <bb 5> [local count: 477815113]:
  6440. <L15>:
  6441. cStatus_10 = 0;
  6442. goto <bb 7>; [100.00%]
  6443. <bb 6> [local count: 477815113]:
  6444. <L16>:
  6445. cStatus_7 = CSWTCH.225[_6];
  6446. <bb 7> [local count: 955630226]:
  6447. # cStatus_18 = PHI <cStatus_7(6), cStatus_10(5)>
  6448. <L17>:
  6449. <L14>:
  6450. # DEBUG cStatus => cStatus_18
  6451. # DEBUG BEGIN_STMT
  6452. _8 = _4->pcTaskName;
  6453. pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  6454. # DEBUG pcWriteBuffer => pcWriteBuffer_31
  6455. # DEBUG BEGIN_STMT
  6456. _9 = (int) cStatus_18;
  6457. _11 = _4->uxCurrentPriority;
  6458. _12 = _4->usStackHighWaterMark;
  6459. _13 = (unsigned int) _12;
  6460. _14 = _4->xTaskNumber;
  6461. sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
  6462. # DEBUG BEGIN_STMT
  6463. _15 = strlen (pcWriteBuffer_31);
  6464. pcWriteBuffer_33 = pcWriteBuffer_31 + _15;
  6465. # DEBUG pcWriteBuffer => pcWriteBuffer_33
  6466. # DEBUG BEGIN_STMT
  6467. x_34 = x_17 + 1;
  6468. # DEBUG x => x_34
  6469. <bb 8> [local count: 1073741824]:
  6470. # pcWriteBuffer_16 = PHI <pcWriteBuffer_22(D)(3), pcWriteBuffer_33(7)>
  6471. # x_17 = PHI <0(3), x_34(7)>
  6472. # DEBUG x => x_17
  6473. # DEBUG pcWriteBuffer => pcWriteBuffer_16
  6474. # DEBUG BEGIN_STMT
  6475. if (x_17 < uxArraySize_28)
  6476. goto <bb 4>; [89.00%]
  6477. else
  6478. goto <bb 9>; [11.00%]
  6479. <bb 9> [local count: 118111601]:
  6480. # DEBUG BEGIN_STMT
  6481. vPortFree (pxTaskStatusArray_26);
  6482. <bb 10> [local count: 220893212]:
  6483. # DEBUG BEGIN_STMT
  6484. return;
  6485. }
  6486. ;; Function uxTaskResetEventItemValue (uxTaskResetEventItemValue, funcdef_no=63, decl_uid=6271, cgraph_uid=64, symbol_order=85)
  6487. Modification phase of node uxTaskResetEventItemValue/85
  6488. uxTaskResetEventItemValue ()
  6489. {
  6490. TickType_t uxReturn;
  6491. struct TCB_t * pxCurrentTCB.135_1;
  6492. struct TCB_t * pxCurrentTCB.136_2;
  6493. long unsigned int _3;
  6494. struct TCB_t * pxCurrentTCB.137_4;
  6495. long unsigned int _5;
  6496. <bb 2> [local count: 1073741824]:
  6497. # DEBUG BEGIN_STMT
  6498. # DEBUG BEGIN_STMT
  6499. pxCurrentTCB.135_1 ={v} pxCurrentTCB;
  6500. uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue;
  6501. # DEBUG uxReturn => uxReturn_7
  6502. # DEBUG BEGIN_STMT
  6503. pxCurrentTCB.136_2 ={v} pxCurrentTCB;
  6504. _3 = pxCurrentTCB.136_2->uxPriority;
  6505. pxCurrentTCB.137_4 ={v} pxCurrentTCB;
  6506. _5 = 5 - _3;
  6507. pxCurrentTCB.137_4->xEventListItem.xItemValue = _5;
  6508. # DEBUG BEGIN_STMT
  6509. return uxReturn_7;
  6510. }
  6511. ;; Function pvTaskIncrementMutexHeldCount (pvTaskIncrementMutexHeldCount, funcdef_no=64, decl_uid=6295, cgraph_uid=65, symbol_order=86)
  6512. Modification phase of node pvTaskIncrementMutexHeldCount/86
  6513. pvTaskIncrementMutexHeldCount ()
  6514. {
  6515. struct TCB_t * pxCurrentTCB.138_1;
  6516. struct TCB_t * pxCurrentTCB.139_2;
  6517. long unsigned int _3;
  6518. long unsigned int _4;
  6519. struct tskTaskControlBlock * _8;
  6520. <bb 2> [local count: 1073741824]:
  6521. # DEBUG BEGIN_STMT
  6522. pxCurrentTCB.138_1 ={v} pxCurrentTCB;
  6523. if (pxCurrentTCB.138_1 != 0B)
  6524. goto <bb 3>; [70.00%]
  6525. else
  6526. goto <bb 4>; [30.00%]
  6527. <bb 3> [local count: 751619278]:
  6528. # DEBUG BEGIN_STMT
  6529. pxCurrentTCB.139_2 ={v} pxCurrentTCB;
  6530. _3 = pxCurrentTCB.139_2->uxMutexesHeld;
  6531. _4 = _3 + 1;
  6532. pxCurrentTCB.139_2->uxMutexesHeld = _4;
  6533. <bb 4> [local count: 1073741824]:
  6534. # DEBUG BEGIN_STMT
  6535. _8 ={v} pxCurrentTCB;
  6536. return _8;
  6537. }
  6538. ;; Function ulTaskGenericNotifyTake (ulTaskGenericNotifyTake, funcdef_no=65, decl_uid=6235, cgraph_uid=66, symbol_order=87)
  6539. Modification phase of node ulTaskGenericNotifyTake/87
  6540. ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
  6541. {
  6542. uint32_t ulNewBASEPRI;
  6543. uint32_t ulReturn;
  6544. struct TCB_t * pxCurrentTCB.140_1;
  6545. long unsigned int _2;
  6546. struct TCB_t * pxCurrentTCB.141_3;
  6547. struct TCB_t * pxCurrentTCB.142_4;
  6548. struct TCB_t * pxCurrentTCB.143_5;
  6549. struct TCB_t * pxCurrentTCB.144_6;
  6550. long unsigned int _7;
  6551. struct TCB_t * pxCurrentTCB.145_8;
  6552. <bb 2> [local count: 160260]:
  6553. # DEBUG BEGIN_STMT
  6554. # DEBUG BEGIN_STMT
  6555. if (uxIndexToWait_11(D) != 0)
  6556. goto <bb 3>; [67.00%]
  6557. else
  6558. goto <bb 5>; [33.00%]
  6559. <bb 3> [local count: 107374]:
  6560. # DEBUG BEGIN_STMT
  6561. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6562. # DEBUG BEGIN_STMT
  6563. # DEBUG BEGIN_STMT
  6564. __asm__ __volatile__(" mov %0, %1
  6565. msr basepri, %0
  6566. isb
  6567. dsb
  6568. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  6569. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  6570. <bb 4> [local count: 1073741824]:
  6571. # DEBUG ulNewBASEPRI => NULL
  6572. # DEBUG BEGIN_STMT
  6573. # DEBUG BEGIN_STMT
  6574. # DEBUG BEGIN_STMT
  6575. <bb 13> [local count: 1073741824]:
  6576. goto <bb 4>; [100.00%]
  6577. <bb 5> [local count: 52886]:
  6578. # DEBUG BEGIN_STMT
  6579. # DEBUG BEGIN_STMT
  6580. vPortEnterCritical ();
  6581. # DEBUG BEGIN_STMT
  6582. pxCurrentTCB.140_1 ={v} pxCurrentTCB;
  6583. _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0];
  6584. if (_2 == 0)
  6585. goto <bb 6>; [50.00%]
  6586. else
  6587. goto <bb 8>; [50.00%]
  6588. <bb 6> [local count: 26443]:
  6589. # DEBUG BEGIN_STMT
  6590. pxCurrentTCB.141_3 ={v} pxCurrentTCB;
  6591. pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1;
  6592. # DEBUG BEGIN_STMT
  6593. if (xTicksToWait_15(D) != 0)
  6594. goto <bb 7>; [33.00%]
  6595. else
  6596. goto <bb 8>; [67.00%]
  6597. <bb 7> [local count: 8726]:
  6598. # DEBUG BEGIN_STMT
  6599. prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1);
  6600. # DEBUG BEGIN_STMT
  6601. # DEBUG BEGIN_STMT
  6602. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6603. # DEBUG BEGIN_STMT
  6604. __asm__ __volatile__("dsb" : : : "memory");
  6605. # DEBUG BEGIN_STMT
  6606. __asm__ __volatile__("isb");
  6607. # DEBUG BEGIN_STMT
  6608. <bb 8> [local count: 52886]:
  6609. # DEBUG BEGIN_STMT
  6610. # DEBUG BEGIN_STMT
  6611. vPortExitCritical ();
  6612. # DEBUG BEGIN_STMT
  6613. vPortEnterCritical ();
  6614. # DEBUG BEGIN_STMT
  6615. # DEBUG BEGIN_STMT
  6616. pxCurrentTCB.142_4 ={v} pxCurrentTCB;
  6617. ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0];
  6618. # DEBUG ulReturn => ulReturn_22
  6619. # DEBUG BEGIN_STMT
  6620. if (ulReturn_22 != 0)
  6621. goto <bb 9>; [50.00%]
  6622. else
  6623. goto <bb 12>; [50.00%]
  6624. <bb 9> [local count: 26443]:
  6625. # DEBUG BEGIN_STMT
  6626. if (xClearCountOnExit_23(D) != 0)
  6627. goto <bb 10>; [50.00%]
  6628. else
  6629. goto <bb 11>; [50.00%]
  6630. <bb 10> [local count: 13221]:
  6631. # DEBUG BEGIN_STMT
  6632. pxCurrentTCB.143_5 ={v} pxCurrentTCB;
  6633. pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0;
  6634. goto <bb 12>; [100.00%]
  6635. <bb 11> [local count: 13221]:
  6636. # DEBUG BEGIN_STMT
  6637. pxCurrentTCB.144_6 ={v} pxCurrentTCB;
  6638. _7 = ulReturn_22 + 4294967295;
  6639. pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7;
  6640. <bb 12> [local count: 52886]:
  6641. # DEBUG BEGIN_STMT
  6642. # DEBUG BEGIN_STMT
  6643. pxCurrentTCB.145_8 ={v} pxCurrentTCB;
  6644. pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0;
  6645. # DEBUG BEGIN_STMT
  6646. vPortExitCritical ();
  6647. # DEBUG BEGIN_STMT
  6648. return ulReturn_22;
  6649. }
  6650. ;; Function xTaskGenericNotifyWait (xTaskGenericNotifyWait, funcdef_no=66, decl_uid=6227, cgraph_uid=67, symbol_order=88)
  6651. Modification phase of node xTaskGenericNotifyWait/88
  6652. xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
  6653. {
  6654. uint32_t ulNewBASEPRI;
  6655. BaseType_t xReturn;
  6656. struct TCB_t * pxCurrentTCB.146_1;
  6657. unsigned char _2;
  6658. long unsigned int _3;
  6659. long unsigned int _4;
  6660. long unsigned int _5;
  6661. struct TCB_t * pxCurrentTCB.148_6;
  6662. struct TCB_t * pxCurrentTCB.149_7;
  6663. long unsigned int _8;
  6664. struct TCB_t * pxCurrentTCB.150_9;
  6665. unsigned char _10;
  6666. long unsigned int _11;
  6667. long unsigned int _12;
  6668. long unsigned int _13;
  6669. struct TCB_t * pxCurrentTCB.152_14;
  6670. struct TCB_t * pxCurrentTCB.147_22;
  6671. struct TCB_t * pxCurrentTCB.151_35;
  6672. <bb 2> [local count: 160260]:
  6673. # DEBUG BEGIN_STMT
  6674. # DEBUG BEGIN_STMT
  6675. if (uxIndexToWait_19(D) != 0)
  6676. goto <bb 3>; [67.00%]
  6677. else
  6678. goto <bb 5>; [33.00%]
  6679. <bb 3> [local count: 107374]:
  6680. # DEBUG BEGIN_STMT
  6681. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6682. # DEBUG BEGIN_STMT
  6683. # DEBUG BEGIN_STMT
  6684. __asm__ __volatile__(" mov %0, %1
  6685. msr basepri, %0
  6686. isb
  6687. dsb
  6688. " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  6689. # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
  6690. <bb 4> [local count: 1073741824]:
  6691. # DEBUG ulNewBASEPRI => NULL
  6692. # DEBUG BEGIN_STMT
  6693. # DEBUG BEGIN_STMT
  6694. # DEBUG BEGIN_STMT
  6695. <bb 13> [local count: 1073741824]:
  6696. goto <bb 4>; [100.00%]
  6697. <bb 5> [local count: 52886]:
  6698. # DEBUG BEGIN_STMT
  6699. # DEBUG BEGIN_STMT
  6700. vPortEnterCritical ();
  6701. # DEBUG BEGIN_STMT
  6702. pxCurrentTCB.146_1 ={v} pxCurrentTCB;
  6703. _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0];
  6704. if (_2 != 2)
  6705. goto <bb 6>; [66.00%]
  6706. else
  6707. goto <bb 8>; [34.00%]
  6708. <bb 6> [local count: 34905]:
  6709. # DEBUG BEGIN_STMT
  6710. pxCurrentTCB.147_22 ={v} pxCurrentTCB;
  6711. _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0];
  6712. _4 = ~ulBitsToClearOnEntry_23(D);
  6713. _5 = _3 & _4;
  6714. pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5;
  6715. # DEBUG BEGIN_STMT
  6716. pxCurrentTCB.148_6 ={v} pxCurrentTCB;
  6717. pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1;
  6718. # DEBUG BEGIN_STMT
  6719. if (xTicksToWait_26(D) != 0)
  6720. goto <bb 7>; [33.00%]
  6721. else
  6722. goto <bb 8>; [67.00%]
  6723. <bb 7> [local count: 11519]:
  6724. # DEBUG BEGIN_STMT
  6725. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  6726. # DEBUG BEGIN_STMT
  6727. # DEBUG BEGIN_STMT
  6728. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6729. # DEBUG BEGIN_STMT
  6730. __asm__ __volatile__("dsb" : : : "memory");
  6731. # DEBUG BEGIN_STMT
  6732. __asm__ __volatile__("isb");
  6733. # DEBUG BEGIN_STMT
  6734. <bb 8> [local count: 52886]:
  6735. # DEBUG BEGIN_STMT
  6736. # DEBUG BEGIN_STMT
  6737. vPortExitCritical ();
  6738. # DEBUG BEGIN_STMT
  6739. vPortEnterCritical ();
  6740. # DEBUG BEGIN_STMT
  6741. # DEBUG BEGIN_STMT
  6742. if (pulNotificationValue_33(D) != 0B)
  6743. goto <bb 9>; [70.00%]
  6744. else
  6745. goto <bb 10>; [30.00%]
  6746. <bb 9> [local count: 37020]:
  6747. # DEBUG BEGIN_STMT
  6748. pxCurrentTCB.149_7 ={v} pxCurrentTCB;
  6749. _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0];
  6750. *pulNotificationValue_33(D) = _8;
  6751. <bb 10> [local count: 52886]:
  6752. # DEBUG BEGIN_STMT
  6753. pxCurrentTCB.150_9 ={v} pxCurrentTCB;
  6754. _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0];
  6755. if (_10 != 2)
  6756. goto <bb 12>; [66.00%]
  6757. else
  6758. goto <bb 11>; [34.00%]
  6759. <bb 11> [local count: 17981]:
  6760. # DEBUG BEGIN_STMT
  6761. pxCurrentTCB.151_35 ={v} pxCurrentTCB;
  6762. _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0];
  6763. _12 = ~ulBitsToClearOnExit_36(D);
  6764. _13 = _11 & _12;
  6765. pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13;
  6766. # DEBUG BEGIN_STMT
  6767. # DEBUG xReturn => 1
  6768. <bb 12> [local count: 52886]:
  6769. # xReturn_15 = PHI <0(10), 1(11)>
  6770. # DEBUG xReturn => xReturn_15
  6771. # DEBUG BEGIN_STMT
  6772. pxCurrentTCB.152_14 ={v} pxCurrentTCB;
  6773. pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0;
  6774. # DEBUG BEGIN_STMT
  6775. vPortExitCritical ();
  6776. # DEBUG BEGIN_STMT
  6777. return xReturn_15;
  6778. }
  6779. ;; Function xTaskGenericNotify (xTaskGenericNotify, funcdef_no=67, decl_uid=6214, cgraph_uid=68, symbol_order=89)
  6780. Modification phase of node xTaskGenericNotify/89
  6781. xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
  6782. {
  6783. uint32_t ulNewBASEPRI;
  6784. uint32_t ulNewBASEPRI;
  6785. uint32_t ulNewBASEPRI;
  6786. uint32_t ulNewBASEPRI;
  6787. struct ListItem_t * const pxIndex;
  6788. struct List_t * const pxList;
  6789. uint8_t ucOriginalNotifyState;
  6790. BaseType_t xReturn;
  6791. long unsigned int _1;
  6792. long unsigned int _2;
  6793. long unsigned int _3;
  6794. long unsigned int _4;
  6795. long unsigned int _5;
  6796. long unsigned int xTickCount.153_6;
  6797. struct xLIST_ITEM * _7;
  6798. struct xLIST_ITEM * _8;
  6799. struct xLIST_ITEM * _9;
  6800. struct ListItem_t * _10;
  6801. struct ListItem_t * _11;
  6802. long unsigned int _12;
  6803. long unsigned int _13;
  6804. long unsigned int _14;
  6805. long unsigned int uxTopReadyPriority.154_15;
  6806. struct xLIST_ITEM * _16;
  6807. struct xLIST_ITEM * _17;
  6808. struct List_t * _18;
  6809. long unsigned int _19;
  6810. long unsigned int _20;
  6811. struct xLIST * _21;
  6812. struct TCB_t * pxCurrentTCB.155_22;
  6813. long unsigned int _23;
  6814. <bb 2> [local count: 214748]:
  6815. # DEBUG BEGIN_STMT
  6816. # DEBUG BEGIN_STMT
  6817. # DEBUG xReturn => 1
  6818. # DEBUG BEGIN_STMT
  6819. # DEBUG BEGIN_STMT
  6820. if (uxIndexToNotify_30(D) != 0)
  6821. goto <bb 3>; [50.00%]
  6822. else
  6823. goto <bb 5>; [50.00%]
  6824. <bb 3> [local count: 107374]:
  6825. # DEBUG BEGIN_STMT
  6826. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6827. # DEBUG BEGIN_STMT
  6828. # DEBUG BEGIN_STMT
  6829. __asm__ __volatile__(" mov %0, %1
  6830. msr basepri, %0
  6831. isb
  6832. dsb
  6833. " : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
  6834. # DEBUG ulNewBASEPRI => ulNewBASEPRI_61
  6835. <bb 4> [local count: 1073741824]:
  6836. # DEBUG ulNewBASEPRI => NULL
  6837. # DEBUG BEGIN_STMT
  6838. # DEBUG BEGIN_STMT
  6839. # DEBUG BEGIN_STMT
  6840. <bb 30> [local count: 1073741824]:
  6841. goto <bb 4>; [100.00%]
  6842. <bb 5> [local count: 107374]:
  6843. # DEBUG BEGIN_STMT
  6844. # DEBUG BEGIN_STMT
  6845. if (xTaskToNotify_31(D) == 0B)
  6846. goto <bb 6>; [46.53%]
  6847. else
  6848. goto <bb 8>; [53.47%]
  6849. <bb 6> [local count: 49961]:
  6850. # DEBUG BEGIN_STMT
  6851. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6852. # DEBUG BEGIN_STMT
  6853. # DEBUG BEGIN_STMT
  6854. __asm__ __volatile__(" mov %0, %1
  6855. msr basepri, %0
  6856. isb
  6857. dsb
  6858. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  6859. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  6860. <bb 7> [local count: 499612071]:
  6861. # DEBUG ulNewBASEPRI => NULL
  6862. # DEBUG BEGIN_STMT
  6863. # DEBUG BEGIN_STMT
  6864. # DEBUG BEGIN_STMT
  6865. <bb 31> [local count: 499612071]:
  6866. goto <bb 7>; [100.00%]
  6867. <bb 8> [local count: 57413]:
  6868. # DEBUG BEGIN_STMT
  6869. # DEBUG BEGIN_STMT
  6870. # DEBUG pxTCB => xTaskToNotify_31(D)
  6871. # DEBUG BEGIN_STMT
  6872. vPortEnterCritical ();
  6873. # DEBUG BEGIN_STMT
  6874. if (pulPreviousNotificationValue_34(D) != 0B)
  6875. goto <bb 9>; [70.00%]
  6876. else
  6877. goto <bb 10>; [30.00%]
  6878. <bb 9> [local count: 40189]:
  6879. # DEBUG BEGIN_STMT
  6880. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  6881. *pulPreviousNotificationValue_34(D) = _1;
  6882. <bb 10> [local count: 57413]:
  6883. # DEBUG BEGIN_STMT
  6884. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0];
  6885. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  6886. # DEBUG BEGIN_STMT
  6887. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2;
  6888. # DEBUG BEGIN_STMT
  6889. switch (eAction_38(D)) <default: <L16> [16.67%], case 0: <L35> [16.67%], case 1: <L8> [16.67%], case 2: <L9> [16.67%], case 3: <L10> [16.67%], case 4: <L11> [16.67%]>
  6890. <bb 11> [local count: 9571]:
  6891. <L8>:
  6892. # DEBUG BEGIN_STMT
  6893. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  6894. _3 = _2 | ulValue_39(D);
  6895. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3;
  6896. # DEBUG BEGIN_STMT
  6897. goto <bb 19>; [100.00%]
  6898. <bb 12> [local count: 9571]:
  6899. <L9>:
  6900. # DEBUG BEGIN_STMT
  6901. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  6902. _5 = _4 + 1;
  6903. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5;
  6904. # DEBUG BEGIN_STMT
  6905. goto <bb 19>; [100.00%]
  6906. <bb 13> [local count: 9571]:
  6907. <L10>:
  6908. # DEBUG BEGIN_STMT
  6909. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  6910. # DEBUG BEGIN_STMT
  6911. goto <bb 19>; [100.00%]
  6912. <bb 14> [local count: 9571]:
  6913. <L11>:
  6914. # DEBUG BEGIN_STMT
  6915. if (ucOriginalNotifyState_36 != 2)
  6916. goto <bb 15>; [66.00%]
  6917. else
  6918. goto <bb 19>; [34.00%]
  6919. <bb 15> [local count: 6317]:
  6920. # DEBUG BEGIN_STMT
  6921. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  6922. goto <bb 19>; [100.00%]
  6923. <bb 16> [local count: 9571]:
  6924. <L16>:
  6925. # DEBUG BEGIN_STMT
  6926. xTickCount.153_6 ={v} xTickCount;
  6927. if (xTickCount.153_6 != 0)
  6928. goto <bb 17>; [50.00%]
  6929. else
  6930. goto <bb 19>; [50.00%]
  6931. <bb 17> [local count: 4785]:
  6932. # DEBUG BEGIN_STMT
  6933. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6934. # DEBUG BEGIN_STMT
  6935. # DEBUG BEGIN_STMT
  6936. __asm__ __volatile__(" mov %0, %1
  6937. msr basepri, %0
  6938. isb
  6939. dsb
  6940. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  6941. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  6942. <bb 18> [local count: 47853715]:
  6943. # DEBUG ulNewBASEPRI => NULL
  6944. # DEBUG BEGIN_STMT
  6945. # DEBUG BEGIN_STMT
  6946. # DEBUG BEGIN_STMT
  6947. <bb 32> [local count: 47853715]:
  6948. goto <bb 18>; [100.00%]
  6949. <bb 19> [local count: 52639]:
  6950. # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  6951. <L35>:
  6952. # DEBUG xReturn => xReturn_24
  6953. # DEBUG BEGIN_STMT
  6954. # DEBUG BEGIN_STMT
  6955. if (ucOriginalNotifyState_36 == 1)
  6956. goto <bb 20>; [51.12%]
  6957. else
  6958. goto <bb 29>; [48.88%]
  6959. <bb 20> [local count: 26909]:
  6960. # DEBUG BEGIN_STMT
  6961. pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer;
  6962. # DEBUG pxList => pxList_44
  6963. # DEBUG BEGIN_STMT
  6964. _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext;
  6965. _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  6966. _7->pxPrevious = _8;
  6967. # DEBUG BEGIN_STMT
  6968. _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  6969. _9->pxNext = _7;
  6970. # DEBUG BEGIN_STMT
  6971. _10 = pxList_44->pxIndex;
  6972. _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem;
  6973. if (_10 == _11)
  6974. goto <bb 21>; [30.00%]
  6975. else
  6976. goto <bb 22>; [70.00%]
  6977. <bb 21> [local count: 8073]:
  6978. # DEBUG BEGIN_STMT
  6979. pxList_44->pxIndex = _9;
  6980. <bb 22> [local count: 26909]:
  6981. # DEBUG BEGIN_STMT
  6982. # DEBUG BEGIN_STMT
  6983. _12 ={v} pxList_44->uxNumberOfItems;
  6984. _13 = _12 + 4294967295;
  6985. pxList_44->uxNumberOfItems ={v} _13;
  6986. # DEBUG BEGIN_STMT
  6987. # DEBUG BEGIN_STMT
  6988. # DEBUG BEGIN_STMT
  6989. _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority;
  6990. uxTopReadyPriority.154_15 ={v} uxTopReadyPriority;
  6991. if (_14 > uxTopReadyPriority.154_15)
  6992. goto <bb 23>; [50.00%]
  6993. else
  6994. goto <bb 24>; [50.00%]
  6995. <bb 23> [local count: 13455]:
  6996. # DEBUG BEGIN_STMT
  6997. uxTopReadyPriority ={v} _14;
  6998. <bb 24> [local count: 26909]:
  6999. # DEBUG BEGIN_STMT
  7000. # DEBUG BEGIN_STMT
  7001. pxIndex_50 = pxReadyTasksLists[_14].pxIndex;
  7002. # DEBUG pxIndex => pxIndex_50
  7003. # DEBUG BEGIN_STMT
  7004. # DEBUG BEGIN_STMT
  7005. # DEBUG BEGIN_STMT
  7006. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50;
  7007. # DEBUG BEGIN_STMT
  7008. _16 = pxIndex_50->pxPrevious;
  7009. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16;
  7010. # DEBUG BEGIN_STMT
  7011. _17 = pxIndex_50->pxPrevious;
  7012. _17->pxNext = _11;
  7013. # DEBUG BEGIN_STMT
  7014. pxIndex_50->pxPrevious = _11;
  7015. # DEBUG BEGIN_STMT
  7016. _18 = &pxReadyTasksLists[_14];
  7017. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18;
  7018. # DEBUG BEGIN_STMT
  7019. _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems;
  7020. _20 = _19 + 1;
  7021. pxReadyTasksLists[_14].uxNumberOfItems ={v} _20;
  7022. # DEBUG BEGIN_STMT
  7023. # DEBUG BEGIN_STMT
  7024. # DEBUG BEGIN_STMT
  7025. _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer;
  7026. if (_21 != 0B)
  7027. goto <bb 25>; [70.00%]
  7028. else
  7029. goto <bb 27>; [30.00%]
  7030. <bb 25> [local count: 18836]:
  7031. # DEBUG BEGIN_STMT
  7032. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7033. # DEBUG BEGIN_STMT
  7034. # DEBUG BEGIN_STMT
  7035. __asm__ __volatile__(" mov %0, %1
  7036. msr basepri, %0
  7037. isb
  7038. dsb
  7039. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  7040. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  7041. <bb 26> [local count: 188363707]:
  7042. # DEBUG ulNewBASEPRI => NULL
  7043. # DEBUG BEGIN_STMT
  7044. # DEBUG BEGIN_STMT
  7045. # DEBUG BEGIN_STMT
  7046. <bb 33> [local count: 188363706]:
  7047. goto <bb 26>; [100.00%]
  7048. <bb 27> [local count: 8073]:
  7049. # DEBUG BEGIN_STMT
  7050. # DEBUG BEGIN_STMT
  7051. pxCurrentTCB.155_22 ={v} pxCurrentTCB;
  7052. _23 = pxCurrentTCB.155_22->uxPriority;
  7053. if (_14 > _23)
  7054. goto <bb 28>; [50.00%]
  7055. else
  7056. goto <bb 29>; [50.00%]
  7057. <bb 28> [local count: 4036]:
  7058. # DEBUG BEGIN_STMT
  7059. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  7060. # DEBUG BEGIN_STMT
  7061. __asm__ __volatile__("dsb" : : : "memory");
  7062. # DEBUG BEGIN_STMT
  7063. __asm__ __volatile__("isb");
  7064. # DEBUG BEGIN_STMT
  7065. <bb 29> [local count: 33803]:
  7066. # DEBUG BEGIN_STMT
  7067. # DEBUG BEGIN_STMT
  7068. vPortExitCritical ();
  7069. # DEBUG BEGIN_STMT
  7070. return xReturn_24;
  7071. }
  7072. ;; Function xTaskGenericNotifyFromISR (xTaskGenericNotifyFromISR, funcdef_no=68, decl_uid=6221, cgraph_uid=69, symbol_order=90)
  7073. Modification phase of node xTaskGenericNotifyFromISR/90
  7074. xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
  7075. {
  7076. uint32_t ulNewBASEPRI;
  7077. uint32_t ulNewBASEPRI;
  7078. uint32_t ulOriginalBASEPRI;
  7079. uint32_t ulNewBASEPRI;
  7080. uint32_t ulNewBASEPRI;
  7081. uint32_t ulNewBASEPRI;
  7082. struct ListItem_t * const pxIndex;
  7083. struct ListItem_t * const pxIndex;
  7084. struct List_t * const pxList;
  7085. BaseType_t xReturn;
  7086. uint8_t ucOriginalNotifyState;
  7087. long unsigned int _1;
  7088. long unsigned int _2;
  7089. long unsigned int _3;
  7090. long unsigned int _4;
  7091. long unsigned int _5;
  7092. long unsigned int xTickCount.156_6;
  7093. struct xLIST * _7;
  7094. long unsigned int uxSchedulerSuspended.157_8;
  7095. struct xLIST_ITEM * _9;
  7096. struct xLIST_ITEM * _10;
  7097. struct xLIST_ITEM * _11;
  7098. struct ListItem_t * _12;
  7099. struct ListItem_t * _13;
  7100. long unsigned int _14;
  7101. long unsigned int _15;
  7102. long unsigned int _16;
  7103. long unsigned int uxTopReadyPriority.158_17;
  7104. struct xLIST_ITEM * _18;
  7105. struct xLIST_ITEM * _19;
  7106. struct List_t * _20;
  7107. long unsigned int _21;
  7108. long unsigned int _22;
  7109. struct xLIST_ITEM * _23;
  7110. struct xLIST_ITEM * _24;
  7111. struct ListItem_t * _25;
  7112. long unsigned int _26;
  7113. long unsigned int _27;
  7114. long unsigned int _28;
  7115. struct TCB_t * pxCurrentTCB.159_29;
  7116. long unsigned int _30;
  7117. <bb 2> [local count: 228942]:
  7118. # DEBUG BEGIN_STMT
  7119. # DEBUG BEGIN_STMT
  7120. # DEBUG BEGIN_STMT
  7121. # DEBUG xReturn => 1
  7122. # DEBUG BEGIN_STMT
  7123. # DEBUG BEGIN_STMT
  7124. if (xTaskToNotify_39(D) == 0B)
  7125. goto <bb 3>; [30.00%]
  7126. else
  7127. goto <bb 5>; [70.00%]
  7128. <bb 3> [local count: 68683]:
  7129. # DEBUG BEGIN_STMT
  7130. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7131. # DEBUG BEGIN_STMT
  7132. # DEBUG BEGIN_STMT
  7133. __asm__ __volatile__(" mov %0, %1
  7134. msr basepri, %0
  7135. isb
  7136. dsb
  7137. " : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
  7138. # DEBUG ulNewBASEPRI => ulNewBASEPRI_76
  7139. <bb 4> [local count: 686828460]:
  7140. # DEBUG ulNewBASEPRI => NULL
  7141. # DEBUG BEGIN_STMT
  7142. # DEBUG BEGIN_STMT
  7143. # DEBUG BEGIN_STMT
  7144. <bb 35> [local count: 686828460]:
  7145. goto <bb 4>; [100.00%]
  7146. <bb 5> [local count: 160260]:
  7147. # DEBUG BEGIN_STMT
  7148. # DEBUG BEGIN_STMT
  7149. if (uxIndexToNotify_40(D) != 0)
  7150. goto <bb 6>; [67.00%]
  7151. else
  7152. goto <bb 8>; [33.00%]
  7153. <bb 6> [local count: 107374]:
  7154. # DEBUG BEGIN_STMT
  7155. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7156. # DEBUG BEGIN_STMT
  7157. # DEBUG BEGIN_STMT
  7158. __asm__ __volatile__(" mov %0, %1
  7159. msr basepri, %0
  7160. isb
  7161. dsb
  7162. " : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
  7163. # DEBUG ulNewBASEPRI => ulNewBASEPRI_77
  7164. <bb 7> [local count: 1073741824]:
  7165. # DEBUG ulNewBASEPRI => NULL
  7166. # DEBUG BEGIN_STMT
  7167. # DEBUG BEGIN_STMT
  7168. # DEBUG BEGIN_STMT
  7169. <bb 36> [local count: 1073741824]:
  7170. goto <bb 7>; [100.00%]
  7171. <bb 8> [local count: 52886]:
  7172. # DEBUG BEGIN_STMT
  7173. # DEBUG BEGIN_STMT
  7174. vPortValidateInterruptPriority ();
  7175. # DEBUG BEGIN_STMT
  7176. # DEBUG pxTCB => xTaskToNotify_39(D)
  7177. # DEBUG BEGIN_STMT
  7178. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  7179. # DEBUG BEGIN_STMT
  7180. # DEBUG BEGIN_STMT
  7181. __asm__ __volatile__(" mrs %0, basepri
  7182. mov %1, %2
  7183. msr basepri, %1
  7184. isb
  7185. dsb
  7186. " : "=r" ulOriginalBASEPRI_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory");
  7187. # DEBUG ulNewBASEPRI => ulNewBASEPRI_79
  7188. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78
  7189. # DEBUG BEGIN_STMT
  7190. # DEBUG ulNewBASEPRI => NULL
  7191. # DEBUG ulOriginalBASEPRI => NULL
  7192. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78
  7193. # DEBUG BEGIN_STMT
  7194. if (pulPreviousNotificationValue_43(D) != 0B)
  7195. goto <bb 9>; [70.00%]
  7196. else
  7197. goto <bb 10>; [30.00%]
  7198. <bb 9> [local count: 37020]:
  7199. # DEBUG BEGIN_STMT
  7200. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  7201. *pulPreviousNotificationValue_43(D) = _1;
  7202. <bb 10> [local count: 52886]:
  7203. # DEBUG BEGIN_STMT
  7204. ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0];
  7205. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45
  7206. # DEBUG BEGIN_STMT
  7207. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2;
  7208. # DEBUG BEGIN_STMT
  7209. switch (eAction_47(D)) <default: <L16> [16.67%], case 0: <L39> [16.67%], case 1: <L8> [16.67%], case 2: <L9> [16.67%], case 3: <L10> [16.67%], case 4: <L11> [16.67%]>
  7210. <bb 11> [local count: 8816]:
  7211. <L8>:
  7212. # DEBUG BEGIN_STMT
  7213. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  7214. _3 = _2 | ulValue_48(D);
  7215. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3;
  7216. # DEBUG BEGIN_STMT
  7217. goto <bb 19>; [100.00%]
  7218. <bb 12> [local count: 8816]:
  7219. <L9>:
  7220. # DEBUG BEGIN_STMT
  7221. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  7222. _5 = _4 + 1;
  7223. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5;
  7224. # DEBUG BEGIN_STMT
  7225. goto <bb 19>; [100.00%]
  7226. <bb 13> [local count: 8816]:
  7227. <L10>:
  7228. # DEBUG BEGIN_STMT
  7229. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  7230. # DEBUG BEGIN_STMT
  7231. goto <bb 19>; [100.00%]
  7232. <bb 14> [local count: 8816]:
  7233. <L11>:
  7234. # DEBUG BEGIN_STMT
  7235. if (ucOriginalNotifyState_45 != 2)
  7236. goto <bb 15>; [66.00%]
  7237. else
  7238. goto <bb 19>; [34.00%]
  7239. <bb 15> [local count: 5819]:
  7240. # DEBUG BEGIN_STMT
  7241. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  7242. goto <bb 19>; [100.00%]
  7243. <bb 16> [local count: 8816]:
  7244. <L16>:
  7245. # DEBUG BEGIN_STMT
  7246. xTickCount.156_6 ={v} xTickCount;
  7247. if (xTickCount.156_6 != 0)
  7248. goto <bb 17>; [50.00%]
  7249. else
  7250. goto <bb 19>; [50.00%]
  7251. <bb 17> [local count: 4408]:
  7252. # DEBUG BEGIN_STMT
  7253. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7254. # DEBUG BEGIN_STMT
  7255. # DEBUG BEGIN_STMT
  7256. __asm__ __volatile__(" mov %0, %1
  7257. msr basepri, %0
  7258. isb
  7259. dsb
  7260. " : "=r" ulNewBASEPRI_80 : "i" 16 : "memory");
  7261. # DEBUG ulNewBASEPRI => ulNewBASEPRI_80
  7262. <bb 18> [local count: 44080307]:
  7263. # DEBUG ulNewBASEPRI => NULL
  7264. # DEBUG BEGIN_STMT
  7265. # DEBUG BEGIN_STMT
  7266. # DEBUG BEGIN_STMT
  7267. <bb 37> [local count: 44080307]:
  7268. goto <bb 18>; [100.00%]
  7269. <bb 19> [local count: 48488]:
  7270. # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  7271. <L39>:
  7272. # DEBUG xReturn => xReturn_31
  7273. # DEBUG BEGIN_STMT
  7274. # DEBUG BEGIN_STMT
  7275. if (ucOriginalNotifyState_45 == 1)
  7276. goto <bb 20>; [34.00%]
  7277. else
  7278. goto <bb 34>; [66.00%]
  7279. <bb 20> [local count: 16486]:
  7280. # DEBUG BEGIN_STMT
  7281. _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer;
  7282. if (_7 != 0B)
  7283. goto <bb 21>; [70.00%]
  7284. else
  7285. goto <bb 23>; [30.00%]
  7286. <bb 21> [local count: 11540]:
  7287. # DEBUG BEGIN_STMT
  7288. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7289. # DEBUG BEGIN_STMT
  7290. # DEBUG BEGIN_STMT
  7291. __asm__ __volatile__(" mov %0, %1
  7292. msr basepri, %0
  7293. isb
  7294. dsb
  7295. " : "=r" ulNewBASEPRI_81 : "i" 16 : "memory");
  7296. # DEBUG ulNewBASEPRI => ulNewBASEPRI_81
  7297. <bb 22> [local count: 115402244]:
  7298. # DEBUG ulNewBASEPRI => NULL
  7299. # DEBUG BEGIN_STMT
  7300. # DEBUG BEGIN_STMT
  7301. # DEBUG BEGIN_STMT
  7302. <bb 38> [local count: 115402244]:
  7303. goto <bb 22>; [100.00%]
  7304. <bb 23> [local count: 4946]:
  7305. # DEBUG BEGIN_STMT
  7306. # DEBUG BEGIN_STMT
  7307. uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended;
  7308. if (uxSchedulerSuspended.157_8 == 0)
  7309. goto <bb 24>; [50.00%]
  7310. else
  7311. goto <bb 29>; [50.00%]
  7312. <bb 24> [local count: 2473]:
  7313. # DEBUG BEGIN_STMT
  7314. pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer;
  7315. # DEBUG pxList => pxList_60
  7316. # DEBUG BEGIN_STMT
  7317. _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext;
  7318. _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  7319. _9->pxPrevious = _10;
  7320. # DEBUG BEGIN_STMT
  7321. _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  7322. _11->pxNext = _9;
  7323. # DEBUG BEGIN_STMT
  7324. _12 = pxList_60->pxIndex;
  7325. _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem;
  7326. if (_12 == _13)
  7327. goto <bb 25>; [30.00%]
  7328. else
  7329. goto <bb 26>; [70.00%]
  7330. <bb 25> [local count: 742]:
  7331. # DEBUG BEGIN_STMT
  7332. pxList_60->pxIndex = _11;
  7333. <bb 26> [local count: 2473]:
  7334. # DEBUG BEGIN_STMT
  7335. # DEBUG BEGIN_STMT
  7336. _14 ={v} pxList_60->uxNumberOfItems;
  7337. _15 = _14 + 4294967295;
  7338. pxList_60->uxNumberOfItems ={v} _15;
  7339. # DEBUG BEGIN_STMT
  7340. # DEBUG BEGIN_STMT
  7341. # DEBUG BEGIN_STMT
  7342. _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  7343. uxTopReadyPriority.158_17 ={v} uxTopReadyPriority;
  7344. if (_16 > uxTopReadyPriority.158_17)
  7345. goto <bb 27>; [50.00%]
  7346. else
  7347. goto <bb 28>; [50.00%]
  7348. <bb 27> [local count: 1236]:
  7349. # DEBUG BEGIN_STMT
  7350. uxTopReadyPriority ={v} _16;
  7351. <bb 28> [local count: 2473]:
  7352. # DEBUG BEGIN_STMT
  7353. # DEBUG BEGIN_STMT
  7354. pxIndex_66 = pxReadyTasksLists[_16].pxIndex;
  7355. # DEBUG pxIndex => pxIndex_66
  7356. # DEBUG BEGIN_STMT
  7357. # DEBUG BEGIN_STMT
  7358. # DEBUG BEGIN_STMT
  7359. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66;
  7360. # DEBUG BEGIN_STMT
  7361. _18 = pxIndex_66->pxPrevious;
  7362. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18;
  7363. # DEBUG BEGIN_STMT
  7364. _19 = pxIndex_66->pxPrevious;
  7365. _19->pxNext = _13;
  7366. # DEBUG BEGIN_STMT
  7367. pxIndex_66->pxPrevious = _13;
  7368. # DEBUG BEGIN_STMT
  7369. _20 = &pxReadyTasksLists[_16];
  7370. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20;
  7371. # DEBUG BEGIN_STMT
  7372. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  7373. _22 = _21 + 1;
  7374. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  7375. # DEBUG BEGIN_STMT
  7376. # DEBUG BEGIN_STMT
  7377. goto <bb 30>; [100.00%]
  7378. <bb 29> [local count: 2473]:
  7379. # DEBUG BEGIN_STMT
  7380. pxIndex_53 = xPendingReadyList.pxIndex;
  7381. # DEBUG pxIndex => pxIndex_53
  7382. # DEBUG BEGIN_STMT
  7383. # DEBUG BEGIN_STMT
  7384. # DEBUG BEGIN_STMT
  7385. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53;
  7386. # DEBUG BEGIN_STMT
  7387. _23 = pxIndex_53->pxPrevious;
  7388. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23;
  7389. # DEBUG BEGIN_STMT
  7390. _24 = pxIndex_53->pxPrevious;
  7391. _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem;
  7392. _24->pxNext = _25;
  7393. # DEBUG BEGIN_STMT
  7394. pxIndex_53->pxPrevious = _25;
  7395. # DEBUG BEGIN_STMT
  7396. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList;
  7397. # DEBUG BEGIN_STMT
  7398. _26 ={v} xPendingReadyList.uxNumberOfItems;
  7399. _27 = _26 + 1;
  7400. xPendingReadyList.uxNumberOfItems ={v} _27;
  7401. <bb 30> [local count: 4946]:
  7402. # DEBUG BEGIN_STMT
  7403. # DEBUG BEGIN_STMT
  7404. _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  7405. pxCurrentTCB.159_29 ={v} pxCurrentTCB;
  7406. _30 = pxCurrentTCB.159_29->uxPriority;
  7407. if (_28 > _30)
  7408. goto <bb 31>; [50.00%]
  7409. else
  7410. goto <bb 34>; [50.00%]
  7411. <bb 31> [local count: 2473]:
  7412. # DEBUG BEGIN_STMT
  7413. if (pxHigherPriorityTaskWoken_73(D) != 0B)
  7414. goto <bb 32>; [70.00%]
  7415. else
  7416. goto <bb 33>; [30.00%]
  7417. <bb 32> [local count: 1731]:
  7418. # DEBUG BEGIN_STMT
  7419. *pxHigherPriorityTaskWoken_73(D) = 1;
  7420. <bb 33> [local count: 2473]:
  7421. # DEBUG BEGIN_STMT
  7422. xYieldPending ={v} 1;
  7423. <bb 34> [local count: 36948]:
  7424. # DEBUG BEGIN_STMT
  7425. # DEBUG BEGIN_STMT
  7426. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78
  7427. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  7428. # DEBUG BEGIN_STMT
  7429. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory");
  7430. # DEBUG ulNewMaskValue => NULL
  7431. # DEBUG BEGIN_STMT
  7432. return xReturn_31;
  7433. }
  7434. ;; Function vTaskGenericNotifyGiveFromISR (vTaskGenericNotifyGiveFromISR, funcdef_no=69, decl_uid=6231, cgraph_uid=70, symbol_order=91)
  7435. Modification phase of node vTaskGenericNotifyGiveFromISR/91
  7436. vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
  7437. {
  7438. uint32_t ulNewBASEPRI;
  7439. uint32_t ulOriginalBASEPRI;
  7440. uint32_t ulNewBASEPRI;
  7441. uint32_t ulNewBASEPRI;
  7442. uint32_t ulNewBASEPRI;
  7443. struct ListItem_t * const pxIndex;
  7444. struct ListItem_t * const pxIndex;
  7445. struct List_t * const pxList;
  7446. uint8_t ucOriginalNotifyState;
  7447. long unsigned int _1;
  7448. long unsigned int _2;
  7449. struct xLIST * _3;
  7450. long unsigned int uxSchedulerSuspended.160_4;
  7451. struct xLIST_ITEM * _5;
  7452. struct xLIST_ITEM * _6;
  7453. struct xLIST_ITEM * _7;
  7454. struct ListItem_t * _8;
  7455. struct ListItem_t * _9;
  7456. long unsigned int _10;
  7457. long unsigned int _11;
  7458. long unsigned int _12;
  7459. long unsigned int uxTopReadyPriority.161_13;
  7460. struct xLIST_ITEM * _14;
  7461. struct xLIST_ITEM * _15;
  7462. struct List_t * _16;
  7463. long unsigned int _17;
  7464. long unsigned int _18;
  7465. struct xLIST_ITEM * _19;
  7466. struct xLIST_ITEM * _20;
  7467. struct ListItem_t * _21;
  7468. long unsigned int _22;
  7469. long unsigned int _23;
  7470. long unsigned int _24;
  7471. struct TCB_t * pxCurrentTCB.162_25;
  7472. long unsigned int _26;
  7473. <bb 2> [local count: 228942]:
  7474. # DEBUG BEGIN_STMT
  7475. # DEBUG BEGIN_STMT
  7476. # DEBUG BEGIN_STMT
  7477. # DEBUG BEGIN_STMT
  7478. if (xTaskToNotify_32(D) == 0B)
  7479. goto <bb 3>; [30.00%]
  7480. else
  7481. goto <bb 5>; [70.00%]
  7482. <bb 3> [local count: 68683]:
  7483. # DEBUG BEGIN_STMT
  7484. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7485. # DEBUG BEGIN_STMT
  7486. # DEBUG BEGIN_STMT
  7487. __asm__ __volatile__(" mov %0, %1
  7488. msr basepri, %0
  7489. isb
  7490. dsb
  7491. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  7492. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  7493. <bb 4> [local count: 686828460]:
  7494. # DEBUG ulNewBASEPRI => NULL
  7495. # DEBUG BEGIN_STMT
  7496. # DEBUG BEGIN_STMT
  7497. # DEBUG BEGIN_STMT
  7498. <bb 24> [local count: 686828460]:
  7499. goto <bb 4>; [100.00%]
  7500. <bb 5> [local count: 160260]:
  7501. # DEBUG BEGIN_STMT
  7502. # DEBUG BEGIN_STMT
  7503. if (uxIndexToNotify_33(D) != 0)
  7504. goto <bb 6>; [67.00%]
  7505. else
  7506. goto <bb 8>; [33.00%]
  7507. <bb 6> [local count: 107374]:
  7508. # DEBUG BEGIN_STMT
  7509. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7510. # DEBUG BEGIN_STMT
  7511. # DEBUG BEGIN_STMT
  7512. __asm__ __volatile__(" mov %0, %1
  7513. msr basepri, %0
  7514. isb
  7515. dsb
  7516. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  7517. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  7518. <bb 7> [local count: 1073741824]:
  7519. # DEBUG ulNewBASEPRI => NULL
  7520. # DEBUG BEGIN_STMT
  7521. # DEBUG BEGIN_STMT
  7522. # DEBUG BEGIN_STMT
  7523. <bb 25> [local count: 1073741824]:
  7524. goto <bb 7>; [100.00%]
  7525. <bb 8> [local count: 52886]:
  7526. # DEBUG BEGIN_STMT
  7527. # DEBUG BEGIN_STMT
  7528. vPortValidateInterruptPriority ();
  7529. # DEBUG BEGIN_STMT
  7530. # DEBUG pxTCB => xTaskToNotify_32(D)
  7531. # DEBUG BEGIN_STMT
  7532. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  7533. # DEBUG BEGIN_STMT
  7534. # DEBUG BEGIN_STMT
  7535. __asm__ __volatile__(" mrs %0, basepri
  7536. mov %1, %2
  7537. msr basepri, %1
  7538. isb
  7539. dsb
  7540. " : "=r" ulOriginalBASEPRI_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  7541. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  7542. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64
  7543. # DEBUG BEGIN_STMT
  7544. # DEBUG ulNewBASEPRI => NULL
  7545. # DEBUG ulOriginalBASEPRI => NULL
  7546. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64
  7547. # DEBUG BEGIN_STMT
  7548. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0];
  7549. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  7550. # DEBUG BEGIN_STMT
  7551. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2;
  7552. # DEBUG BEGIN_STMT
  7553. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0];
  7554. _2 = _1 + 1;
  7555. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2;
  7556. # DEBUG BEGIN_STMT
  7557. # DEBUG BEGIN_STMT
  7558. if (ucOriginalNotifyState_36 == 1)
  7559. goto <bb 9>; [34.00%]
  7560. else
  7561. goto <bb 23>; [66.00%]
  7562. <bb 9> [local count: 17981]:
  7563. # DEBUG BEGIN_STMT
  7564. _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer;
  7565. if (_3 != 0B)
  7566. goto <bb 10>; [70.00%]
  7567. else
  7568. goto <bb 12>; [30.00%]
  7569. <bb 10> [local count: 12587]:
  7570. # DEBUG BEGIN_STMT
  7571. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7572. # DEBUG BEGIN_STMT
  7573. # DEBUG BEGIN_STMT
  7574. __asm__ __volatile__(" mov %0, %1
  7575. msr basepri, %0
  7576. isb
  7577. dsb
  7578. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  7579. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  7580. <bb 11> [local count: 125868183]:
  7581. # DEBUG ulNewBASEPRI => NULL
  7582. # DEBUG BEGIN_STMT
  7583. # DEBUG BEGIN_STMT
  7584. # DEBUG BEGIN_STMT
  7585. <bb 26> [local count: 125868183]:
  7586. goto <bb 11>; [100.00%]
  7587. <bb 12> [local count: 5394]:
  7588. # DEBUG BEGIN_STMT
  7589. # DEBUG BEGIN_STMT
  7590. uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended;
  7591. if (uxSchedulerSuspended.160_4 == 0)
  7592. goto <bb 13>; [50.00%]
  7593. else
  7594. goto <bb 18>; [50.00%]
  7595. <bb 13> [local count: 2697]:
  7596. # DEBUG BEGIN_STMT
  7597. pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer;
  7598. # DEBUG pxList => pxList_46
  7599. # DEBUG BEGIN_STMT
  7600. _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext;
  7601. _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  7602. _5->pxPrevious = _6;
  7603. # DEBUG BEGIN_STMT
  7604. _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  7605. _7->pxNext = _5;
  7606. # DEBUG BEGIN_STMT
  7607. _8 = pxList_46->pxIndex;
  7608. _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem;
  7609. if (_8 == _9)
  7610. goto <bb 14>; [30.00%]
  7611. else
  7612. goto <bb 15>; [70.00%]
  7613. <bb 14> [local count: 809]:
  7614. # DEBUG BEGIN_STMT
  7615. pxList_46->pxIndex = _7;
  7616. <bb 15> [local count: 2697]:
  7617. # DEBUG BEGIN_STMT
  7618. # DEBUG BEGIN_STMT
  7619. _10 ={v} pxList_46->uxNumberOfItems;
  7620. _11 = _10 + 4294967295;
  7621. pxList_46->uxNumberOfItems ={v} _11;
  7622. # DEBUG BEGIN_STMT
  7623. # DEBUG BEGIN_STMT
  7624. # DEBUG BEGIN_STMT
  7625. _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  7626. uxTopReadyPriority.161_13 ={v} uxTopReadyPriority;
  7627. if (_12 > uxTopReadyPriority.161_13)
  7628. goto <bb 16>; [50.00%]
  7629. else
  7630. goto <bb 17>; [50.00%]
  7631. <bb 16> [local count: 1349]:
  7632. # DEBUG BEGIN_STMT
  7633. uxTopReadyPriority ={v} _12;
  7634. <bb 17> [local count: 2697]:
  7635. # DEBUG BEGIN_STMT
  7636. # DEBUG BEGIN_STMT
  7637. pxIndex_52 = pxReadyTasksLists[_12].pxIndex;
  7638. # DEBUG pxIndex => pxIndex_52
  7639. # DEBUG BEGIN_STMT
  7640. # DEBUG BEGIN_STMT
  7641. # DEBUG BEGIN_STMT
  7642. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52;
  7643. # DEBUG BEGIN_STMT
  7644. _14 = pxIndex_52->pxPrevious;
  7645. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14;
  7646. # DEBUG BEGIN_STMT
  7647. _15 = pxIndex_52->pxPrevious;
  7648. _15->pxNext = _9;
  7649. # DEBUG BEGIN_STMT
  7650. pxIndex_52->pxPrevious = _9;
  7651. # DEBUG BEGIN_STMT
  7652. _16 = &pxReadyTasksLists[_12];
  7653. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16;
  7654. # DEBUG BEGIN_STMT
  7655. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  7656. _18 = _17 + 1;
  7657. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  7658. # DEBUG BEGIN_STMT
  7659. # DEBUG BEGIN_STMT
  7660. goto <bb 19>; [100.00%]
  7661. <bb 18> [local count: 2697]:
  7662. # DEBUG BEGIN_STMT
  7663. pxIndex_39 = xPendingReadyList.pxIndex;
  7664. # DEBUG pxIndex => pxIndex_39
  7665. # DEBUG BEGIN_STMT
  7666. # DEBUG BEGIN_STMT
  7667. # DEBUG BEGIN_STMT
  7668. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39;
  7669. # DEBUG BEGIN_STMT
  7670. _19 = pxIndex_39->pxPrevious;
  7671. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19;
  7672. # DEBUG BEGIN_STMT
  7673. _20 = pxIndex_39->pxPrevious;
  7674. _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem;
  7675. _20->pxNext = _21;
  7676. # DEBUG BEGIN_STMT
  7677. pxIndex_39->pxPrevious = _21;
  7678. # DEBUG BEGIN_STMT
  7679. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList;
  7680. # DEBUG BEGIN_STMT
  7681. _22 ={v} xPendingReadyList.uxNumberOfItems;
  7682. _23 = _22 + 1;
  7683. xPendingReadyList.uxNumberOfItems ={v} _23;
  7684. <bb 19> [local count: 5394]:
  7685. # DEBUG BEGIN_STMT
  7686. # DEBUG BEGIN_STMT
  7687. _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  7688. pxCurrentTCB.162_25 ={v} pxCurrentTCB;
  7689. _26 = pxCurrentTCB.162_25->uxPriority;
  7690. if (_24 > _26)
  7691. goto <bb 20>; [50.00%]
  7692. else
  7693. goto <bb 23>; [50.00%]
  7694. <bb 20> [local count: 2697]:
  7695. # DEBUG BEGIN_STMT
  7696. if (pxHigherPriorityTaskWoken_59(D) != 0B)
  7697. goto <bb 21>; [70.00%]
  7698. else
  7699. goto <bb 22>; [30.00%]
  7700. <bb 21> [local count: 1888]:
  7701. # DEBUG BEGIN_STMT
  7702. *pxHigherPriorityTaskWoken_59(D) = 1;
  7703. <bb 22> [local count: 2697]:
  7704. # DEBUG BEGIN_STMT
  7705. xYieldPending ={v} 1;
  7706. <bb 23> [local count: 40299]:
  7707. # DEBUG BEGIN_STMT
  7708. # DEBUG BEGIN_STMT
  7709. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64
  7710. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  7711. # DEBUG BEGIN_STMT
  7712. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory");
  7713. # DEBUG ulNewMaskValue => NULL
  7714. return;
  7715. }
  7716. ;; Function xTaskGenericNotifyStateClear (xTaskGenericNotifyStateClear, funcdef_no=70, decl_uid=6238, cgraph_uid=71, symbol_order=92)
  7717. Modification phase of node xTaskGenericNotifyStateClear/92
  7718. xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
  7719. {
  7720. uint32_t ulNewBASEPRI;
  7721. BaseType_t xReturn;
  7722. unsigned char _1;
  7723. struct TCB_t * iftmp.163_3;
  7724. struct TCB_t * iftmp.163_8;
  7725. <bb 2> [local count: 214748]:
  7726. # DEBUG BEGIN_STMT
  7727. # DEBUG BEGIN_STMT
  7728. # DEBUG BEGIN_STMT
  7729. if (uxIndexToClear_5(D) != 0)
  7730. goto <bb 3>; [50.00%]
  7731. else
  7732. goto <bb 5>; [50.00%]
  7733. <bb 3> [local count: 107374]:
  7734. # DEBUG BEGIN_STMT
  7735. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7736. # DEBUG BEGIN_STMT
  7737. # DEBUG BEGIN_STMT
  7738. __asm__ __volatile__(" mov %0, %1
  7739. msr basepri, %0
  7740. isb
  7741. dsb
  7742. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  7743. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  7744. <bb 4> [local count: 1073741824]:
  7745. # DEBUG ulNewBASEPRI => NULL
  7746. # DEBUG BEGIN_STMT
  7747. # DEBUG BEGIN_STMT
  7748. # DEBUG BEGIN_STMT
  7749. <bb 10> [local count: 1073741824]:
  7750. goto <bb 4>; [100.00%]
  7751. <bb 5> [local count: 107374]:
  7752. # DEBUG BEGIN_STMT
  7753. # DEBUG BEGIN_STMT
  7754. if (xTask_6(D) == 0B)
  7755. goto <bb 6>; [30.00%]
  7756. else
  7757. goto <bb 7>; [70.00%]
  7758. <bb 6> [local count: 32212]:
  7759. iftmp.163_8 ={v} pxCurrentTCB;
  7760. <bb 7> [local count: 107374]:
  7761. # iftmp.163_3 = PHI <iftmp.163_8(6), xTask_6(D)(5)>
  7762. # DEBUG pxTCB => iftmp.163_3
  7763. # DEBUG BEGIN_STMT
  7764. vPortEnterCritical ();
  7765. # DEBUG BEGIN_STMT
  7766. _1 ={v} iftmp.163_3->ucNotifyState[0];
  7767. if (_1 == 2)
  7768. goto <bb 8>; [34.00%]
  7769. else
  7770. goto <bb 9>; [66.00%]
  7771. <bb 8> [local count: 36507]:
  7772. # DEBUG BEGIN_STMT
  7773. iftmp.163_3->ucNotifyState[0] ={v} 0;
  7774. # DEBUG BEGIN_STMT
  7775. # DEBUG xReturn => 1
  7776. <bb 9> [local count: 107374]:
  7777. # xReturn_2 = PHI <1(8), 0(7)>
  7778. # DEBUG xReturn => xReturn_2
  7779. # DEBUG BEGIN_STMT
  7780. vPortExitCritical ();
  7781. # DEBUG BEGIN_STMT
  7782. return xReturn_2;
  7783. }
  7784. ;; Function ulTaskGenericNotifyValueClear (ulTaskGenericNotifyValueClear, funcdef_no=71, decl_uid=6242, cgraph_uid=72, symbol_order=93)
  7785. Modification phase of node ulTaskGenericNotifyValueClear/93
  7786. ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
  7787. {
  7788. uint32_t ulReturn;
  7789. long unsigned int _1;
  7790. long unsigned int _2;
  7791. long unsigned int _3;
  7792. struct TCB_t * iftmp.164_4;
  7793. struct TCB_t * iftmp.164_7;
  7794. <bb 2> [local count: 1073741824]:
  7795. # DEBUG BEGIN_STMT
  7796. # DEBUG BEGIN_STMT
  7797. # DEBUG BEGIN_STMT
  7798. if (xTask_5(D) == 0B)
  7799. goto <bb 3>; [30.00%]
  7800. else
  7801. goto <bb 4>; [70.00%]
  7802. <bb 3> [local count: 322122547]:
  7803. iftmp.164_7 ={v} pxCurrentTCB;
  7804. <bb 4> [local count: 1073741824]:
  7805. # iftmp.164_4 = PHI <iftmp.164_7(3), xTask_5(D)(2)>
  7806. # DEBUG pxTCB => iftmp.164_4
  7807. # DEBUG BEGIN_STMT
  7808. vPortEnterCritical ();
  7809. # DEBUG BEGIN_STMT
  7810. ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  7811. # DEBUG ulReturn => ulReturn_10
  7812. # DEBUG BEGIN_STMT
  7813. _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  7814. _2 = ~ulBitsToClear_11(D);
  7815. _3 = _1 & _2;
  7816. iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3;
  7817. # DEBUG BEGIN_STMT
  7818. vPortExitCritical ();
  7819. # DEBUG BEGIN_STMT
  7820. return ulReturn_10;
  7821. }