tasks.c.075i.fnsummary 361 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846
  1. Analyzing function: prvListTasksWithinSingleList.part.0/158
  2. ;; 2 loops found
  3. ;;
  4. ;; Loop 0
  5. ;; header 0, latch 1
  6. ;; depth 0, outer -1
  7. ;; nodes: 0 1 10 2 3 4 5 6 7 8 9
  8. ;;
  9. ;; Loop 1
  10. ;; header 5, latch 8
  11. ;; depth 1, outer 0
  12. ;; nodes: 5 8 7 6
  13. ;; 10 succs { 2 }
  14. ;; 2 succs { 3 4 }
  15. ;; 3 succs { 4 }
  16. ;; 4 succs { 5 }
  17. ;; 5 succs { 6 7 }
  18. ;; 6 succs { 7 }
  19. ;; 7 succs { 8 9 }
  20. ;; 8 succs { 5 }
  21. ;; 9 succs { 1 }
  22. Analyzing function body size: prvListTasksWithinSingleList.part.0
  23. IPA function summary for prvListTasksWithinSingleList.part.0/158 inlinable
  24. global time: 251.418183
  25. self size: 31
  26. global size: 0
  27. min size: 0
  28. self stack: 0
  29. global stack: 0
  30. size:18.500000, time:104.995455
  31. size:6.500000, time:18.150000, executed if:(not inlined)
  32. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
  33. size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed)
  34. calls:
  35. vTaskGetInfo/72 function not considered for inlining
  36. loop depth: 1 freq:9.09 size: 5 time: 14
  37. op2 is compile time invariant
  38. op3 change 10.990000% of time
  39. Analyzing function: vTaskSwitchContext.part.0/146
  40. ;; 2 loops found
  41. ;;
  42. ;; Loop 0
  43. ;; header 0, latch 1
  44. ;; depth 0, outer -1
  45. ;; nodes: 0 1 5 2 3 4
  46. ;;
  47. ;; Loop 1
  48. ;; header 3, latch 4
  49. ;; depth 1, outer 0
  50. ;; nodes: 3 4
  51. ;; 5 succs { 2 }
  52. ;; 2 succs { 3 }
  53. ;; 3 succs { 4 }
  54. ;; 4 succs { 3 }
  55. Analyzing function body size: vTaskSwitchContext.part.0
  56. IPA function summary for vTaskSwitchContext.part.0/146 inlinable
  57. global time: 5.000000
  58. self size: 7
  59. global size: 0
  60. min size: 0
  61. self stack: 0
  62. global stack: 0
  63. size:5.000000, time:5.000000
  64. size:2.000000, time:0.000000, executed if:(not inlined)
  65. calls:
  66. Analyzing function: xTaskResumeAll.part.0/137
  67. ;; 3 loops found
  68. ;;
  69. ;; Loop 0
  70. ;; header 0, latch 1
  71. ;; depth 0, outer -1
  72. ;; nodes: 0 1 27 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  73. ;;
  74. ;; Loop 1
  75. ;; header 19, latch 22
  76. ;; depth 1, outer 0
  77. ;; nodes: 19 22 21 20
  78. ;;
  79. ;; Loop 2
  80. ;; header 14, latch 13
  81. ;; depth 1, outer 0
  82. ;; nodes: 14 13 11 12 9 10 7 8 5 6
  83. ;; 27 succs { 2 }
  84. ;; 2 succs { 3 26 }
  85. ;; 3 succs { 4 26 }
  86. ;; 4 succs { 14 }
  87. ;; 5 succs { 6 7 }
  88. ;; 6 succs { 7 }
  89. ;; 7 succs { 8 9 }
  90. ;; 8 succs { 9 }
  91. ;; 9 succs { 10 11 }
  92. ;; 10 succs { 11 }
  93. ;; 11 succs { 12 13 }
  94. ;; 12 succs { 13 }
  95. ;; 13 succs { 14 }
  96. ;; 14 succs { 5 15 }
  97. ;; 15 succs { 16 17 }
  98. ;; 16 succs { 17 }
  99. ;; 17 succs { 18 24 }
  100. ;; 18 succs { 19 }
  101. ;; 19 succs { 20 21 }
  102. ;; 20 succs { 21 }
  103. ;; 21 succs { 22 23 }
  104. ;; 22 succs { 19 }
  105. ;; 23 succs { 24 }
  106. ;; 24 succs { 25 26 }
  107. ;; 25 succs { 26 }
  108. ;; 26 succs { 1 }
  109. Analyzing function body size: xTaskResumeAll.part.0
  110. IPA function summary for xTaskResumeAll.part.0/137 inlinable
  111. global time: 155.186750
  112. self size: 88
  113. global size: 0
  114. min size: 0
  115. self stack: 0
  116. global stack: 0
  117. size:80.000000, time:119.350001
  118. size:3.000000, time:2.000000, executed if:(not inlined)
  119. calls:
  120. vPortEnterCritical/100 function body not available
  121. loop depth: 0 freq:1.00 size: 1 time: 10
  122. prvResetNextTaskUnblockTime/77 function not considered for inlining
  123. loop depth: 0 freq:0.13 size: 1 time: 10
  124. xTaskIncrementTick/56 function not considered for inlining
  125. loop depth: 1 freq:1.14 size: 2 time: 11
  126. vPortExitCritical/101 function body not available
  127. loop depth: 0 freq:1.00 size: 1 time: 10
  128. Analyzing function: xTaskIncrementTick.part.0/135
  129. ;; 3 loops found
  130. ;;
  131. ;; Loop 0
  132. ;; header 0, latch 1
  133. ;; depth 0, outer -1
  134. ;; nodes: 0 1 30 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
  135. ;;
  136. ;; Loop 1
  137. ;; header 5, latch 6
  138. ;; depth 1, outer 0
  139. ;; nodes: 5 6
  140. ;;
  141. ;; Loop 2
  142. ;; header 11, latch 10
  143. ;; depth 1, outer 0
  144. ;; nodes: 11 10 23 24 21 22 17 20 18 19 15 16 13
  145. ;; 30 succs { 2 }
  146. ;; 2 succs { 3 8 }
  147. ;; 3 succs { 4 7 }
  148. ;; 4 succs { 5 }
  149. ;; 5 succs { 6 }
  150. ;; 6 succs { 5 }
  151. ;; 7 succs { 8 }
  152. ;; 8 succs { 9 25 }
  153. ;; 9 succs { 11 }
  154. ;; 10 succs { 11 }
  155. ;; 11 succs { 12 13 }
  156. ;; 12 succs { 25 }
  157. ;; 13 succs { 14 15 }
  158. ;; 14 succs { 25 }
  159. ;; 15 succs { 16 17 }
  160. ;; 16 succs { 17 }
  161. ;; 17 succs { 18 21 }
  162. ;; 18 succs { 19 20 }
  163. ;; 19 succs { 20 }
  164. ;; 20 succs { 21 }
  165. ;; 21 succs { 22 23 }
  166. ;; 22 succs { 23 }
  167. ;; 23 succs { 24 10 }
  168. ;; 24 succs { 10 }
  169. ;; 25 succs { 26 27 }
  170. ;; 26 succs { 27 }
  171. ;; 27 succs { 28 29 }
  172. ;; 28 succs { 29 }
  173. ;; 29 succs { 1 }
  174. Analyzing function body size: xTaskIncrementTick.part.0
  175. IPA function summary for xTaskIncrementTick.part.0/135 inlinable
  176. global time: 171.007340
  177. self size: 97
  178. global size: 0
  179. min size: 0
  180. self stack: 0
  181. global stack: 0
  182. size:93.000000, time:168.027330
  183. size:3.000000, time:1.329999, executed if:(not inlined)
  184. calls:
  185. prvResetNextTaskUnblockTime/77 function not considered for inlining
  186. loop depth: 0 freq:0.17 size: 1 time: 10
  187. Analyzing function: eTaskGetState.part.0/122
  188. ;; 2 loops found
  189. ;;
  190. ;; Loop 0
  191. ;; header 0, latch 1
  192. ;; depth 0, outer -1
  193. ;; nodes: 0 1 6 2 3 4 5
  194. ;;
  195. ;; Loop 1
  196. ;; header 4, latch 3
  197. ;; depth 1, outer 0
  198. ;; nodes: 4 3 2
  199. ;; 6 succs { 4 }
  200. ;; 2 succs { 5 3 }
  201. ;; 3 succs { 4 }
  202. ;; 4 succs { 2 5 }
  203. ;; 5 succs { 1 }
  204. Analyzing function body size: eTaskGetState.part.0
  205. IPA function summary for eTaskGetState.part.0/122 inlinable
  206. global time: 8.635071
  207. self size: 8
  208. global size: 0
  209. min size: 0
  210. self stack: 0
  211. global stack: 0
  212. size:2.000000, time:3.791469
  213. size:3.000000, time:2.000000, executed if:(not inlined)
  214. size:0.500000, time:0.473934, executed if:(not inlined), nonconst if:(op0[ref offset: 672] changed) && (not inlined)
  215. size:2.500000, time:2.369668, nonconst if:(op0[ref offset: 672] changed)
  216. calls:
  217. Analyzing function: prvAddCurrentTaskToDelayedList.part.0/119
  218. ;; 1 loops found
  219. ;;
  220. ;; Loop 0
  221. ;; header 0, latch 1
  222. ;; depth 0, outer -1
  223. ;; nodes: 0 1 4 2 3
  224. ;; 4 succs { 2 }
  225. ;; 2 succs { 3 }
  226. ;; 3 succs { 1 }
  227. Analyzing function body size: prvAddCurrentTaskToDelayedList.part.0
  228. IPA function summary for prvAddCurrentTaskToDelayedList.part.0/119 inlinable
  229. global time: 18.000000
  230. self size: 19
  231. global size: 0
  232. min size: 0
  233. self stack: 0
  234. global stack: 0
  235. size:16.000000, time:16.000000
  236. size:3.000000, time:2.000000, executed if:(not inlined)
  237. calls:
  238. Analyzing function: prvInitialiseNewTask.isra.0/118
  239. ;; 3 loops found
  240. ;;
  241. ;; Loop 0
  242. ;; header 0, latch 1
  243. ;; depth 0, outer -1
  244. ;; nodes: 0 1 16 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  245. ;;
  246. ;; Loop 1
  247. ;; header 11, latch 12
  248. ;; depth 1, outer 0
  249. ;; nodes: 11 12
  250. ;;
  251. ;; Loop 2
  252. ;; header 6, latch 5
  253. ;; depth 1, outer 0
  254. ;; nodes: 6 5 4
  255. ;; 16 succs { 2 }
  256. ;; 2 succs { 3 8 }
  257. ;; 3 succs { 6 }
  258. ;; 4 succs { 7 5 }
  259. ;; 5 succs { 6 }
  260. ;; 6 succs { 4 7 }
  261. ;; 7 succs { 9 }
  262. ;; 8 succs { 9 }
  263. ;; 9 succs { 10 13 }
  264. ;; 10 succs { 11 }
  265. ;; 11 succs { 12 }
  266. ;; 12 succs { 11 }
  267. ;; 13 succs { 14 15 }
  268. ;; 14 succs { 15 }
  269. ;; 15 succs { 1 }
  270. Analyzing function body size: prvInitialiseNewTask.isra.0
  271. IPA function summary for prvInitialiseNewTask.isra.0/118 inlinable
  272. global time: 94.633845
  273. self size: 63
  274. global size: 0
  275. min size: 0
  276. self stack: 0
  277. global stack: 0
  278. size:2.500000, time:2.500000
  279. size:2.500000, time:0.500000, executed if:(not inlined)
  280. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op6[ref offset: 384] changed) && (not inlined)
  281. size:0.500000, time:0.500000, nonconst if:(op6[ref offset: 384] changed)
  282. size:3.000000, time:3.000000, nonconst if:(op2 changed)
  283. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  284. size:0.500000, time:0.150000, executed if:(op1 == 0B) && (not inlined)
  285. size:0.500000, time:0.150000, executed if:(op1 == 0B)
  286. size:9.000000, time:39.394537, executed if:(op1 != 0B)
  287. size:1.000000, time:2.608221, executed if:(op1 != 0B) && (not inlined)
  288. size:2.000000, time:2.000000, nonconst if:(op4 changed)
  289. size:5.000000, time:1.980007, executed if:(op4 <= 4) && (not inlined)
  290. size:4.000000, time:1.320005, executed if:(op4 <= 4)
  291. size:1.000000, time:0.330001, executed if:(op4 <= 4), nonconst if:(op4 changed) && (op4 <= 4)
  292. size:2.000000, time:0.660002, executed if:(op4 <= 4), nonconst if:(op5 changed) && (op4 <= 4)
  293. size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4) && (not inlined)
  294. size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4)
  295. size:5.000000, time:3.349994, executed if:(op4 > 4)
  296. calls:
  297. pxPortInitialiseStack/99 function body not available
  298. loop depth: 0 freq:0.33 size: 5 time: 14 predicate: (op4 <= 4)
  299. memset/97 function body not available
  300. loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4)
  301. op1 is compile time invariant
  302. op2 is compile time invariant
  303. memset/97 function body not available
  304. loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4)
  305. op1 is compile time invariant
  306. op2 is compile time invariant
  307. vListInitialiseItem/98 function body not available
  308. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4)
  309. vListInitialiseItem/98 function body not available
  310. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4)
  311. memset/97 function body not available
  312. loop depth: 0 freq:1.00 size: 4 time: 13
  313. op1 is compile time invariant
  314. Analyzing function: prvResetNextTaskUnblockTime.part.0/115
  315. ;; 1 loops found
  316. ;;
  317. ;; Loop 0
  318. ;; header 0, latch 1
  319. ;; depth 0, outer -1
  320. ;; nodes: 0 1 4 2 3
  321. ;; 4 succs { 2 }
  322. ;; 2 succs { 3 }
  323. ;; 3 succs { 1 }
  324. Analyzing function body size: prvResetNextTaskUnblockTime.part.0
  325. IPA function summary for prvResetNextTaskUnblockTime.part.0/115 inlinable
  326. global time: 6.000000
  327. self size: 7
  328. global size: 0
  329. min size: 0
  330. self stack: 0
  331. global stack: 0
  332. size:4.000000, time:4.000000
  333. size:3.000000, time:2.000000, executed if:(not inlined)
  334. calls:
  335. Analyzing function: prvTaskIsTaskSuspended.part.0/114
  336. ;; 1 loops found
  337. ;;
  338. ;; Loop 0
  339. ;; header 0, latch 1
  340. ;; depth 0, outer -1
  341. ;; nodes: 0 1 6 2 3 4 5
  342. ;; 6 succs { 2 }
  343. ;; 2 succs { 3 5 }
  344. ;; 3 succs { 4 5 }
  345. ;; 4 succs { 5 }
  346. ;; 5 succs { 1 }
  347. Analyzing function body size: prvTaskIsTaskSuspended.part.0
  348. IPA function summary for prvTaskIsTaskSuspended.part.0/114 inlinable
  349. global time: 6.400000
  350. self size: 8
  351. global size: 0
  352. min size: 0
  353. self stack: 0
  354. global stack: 0
  355. size:0.000000, time:0.000000
  356. size:2.000000, time:0.000000, executed if:(not inlined)
  357. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 320] changed) && (not inlined)
  358. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 320] changed)
  359. size:2.000000, time:1.400000, executed if:(op0[ref offset: 320] != &xPendingReadyList), nonconst if:(op0[ref offset: 320] changed) && (op0[ref offset: 320] != &xPendingReadyList)
  360. size:1.000000, time:2.000000, executed if:(op0[ref offset: 320] != &xPendingReadyList || op0[ref offset: 320] == &xPendingReadyList) && (not inlined)
  361. calls:
  362. Analyzing function: prvAddCurrentTaskToDelayedList/94
  363. ;; 1 loops found
  364. ;;
  365. ;; Loop 0
  366. ;; header 0, latch 1
  367. ;; depth 0, outer -1
  368. ;; nodes: 0 1 2 3 4 5 6 7 8 9
  369. ;; 2 succs { 3 5 }
  370. ;; 3 succs { 4 5 }
  371. ;; 4 succs { 9 }
  372. ;; 5 succs { 6 7 }
  373. ;; 6 succs { 9 }
  374. ;; 7 succs { 8 9 }
  375. ;; 8 succs { 9 }
  376. ;; 9 succs { 1 }
  377. Analyzing function body size: prvAddCurrentTaskToDelayedList
  378. IPA function summary for prvAddCurrentTaskToDelayedList/94 inlinable
  379. global time: 38.602500
  380. self size: 33
  381. global size: 0
  382. min size: 0
  383. self stack: 0
  384. global stack: 0
  385. size:4.000000, time:4.000000
  386. size:3.000000, time:2.000000, executed if:(not inlined)
  387. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  388. size:2.000000, time:0.680000, executed if:(op0 == 4294967295), nonconst if:(op1 changed) && (op0 == 4294967295)
  389. size:13.000000, time:7.262500, executed if:(op0 != 4294967295 || op1 == 0)
  390. calls:
  391. vListInsert/105 function body not available
  392. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  393. vListInsert/105 function body not available
  394. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  395. prvAddCurrentTaskToDelayedList.part.0/119 function not considered for inlining
  396. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 9 stack: 0 predicate: (op1 != 0) && (op0 == 4294967295)
  397. uxListRemove/103 function body not available
  398. loop depth: 0 freq:1.00 size: 2 time: 11
  399. Analyzing function: ulTaskGenericNotifyValueClear/93
  400. ;; 1 loops found
  401. ;;
  402. ;; Loop 0
  403. ;; header 0, latch 1
  404. ;; depth 0, outer -1
  405. ;; nodes: 0 1 2 3 4
  406. ;; 2 succs { 3 4 }
  407. ;; 3 succs { 4 }
  408. ;; 4 succs { 1 }
  409. Analyzing function body size: ulTaskGenericNotifyValueClear
  410. IPA function summary for ulTaskGenericNotifyValueClear/93 inlinable
  411. global time: 29.300000
  412. self size: 13
  413. global size: 0
  414. min size: 0
  415. self stack: 0
  416. global stack: 0
  417. size:4.000000, time:4.000000
  418. size:3.000000, time:2.000000, executed if:(not inlined)
  419. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  420. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  421. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  422. calls:
  423. vPortExitCritical/101 function body not available
  424. loop depth: 0 freq:1.00 size: 1 time: 10
  425. vPortEnterCritical/100 function body not available
  426. loop depth: 0 freq:1.00 size: 1 time: 10
  427. Analyzing function: xTaskGenericNotifyStateClear/92
  428. ;; 2 loops found
  429. ;;
  430. ;; Loop 0
  431. ;; header 0, latch 1
  432. ;; depth 0, outer -1
  433. ;; nodes: 0 1 2 3 4 10 5 6 7 8 9
  434. ;;
  435. ;; Loop 1
  436. ;; header 4, latch 10
  437. ;; depth 1, outer 0
  438. ;; nodes: 4 10
  439. ;; 2 succs { 3 5 }
  440. ;; 3 succs { 4 }
  441. ;; 4 succs { 10 }
  442. ;; 10 succs { 4 }
  443. ;; 5 succs { 6 7 }
  444. ;; 6 succs { 7 }
  445. ;; 7 succs { 8 9 }
  446. ;; 8 succs { 9 }
  447. ;; 9 succs { 1 }
  448. Analyzing function body size: xTaskGenericNotifyStateClear
  449. IPA function summary for xTaskGenericNotifyStateClear/92 inlinable
  450. global time: 18.319998
  451. self size: 19
  452. global size: 0
  453. min size: 0
  454. self stack: 0
  455. global stack: 0
  456. size:0.000000, time:0.000000
  457. size:2.000000, time:0.000000, executed if:(not inlined)
  458. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  459. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  460. size:1.000000, time:0.149999, executed if:(op0 == 0B) && (op1 == 0)
  461. size:4.000000, time:1.669999, executed if:(op1 == 0)
  462. size:1.000000, time:1.000000, executed if:(op1 == 0) && (not inlined)
  463. size:5.000000, time:2.500000, executed if:(op1 != 0)
  464. calls:
  465. vPortExitCritical/101 function body not available
  466. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  467. vPortEnterCritical/100 function body not available
  468. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  469. Analyzing function: vTaskGenericNotifyGiveFromISR/91
  470. ;; 4 loops found
  471. ;;
  472. ;; Loop 0
  473. ;; header 0, latch 1
  474. ;; depth 0, outer -1
  475. ;; nodes: 0 1 2 3 4 24 5 6 7 25 8 9 10 11 26 12 13 14 15 16 17 18 19 20 21 22 23
  476. ;;
  477. ;; Loop 3
  478. ;; header 4, latch 24
  479. ;; depth 1, outer 0
  480. ;; nodes: 4 24
  481. ;;
  482. ;; Loop 2
  483. ;; header 7, latch 25
  484. ;; depth 1, outer 0
  485. ;; nodes: 7 25
  486. ;;
  487. ;; Loop 1
  488. ;; header 11, latch 26
  489. ;; depth 1, outer 0
  490. ;; nodes: 11 26
  491. ;; 2 succs { 3 5 }
  492. ;; 3 succs { 4 }
  493. ;; 4 succs { 24 }
  494. ;; 24 succs { 4 }
  495. ;; 5 succs { 6 8 }
  496. ;; 6 succs { 7 }
  497. ;; 7 succs { 25 }
  498. ;; 25 succs { 7 }
  499. ;; 8 succs { 9 23 }
  500. ;; 9 succs { 10 12 }
  501. ;; 10 succs { 11 }
  502. ;; 11 succs { 26 }
  503. ;; 26 succs { 11 }
  504. ;; 12 succs { 13 18 }
  505. ;; 13 succs { 14 15 }
  506. ;; 14 succs { 15 }
  507. ;; 15 succs { 16 17 }
  508. ;; 16 succs { 17 }
  509. ;; 17 succs { 19 }
  510. ;; 18 succs { 19 }
  511. ;; 19 succs { 20 23 }
  512. ;; 20 succs { 21 22 }
  513. ;; 21 succs { 22 }
  514. ;; 22 succs { 23 }
  515. ;; 23 succs { 1 }
  516. Analyzing function body size: vTaskGenericNotifyGiveFromISR
  517. IPA function summary for vTaskGenericNotifyGiveFromISR/91 inlinable
  518. global time: 14.285789
  519. self size: 92
  520. global size: 0
  521. min size: 0
  522. self stack: 0
  523. global stack: 0
  524. size:0.000000, time:0.000000
  525. size:2.000000, time:0.000000, executed if:(not inlined)
  526. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  527. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  528. size:62.500000, time:3.769055, executed if:(op1 == 0) && (op0 != 0B)
  529. size:9.500000, time:0.929891, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  530. size:2.000000, time:0.023561, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 == 0) && (op0 != 0B)
  531. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  532. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B)
  533. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  534. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  535. calls:
  536. vPortValidateInterruptPriority/106 function body not available
  537. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  538. Analyzing function: xTaskGenericNotifyFromISR/90
  539. ;; 5 loops found
  540. ;;
  541. ;; Loop 0
  542. ;; header 0, latch 1
  543. ;; depth 0, outer -1
  544. ;; nodes: 0 1 2 3 4 35 5 6 7 36 8 9 10 11 12 13 14 15 16 17 18 37 19 20 21 22 38 23 24 25 26 27 28 29 30 31 32 33 34
  545. ;;
  546. ;; Loop 4
  547. ;; header 4, latch 35
  548. ;; depth 1, outer 0
  549. ;; nodes: 4 35
  550. ;;
  551. ;; Loop 3
  552. ;; header 7, latch 36
  553. ;; depth 1, outer 0
  554. ;; nodes: 7 36
  555. ;;
  556. ;; Loop 2
  557. ;; header 18, latch 37
  558. ;; depth 1, outer 0
  559. ;; nodes: 18 37
  560. ;;
  561. ;; Loop 1
  562. ;; header 22, latch 38
  563. ;; depth 1, outer 0
  564. ;; nodes: 22 38
  565. ;; 2 succs { 3 5 }
  566. ;; 3 succs { 4 }
  567. ;; 4 succs { 35 }
  568. ;; 35 succs { 4 }
  569. ;; 5 succs { 6 8 }
  570. ;; 6 succs { 7 }
  571. ;; 7 succs { 36 }
  572. ;; 36 succs { 7 }
  573. ;; 8 succs { 9 10 }
  574. ;; 9 succs { 10 }
  575. ;; 10 succs { 16 19 11 12 13 14 }
  576. ;; 11 succs { 19 }
  577. ;; 12 succs { 19 }
  578. ;; 13 succs { 19 }
  579. ;; 14 succs { 15 19 }
  580. ;; 15 succs { 19 }
  581. ;; 16 succs { 17 19 }
  582. ;; 17 succs { 18 }
  583. ;; 18 succs { 37 }
  584. ;; 37 succs { 18 }
  585. ;; 19 succs { 20 34 }
  586. ;; 20 succs { 21 23 }
  587. ;; 21 succs { 22 }
  588. ;; 22 succs { 38 }
  589. ;; 38 succs { 22 }
  590. ;; 23 succs { 24 29 }
  591. ;; 24 succs { 25 26 }
  592. ;; 25 succs { 26 }
  593. ;; 26 succs { 27 28 }
  594. ;; 27 succs { 28 }
  595. ;; 28 succs { 30 }
  596. ;; 29 succs { 30 }
  597. ;; 30 succs { 31 34 }
  598. ;; 31 succs { 32 33 }
  599. ;; 32 succs { 33 }
  600. ;; 33 succs { 34 }
  601. ;; 34 succs { 1 }
  602. Analyzing function body size: xTaskGenericNotifyFromISR
  603. IPA function summary for xTaskGenericNotifyFromISR/90 inlinable
  604. global time: 15.703943
  605. self size: 123
  606. global size: 0
  607. min size: 0
  608. self stack: 0
  609. global stack: 0
  610. size:0.000000, time:0.000000
  611. size:2.000000, time:0.000000, executed if:(not inlined)
  612. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  613. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  614. size:68.500000, time:3.378356, executed if:(op1 == 0) && (op0 != 0B)
  615. size:2.000000, time:0.462003, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 == 0) && (op0 != 0B)
  616. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  617. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B)
  618. size:8.500000, time:0.659990, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  619. size:12.000000, time:0.924007, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 == 0) && (op0 != 0B)
  620. size:2.500000, time:0.089724, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B)
  621. size:0.500000, time:0.012708, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B) && (not inlined)
  622. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B) && (not inlined)
  623. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B)
  624. size:1.000000, time:0.038508, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B) && (not inlined)
  625. size:2.000000, time:0.077015, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B)
  626. size:1.000000, time:0.038508, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B) && (not inlined)
  627. size:2.000000, time:0.077015, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B)
  628. size:2.000000, time:0.021604, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op5 changed) && (op1 == 0) && (op0 != 0B)
  629. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  630. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B)
  631. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  632. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  633. calls:
  634. vPortValidateInterruptPriority/106 function body not available
  635. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  636. Analyzing function: xTaskGenericNotify/89
  637. ;; 5 loops found
  638. ;;
  639. ;; Loop 0
  640. ;; header 0, latch 1
  641. ;; depth 0, outer -1
  642. ;; nodes: 0 1 2 3 4 30 5 6 7 31 8 9 10 11 12 13 14 15 16 17 18 32 19 20 21 22 23 24 25 26 33 27 28 29
  643. ;;
  644. ;; Loop 4
  645. ;; header 4, latch 30
  646. ;; depth 1, outer 0
  647. ;; nodes: 4 30
  648. ;;
  649. ;; Loop 3
  650. ;; header 7, latch 31
  651. ;; depth 1, outer 0
  652. ;; nodes: 7 31
  653. ;;
  654. ;; Loop 2
  655. ;; header 18, latch 32
  656. ;; depth 1, outer 0
  657. ;; nodes: 18 32
  658. ;;
  659. ;; Loop 1
  660. ;; header 26, latch 33
  661. ;; depth 1, outer 0
  662. ;; nodes: 26 33
  663. ;; 2 succs { 3 5 }
  664. ;; 3 succs { 4 }
  665. ;; 4 succs { 30 }
  666. ;; 30 succs { 4 }
  667. ;; 5 succs { 6 8 }
  668. ;; 6 succs { 7 }
  669. ;; 7 succs { 31 }
  670. ;; 31 succs { 7 }
  671. ;; 8 succs { 9 10 }
  672. ;; 9 succs { 10 }
  673. ;; 10 succs { 16 19 11 12 13 14 }
  674. ;; 11 succs { 19 }
  675. ;; 12 succs { 19 }
  676. ;; 13 succs { 19 }
  677. ;; 14 succs { 15 19 }
  678. ;; 15 succs { 19 }
  679. ;; 16 succs { 17 19 }
  680. ;; 17 succs { 18 }
  681. ;; 18 succs { 32 }
  682. ;; 32 succs { 18 }
  683. ;; 19 succs { 20 29 }
  684. ;; 20 succs { 21 22 }
  685. ;; 21 succs { 22 }
  686. ;; 22 succs { 23 24 }
  687. ;; 23 succs { 24 }
  688. ;; 24 succs { 25 27 }
  689. ;; 25 succs { 26 }
  690. ;; 26 succs { 33 }
  691. ;; 33 succs { 26 }
  692. ;; 27 succs { 28 29 }
  693. ;; 28 succs { 29 }
  694. ;; 29 succs { 1 }
  695. Analyzing function body size: xTaskGenericNotify
  696. IPA function summary for xTaskGenericNotify/89 inlinable
  697. global time: 19.409340
  698. self size: 101
  699. global size: 0
  700. min size: 0
  701. self stack: 0
  702. global stack: 0
  703. size:0.000000, time:0.000000
  704. size:2.000000, time:0.000000, executed if:(not inlined)
  705. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  706. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  707. size:2.000000, time:0.534701, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op4 changed) && (op0 != 0B) && (op1 == 0)
  708. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0) && (not inlined)
  709. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0)
  710. size:6.500000, time:1.146039, executed if:(op0 != 0B) && (op1 == 0) && (not inlined)
  711. size:50.500000, time:4.943545, executed if:(op0 != 0B) && (op1 == 0)
  712. size:12.000000, time:1.069402, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op3 changed) && (op0 != 0B) && (op1 == 0)
  713. size:2.500000, time:0.103845, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0)
  714. size:0.500000, time:0.014708, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0) && (not inlined)
  715. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0) && (not inlined)
  716. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0)
  717. size:1.000000, time:0.044569, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0) && (not inlined)
  718. size:2.000000, time:0.089137, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0)
  719. size:1.000000, time:0.044569, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0) && (not inlined)
  720. size:2.000000, time:0.089137, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0)
  721. size:5.000000, time:1.163247, executed if:(op0 == 0B) && (op1 == 0)
  722. size:5.000000, time:2.500000, executed if:(op1 != 0)
  723. calls:
  724. vPortExitCritical/101 function body not available
  725. loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  726. vPortEnterCritical/100 function body not available
  727. loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  728. Analyzing function: xTaskGenericNotifyWait/88
  729. ;; 2 loops found
  730. ;;
  731. ;; Loop 0
  732. ;; header 0, latch 1
  733. ;; depth 0, outer -1
  734. ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12
  735. ;;
  736. ;; Loop 1
  737. ;; header 4, latch 13
  738. ;; depth 1, outer 0
  739. ;; nodes: 4 13
  740. ;; 2 succs { 3 5 }
  741. ;; 3 succs { 4 }
  742. ;; 4 succs { 13 }
  743. ;; 13 succs { 4 }
  744. ;; 5 succs { 6 8 }
  745. ;; 6 succs { 7 8 }
  746. ;; 7 succs { 8 }
  747. ;; 8 succs { 9 10 }
  748. ;; 9 succs { 10 }
  749. ;; 10 succs { 12 11 }
  750. ;; 11 succs { 12 }
  751. ;; 12 succs { 1 }
  752. Analyzing function body size: xTaskGenericNotifyWait
  753. IPA function summary for xTaskGenericNotifyWait/88 inlinable
  754. global time: 27.462430
  755. self size: 49
  756. global size: 0
  757. min size: 0
  758. self stack: 0
  759. global stack: 0
  760. size:0.000000, time:0.000000
  761. size:2.000000, time:0.000000, executed if:(not inlined)
  762. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  763. size:20.000000, time:5.055622, executed if:(op0 == 0)
  764. size:1.000000, time:0.217802, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  765. size:2.000000, time:0.435605, executed if:(op0 == 0), nonconst if:(op4 changed) && (op0 == 0)
  766. size:3.000000, time:0.215631, executed if:(op4 != 0) && (op0 == 0)
  767. size:2.000000, time:0.660002, executed if:(op0 == 0), nonconst if:(op3 changed) && (op0 == 0)
  768. size:2.500000, time:0.577499, executed if:(op3 != 0B) && (op0 == 0)
  769. size:0.500000, time:0.115500, executed if:(op3 != 0B) && (op0 == 0) && (not inlined)
  770. size:1.000000, time:0.112199, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  771. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  772. size:5.000000, time:3.349994, executed if:(op0 != 0)
  773. calls:
  774. vPortExitCritical/101 function body not available
  775. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  776. vPortEnterCritical/100 function body not available
  777. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  778. vPortExitCritical/101 function body not available
  779. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  780. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  781. loop depth: 0 freq:0.07 size: 3 time: 12callee size:16 stack: 0 predicate: (op4 != 0) && (op0 == 0)
  782. op1 is compile time invariant
  783. vPortEnterCritical/100 function body not available
  784. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  785. Analyzing function: ulTaskGenericNotifyTake/87
  786. ;; 2 loops found
  787. ;;
  788. ;; Loop 0
  789. ;; header 0, latch 1
  790. ;; depth 0, outer -1
  791. ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12
  792. ;;
  793. ;; Loop 1
  794. ;; header 4, latch 13
  795. ;; depth 1, outer 0
  796. ;; nodes: 4 13
  797. ;; 2 succs { 3 5 }
  798. ;; 3 succs { 4 }
  799. ;; 4 succs { 13 }
  800. ;; 13 succs { 4 }
  801. ;; 5 succs { 6 8 }
  802. ;; 6 succs { 7 8 }
  803. ;; 7 succs { 8 }
  804. ;; 8 succs { 9 12 }
  805. ;; 9 succs { 10 11 }
  806. ;; 10 succs { 12 }
  807. ;; 11 succs { 12 }
  808. ;; 12 succs { 1 }
  809. Analyzing function body size: ulTaskGenericNotifyTake
  810. IPA function summary for ulTaskGenericNotifyTake/87 inlinable
  811. global time: 24.729284
  812. self size: 41
  813. global size: 0
  814. min size: 0
  815. self stack: 0
  816. global stack: 0
  817. size:0.000000, time:0.000000
  818. size:2.000000, time:0.000000, executed if:(not inlined)
  819. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  820. size:12.000000, time:3.630014, executed if:(op0 == 0)
  821. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  822. size:3.000000, time:0.163347, executed if:(op2 != 0) && (op0 == 0)
  823. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  824. size:3.000000, time:0.247492, executed if:(op1 == 0) && (op0 == 0)
  825. size:2.000000, time:0.164994, executed if:(op1 != 0) && (op0 == 0)
  826. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  827. size:5.000000, time:3.349994, executed if:(op0 != 0)
  828. calls:
  829. vPortExitCritical/101 function body not available
  830. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  831. vPortEnterCritical/100 function body not available
  832. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  833. vPortExitCritical/101 function body not available
  834. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  835. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  836. loop depth: 0 freq:0.05 size: 3 time: 12callee size:16 stack: 0 predicate: (op2 != 0) && (op0 == 0)
  837. op1 is compile time invariant
  838. vPortEnterCritical/100 function body not available
  839. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  840. Analyzing function: pvTaskIncrementMutexHeldCount/86
  841. ;; 1 loops found
  842. ;;
  843. ;; Loop 0
  844. ;; header 0, latch 1
  845. ;; depth 0, outer -1
  846. ;; nodes: 0 1 2 3 4
  847. ;; 2 succs { 3 4 }
  848. ;; 3 succs { 4 }
  849. ;; 4 succs { 1 }
  850. Analyzing function body size: pvTaskIncrementMutexHeldCount
  851. IPA function summary for pvTaskIncrementMutexHeldCount/86 inlinable
  852. global time: 8.800000
  853. self size: 11
  854. global size: 0
  855. min size: 0
  856. self stack: 0
  857. global stack: 0
  858. size:8.000000, time:6.800000
  859. size:3.000000, time:2.000000, executed if:(not inlined)
  860. calls:
  861. Analyzing function: uxTaskResetEventItemValue/85
  862. ;; 1 loops found
  863. ;;
  864. ;; Loop 0
  865. ;; header 0, latch 1
  866. ;; depth 0, outer -1
  867. ;; nodes: 0 1 2
  868. ;; 2 succs { 1 }
  869. Analyzing function body size: uxTaskResetEventItemValue
  870. IPA function summary for uxTaskResetEventItemValue/85 inlinable
  871. global time: 9.000000
  872. self size: 10
  873. global size: 0
  874. min size: 0
  875. self stack: 0
  876. global stack: 0
  877. size:7.000000, time:7.000000
  878. size:3.000000, time:2.000000, executed if:(not inlined)
  879. calls:
  880. Analyzing function: vTaskList/84
  881. ;; 2 loops found
  882. ;;
  883. ;; Loop 0
  884. ;; header 0, latch 1
  885. ;; depth 0, outer -1
  886. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10
  887. ;;
  888. ;; Loop 1
  889. ;; header 8, latch 7
  890. ;; depth 1, outer 0
  891. ;; nodes: 8 7 6 5 4
  892. ;; 2 succs { 3 10 }
  893. ;; 3 succs { 8 }
  894. ;; 4 succs { 5 6 }
  895. ;; 5 succs { 7 }
  896. ;; 6 succs { 7 }
  897. ;; 7 succs { 8 }
  898. ;; 8 succs { 4 9 }
  899. ;; 9 succs { 10 }
  900. ;; 10 succs { 1 }
  901. Analyzing function body size: vTaskList
  902. IPA function summary for vTaskList/84 inlinable
  903. global time: 270.215297
  904. self size: 47
  905. global size: 0
  906. min size: 0
  907. self stack: 0
  908. global stack: 0
  909. size:19.500000, time:64.973223
  910. size:3.500000, time:2.500000, executed if:(not inlined)
  911. calls:
  912. vPortFree/96 function body not available
  913. loop depth: 0 freq:0.53 size: 2 time: 11
  914. strlen/110 function body not available
  915. loop depth: 1 freq:4.33 size: 3 time: 12
  916. sprintf/111 function body not available
  917. loop depth: 1 freq:4.33 size: 7 time: 16
  918. op1 is compile time invariant
  919. prvWriteNameToBuffer/83 function not considered for inlining
  920. loop depth: 1 freq:4.33 size: 4 time: 13
  921. uxTaskGetSystemState/53 function not considered for inlining
  922. loop depth: 0 freq:0.53 size: 5 time: 14
  923. op2 is compile time invariant
  924. pvPortMalloc/95 function body not available
  925. loop depth: 0 freq:1.00 size: 3 time: 12
  926. Analyzing function: prvWriteNameToBuffer/83
  927. ;; 2 loops found
  928. ;;
  929. ;; Loop 0
  930. ;; header 0, latch 1
  931. ;; depth 0, outer -1
  932. ;; nodes: 0 1 2 3 4 5
  933. ;;
  934. ;; Loop 1
  935. ;; header 4, latch 3
  936. ;; depth 1, outer 0
  937. ;; nodes: 4 3
  938. ;; 2 succs { 4 }
  939. ;; 3 succs { 4 }
  940. ;; 4 succs { 3 5 }
  941. ;; 5 succs { 1 }
  942. Analyzing function body size: prvWriteNameToBuffer
  943. IPA function summary for prvWriteNameToBuffer/83 inlinable
  944. global time: 70.454546
  945. self size: 16
  946. global size: 0
  947. min size: 0
  948. self stack: 0
  949. global stack: 0
  950. size:7.000000, time:44.454546
  951. size:3.000000, time:2.000000, executed if:(not inlined)
  952. calls:
  953. strlen/110 function body not available
  954. loop depth: 0 freq:1.00 size: 3 time: 12
  955. strcpy/112 function body not available
  956. loop depth: 0 freq:1.00 size: 3 time: 12
  957. Analyzing function: vTaskPriorityDisinheritAfterTimeout/82
  958. ;; 3 loops found
  959. ;;
  960. ;; Loop 0
  961. ;; header 0, latch 1
  962. ;; depth 0, outer -1
  963. ;; nodes: 0 1 2 3 4 5 18 6 7 8 9 10 19 11 12 13 14 15 16 17
  964. ;;
  965. ;; Loop 2
  966. ;; header 5, latch 18
  967. ;; depth 1, outer 0
  968. ;; nodes: 5 18
  969. ;;
  970. ;; Loop 1
  971. ;; header 10, latch 19
  972. ;; depth 1, outer 0
  973. ;; nodes: 10 19
  974. ;; 2 succs { 3 17 }
  975. ;; 3 succs { 4 6 }
  976. ;; 4 succs { 5 }
  977. ;; 5 succs { 18 }
  978. ;; 18 succs { 5 }
  979. ;; 6 succs { 7 17 }
  980. ;; 7 succs { 8 17 }
  981. ;; 8 succs { 9 11 }
  982. ;; 9 succs { 10 }
  983. ;; 10 succs { 19 }
  984. ;; 19 succs { 10 }
  985. ;; 11 succs { 12 13 }
  986. ;; 12 succs { 13 }
  987. ;; 13 succs { 14 17 }
  988. ;; 14 succs { 15 16 }
  989. ;; 15 succs { 16 }
  990. ;; 16 succs { 17 }
  991. ;; 17 succs { 1 }
  992. Analyzing function body size: vTaskPriorityDisinheritAfterTimeout
  993. IPA function summary for vTaskPriorityDisinheritAfterTimeout/82 inlinable
  994. global time: 10.371967
  995. self size: 55
  996. global size: 0
  997. min size: 0
  998. self stack: 0
  999. global stack: 0
  1000. size:0.000000, time:0.000000
  1001. size:2.000000, time:0.000000, executed if:(not inlined)
  1002. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1003. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  1004. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  1005. size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1006. size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1007. size:1.000000, time:0.350000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1008. size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1009. size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1010. size:2.000000, time:0.700000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed || op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1011. size:2.000000, time:0.462001, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1012. size:23.000000, time:0.526507, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1013. size:3.000000, time:0.062873, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1014. size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1015. size:2.500000, time:0.137442, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1016. size:1.000000, time:0.032437, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1017. size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1018. size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1019. size:2.000000, time:0.109954, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1020. size:1.000000, time:1.252873, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  1021. size:5.000000, time:1.749999, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  1022. calls:
  1023. uxListRemove/103 function body not available
  1024. loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1025. Analyzing function: xTaskPriorityDisinherit/81
  1026. ;; 3 loops found
  1027. ;;
  1028. ;; Loop 0
  1029. ;; header 0, latch 1
  1030. ;; depth 0, outer -1
  1031. ;; nodes: 0 1 2 3 4 5 15 6 7 8 16 9 10 11 12 13 14
  1032. ;;
  1033. ;; Loop 2
  1034. ;; header 5, latch 15
  1035. ;; depth 1, outer 0
  1036. ;; nodes: 5 15
  1037. ;;
  1038. ;; Loop 1
  1039. ;; header 8, latch 16
  1040. ;; depth 1, outer 0
  1041. ;; nodes: 8 16
  1042. ;; 2 succs { 3 14 }
  1043. ;; 3 succs { 4 6 }
  1044. ;; 4 succs { 5 }
  1045. ;; 5 succs { 15 }
  1046. ;; 15 succs { 5 }
  1047. ;; 6 succs { 7 9 }
  1048. ;; 7 succs { 8 }
  1049. ;; 8 succs { 16 }
  1050. ;; 16 succs { 8 }
  1051. ;; 9 succs { 10 14 }
  1052. ;; 10 succs { 11 14 }
  1053. ;; 11 succs { 12 13 }
  1054. ;; 12 succs { 13 }
  1055. ;; 13 succs { 14 }
  1056. ;; 14 succs { 1 }
  1057. Analyzing function body size: xTaskPriorityDisinherit
  1058. IPA function summary for xTaskPriorityDisinherit/81 inlinable
  1059. global time: 9.958189
  1060. self size: 50
  1061. global size: 0
  1062. min size: 0
  1063. self stack: 0
  1064. global stack: 0
  1065. size:0.000000, time:0.000000
  1066. size:2.000000, time:0.000000, executed if:(not inlined)
  1067. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1068. size:8.000000, time:4.549986, executed if:(op0 != 0B)
  1069. size:0.500000, time:0.104999, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  1070. size:2.500000, time:0.524994, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  1071. size:3.000000, time:0.243603, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1072. size:3.500000, time:0.121103, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1073. size:16.500000, time:0.406951, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B)
  1074. size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1075. size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1076. size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1077. size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1078. size:2.000000, time:0.210002, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1079. size:1.000000, time:0.809999, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  1080. size:5.000000, time:0.525006, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  1081. calls:
  1082. uxListRemove/103 function body not available
  1083. loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op0[ref offset: 608] != 0) && (op0 != 0B)
  1084. Analyzing function: xTaskPriorityInherit/80
  1085. ;; 1 loops found
  1086. ;;
  1087. ;; Loop 0
  1088. ;; header 0, latch 1
  1089. ;; depth 0, outer -1
  1090. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  1091. ;; 2 succs { 3 13 }
  1092. ;; 3 succs { 4 11 }
  1093. ;; 4 succs { 5 6 }
  1094. ;; 5 succs { 6 }
  1095. ;; 6 succs { 7 10 }
  1096. ;; 7 succs { 8 9 }
  1097. ;; 8 succs { 9 }
  1098. ;; 9 succs { 13 }
  1099. ;; 10 succs { 13 }
  1100. ;; 11 succs { 12 13 }
  1101. ;; 12 succs { 13 }
  1102. ;; 13 succs { 1 }
  1103. Analyzing function body size: xTaskPriorityInherit
  1104. IPA function summary for xTaskPriorityInherit/80 inlinable
  1105. global time: 14.781627
  1106. self size: 48
  1107. global size: 0
  1108. min size: 0
  1109. self stack: 0
  1110. global stack: 0
  1111. size:0.000000, time:0.000000
  1112. size:3.000000, time:2.000000, executed if:(not inlined)
  1113. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1114. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B) && (not inlined)
  1115. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B)
  1116. size:30.000000, time:6.590815, executed if:(op0 != 0B)
  1117. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B) && (not inlined)
  1118. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B)
  1119. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
  1120. size:2.500000, time:0.875000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
  1121. size:3.000000, time:0.369758, executed if:(op0 != 0B) && (not inlined)
  1122. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  1123. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  1124. size:2.000000, time:0.700000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0 != 0B)
  1125. calls:
  1126. uxListRemove/103 function body not available
  1127. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  1128. Analyzing function: xTaskGetSchedulerState/79
  1129. ;; 1 loops found
  1130. ;;
  1131. ;; Loop 0
  1132. ;; header 0, latch 1
  1133. ;; depth 0, outer -1
  1134. ;; nodes: 0 1 2 3 4 5
  1135. ;; 2 succs { 5 3 }
  1136. ;; 3 succs { 5 4 }
  1137. ;; 4 succs { 5 }
  1138. ;; 5 succs { 1 }
  1139. Analyzing function body size: xTaskGetSchedulerState
  1140. IPA function summary for xTaskGetSchedulerState/79 inlinable
  1141. global time: 6.500000
  1142. self size: 9
  1143. global size: 0
  1144. min size: 0
  1145. self stack: 0
  1146. global stack: 0
  1147. size:6.000000, time:4.500000
  1148. size:3.000000, time:2.000000, executed if:(not inlined)
  1149. calls:
  1150. Analyzing function: xTaskGetCurrentTaskHandle/78
  1151. ;; 1 loops found
  1152. ;;
  1153. ;; Loop 0
  1154. ;; header 0, latch 1
  1155. ;; depth 0, outer -1
  1156. ;; nodes: 0 1 2
  1157. ;; 2 succs { 1 }
  1158. Analyzing function body size: xTaskGetCurrentTaskHandle
  1159. IPA function summary for xTaskGetCurrentTaskHandle/78 inlinable
  1160. global time: 3.000000
  1161. self size: 4
  1162. global size: 0
  1163. min size: 0
  1164. self stack: 0
  1165. global stack: 0
  1166. size:1.000000, time:1.000000
  1167. size:3.000000, time:2.000000, executed if:(not inlined)
  1168. calls:
  1169. Analyzing function: prvResetNextTaskUnblockTime/77
  1170. ;; 1 loops found
  1171. ;;
  1172. ;; Loop 0
  1173. ;; header 0, latch 1
  1174. ;; depth 0, outer -1
  1175. ;; nodes: 0 1 2 3 4 5
  1176. ;; 2 succs { 3 4 }
  1177. ;; 3 succs { 5 }
  1178. ;; 4 succs { 5 }
  1179. ;; 5 succs { 1 }
  1180. Analyzing function body size: prvResetNextTaskUnblockTime
  1181. IPA function summary for prvResetNextTaskUnblockTime/77 inlinable
  1182. global time: 11.500000
  1183. self size: 9
  1184. global size: 0
  1185. min size: 0
  1186. self stack: 0
  1187. global stack: 0
  1188. size:5.000000, time:4.500000
  1189. size:3.000000, time:2.000000, executed if:(not inlined)
  1190. calls:
  1191. prvResetNextTaskUnblockTime.part.0/115 function not considered for inlining
  1192. loop depth: 0 freq:0.50 size: 1 time: 10callee size: 3 stack: 0
  1193. Analyzing function: prvDeleteTCB/76
  1194. ;; 1 loops found
  1195. ;;
  1196. ;; Loop 0
  1197. ;; header 0, latch 1
  1198. ;; depth 0, outer -1
  1199. ;; nodes: 0 1 2
  1200. ;; 2 succs { 1 }
  1201. Analyzing function body size: prvDeleteTCB
  1202. IPA function summary for prvDeleteTCB/76 inlinable
  1203. global time: 25.000000
  1204. self size: 8
  1205. global size: 0
  1206. min size: 0
  1207. self stack: 0
  1208. global stack: 0
  1209. size:0.000000, time:0.000000
  1210. size:3.000000, time:2.000000, executed if:(not inlined)
  1211. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 384] changed) && (not inlined)
  1212. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 384] changed)
  1213. calls:
  1214. vPortFree/96 function body not available
  1215. loop depth: 0 freq:1.00 size: 2 time: 11
  1216. vPortFree/96 function body not available
  1217. loop depth: 0 freq:1.00 size: 2 time: 11
  1218. Analyzing function: uxTaskGetStackHighWaterMark/75
  1219. ;; 1 loops found
  1220. ;;
  1221. ;; Loop 0
  1222. ;; header 0, latch 1
  1223. ;; depth 0, outer -1
  1224. ;; nodes: 0 1 2 3 4
  1225. ;; 2 succs { 3 4 }
  1226. ;; 3 succs { 4 }
  1227. ;; 4 succs { 1 }
  1228. Analyzing function body size: uxTaskGetStackHighWaterMark
  1229. IPA function summary for uxTaskGetStackHighWaterMark/75 inlinable
  1230. global time: 17.300000
  1231. self size: 10
  1232. global size: 0
  1233. min size: 0
  1234. self stack: 0
  1235. global stack: 0
  1236. size:1.000000, time:1.000000
  1237. size:3.000000, time:2.000000, executed if:(not inlined)
  1238. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1239. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1240. calls:
  1241. prvTaskCheckFreeStackSpace/74 function not considered for inlining
  1242. loop depth: 0 freq:1.00 size: 3 time: 12
  1243. Analyzing function: prvTaskCheckFreeStackSpace/74
  1244. ;; 2 loops found
  1245. ;;
  1246. ;; Loop 0
  1247. ;; header 0, latch 1
  1248. ;; depth 0, outer -1
  1249. ;; nodes: 0 1 2 3 4 5
  1250. ;;
  1251. ;; Loop 1
  1252. ;; header 4, latch 3
  1253. ;; depth 1, outer 0
  1254. ;; nodes: 4 3
  1255. ;; 2 succs { 4 }
  1256. ;; 3 succs { 4 }
  1257. ;; 4 succs { 3 5 }
  1258. ;; 5 succs { 1 }
  1259. Analyzing function body size: prvTaskCheckFreeStackSpace
  1260. IPA function summary for prvTaskCheckFreeStackSpace/74 inlinable
  1261. global time: 46.454546
  1262. self size: 9
  1263. global size: 0
  1264. min size: 0
  1265. self stack: 0
  1266. global stack: 0
  1267. size:6.000000, time:44.454546
  1268. size:3.000000, time:2.000000, executed if:(not inlined)
  1269. calls:
  1270. Analyzing function: prvListTasksWithinSingleList/73
  1271. ;; 2 loops found
  1272. ;;
  1273. ;; Loop 0
  1274. ;; header 0, latch 1
  1275. ;; depth 0, outer -1
  1276. ;; nodes: 0 1 2 3 4
  1277. ;; 2 succs { 3 4 }
  1278. ;; 3 succs { 4 }
  1279. ;; 4 succs { 1 }
  1280. Analyzing function body size: prvListTasksWithinSingleList
  1281. IPA function summary for prvListTasksWithinSingleList/73 inlinable
  1282. global time: 12.000000
  1283. self size: 11
  1284. global size: 0
  1285. min size: 0
  1286. self stack: 0
  1287. global stack: 0
  1288. size:0.000000, time:0.000000
  1289. size:3.000000, time:2.000000, executed if:(not inlined)
  1290. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
  1291. size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed)
  1292. calls:
  1293. prvListTasksWithinSingleList.part.0/158 function not considered for inlining
  1294. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0 predicate: (op1[ref offset: 0] != 0)
  1295. Analyzing function: vTaskGetInfo/72
  1296. ;; 1 loops found
  1297. ;;
  1298. ;; Loop 0
  1299. ;; header 0, latch 1
  1300. ;; depth 0, outer -1
  1301. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  1302. ;; 2 succs { 3 4 }
  1303. ;; 3 succs { 4 }
  1304. ;; 4 succs { 5 11 }
  1305. ;; 5 succs { 6 7 }
  1306. ;; 6 succs { 12 }
  1307. ;; 7 succs { 8 12 }
  1308. ;; 8 succs { 9 10 }
  1309. ;; 9 succs { 10 }
  1310. ;; 10 succs { 12 }
  1311. ;; 11 succs { 12 }
  1312. ;; 12 succs { 13 14 }
  1313. ;; 13 succs { 15 }
  1314. ;; 14 succs { 15 }
  1315. ;; 15 succs { 1 }
  1316. Analyzing function body size: vTaskGetInfo
  1317. IPA function summary for vTaskGetInfo/72 inlinable
  1318. global time: 34.206434
  1319. self size: 44
  1320. global size: 0
  1321. min size: 0
  1322. self stack: 0
  1323. global stack: 0
  1324. size:7.500000, time:7.500000
  1325. size:6.500000, time:5.500000, executed if:(not inlined)
  1326. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1327. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1328. size:2.000000, time:2.000000, nonconst if:(op3 changed)
  1329. size:0.500000, time:0.101200, executed if:(op3 == 5) && (not inlined)
  1330. size:0.500000, time:0.101200, executed if:(op3 == 5)
  1331. size:4.000000, time:2.791600, executed if:(op3 != 5)
  1332. size:1.000000, time:0.398800, executed if:(op3 != 5) && (not inlined)
  1333. size:2.000000, time:1.116640, executed if:(op3 != 5), nonconst if:(op3 changed) && (op3 != 5)
  1334. size:3.500000, time:0.378563, executed if:(op3 == 3) && (op3 != 5)
  1335. size:0.500000, time:0.039551, executed if:(op3 == 3) && (op3 != 5) && (not inlined)
  1336. size:2.000000, time:2.000000, nonconst if:(op2 changed)
  1337. size:0.500000, time:0.335000, executed if:(op2 == 0) && (not inlined)
  1338. size:0.500000, time:0.335000, executed if:(op2 == 0)
  1339. size:1.500000, time:0.495000, executed if:(op2 != 0)
  1340. size:0.500000, time:0.165000, executed if:(op2 != 0) && (not inlined)
  1341. calls:
  1342. prvTaskCheckFreeStackSpace/74 function not considered for inlining
  1343. loop depth: 0 freq:0.33 size: 3 time: 12callee size: 4 stack: 0 predicate: (op2 != 0)
  1344. eTaskGetState/35 function not considered for inlining
  1345. loop depth: 0 freq:0.20 size: 3 time: 12 predicate: (op3 == 5)
  1346. xTaskResumeAll/46 function not considered for inlining
  1347. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op3 == 3) && (op3 != 5)
  1348. vTaskSuspendAll/45 function not considered for inlining
  1349. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op3 == 3) && (op3 != 5)
  1350. Analyzing function: prvCheckTasksWaitingTermination/71
  1351. ;; 2 loops found
  1352. ;;
  1353. ;; Loop 0
  1354. ;; header 0, latch 1
  1355. ;; depth 0, outer -1
  1356. ;; nodes: 0 1 2 3 4 5
  1357. ;;
  1358. ;; Loop 1
  1359. ;; header 4, latch 3
  1360. ;; depth 1, outer 0
  1361. ;; nodes: 4 3
  1362. ;; 2 succs { 4 }
  1363. ;; 3 succs { 4 }
  1364. ;; 4 succs { 3 5 }
  1365. ;; 5 succs { 1 }
  1366. Analyzing function body size: prvCheckTasksWaitingTermination
  1367. IPA function summary for prvCheckTasksWaitingTermination/71 inlinable
  1368. global time: 433.818185
  1369. self size: 20
  1370. global size: 0
  1371. min size: 0
  1372. self stack: 0
  1373. global stack: 0
  1374. size:11.000000, time:92.000000
  1375. size:3.000000, time:2.000000, executed if:(not inlined)
  1376. calls:
  1377. prvDeleteTCB/76 function not considered for inlining
  1378. loop depth: 1 freq:8.09 size: 2 time: 11callee size: 4 stack: 0
  1379. vPortExitCritical/101 function body not available
  1380. loop depth: 1 freq:8.09 size: 1 time: 10
  1381. uxListRemove/103 function body not available
  1382. loop depth: 1 freq:8.09 size: 2 time: 11
  1383. vPortEnterCritical/100 function body not available
  1384. loop depth: 1 freq:8.09 size: 1 time: 10
  1385. Analyzing function: prvInitialiseTaskLists/70
  1386. ;; 2 loops found
  1387. ;;
  1388. ;; Loop 0
  1389. ;; header 0, latch 1
  1390. ;; depth 0, outer -1
  1391. ;; nodes: 0 1 2 3 4 5
  1392. ;;
  1393. ;; Loop 1
  1394. ;; header 4, latch 3
  1395. ;; depth 1, outer 0
  1396. ;; nodes: 4 3
  1397. ;; 2 succs { 4 }
  1398. ;; 3 succs { 4 }
  1399. ;; 4 succs { 3 5 }
  1400. ;; 5 succs { 1 }
  1401. Analyzing function body size: prvInitialiseTaskLists
  1402. IPA function summary for prvInitialiseTaskLists/70 inlinable
  1403. global time: 130.983204
  1404. self size: 20
  1405. global size: 0
  1406. min size: 0
  1407. self stack: 0
  1408. global stack: 0
  1409. size:5.000000, time:18.996401
  1410. size:3.000000, time:2.000000, executed if:(not inlined)
  1411. calls:
  1412. vListInitialise/102 function body not available
  1413. loop depth: 0 freq:1.00 size: 2 time: 11
  1414. op0 is compile time invariant
  1415. vListInitialise/102 function body not available
  1416. loop depth: 0 freq:1.00 size: 2 time: 11
  1417. op0 is compile time invariant
  1418. vListInitialise/102 function body not available
  1419. loop depth: 0 freq:1.00 size: 2 time: 11
  1420. op0 is compile time invariant
  1421. vListInitialise/102 function body not available
  1422. loop depth: 0 freq:1.00 size: 2 time: 11
  1423. op0 is compile time invariant
  1424. vListInitialise/102 function body not available
  1425. loop depth: 0 freq:1.00 size: 2 time: 11
  1426. op0 is compile time invariant
  1427. vListInitialise/102 function body not available
  1428. loop depth: 1 freq:5.00 size: 2 time: 11
  1429. Analyzing function: prvIdleTask/69
  1430. ;; 3 loops found
  1431. ;;
  1432. ;; Loop 0
  1433. ;; header 0, latch 1
  1434. ;; depth 0, outer -1
  1435. ;; nodes: 0 1 2 3 4 6 5
  1436. ;;
  1437. ;; Loop 1
  1438. ;; header 3, latch 5
  1439. ;; depth 1, outer 0
  1440. ;; nodes: 3 5 4 6
  1441. ;;
  1442. ;; Loop 2
  1443. ;; header 4, latch 6
  1444. ;; depth 2, outer 1
  1445. ;; nodes: 4 6
  1446. ;; 2 succs { 3 }
  1447. ;; 3 succs { 4 }
  1448. ;; 4 succs { 5 6 }
  1449. ;; 6 succs { 4 }
  1450. ;; 5 succs { 3 }
  1451. Analyzing function body size: prvIdleTask
  1452. IPA function summary for prvIdleTask/69 inlinable
  1453. global time: 250338.064697
  1454. self size: 9
  1455. global size: 0
  1456. min size: 0
  1457. self stack: 0
  1458. global stack: 0
  1459. size:6.000000, time:80847.161133
  1460. size:2.000000, time:0.000000, executed if:(not inlined)
  1461. calls:
  1462. prvCheckTasksWaitingTermination/71 function not considered for inlining
  1463. loop depth: 2 freq:16949.09 size: 1 time: 10callee size:10 stack: 0
  1464. Analyzing function: vTaskSetTaskNumber/68
  1465. ;; 1 loops found
  1466. ;;
  1467. ;; Loop 0
  1468. ;; header 0, latch 1
  1469. ;; depth 0, outer -1
  1470. ;; nodes: 0 1 2 3 4
  1471. ;; 2 succs { 3 4 }
  1472. ;; 3 succs { 4 }
  1473. ;; 4 succs { 1 }
  1474. Analyzing function body size: vTaskSetTaskNumber
  1475. IPA function summary for vTaskSetTaskNumber/68 inlinable
  1476. global time: 4.700000
  1477. self size: 6
  1478. global size: 0
  1479. min size: 0
  1480. self stack: 0
  1481. global stack: 0
  1482. size:0.000000, time:0.000000
  1483. size:3.000000, time:2.000000, executed if:(not inlined)
  1484. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1485. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined)
  1486. size:0.500000, time:0.350000, executed if:(op0 != 0B)
  1487. calls:
  1488. Analyzing function: uxTaskGetTaskNumber/67
  1489. ;; 1 loops found
  1490. ;;
  1491. ;; Loop 0
  1492. ;; header 0, latch 1
  1493. ;; depth 0, outer -1
  1494. ;; nodes: 0 1 2 3 4
  1495. ;; 2 succs { 3 4 }
  1496. ;; 3 succs { 4 }
  1497. ;; 4 succs { 1 }
  1498. Analyzing function body size: uxTaskGetTaskNumber
  1499. IPA function summary for uxTaskGetTaskNumber/67 inlinable
  1500. global time: 4.700000
  1501. self size: 6
  1502. global size: 0
  1503. min size: 0
  1504. self stack: 0
  1505. global stack: 0
  1506. size:0.000000, time:0.000000
  1507. size:3.000000, time:2.000000, executed if:(not inlined)
  1508. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1509. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B) && (not inlined)
  1510. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B)
  1511. calls:
  1512. Analyzing function: vTaskMissedYield/66
  1513. ;; 1 loops found
  1514. ;;
  1515. ;; Loop 0
  1516. ;; header 0, latch 1
  1517. ;; depth 0, outer -1
  1518. ;; nodes: 0 1 2
  1519. ;; 2 succs { 1 }
  1520. Analyzing function body size: vTaskMissedYield
  1521. IPA function summary for vTaskMissedYield/66 inlinable
  1522. global time: 3.000000
  1523. self size: 4
  1524. global size: 0
  1525. min size: 0
  1526. self stack: 0
  1527. global stack: 0
  1528. size:1.000000, time:1.000000
  1529. size:3.000000, time:2.000000, executed if:(not inlined)
  1530. calls:
  1531. Analyzing function: xTaskCheckForTimeOut/65
  1532. ;; 3 loops found
  1533. ;;
  1534. ;; Loop 0
  1535. ;; header 0, latch 1
  1536. ;; depth 0, outer -1
  1537. ;; nodes: 0 1 2 3 4 18 5 6 7 19 8 9 10 11 12 13 14 15 16 17
  1538. ;;
  1539. ;; Loop 2
  1540. ;; header 4, latch 18
  1541. ;; depth 1, outer 0
  1542. ;; nodes: 4 18
  1543. ;;
  1544. ;; Loop 1
  1545. ;; header 7, latch 19
  1546. ;; depth 1, outer 0
  1547. ;; nodes: 7 19
  1548. ;; 2 succs { 3 5 }
  1549. ;; 3 succs { 4 }
  1550. ;; 4 succs { 18 }
  1551. ;; 18 succs { 4 }
  1552. ;; 5 succs { 6 8 }
  1553. ;; 6 succs { 7 }
  1554. ;; 7 succs { 19 }
  1555. ;; 19 succs { 7 }
  1556. ;; 8 succs { 9 10 }
  1557. ;; 9 succs { 17 }
  1558. ;; 10 succs { 17 11 }
  1559. ;; 11 succs { 12 14 }
  1560. ;; 12 succs { 13 14 }
  1561. ;; 13 succs { 17 }
  1562. ;; 14 succs { 15 16 }
  1563. ;; 15 succs { 17 }
  1564. ;; 16 succs { 17 }
  1565. ;; 17 succs { 1 }
  1566. Analyzing function body size: xTaskCheckForTimeOut
  1567. IPA function summary for xTaskCheckForTimeOut/65 inlinable
  1568. global time: 19.619846
  1569. self size: 46
  1570. global size: 0
  1571. min size: 0
  1572. self stack: 0
  1573. global stack: 0
  1574. size:0.000000, time:0.000000
  1575. size:2.000000, time:0.000000, executed if:(not inlined)
  1576. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1577. size:2.000000, time:1.400002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1578. size:22.000000, time:4.152264, executed if:(op1 != 0B) && (op0 != 0B)
  1579. size:4.000000, time:1.152813, executed if:(op1 != 0B) && (op0 != 0B) && (not inlined)
  1580. size:5.000000, time:1.628552, executed if:(op1 == 0B) && (op0 != 0B)
  1581. size:5.000000, time:1.499995, executed if:(op0 == 0B)
  1582. calls:
  1583. vPortExitCritical/101 function body not available
  1584. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  1585. vTaskInternalSetTimeOutState/64 function not considered for inlining
  1586. loop depth: 0 freq:0.03 size: 2 time: 11 predicate: (op1 != 0B) && (op0 != 0B)
  1587. vPortEnterCritical/100 function body not available
  1588. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  1589. Analyzing function: vTaskInternalSetTimeOutState/64
  1590. ;; 1 loops found
  1591. ;;
  1592. ;; Loop 0
  1593. ;; header 0, latch 1
  1594. ;; depth 0, outer -1
  1595. ;; nodes: 0 1 2
  1596. ;; 2 succs { 1 }
  1597. Analyzing function body size: vTaskInternalSetTimeOutState
  1598. IPA function summary for vTaskInternalSetTimeOutState/64 inlinable
  1599. global time: 6.000000
  1600. self size: 7
  1601. global size: 0
  1602. min size: 0
  1603. self stack: 0
  1604. global stack: 0
  1605. size:3.000000, time:3.000000
  1606. size:4.000000, time:3.000000, executed if:(not inlined)
  1607. calls:
  1608. Analyzing function: vTaskSetTimeOutState/63
  1609. ;; 2 loops found
  1610. ;;
  1611. ;; Loop 0
  1612. ;; header 0, latch 1
  1613. ;; depth 0, outer -1
  1614. ;; nodes: 0 1 2 3 4 6 5
  1615. ;;
  1616. ;; Loop 1
  1617. ;; header 4, latch 6
  1618. ;; depth 1, outer 0
  1619. ;; nodes: 4 6
  1620. ;; 2 succs { 3 5 }
  1621. ;; 3 succs { 4 }
  1622. ;; 4 succs { 6 }
  1623. ;; 6 succs { 4 }
  1624. ;; 5 succs { 1 }
  1625. Analyzing function body size: vTaskSetTimeOutState
  1626. IPA function summary for vTaskSetTimeOutState/63 inlinable
  1627. global time: 18.228702
  1628. self size: 16
  1629. global size: 0
  1630. min size: 0
  1631. self stack: 0
  1632. global stack: 0
  1633. size:0.000000, time:0.000000
  1634. size:2.000000, time:0.000000, executed if:(not inlined)
  1635. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1636. size:3.000000, time:1.604100, executed if:(op0 != 0B)
  1637. size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined)
  1638. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1639. calls:
  1640. vPortExitCritical/101 function body not available
  1641. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1642. vPortEnterCritical/100 function body not available
  1643. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1644. Analyzing function: vTaskRemoveFromUnorderedEventList/62
  1645. ;; 3 loops found
  1646. ;;
  1647. ;; Loop 0
  1648. ;; header 0, latch 1
  1649. ;; depth 0, outer -1
  1650. ;; nodes: 0 1 2 3 4 17 5 6 7 18 8 9 10 11 12 13 14 15 16
  1651. ;;
  1652. ;; Loop 2
  1653. ;; header 4, latch 17
  1654. ;; depth 1, outer 0
  1655. ;; nodes: 4 17
  1656. ;;
  1657. ;; Loop 1
  1658. ;; header 7, latch 18
  1659. ;; depth 1, outer 0
  1660. ;; nodes: 7 18
  1661. ;; 2 succs { 3 5 }
  1662. ;; 3 succs { 4 }
  1663. ;; 4 succs { 17 }
  1664. ;; 17 succs { 4 }
  1665. ;; 5 succs { 6 8 }
  1666. ;; 6 succs { 7 }
  1667. ;; 7 succs { 18 }
  1668. ;; 18 succs { 7 }
  1669. ;; 8 succs { 9 10 }
  1670. ;; 9 succs { 10 }
  1671. ;; 10 succs { 11 12 }
  1672. ;; 11 succs { 12 }
  1673. ;; 12 succs { 13 14 }
  1674. ;; 13 succs { 14 }
  1675. ;; 14 succs { 15 16 }
  1676. ;; 15 succs { 16 }
  1677. ;; 16 succs { 1 }
  1678. Analyzing function body size: vTaskRemoveFromUnorderedEventList
  1679. IPA function summary for vTaskRemoveFromUnorderedEventList/62 inlinable
  1680. global time: 25.410043
  1681. self size: 69
  1682. global size: 0
  1683. min size: 0
  1684. self stack: 0
  1685. global stack: 0
  1686. size:8.500000, time:5.750000
  1687. size:2.500000, time:0.250000, executed if:(not inlined)
  1688. size:1.000000, time:0.500000, nonconst if:(op1 changed)
  1689. size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  1690. size:2.500000, time:1.250000, nonconst if:(op0[ref offset: 96] changed)
  1691. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 96] != 0B) && (not inlined)
  1692. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 96] != 0B)
  1693. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 96] != 0B) && (not inlined)
  1694. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 96] != 0B)
  1695. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 96] != 0B) && (not inlined)
  1696. size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 96] != 0B)
  1697. size:44.000000, time:14.560043, executed if:(op0[ref offset: 96] != 0B)
  1698. size:2.000000, time:1.050003, executed if:(op0[ref offset: 96] != 0B) && (not inlined)
  1699. size:5.000000, time:0.749995, executed if:(op0[ref offset: 96] == 0B)
  1700. calls:
  1701. Analyzing function: xTaskRemoveFromEventList/61
  1702. ;; 2 loops found
  1703. ;;
  1704. ;; Loop 0
  1705. ;; header 0, latch 1
  1706. ;; depth 0, outer -1
  1707. ;; nodes: 0 1 2 3 4 17 5 6 7 8 9 10 11 12 13 14 15 16
  1708. ;;
  1709. ;; Loop 1
  1710. ;; header 4, latch 17
  1711. ;; depth 1, outer 0
  1712. ;; nodes: 4 17
  1713. ;; 2 succs { 3 5 }
  1714. ;; 3 succs { 4 }
  1715. ;; 4 succs { 17 }
  1716. ;; 17 succs { 4 }
  1717. ;; 5 succs { 6 7 }
  1718. ;; 6 succs { 7 }
  1719. ;; 7 succs { 8 13 }
  1720. ;; 8 succs { 9 10 }
  1721. ;; 9 succs { 10 }
  1722. ;; 10 succs { 11 12 }
  1723. ;; 11 succs { 12 }
  1724. ;; 12 succs { 14 }
  1725. ;; 13 succs { 14 }
  1726. ;; 14 succs { 15 16 }
  1727. ;; 15 succs { 16 }
  1728. ;; 16 succs { 1 }
  1729. Analyzing function body size: xTaskRemoveFromEventList
  1730. IPA function summary for xTaskRemoveFromEventList/61 inlinable
  1731. global time: 35.040046
  1732. self size: 74
  1733. global size: 0
  1734. min size: 0
  1735. self stack: 0
  1736. global stack: 0
  1737. size:70.000000, time:32.640046
  1738. size:3.000000, time:1.399999, executed if:(not inlined)
  1739. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  1740. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 96] changed)
  1741. calls:
  1742. Analyzing function: vTaskPlaceOnEventListRestricted/60
  1743. ;; 2 loops found
  1744. ;;
  1745. ;; Loop 0
  1746. ;; header 0, latch 1
  1747. ;; depth 0, outer -1
  1748. ;; nodes: 0 1 2 3 4 8 5 6 7
  1749. ;;
  1750. ;; Loop 1
  1751. ;; header 4, latch 8
  1752. ;; depth 1, outer 0
  1753. ;; nodes: 4 8
  1754. ;; 2 succs { 3 5 }
  1755. ;; 3 succs { 4 }
  1756. ;; 4 succs { 8 }
  1757. ;; 8 succs { 4 }
  1758. ;; 5 succs { 6 7 }
  1759. ;; 6 succs { 7 }
  1760. ;; 7 succs { 1 }
  1761. Analyzing function body size: vTaskPlaceOnEventListRestricted
  1762. IPA function summary for vTaskPlaceOnEventListRestricted/60 inlinable
  1763. global time: 25.899992
  1764. self size: 31
  1765. global size: 0
  1766. min size: 0
  1767. self stack: 0
  1768. global stack: 0
  1769. size:0.000000, time:0.000000
  1770. size:2.000000, time:0.000000, executed if:(not inlined)
  1771. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1772. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  1773. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  1774. size:12.500000, time:8.749997, executed if:(op0 != 0B)
  1775. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  1776. size:1.500000, time:1.050000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  1777. size:1.500000, time:1.749999, executed if:(op0 != 0B) && (not inlined)
  1778. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B)
  1779. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1780. calls:
  1781. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  1782. loop depth: 0 freq:0.70 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  1783. Analyzing function: vTaskPlaceOnUnorderedEventList/59
  1784. ;; 3 loops found
  1785. ;;
  1786. ;; Loop 0
  1787. ;; header 0, latch 1
  1788. ;; depth 0, outer -1
  1789. ;; nodes: 0 1 2 3 4 9 5 6 7 10 8
  1790. ;;
  1791. ;; Loop 2
  1792. ;; header 4, latch 9
  1793. ;; depth 1, outer 0
  1794. ;; nodes: 4 9
  1795. ;;
  1796. ;; Loop 1
  1797. ;; header 7, latch 10
  1798. ;; depth 1, outer 0
  1799. ;; nodes: 7 10
  1800. ;; 2 succs { 3 5 }
  1801. ;; 3 succs { 4 }
  1802. ;; 4 succs { 9 }
  1803. ;; 9 succs { 4 }
  1804. ;; 5 succs { 6 8 }
  1805. ;; 6 succs { 7 }
  1806. ;; 7 succs { 10 }
  1807. ;; 10 succs { 7 }
  1808. ;; 8 succs { 1 }
  1809. Analyzing function body size: vTaskPlaceOnUnorderedEventList
  1810. IPA function summary for vTaskPlaceOnUnorderedEventList/59 inlinable
  1811. global time: 15.568078
  1812. self size: 40
  1813. global size: 0
  1814. min size: 0
  1815. self stack: 0
  1816. global stack: 0
  1817. size:0.000000, time:0.000000
  1818. size:2.000000, time:0.000000, executed if:(not inlined)
  1819. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1820. size:22.500000, time:7.794538, executed if:(op0 != 0B)
  1821. size:1.000000, time:0.231002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1822. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  1823. size:0.500000, time:0.115501, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  1824. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  1825. size:1.500000, time:0.346503, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  1826. size:1.500000, time:0.577504, executed if:(op0 != 0B) && (not inlined)
  1827. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  1828. calls:
  1829. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  1830. loop depth: 0 freq:0.23 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  1831. op1 is compile time invariant
  1832. Analyzing function: vTaskPlaceOnEventList/58
  1833. ;; 2 loops found
  1834. ;;
  1835. ;; Loop 0
  1836. ;; header 0, latch 1
  1837. ;; depth 0, outer -1
  1838. ;; nodes: 0 1 2 3 4 6 5
  1839. ;;
  1840. ;; Loop 1
  1841. ;; header 4, latch 6
  1842. ;; depth 1, outer 0
  1843. ;; nodes: 4 6
  1844. ;; 2 succs { 3 5 }
  1845. ;; 3 succs { 4 }
  1846. ;; 4 succs { 6 }
  1847. ;; 6 succs { 4 }
  1848. ;; 5 succs { 1 }
  1849. Analyzing function body size: vTaskPlaceOnEventList
  1850. IPA function summary for vTaskPlaceOnEventList/58 inlinable
  1851. global time: 18.763402
  1852. self size: 17
  1853. global size: 0
  1854. min size: 0
  1855. self stack: 0
  1856. global stack: 0
  1857. size:0.000000, time:0.000000
  1858. size:2.000000, time:0.000000, executed if:(not inlined)
  1859. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1860. size:1.000000, time:0.534700, executed if:(op0 != 0B)
  1861. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  1862. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1863. calls:
  1864. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  1865. loop depth: 0 freq:0.53 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  1866. op1 is compile time invariant
  1867. vListInsert/105 function body not available
  1868. loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B)
  1869. Analyzing function: vTaskSwitchContext/57
  1870. ;; 3 loops found
  1871. ;;
  1872. ;; Loop 0
  1873. ;; header 0, latch 1
  1874. ;; depth 0, outer -1
  1875. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12
  1876. ;;
  1877. ;; Loop 1
  1878. ;; header 8, latch 7
  1879. ;; depth 1, outer 0
  1880. ;; nodes: 8 7 5
  1881. ;; 2 succs { 3 4 }
  1882. ;; 3 succs { 12 }
  1883. ;; 4 succs { 8 }
  1884. ;; 5 succs { 6 7 }
  1885. ;; 6 succs { }
  1886. ;; 7 succs { 8 }
  1887. ;; 8 succs { 5 9 }
  1888. ;; 9 succs { 10 11 }
  1889. ;; 10 succs { 11 }
  1890. ;; 11 succs { 12 }
  1891. ;; 12 succs { 1 }
  1892. Analyzing function body size: vTaskSwitchContext
  1893. IPA function summary for vTaskSwitchContext/57 inlinable
  1894. global time: 37.941072
  1895. self size: 27
  1896. global size: 0
  1897. min size: 0
  1898. self stack: 0
  1899. global stack: 0
  1900. size:23.000000, time:33.997629
  1901. size:3.000000, time:1.514139, executed if:(not inlined)
  1902. calls:
  1903. vTaskSwitchContext.part.0/146 function not considered for inlining
  1904. loop depth: 0 freq:0.24 size: 1 time: 10callee size: 3 stack: 0
  1905. Analyzing function: xTaskIncrementTick/56
  1906. ;; 3 loops found
  1907. ;;
  1908. ;; Loop 0
  1909. ;; header 0, latch 1
  1910. ;; depth 0, outer -1
  1911. ;; nodes: 0 1 2 3 4 5
  1912. ;; 2 succs { 3 4 }
  1913. ;; 3 succs { 5 }
  1914. ;; 4 succs { 5 }
  1915. ;; 5 succs { 1 }
  1916. Analyzing function body size: xTaskIncrementTick
  1917. IPA function summary for xTaskIncrementTick/56 inlinable
  1918. global time: 11.665006
  1919. self size: 11
  1920. global size: 0
  1921. min size: 0
  1922. self stack: 0
  1923. global stack: 0
  1924. size:6.000000, time:4.499998
  1925. size:3.000000, time:1.665000, executed if:(not inlined)
  1926. calls:
  1927. xTaskIncrementTick.part.0/135 function not considered for inlining
  1928. loop depth: 0 freq:0.50 size: 2 time: 11callee size:48 stack: 0
  1929. Analyzing function: xTaskAbortDelay/55
  1930. ;; 2 loops found
  1931. ;;
  1932. ;; Loop 0
  1933. ;; header 0, latch 1
  1934. ;; depth 0, outer -1
  1935. ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12
  1936. ;;
  1937. ;; Loop 1
  1938. ;; header 4, latch 13
  1939. ;; depth 1, outer 0
  1940. ;; nodes: 4 13
  1941. ;; 2 succs { 3 5 }
  1942. ;; 3 succs { 4 }
  1943. ;; 4 succs { 13 }
  1944. ;; 13 succs { 4 }
  1945. ;; 5 succs { 6 12 }
  1946. ;; 6 succs { 7 8 }
  1947. ;; 7 succs { 8 }
  1948. ;; 8 succs { 9 10 }
  1949. ;; 9 succs { 10 }
  1950. ;; 10 succs { 11 12 }
  1951. ;; 11 succs { 12 }
  1952. ;; 12 succs { 1 }
  1953. Analyzing function body size: xTaskAbortDelay
  1954. IPA function summary for xTaskAbortDelay/55 inlinable
  1955. global time: 30.114204
  1956. self size: 48
  1957. global size: 0
  1958. min size: 0
  1959. self stack: 0
  1960. global stack: 0
  1961. size:0.000000, time:0.000000
  1962. size:2.000000, time:0.000000, executed if:(not inlined)
  1963. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1964. size:24.000000, time:3.316918, executed if:(op0 != 0B)
  1965. size:4.000000, time:1.368894, executed if:(op0 != 0B) && (not inlined)
  1966. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1967. calls:
  1968. xTaskResumeAll/46 function not considered for inlining
  1969. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1970. vPortExitCritical/101 function body not available
  1971. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  1972. uxListRemove/103 function body not available
  1973. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  1974. vPortEnterCritical/100 function body not available
  1975. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  1976. uxListRemove/103 function body not available
  1977. loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op0 != 0B)
  1978. eTaskGetState/35 function not considered for inlining
  1979. loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B)
  1980. vTaskSuspendAll/45 function not considered for inlining
  1981. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1982. Analyzing function: xTaskCatchUpTicks/54
  1983. ;; 2 loops found
  1984. ;;
  1985. ;; Loop 0
  1986. ;; header 0, latch 1
  1987. ;; depth 0, outer -1
  1988. ;; nodes: 0 1 2 3 4 6 5
  1989. ;;
  1990. ;; Loop 1
  1991. ;; header 4, latch 6
  1992. ;; depth 1, outer 0
  1993. ;; nodes: 4 6
  1994. ;; 2 succs { 3 5 }
  1995. ;; 3 succs { 4 }
  1996. ;; 4 succs { 6 }
  1997. ;; 6 succs { 4 }
  1998. ;; 5 succs { 1 }
  1999. Analyzing function body size: xTaskCatchUpTicks
  2000. IPA function summary for xTaskCatchUpTicks/54 inlinable
  2001. global time: 14.930026
  2002. self size: 17
  2003. global size: 0
  2004. min size: 0
  2005. self stack: 0
  2006. global stack: 0
  2007. size:11.000000, time:7.339998
  2008. size:3.000000, time:0.660002, executed if:(not inlined)
  2009. calls:
  2010. xTaskResumeAll/46 function not considered for inlining
  2011. loop depth: 0 freq:0.33 size: 2 time: 11
  2012. vTaskSuspendAll/45 function not considered for inlining
  2013. loop depth: 0 freq:0.33 size: 1 time: 10
  2014. Analyzing function: uxTaskGetSystemState/53
  2015. ;; 2 loops found
  2016. ;;
  2017. ;; Loop 0
  2018. ;; header 0, latch 1
  2019. ;; depth 0, outer -1
  2020. ;; nodes: 0 1 2 7 3 8 4 5 6
  2021. ;;
  2022. ;; Loop 1
  2023. ;; header 3, latch 8
  2024. ;; depth 1, outer 0
  2025. ;; nodes: 3 8
  2026. ;; 2 succs { 7 6 }
  2027. ;; 7 succs { 3 }
  2028. ;; 3 succs { 8 4 }
  2029. ;; 8 succs { 3 }
  2030. ;; 4 succs { 5 6 }
  2031. ;; 5 succs { 6 }
  2032. ;; 6 succs { 1 }
  2033. Analyzing function body size: uxTaskGetSystemState
  2034. IPA function summary for uxTaskGetSystemState/53 inlinable
  2035. global time: 111.350000
  2036. self size: 56
  2037. global size: 0
  2038. min size: 0
  2039. self stack: 0
  2040. global stack: 0
  2041. size:23.000000, time:25.000000
  2042. size:3.000000, time:2.000000, executed if:(not inlined)
  2043. size:2.000000, time:1.000000, nonconst if:(op2 changed)
  2044. size:0.500000, time:0.175000, executed if:(op2 != 0B) && (not inlined)
  2045. size:0.500000, time:0.175000, executed if:(op2 != 0B)
  2046. calls:
  2047. xTaskResumeAll/46 function not considered for inlining
  2048. loop depth: 0 freq:1.00 size: 1 time: 10
  2049. prvListTasksWithinSingleList/73 function not considered for inlining
  2050. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  2051. op1 is compile time invariant
  2052. op2 is compile time invariant
  2053. prvListTasksWithinSingleList/73 function not considered for inlining
  2054. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  2055. op1 is compile time invariant
  2056. op2 is compile time invariant
  2057. prvListTasksWithinSingleList/73 function not considered for inlining
  2058. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  2059. op2 is compile time invariant
  2060. prvListTasksWithinSingleList/73 function not considered for inlining
  2061. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  2062. op2 is compile time invariant
  2063. prvListTasksWithinSingleList/73 function not considered for inlining
  2064. loop depth: 1 freq:2.50 size: 5 time: 14callee size: 5 stack: 0
  2065. op2 is compile time invariant
  2066. vTaskSuspendAll/45 function not considered for inlining
  2067. loop depth: 0 freq:1.00 size: 1 time: 10
  2068. Analyzing function: xTaskGetHandle/52
  2069. ;; 3 loops found
  2070. ;;
  2071. ;; Loop 0
  2072. ;; header 0, latch 1
  2073. ;; depth 0, outer -1
  2074. ;; nodes: 0 1 2 3 4 17 5 6 7 18 8 9 10 11 12 13 14 15 16
  2075. ;;
  2076. ;; Loop 2
  2077. ;; header 4, latch 17
  2078. ;; depth 1, outer 0
  2079. ;; nodes: 4 17
  2080. ;;
  2081. ;; Loop 1
  2082. ;; header 6, latch 18
  2083. ;; depth 1, outer 0
  2084. ;; nodes: 6 18 7
  2085. ;; 2 succs { 3 5 }
  2086. ;; 3 succs { 4 }
  2087. ;; 4 succs { 17 }
  2088. ;; 17 succs { 4 }
  2089. ;; 5 succs { 6 }
  2090. ;; 6 succs { 8 7 }
  2091. ;; 7 succs { 18 8 }
  2092. ;; 18 succs { 6 }
  2093. ;; 8 succs { 9 10 }
  2094. ;; 9 succs { 10 }
  2095. ;; 10 succs { 11 12 }
  2096. ;; 11 succs { 12 }
  2097. ;; 12 succs { 13 14 }
  2098. ;; 13 succs { 14 }
  2099. ;; 14 succs { 15 16 }
  2100. ;; 15 succs { 16 }
  2101. ;; 16 succs { 1 }
  2102. Analyzing function body size: xTaskGetHandle
  2103. IPA function summary for xTaskGetHandle/52 inlinable
  2104. global time: 54.551541
  2105. self size: 50
  2106. global size: 0
  2107. min size: 0
  2108. self stack: 0
  2109. global stack: 0
  2110. size:22.000000, time:14.718564
  2111. size:3.000000, time:0.660002, executed if:(not inlined)
  2112. calls:
  2113. xTaskResumeAll/46 function not considered for inlining
  2114. loop depth: 0 freq:0.33 size: 1 time: 10
  2115. prvSearchForNameWithinSingleList/51 function not considered for inlining
  2116. loop depth: 0 freq:0.06 size: 4 time: 13
  2117. op0 is compile time invariant
  2118. prvSearchForNameWithinSingleList/51 function not considered for inlining
  2119. loop depth: 0 freq:0.06 size: 4 time: 13
  2120. op0 is compile time invariant
  2121. prvSearchForNameWithinSingleList/51 function not considered for inlining
  2122. loop depth: 0 freq:0.06 size: 4 time: 13
  2123. prvSearchForNameWithinSingleList/51 function not considered for inlining
  2124. loop depth: 0 freq:0.06 size: 4 time: 13
  2125. prvSearchForNameWithinSingleList/51 function not considered for inlining
  2126. loop depth: 1 freq:1.35 size: 4 time: 13
  2127. op1 change 73.930000% of time
  2128. vTaskSuspendAll/45 function not considered for inlining
  2129. loop depth: 0 freq:0.33 size: 1 time: 10
  2130. strlen/110 function body not available
  2131. loop depth: 0 freq:1.00 size: 3 time: 12
  2132. Analyzing function: prvSearchForNameWithinSingleList/51
  2133. ;; 3 loops found
  2134. ;;
  2135. ;; Loop 0
  2136. ;; header 0, latch 1
  2137. ;; depth 0, outer -1
  2138. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 15
  2139. ;;
  2140. ;; Loop 1
  2141. ;; header 6, latch 16
  2142. ;; depth 1, outer 0
  2143. ;; nodes: 6 16 14 13 10 12 9 8 11 7
  2144. ;;
  2145. ;; Loop 2
  2146. ;; header 12, latch 11
  2147. ;; depth 2, outer 1
  2148. ;; nodes: 12 11 10 9
  2149. ;; 2 succs { 3 15 }
  2150. ;; 3 succs { 4 5 }
  2151. ;; 4 succs { 5 }
  2152. ;; 5 succs { 6 }
  2153. ;; 6 succs { 7 8 }
  2154. ;; 7 succs { 8 }
  2155. ;; 8 succs { 12 }
  2156. ;; 9 succs { 13 10 }
  2157. ;; 10 succs { 13 11 }
  2158. ;; 11 succs { 12 }
  2159. ;; 12 succs { 9 13 }
  2160. ;; 13 succs { 15 14 }
  2161. ;; 14 succs { 16 15 }
  2162. ;; 16 succs { 6 }
  2163. ;; 15 succs { 1 }
  2164. Analyzing function body size: prvSearchForNameWithinSingleList
  2165. IPA function summary for prvSearchForNameWithinSingleList/51 inlinable
  2166. global time: 474.990788
  2167. self size: 38
  2168. global size: 0
  2169. min size: 0
  2170. self stack: 0
  2171. global stack: 0
  2172. size:0.000000, time:0.000000
  2173. size:3.000000, time:2.000000, executed if:(not inlined)
  2174. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
  2175. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed)
  2176. size:0.500000, time:0.355000, executed if:(op0[ref offset: 0] != 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 0] != 0) && (not inlined)
  2177. size:0.500000, time:0.355000, executed if:(op0[ref offset: 0] != 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 0] != 0)
  2178. size:27.500000, time:457.513131, executed if:(op0[ref offset: 0] != 0)
  2179. size:3.500000, time:11.767657, executed if:(op0[ref offset: 0] != 0) && (not inlined)
  2180. calls:
  2181. Analyzing function: pcTaskGetName/50
  2182. ;; 2 loops found
  2183. ;;
  2184. ;; Loop 0
  2185. ;; header 0, latch 1
  2186. ;; depth 0, outer -1
  2187. ;; nodes: 0 1 2 3 4 5 6 8 7
  2188. ;;
  2189. ;; Loop 1
  2190. ;; header 6, latch 8
  2191. ;; depth 1, outer 0
  2192. ;; nodes: 6 8
  2193. ;; 2 succs { 3 4 }
  2194. ;; 3 succs { 4 }
  2195. ;; 4 succs { 5 7 }
  2196. ;; 5 succs { 6 }
  2197. ;; 6 succs { 8 }
  2198. ;; 8 succs { 6 }
  2199. ;; 7 succs { 1 }
  2200. Analyzing function body size: pcTaskGetName
  2201. IPA function summary for pcTaskGetName/50 inlinable
  2202. global time: 7.200001
  2203. self size: 13
  2204. global size: 0
  2205. min size: 0
  2206. self stack: 0
  2207. global stack: 0
  2208. size:7.000000, time:3.500001
  2209. size:3.000000, time:1.399999, executed if:(not inlined)
  2210. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2211. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2212. calls:
  2213. Analyzing function: uxTaskGetNumberOfTasks/49
  2214. ;; 1 loops found
  2215. ;;
  2216. ;; Loop 0
  2217. ;; header 0, latch 1
  2218. ;; depth 0, outer -1
  2219. ;; nodes: 0 1 2
  2220. ;; 2 succs { 1 }
  2221. Analyzing function body size: uxTaskGetNumberOfTasks
  2222. IPA function summary for uxTaskGetNumberOfTasks/49 inlinable
  2223. global time: 3.000000
  2224. self size: 4
  2225. global size: 0
  2226. min size: 0
  2227. self stack: 0
  2228. global stack: 0
  2229. size:1.000000, time:1.000000
  2230. size:3.000000, time:2.000000, executed if:(not inlined)
  2231. calls:
  2232. Analyzing function: xTaskGetTickCountFromISR/48
  2233. ;; 1 loops found
  2234. ;;
  2235. ;; Loop 0
  2236. ;; header 0, latch 1
  2237. ;; depth 0, outer -1
  2238. ;; nodes: 0 1 2
  2239. ;; 2 succs { 1 }
  2240. Analyzing function body size: xTaskGetTickCountFromISR
  2241. IPA function summary for xTaskGetTickCountFromISR/48 inlinable
  2242. global time: 13.000000
  2243. self size: 5
  2244. global size: 0
  2245. min size: 0
  2246. self stack: 0
  2247. global stack: 0
  2248. size:1.000000, time:1.000000
  2249. size:3.000000, time:2.000000, executed if:(not inlined)
  2250. calls:
  2251. vPortValidateInterruptPriority/106 function body not available
  2252. loop depth: 0 freq:1.00 size: 1 time: 10
  2253. Analyzing function: xTaskGetTickCount/47
  2254. ;; 1 loops found
  2255. ;;
  2256. ;; Loop 0
  2257. ;; header 0, latch 1
  2258. ;; depth 0, outer -1
  2259. ;; nodes: 0 1 2
  2260. ;; 2 succs { 1 }
  2261. Analyzing function body size: xTaskGetTickCount
  2262. IPA function summary for xTaskGetTickCount/47 inlinable
  2263. global time: 3.000000
  2264. self size: 4
  2265. global size: 0
  2266. min size: 0
  2267. self stack: 0
  2268. global stack: 0
  2269. size:1.000000, time:1.000000
  2270. size:3.000000, time:2.000000, executed if:(not inlined)
  2271. calls:
  2272. Analyzing function: xTaskResumeAll/46
  2273. ;; 4 loops found
  2274. ;;
  2275. ;; Loop 0
  2276. ;; header 0, latch 1
  2277. ;; depth 0, outer -1
  2278. ;; nodes: 0 1 2 3 4 6 5
  2279. ;;
  2280. ;; Loop 3
  2281. ;; header 4, latch 6
  2282. ;; depth 1, outer 0
  2283. ;; nodes: 4 6
  2284. ;; 2 succs { 3 5 }
  2285. ;; 3 succs { 4 }
  2286. ;; 4 succs { 6 }
  2287. ;; 6 succs { 4 }
  2288. ;; 5 succs { 1 }
  2289. Analyzing function body size: xTaskResumeAll
  2290. IPA function summary for xTaskResumeAll/46 inlinable
  2291. global time: 10.640010
  2292. self size: 13
  2293. global size: 0
  2294. min size: 0
  2295. self stack: 0
  2296. global stack: 0
  2297. size:8.000000, time:6.349994
  2298. size:3.000000, time:0.660002, executed if:(not inlined)
  2299. calls:
  2300. xTaskResumeAll.part.0/137 function not considered for inlining
  2301. loop depth: 0 freq:0.33 size: 2 time: 11callee size:44 stack: 0
  2302. Analyzing function: vTaskSuspendAll/45
  2303. ;; 1 loops found
  2304. ;;
  2305. ;; Loop 0
  2306. ;; header 0, latch 1
  2307. ;; depth 0, outer -1
  2308. ;; nodes: 0 1 2
  2309. ;; 2 succs { 1 }
  2310. Analyzing function body size: vTaskSuspendAll
  2311. IPA function summary for vTaskSuspendAll/45 inlinable
  2312. global time: 6.000000
  2313. self size: 7
  2314. global size: 0
  2315. min size: 0
  2316. self stack: 0
  2317. global stack: 0
  2318. size:4.000000, time:4.000000
  2319. size:3.000000, time:2.000000, executed if:(not inlined)
  2320. calls:
  2321. Analyzing function: vTaskEndScheduler/44
  2322. ;; 1 loops found
  2323. ;;
  2324. ;; Loop 0
  2325. ;; header 0, latch 1
  2326. ;; depth 0, outer -1
  2327. ;; nodes: 0 1 2
  2328. ;; 2 succs { 1 }
  2329. Analyzing function body size: vTaskEndScheduler
  2330. IPA function summary for vTaskEndScheduler/44 inlinable
  2331. global time: 18.000000
  2332. self size: 10
  2333. global size: 0
  2334. min size: 0
  2335. self stack: 0
  2336. global stack: 0
  2337. size:6.000000, time:6.000000
  2338. size:3.000000, time:2.000000, executed if:(not inlined)
  2339. calls:
  2340. vPortEndScheduler/109 function body not available
  2341. loop depth: 0 freq:1.00 size: 1 time: 10
  2342. Analyzing function: vTaskStartScheduler/43
  2343. ;; 2 loops found
  2344. ;;
  2345. ;; Loop 0
  2346. ;; header 0, latch 1
  2347. ;; depth 0, outer -1
  2348. ;; nodes: 0 1 2 3 4 5 6 7 8 10 9
  2349. ;;
  2350. ;; Loop 1
  2351. ;; header 8, latch 10
  2352. ;; depth 1, outer 0
  2353. ;; nodes: 8 10
  2354. ;; 2 succs { 3 4 }
  2355. ;; 3 succs { 4 }
  2356. ;; 4 succs { 5 6 }
  2357. ;; 5 succs { 9 }
  2358. ;; 6 succs { 7 9 }
  2359. ;; 7 succs { 8 }
  2360. ;; 8 succs { 10 }
  2361. ;; 10 succs { 8 }
  2362. ;; 9 succs { 1 }
  2363. Analyzing function body size: vTaskStartScheduler
  2364. IPA function summary for vTaskStartScheduler/43 inlinable
  2365. global time: 32.007150
  2366. self size: 34
  2367. global size: 0
  2368. min size: 0
  2369. self stack: 0
  2370. global stack: 0
  2371. size:20.000000, time:9.299132
  2372. size:3.000000, time:1.457632, executed if:(not inlined)
  2373. calls:
  2374. xPortStartScheduler/108 function body not available
  2375. loop depth: 0 freq:0.20 size: 1 time: 10
  2376. xTimerCreateTimerTask/107 function body not available
  2377. loop depth: 0 freq:0.20 size: 2 time: 11
  2378. xTaskCreate/29 function not considered for inlining
  2379. loop depth: 0 freq:1.00 size: 8 time: 17
  2380. op0 is compile time invariant
  2381. op1 is compile time invariant
  2382. op2 is compile time invariant
  2383. op3 is compile time invariant
  2384. op4 is compile time invariant
  2385. op5 is compile time invariant
  2386. Analyzing function: xTaskResumeFromISR/42
  2387. ;; 2 loops found
  2388. ;;
  2389. ;; Loop 0
  2390. ;; header 0, latch 1
  2391. ;; depth 0, outer -1
  2392. ;; nodes: 0 1 2 3 4 14 5 6 7 8 9 10 11 12 13
  2393. ;;
  2394. ;; Loop 1
  2395. ;; header 4, latch 14
  2396. ;; depth 1, outer 0
  2397. ;; nodes: 4 14
  2398. ;; 2 succs { 3 5 }
  2399. ;; 3 succs { 4 }
  2400. ;; 4 succs { 14 }
  2401. ;; 14 succs { 4 }
  2402. ;; 5 succs { 6 13 }
  2403. ;; 6 succs { 7 12 }
  2404. ;; 7 succs { 8 9 }
  2405. ;; 8 succs { 9 }
  2406. ;; 9 succs { 10 11 }
  2407. ;; 10 succs { 11 }
  2408. ;; 11 succs { 13 }
  2409. ;; 12 succs { 13 }
  2410. ;; 13 succs { 1 }
  2411. Analyzing function body size: xTaskResumeFromISR
  2412. IPA function summary for xTaskResumeFromISR/42 inlinable
  2413. global time: 29.564289
  2414. self size: 53
  2415. global size: 0
  2416. min size: 0
  2417. self stack: 0
  2418. global stack: 0
  2419. size:0.000000, time:0.000000
  2420. size:2.000000, time:0.000000, executed if:(not inlined)
  2421. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2422. size:31.500000, time:8.928128, executed if:(op0 != 0B)
  2423. size:3.500000, time:1.517208, executed if:(op0 != 0B) && (not inlined)
  2424. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  2425. calls:
  2426. vListInsertEnd/104 function body not available
  2427. loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0 != 0B)
  2428. op0 is compile time invariant
  2429. uxListRemove/103 function body not available
  2430. loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B)
  2431. prvTaskIsTaskSuspended/40 function not considered for inlining
  2432. loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B)
  2433. vPortValidateInterruptPriority/106 function body not available
  2434. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  2435. Analyzing function: vTaskResume/41
  2436. ;; 2 loops found
  2437. ;;
  2438. ;; Loop 0
  2439. ;; header 0, latch 1
  2440. ;; depth 0, outer -1
  2441. ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12
  2442. ;;
  2443. ;; Loop 1
  2444. ;; header 4, latch 13
  2445. ;; depth 1, outer 0
  2446. ;; nodes: 4 13
  2447. ;; 2 succs { 3 5 }
  2448. ;; 3 succs { 4 }
  2449. ;; 4 succs { 13 }
  2450. ;; 13 succs { 4 }
  2451. ;; 5 succs { 6 12 }
  2452. ;; 6 succs { 7 11 }
  2453. ;; 7 succs { 8 9 }
  2454. ;; 8 succs { 9 }
  2455. ;; 9 succs { 10 11 }
  2456. ;; 10 succs { 11 }
  2457. ;; 11 succs { 12 }
  2458. ;; 12 succs { 1 }
  2459. Analyzing function body size: vTaskResume
  2460. IPA function summary for vTaskResume/41 inlinable
  2461. global time: 23.678349
  2462. self size: 45
  2463. global size: 0
  2464. min size: 0
  2465. self stack: 0
  2466. global stack: 0
  2467. size:0.000000, time:0.000000
  2468. size:2.000000, time:0.000000, executed if:(not inlined)
  2469. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2470. size:26.000000, time:5.195383, executed if:(op0 != 0B)
  2471. size:3.000000, time:1.647032, executed if:(op0 != 0B) && (not inlined)
  2472. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2473. calls:
  2474. vPortExitCritical/101 function body not available
  2475. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2476. uxListRemove/103 function body not available
  2477. loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op0 != 0B)
  2478. prvTaskIsTaskSuspended/40 function not considered for inlining
  2479. loop depth: 0 freq:0.37 size: 3 time: 12 predicate: (op0 != 0B)
  2480. vPortEnterCritical/100 function body not available
  2481. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2482. Analyzing function: prvTaskIsTaskSuspended/40
  2483. ;; 2 loops found
  2484. ;;
  2485. ;; Loop 0
  2486. ;; header 0, latch 1
  2487. ;; depth 0, outer -1
  2488. ;; nodes: 0 1 2 3 4 8 5 6 7
  2489. ;;
  2490. ;; Loop 1
  2491. ;; header 4, latch 8
  2492. ;; depth 1, outer 0
  2493. ;; nodes: 4 8
  2494. ;; 2 succs { 3 5 }
  2495. ;; 3 succs { 4 }
  2496. ;; 4 succs { 8 }
  2497. ;; 8 succs { 4 }
  2498. ;; 5 succs { 6 7 }
  2499. ;; 6 succs { 7 }
  2500. ;; 7 succs { 1 }
  2501. Analyzing function body size: prvTaskIsTaskSuspended
  2502. IPA function summary for prvTaskIsTaskSuspended/40 inlinable
  2503. global time: 9.520009
  2504. self size: 16
  2505. global size: 0
  2506. min size: 0
  2507. self stack: 0
  2508. global stack: 0
  2509. size:0.000000, time:0.000000
  2510. size:2.000000, time:0.000000, executed if:(not inlined)
  2511. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2512. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  2513. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  2514. size:1.000000, time:1.399999, executed if:(op0[ref offset: 160] == &xSuspendedTaskList || op0[ref offset: 160] != &xSuspendedTaskList) && (op0 != 0B) && (not inlined)
  2515. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2516. calls:
  2517. prvTaskIsTaskSuspended.part.0/114 function not considered for inlining
  2518. loop depth: 0 freq:0.21 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B)
  2519. Analyzing function: vTaskSuspend/39
  2520. ;; 4 loops found
  2521. ;;
  2522. ;; Loop 0
  2523. ;; header 0, latch 1
  2524. ;; depth 0, outer -1
  2525. ;; nodes: 0 1 2 3 4 5 6 7 24 8 9 10 11 12 13 14 15 16 17 23 18 19 20 21 22
  2526. ;;
  2527. ;; Loop 2
  2528. ;; header 17, latch 23
  2529. ;; depth 1, outer 0
  2530. ;; nodes: 17 23
  2531. ;;
  2532. ;; Loop 1
  2533. ;; header 9, latch 8
  2534. ;; depth 1, outer 0
  2535. ;; nodes: 9 8 7 10 24
  2536. ;;
  2537. ;; Loop 3
  2538. ;; header 10, latch 24
  2539. ;; depth 2, outer 1
  2540. ;; nodes: 10 24 7
  2541. ;; 2 succs { 3 4 }
  2542. ;; 3 succs { 4 }
  2543. ;; 4 succs { 5 6 }
  2544. ;; 5 succs { 6 }
  2545. ;; 6 succs { 9 }
  2546. ;; 7 succs { 8 24 }
  2547. ;; 24 succs { 10 }
  2548. ;; 8 succs { 9 }
  2549. ;; 9 succs { 10 }
  2550. ;; 10 succs { 7 11 }
  2551. ;; 11 succs { 12 13 }
  2552. ;; 12 succs { 13 }
  2553. ;; 13 succs { 14 22 }
  2554. ;; 14 succs { 15 19 }
  2555. ;; 15 succs { 16 18 }
  2556. ;; 16 succs { 17 }
  2557. ;; 17 succs { 23 }
  2558. ;; 23 succs { 17 }
  2559. ;; 18 succs { 22 }
  2560. ;; 19 succs { 20 21 }
  2561. ;; 20 succs { 22 }
  2562. ;; 21 succs { 22 }
  2563. ;; 22 succs { 1 }
  2564. Analyzing function body size: vTaskSuspend
  2565. IPA function summary for vTaskSuspend/39 inlinable
  2566. global time: 174.712526
  2567. self size: 53
  2568. global size: 0
  2569. min size: 0
  2570. self stack: 0
  2571. global stack: 0
  2572. size:34.000000, time:111.047613
  2573. size:3.000000, time:1.850000, executed if:(not inlined)
  2574. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2575. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2576. calls:
  2577. vTaskSwitchContext/57 function not considered for inlining
  2578. loop depth: 0 freq:0.07 size: 1 time: 10callee size:13 stack: 0
  2579. vPortExitCritical/101 function body not available
  2580. loop depth: 0 freq:0.33 size: 1 time: 10
  2581. prvResetNextTaskUnblockTime/77 function not considered for inlining
  2582. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 4 stack: 0
  2583. vPortEnterCritical/100 function body not available
  2584. loop depth: 0 freq:0.33 size: 1 time: 10
  2585. vPortExitCritical/101 function body not available
  2586. loop depth: 0 freq:1.00 size: 1 time: 10
  2587. vListInsertEnd/104 function body not available
  2588. loop depth: 0 freq:1.00 size: 3 time: 12
  2589. op0 is compile time invariant
  2590. uxListRemove/103 function body not available
  2591. loop depth: 0 freq:0.53 size: 2 time: 11
  2592. uxListRemove/103 function body not available
  2593. loop depth: 0 freq:1.00 size: 2 time: 11
  2594. vPortEnterCritical/100 function body not available
  2595. loop depth: 0 freq:1.00 size: 1 time: 10
  2596. Analyzing function: vTaskPrioritySet/38
  2597. ;; 2 loops found
  2598. ;;
  2599. ;; Loop 0
  2600. ;; header 0, latch 1
  2601. ;; depth 0, outer -1
  2602. ;; nodes: 0 1 2 3 4 25 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  2603. ;;
  2604. ;; Loop 1
  2605. ;; header 4, latch 25
  2606. ;; depth 1, outer 0
  2607. ;; nodes: 4 25
  2608. ;; 2 succs { 3 5 }
  2609. ;; 3 succs { 4 }
  2610. ;; 4 succs { 25 }
  2611. ;; 25 succs { 4 }
  2612. ;; 5 succs { 6 7 }
  2613. ;; 6 succs { 7 }
  2614. ;; 7 succs { 8 24 }
  2615. ;; 8 succs { 9 12 }
  2616. ;; 9 succs { 10 14 }
  2617. ;; 10 succs { 11 14 }
  2618. ;; 11 succs { 14 }
  2619. ;; 12 succs { 13 14 }
  2620. ;; 13 succs { 14 }
  2621. ;; 14 succs { 15 16 }
  2622. ;; 15 succs { 16 }
  2623. ;; 16 succs { 17 18 }
  2624. ;; 17 succs { 18 }
  2625. ;; 18 succs { 19 22 }
  2626. ;; 19 succs { 20 21 }
  2627. ;; 20 succs { 21 }
  2628. ;; 21 succs { 22 }
  2629. ;; 22 succs { 23 24 }
  2630. ;; 23 succs { 24 }
  2631. ;; 24 succs { 1 }
  2632. Analyzing function body size: vTaskPrioritySet
  2633. IPA function summary for vTaskPrioritySet/38 inlinable
  2634. global time: 20.030363
  2635. self size: 66
  2636. global size: 0
  2637. min size: 0
  2638. self stack: 0
  2639. global stack: 0
  2640. size:0.000000, time:0.000000
  2641. size:2.000000, time:0.000000, executed if:(not inlined)
  2642. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  2643. size:2.000000, time:0.660002, executed if:(op1 <= 4), nonconst if:(op0 changed) && (op1 <= 4)
  2644. size:1.000000, time:0.099002, executed if:(op0 == 0B) && (op1 <= 4)
  2645. size:48.000000, time:6.115238, executed if:(op1 <= 4)
  2646. size:1.000000, time:0.128504, executed if:(op1 <= 4), nonconst if:(op1 changed) && (op1 <= 4)
  2647. size:1.000000, time:0.660002, executed if:(op1 <= 4) && (not inlined)
  2648. size:5.000000, time:3.349994, executed if:(op1 > 4)
  2649. calls:
  2650. vPortExitCritical/101 function body not available
  2651. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  2652. uxListRemove/103 function body not available
  2653. loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 <= 4)
  2654. vPortEnterCritical/100 function body not available
  2655. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  2656. Analyzing function: uxTaskPriorityGetFromISR/37
  2657. ;; 1 loops found
  2658. ;;
  2659. ;; Loop 0
  2660. ;; header 0, latch 1
  2661. ;; depth 0, outer -1
  2662. ;; nodes: 0 1 2 3 4
  2663. ;; 2 succs { 3 4 }
  2664. ;; 3 succs { 4 }
  2665. ;; 4 succs { 1 }
  2666. Analyzing function body size: uxTaskPriorityGetFromISR
  2667. IPA function summary for uxTaskPriorityGetFromISR/37 inlinable
  2668. global time: 22.300000
  2669. self size: 15
  2670. global size: 0
  2671. min size: 0
  2672. self stack: 0
  2673. global stack: 0
  2674. size:8.000000, time:8.000000
  2675. size:3.000000, time:2.000000, executed if:(not inlined)
  2676. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2677. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2678. calls:
  2679. vPortValidateInterruptPriority/106 function body not available
  2680. loop depth: 0 freq:1.00 size: 1 time: 10
  2681. Analyzing function: uxTaskPriorityGet/36
  2682. ;; 1 loops found
  2683. ;;
  2684. ;; Loop 0
  2685. ;; header 0, latch 1
  2686. ;; depth 0, outer -1
  2687. ;; nodes: 0 1 2 3 4
  2688. ;; 2 succs { 3 4 }
  2689. ;; 3 succs { 4 }
  2690. ;; 4 succs { 1 }
  2691. Analyzing function body size: uxTaskPriorityGet
  2692. IPA function summary for uxTaskPriorityGet/36 inlinable
  2693. global time: 25.300000
  2694. self size: 9
  2695. global size: 0
  2696. min size: 0
  2697. self stack: 0
  2698. global stack: 0
  2699. size:1.000000, time:1.000000
  2700. size:3.000000, time:2.000000, executed if:(not inlined)
  2701. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2702. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2703. calls:
  2704. vPortExitCritical/101 function body not available
  2705. loop depth: 0 freq:1.00 size: 1 time: 10
  2706. vPortEnterCritical/100 function body not available
  2707. loop depth: 0 freq:1.00 size: 1 time: 10
  2708. Analyzing function: eTaskGetState/35
  2709. ;; 3 loops found
  2710. ;;
  2711. ;; Loop 0
  2712. ;; header 0, latch 1
  2713. ;; depth 0, outer -1
  2714. ;; nodes: 0 1 2 3 4 15 5 6 7 8 9 10 11 12 13 14
  2715. ;;
  2716. ;; Loop 2
  2717. ;; header 4, latch 15
  2718. ;; depth 1, outer 0
  2719. ;; nodes: 4 15
  2720. ;; 2 succs { 3 5 }
  2721. ;; 3 succs { 4 }
  2722. ;; 4 succs { 15 }
  2723. ;; 15 succs { 4 }
  2724. ;; 5 succs { 14 6 }
  2725. ;; 6 succs { 14 7 }
  2726. ;; 7 succs { 14 8 }
  2727. ;; 8 succs { 9 11 }
  2728. ;; 9 succs { 10 14 }
  2729. ;; 10 succs { 14 }
  2730. ;; 11 succs { 14 12 }
  2731. ;; 12 succs { 14 13 }
  2732. ;; 13 succs { 14 }
  2733. ;; 14 succs { 1 }
  2734. Analyzing function body size: eTaskGetState
  2735. IPA function summary for eTaskGetState/35 inlinable
  2736. global time: 18.703258
  2737. self size: 34
  2738. global size: 0
  2739. min size: 0
  2740. self stack: 0
  2741. global stack: 0
  2742. size:0.000000, time:0.000000
  2743. size:2.000000, time:0.000000, executed if:(not inlined)
  2744. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2745. size:18.000000, time:5.699011, executed if:(op0 != 0B)
  2746. size:2.000000, time:1.624208, executed if:(op0 != 0B) && (not inlined)
  2747. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2748. calls:
  2749. eTaskGetState.part.0/122 function not considered for inlining
  2750. loop depth: 0 freq:0.03 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0 != 0B)
  2751. vPortExitCritical/101 function body not available
  2752. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2753. vPortEnterCritical/100 function body not available
  2754. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2755. Analyzing function: vTaskDelay/34
  2756. ;; 2 loops found
  2757. ;;
  2758. ;; Loop 0
  2759. ;; header 0, latch 1
  2760. ;; depth 0, outer -1
  2761. ;; nodes: 0 1 2 4 5 6 10 7 8 9
  2762. ;;
  2763. ;; Loop 1
  2764. ;; header 6, latch 10
  2765. ;; depth 1, outer 0
  2766. ;; nodes: 6 10
  2767. ;; 2 succs { 4 8 }
  2768. ;; 4 succs { 5 7 }
  2769. ;; 5 succs { 6 }
  2770. ;; 6 succs { 10 }
  2771. ;; 10 succs { 6 }
  2772. ;; 7 succs { 8 9 }
  2773. ;; 8 succs { 9 }
  2774. ;; 9 succs { 1 }
  2775. Analyzing function body size: vTaskDelay
  2776. IPA function summary for vTaskDelay/34 inlinable
  2777. global time: 14.027552
  2778. self size: 24
  2779. global size: 0
  2780. min size: 0
  2781. self stack: 0
  2782. global stack: 0
  2783. size:3.000000, time:1.747506
  2784. size:3.000000, time:1.329999, executed if:(not inlined)
  2785. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2786. size:10.000000, time:3.505009, executed if:(op0 != 0)
  2787. calls:
  2788. xTaskResumeAll/46 function not considered for inlining
  2789. loop depth: 0 freq:0.17 size: 2 time: 11callee size: 6 stack: 0 predicate: (op0 != 0)
  2790. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  2791. loop depth: 0 freq:0.17 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0)
  2792. op1 is compile time invariant
  2793. vTaskSuspendAll/45 function not considered for inlining
  2794. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0)
  2795. Analyzing function: xTaskDelayUntil/33
  2796. ;; 4 loops found
  2797. ;;
  2798. ;; Loop 0
  2799. ;; header 0, latch 1
  2800. ;; depth 0, outer -1
  2801. ;; nodes: 0 1 2 3 4 25 5 6 7 26 8 9 10 27 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  2802. ;;
  2803. ;; Loop 3
  2804. ;; header 4, latch 25
  2805. ;; depth 1, outer 0
  2806. ;; nodes: 4 25
  2807. ;;
  2808. ;; Loop 2
  2809. ;; header 7, latch 26
  2810. ;; depth 1, outer 0
  2811. ;; nodes: 7 26
  2812. ;;
  2813. ;; Loop 1
  2814. ;; header 10, latch 27
  2815. ;; depth 1, outer 0
  2816. ;; nodes: 10 27
  2817. ;; 2 succs { 3 5 }
  2818. ;; 3 succs { 4 }
  2819. ;; 4 succs { 25 }
  2820. ;; 25 succs { 4 }
  2821. ;; 5 succs { 6 8 }
  2822. ;; 6 succs { 7 }
  2823. ;; 7 succs { 26 }
  2824. ;; 26 succs { 7 }
  2825. ;; 8 succs { 9 11 }
  2826. ;; 9 succs { 10 }
  2827. ;; 10 succs { 27 }
  2828. ;; 27 succs { 10 }
  2829. ;; 11 succs { 12 17 }
  2830. ;; 12 succs { 14 13 }
  2831. ;; 13 succs { 22 }
  2832. ;; 14 succs { 16 15 }
  2833. ;; 15 succs { 22 }
  2834. ;; 16 succs { 21 }
  2835. ;; 17 succs { 19 18 }
  2836. ;; 18 succs { 19 20 }
  2837. ;; 19 succs { 21 }
  2838. ;; 20 succs { 22 }
  2839. ;; 21 succs { 22 }
  2840. ;; 22 succs { 23 24 }
  2841. ;; 23 succs { 24 }
  2842. ;; 24 succs { 1 }
  2843. Analyzing function body size: xTaskDelayUntil
  2844. IPA function summary for xTaskDelayUntil/33 inlinable
  2845. global time: 13.723476
  2846. self size: 55
  2847. global size: 0
  2848. min size: 0
  2849. self stack: 0
  2850. global stack: 0
  2851. size:0.000000, time:0.000000
  2852. size:2.000000, time:0.000000, executed if:(not inlined)
  2853. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2854. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  2855. size:29.000000, time:3.608499, executed if:(op1 != 0) && (op0 != 0B)
  2856. size:4.000000, time:0.346496, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
  2857. size:5.000000, time:1.749999, executed if:(op1 == 0) && (op0 != 0B)
  2858. size:5.000000, time:1.500002, executed if:(op0 == 0B)
  2859. calls:
  2860. xTaskResumeAll/46 function not considered for inlining
  2861. loop depth: 0 freq:0.12 size: 2 time: 11callee size: 6 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2862. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  2863. loop depth: 0 freq:0.06 size: 3 time: 12callee size:16 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2864. op1 is compile time invariant
  2865. vTaskSuspendAll/45 function not considered for inlining
  2866. loop depth: 0 freq:0.12 size: 1 time: 10callee size: 3 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2867. Analyzing function: vTaskDelete/32
  2868. ;; 2 loops found
  2869. ;;
  2870. ;; Loop 0
  2871. ;; header 0, latch 1
  2872. ;; depth 0, outer -1
  2873. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 14 15
  2874. ;;
  2875. ;; Loop 1
  2876. ;; header 13, latch 16
  2877. ;; depth 1, outer 0
  2878. ;; nodes: 13 16
  2879. ;; 2 succs { 3 4 }
  2880. ;; 3 succs { 4 }
  2881. ;; 4 succs { 5 6 }
  2882. ;; 5 succs { 6 }
  2883. ;; 6 succs { 7 8 }
  2884. ;; 7 succs { 9 }
  2885. ;; 8 succs { 9 }
  2886. ;; 9 succs { 10 15 }
  2887. ;; 10 succs { 11 15 }
  2888. ;; 11 succs { 12 14 }
  2889. ;; 12 succs { 13 }
  2890. ;; 13 succs { 16 }
  2891. ;; 16 succs { 13 }
  2892. ;; 14 succs { 15 }
  2893. ;; 15 succs { 1 }
  2894. Analyzing function body size: vTaskDelete
  2895. IPA function summary for vTaskDelete/32 inlinable
  2896. global time: 76.881702
  2897. self size: 50
  2898. global size: 0
  2899. min size: 0
  2900. self stack: 0
  2901. global stack: 0
  2902. size:32.000000, time:17.550001
  2903. size:3.000000, time:1.850000, executed if:(not inlined)
  2904. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2905. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2906. calls:
  2907. vPortExitCritical/101 function body not available
  2908. loop depth: 0 freq:1.00 size: 1 time: 10
  2909. prvResetNextTaskUnblockTime/77 function not considered for inlining
  2910. loop depth: 0 freq:0.70 size: 1 time: 10callee size: 4 stack: 0
  2911. prvDeleteTCB/76 function not considered for inlining
  2912. loop depth: 0 freq:0.70 size: 2 time: 11callee size: 4 stack: 0
  2913. vListInsertEnd/104 function body not available
  2914. loop depth: 0 freq:0.30 size: 3 time: 12
  2915. op0 is compile time invariant
  2916. uxListRemove/103 function body not available
  2917. loop depth: 0 freq:0.53 size: 2 time: 11
  2918. uxListRemove/103 function body not available
  2919. loop depth: 0 freq:1.00 size: 2 time: 11
  2920. vPortEnterCritical/100 function body not available
  2921. loop depth: 0 freq:1.00 size: 1 time: 10
  2922. Analyzing function: prvAddNewTaskToReadyList/31
  2923. ;; 1 loops found
  2924. ;;
  2925. ;; Loop 0
  2926. ;; header 0, latch 1
  2927. ;; depth 0, outer -1
  2928. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  2929. ;; 2 succs { 3 5 }
  2930. ;; 3 succs { 4 8 }
  2931. ;; 4 succs { 8 }
  2932. ;; 5 succs { 6 8 }
  2933. ;; 6 succs { 7 8 }
  2934. ;; 7 succs { 8 }
  2935. ;; 8 succs { 9 10 }
  2936. ;; 9 succs { 10 }
  2937. ;; 10 succs { 11 13 }
  2938. ;; 11 succs { 12 13 }
  2939. ;; 12 succs { 13 }
  2940. ;; 13 succs { 1 }
  2941. Analyzing function body size: prvAddNewTaskToReadyList
  2942. IPA function summary for prvAddNewTaskToReadyList/31 inlinable
  2943. global time: 59.582200
  2944. self size: 56
  2945. global size: 0
  2946. min size: 0
  2947. self stack: 0
  2948. global stack: 0
  2949. size:46.500000, time:34.050000
  2950. size:6.500000, time:4.925000, executed if:(not inlined)
  2951. calls:
  2952. vPortExitCritical/101 function body not available
  2953. loop depth: 0 freq:1.00 size: 1 time: 10
  2954. prvInitialiseTaskLists/70 function not considered for inlining
  2955. loop depth: 0 freq:0.06 size: 1 time: 10callee size:10 stack: 0
  2956. vPortEnterCritical/100 function body not available
  2957. loop depth: 0 freq:1.00 size: 1 time: 10
  2958. Analyzing function: xTaskCreate/29
  2959. ;; 1 loops found
  2960. ;;
  2961. ;; Loop 0
  2962. ;; header 0, latch 1
  2963. ;; depth 0, outer -1
  2964. ;; nodes: 0 1 2 4 5 6 7 8 9
  2965. ;; 2 succs { 4 9 }
  2966. ;; 4 succs { 5 6 }
  2967. ;; 5 succs { 7 }
  2968. ;; 6 succs { 7 }
  2969. ;; 7 succs { 8 9 }
  2970. ;; 8 succs { 9 }
  2971. ;; 9 succs { 1 }
  2972. Analyzing function body size: xTaskCreate
  2973. IPA function summary for xTaskCreate/29 inlinable
  2974. global time: 35.027197
  2975. self size: 29
  2976. global size: 0
  2977. min size: 0
  2978. self stack: 0
  2979. global stack: 0
  2980. size:7.000000, time:4.580302
  2981. size:3.000000, time:2.000000, executed if:(not inlined)
  2982. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  2983. calls:
  2984. prvAddNewTaskToReadyList/31 function not considered for inlining
  2985. loop depth: 0 freq:0.29 size: 2 time: 11callee size:28 stack: 0
  2986. prvInitialiseNewTask.isra.0/118 function not considered for inlining
  2987. loop depth: 0 freq:0.29 size: 8 time: 17callee size:31 stack: 0
  2988. vPortFree/96 function body not available
  2989. loop depth: 0 freq:0.09 size: 2 time: 11
  2990. pvPortMalloc/95 function body not available
  2991. loop depth: 0 freq:0.53 size: 3 time: 12
  2992. op0 is compile time invariant
  2993. pvPortMalloc/95 function body not available
  2994. loop depth: 0 freq:1.00 size: 3 time: 12
  2995. Symbol table:
  2996. CSWTCH.225/163 (CSWTCH.225) @063c4798
  2997. Type: variable definition analyzed
  2998. Visibility: prevailing_def_ironly artificial
  2999. References:
  3000. Referring: vTaskList/84 (read)
  3001. Availability: available
  3002. Varpool flags: initialized read-only const-value-known
  3003. prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @061d3b60
  3004. Type: function definition analyzed
  3005. Visibility: prevailing_def_ironly artificial
  3006. References:
  3007. Referring:
  3008. Availability: local
  3009. Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  3010. Called by: prvListTasksWithinSingleList/73 (118111600 (estimated locally),0.50 per call)
  3011. Calls: vTaskGetInfo/72 (1073741824 (estimated locally),9.09 per call)
  3012. vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @063282a0
  3013. Type: function definition analyzed
  3014. Visibility: prevailing_def_ironly artificial
  3015. References:
  3016. Referring:
  3017. Availability: local
  3018. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  3019. Called by: vTaskSwitchContext/57 (107374 (estimated locally),0.24 per call)
  3020. Calls:
  3021. xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @06328620
  3022. Type: function definition analyzed
  3023. Visibility: prevailing_def_ironly artificial
  3024. 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)
  3025. Referring:
  3026. Availability: local
  3027. Function flags: count:472446400 (estimated locally) first_run:1 body local split_part optimize_size
  3028. Called by: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call)
  3029. 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)
  3030. xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @06328540
  3031. Type: function definition analyzed
  3032. Visibility: prevailing_def_ironly artificial
  3033. 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)
  3034. Referring:
  3035. Availability: local
  3036. Function flags: count:320519 (estimated locally) first_run:1 body local split_part optimize_size
  3037. Called by: xTaskIncrementTick/56 (320520 (estimated locally),0.50 per call)
  3038. Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.17 per call)
  3039. eTaskGetState.part.0/122 (eTaskGetState.part.0) @061d39a0
  3040. Type: function definition analyzed
  3041. Visibility: prevailing_def_ironly artificial
  3042. References:
  3043. Referring:
  3044. Availability: local
  3045. Function flags: count:566398813 (estimated locally) first_run:1 body local split_part optimize_size
  3046. Called by: eTaskGetState/35 (11759 (estimated locally),0.03 per call)
  3047. Calls:
  3048. prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @05f2a540
  3049. Type: function definition analyzed
  3050. Visibility: prevailing_def_ironly artificial
  3051. 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)
  3052. Referring:
  3053. Availability: local
  3054. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  3055. Called by: prvAddCurrentTaskToDelayedList/94 (182536110 (estimated locally),0.17 per call)
  3056. Calls:
  3057. prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @05f2a2a0
  3058. Type: function definition analyzed
  3059. Visibility: prevailing_def_ironly artificial
  3060. References:
  3061. Referring:
  3062. Availability: local
  3063. Function flags: count:160260 (estimated locally) body local optimize_size
  3064. Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
  3065. 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)
  3066. prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @05f22e00
  3067. Type: function definition analyzed
  3068. Visibility: prevailing_def_ironly artificial
  3069. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  3070. Referring:
  3071. Availability: local
  3072. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  3073. Called by: prvResetNextTaskUnblockTime/77 (536870912 (estimated locally),0.50 per call)
  3074. Calls:
  3075. prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05e542a0
  3076. Type: function definition analyzed
  3077. Visibility: prevailing_def_ironly artificial
  3078. References: xPendingReadyList/13 (addr)
  3079. Referring:
  3080. Availability: local
  3081. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  3082. Called by: prvTaskIsTaskSuspended/40 (75162 (estimated locally),0.21 per call)
  3083. Calls:
  3084. strcpy/112 (strcpy) @06161000
  3085. Type: function
  3086. Visibility: external public
  3087. References:
  3088. Referring:
  3089. Availability: not_available
  3090. Function flags: optimize_size
  3091. Called by: prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call)
  3092. Calls:
  3093. sprintf/111 (sprintf) @06141ee0
  3094. Type: function
  3095. Visibility: external public
  3096. References:
  3097. Referring:
  3098. Availability: not_available
  3099. Function flags: optimize_size
  3100. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
  3101. Calls:
  3102. strlen/110 (strlen) @060d49a0
  3103. Type: function
  3104. Visibility: external public
  3105. References:
  3106. Referring:
  3107. Availability: not_available
  3108. Function flags: optimize_size
  3109. 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)
  3110. Calls:
  3111. vPortEndScheduler/109 (vPortEndScheduler) @060d4000
  3112. Type: function
  3113. Visibility: external public
  3114. References:
  3115. Referring:
  3116. Availability: not_available
  3117. Function flags: optimize_size
  3118. Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call)
  3119. Calls:
  3120. xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40
  3121. Type: function
  3122. Visibility: external public
  3123. References:
  3124. Referring:
  3125. Availability: not_available
  3126. Function flags: optimize_size
  3127. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  3128. Calls:
  3129. xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60
  3130. Type: function
  3131. Visibility: external public
  3132. References:
  3133. Referring:
  3134. Availability: not_available
  3135. Function flags: optimize_size
  3136. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  3137. Calls:
  3138. vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00
  3139. Type: function
  3140. Visibility: external public
  3141. References:
  3142. Referring:
  3143. Availability: not_available
  3144. Function flags: optimize_size
  3145. 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)
  3146. Calls:
  3147. vListInsert/105 (vListInsert) @05a837e0
  3148. Type: function
  3149. Visibility: external public
  3150. References:
  3151. Referring:
  3152. Availability: not_available
  3153. Function flags: optimize_size
  3154. 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)
  3155. Calls:
  3156. vListInsertEnd/104 (vListInsertEnd) @05a830e0
  3157. Type: function
  3158. Visibility: external public
  3159. References:
  3160. Referring:
  3161. Availability: not_available
  3162. Function flags: optimize_size
  3163. 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)
  3164. Calls:
  3165. uxListRemove/103 (uxListRemove) @05a83000
  3166. Type: function
  3167. Visibility: external public
  3168. References:
  3169. Referring:
  3170. Availability: not_available
  3171. Function flags: optimize_size
  3172. 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)
  3173. Calls:
  3174. vListInitialise/102 (vListInitialise) @060b4ee0
  3175. Type: function
  3176. Visibility: external public
  3177. References:
  3178. Referring:
  3179. Availability: not_available
  3180. Function flags: optimize_size
  3181. 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)
  3182. Calls:
  3183. vPortExitCritical/101 (vPortExitCritical) @060b4d20
  3184. Type: function
  3185. Visibility: external public
  3186. References:
  3187. Referring:
  3188. Availability: not_available
  3189. Function flags: optimize_size
  3190. 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)
  3191. Calls:
  3192. vPortEnterCritical/100 (vPortEnterCritical) @060b4b60
  3193. Type: function
  3194. Visibility: external public
  3195. References:
  3196. Referring:
  3197. Availability: not_available
  3198. Function flags: optimize_size
  3199. 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)
  3200. Calls:
  3201. pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0
  3202. Type: function
  3203. Visibility: external public
  3204. References:
  3205. Referring:
  3206. Availability: not_available
  3207. Function flags: optimize_size
  3208. Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
  3209. Calls:
  3210. vListInitialiseItem/98 (vListInitialiseItem) @060b47e0
  3211. Type: function
  3212. Visibility: external public
  3213. References:
  3214. Referring:
  3215. Availability: not_available
  3216. Function flags: optimize_size
  3217. Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
  3218. Calls:
  3219. memset/97 (memset) @060b4700
  3220. Type: function
  3221. Visibility: external public
  3222. References:
  3223. Referring:
  3224. Availability: not_available
  3225. Function flags: optimize_size
  3226. 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)
  3227. Calls:
  3228. vPortFree/96 (vPortFree) @060b4540
  3229. Type: function
  3230. Visibility: external public
  3231. References:
  3232. Referring:
  3233. Availability: not_available
  3234. Function flags: optimize_size
  3235. 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)
  3236. Calls:
  3237. pvPortMalloc/95 (pvPortMalloc) @060b4460
  3238. Type: function
  3239. Visibility: external public
  3240. References:
  3241. Referring:
  3242. Availability: not_available
  3243. Function flags: optimize_size
  3244. 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)
  3245. Calls:
  3246. prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000
  3247. Type: function definition analyzed
  3248. Visibility: prevailing_def_ironly
  3249. 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)
  3250. Referring:
  3251. Availability: local
  3252. Function flags: count:1073741823 (estimated locally) body local optimize_size
  3253. 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)
  3254. 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)
  3255. ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540
  3256. Type: function definition analyzed
  3257. Visibility: externally_visible public
  3258. References: pxCurrentTCB/7 (read)
  3259. Referring:
  3260. Availability: available
  3261. Function flags: count:1073741824 (estimated locally) body optimize_size
  3262. Called by:
  3263. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  3264. xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20
  3265. Type: function definition analyzed
  3266. Visibility: externally_visible public
  3267. References: pxCurrentTCB/7 (read)
  3268. Referring:
  3269. Availability: available
  3270. Function flags: count:214748 (estimated locally) body optimize_size
  3271. Called by:
  3272. Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call)
  3273. vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0
  3274. Type: function definition analyzed
  3275. Visibility: externally_visible public
  3276. 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)
  3277. Referring:
  3278. Availability: available
  3279. Function flags: count:228942 (estimated locally) body optimize_size
  3280. Called by:
  3281. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  3282. xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460
  3283. Type: function definition analyzed
  3284. Visibility: externally_visible public
  3285. 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)
  3286. Referring:
  3287. Availability: available
  3288. Function flags: count:228942 (estimated locally) body optimize_size
  3289. Called by:
  3290. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  3291. xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00
  3292. Type: function definition analyzed
  3293. Visibility: externally_visible public
  3294. 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)
  3295. Referring:
  3296. Availability: available
  3297. Function flags: count:214748 (estimated locally) body optimize_size
  3298. Called by:
  3299. Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call)
  3300. xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20
  3301. Type: function definition analyzed
  3302. Visibility: externally_visible public
  3303. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3304. Referring:
  3305. Availability: available
  3306. Function flags: count:160260 (estimated locally) body optimize_size
  3307. Called by:
  3308. 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)
  3309. ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0
  3310. Type: function definition analyzed
  3311. Visibility: externally_visible public
  3312. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3313. Referring:
  3314. Availability: available
  3315. Function flags: count:160260 (estimated locally) body optimize_size
  3316. Called by:
  3317. 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)
  3318. pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460
  3319. Type: function definition analyzed
  3320. Visibility: externally_visible public
  3321. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3322. Referring:
  3323. Availability: available
  3324. Function flags: count:1073741824 (estimated locally) body optimize_size
  3325. Called by:
  3326. Calls:
  3327. uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0
  3328. Type: function definition analyzed
  3329. Visibility: externally_visible public
  3330. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3331. Referring:
  3332. Availability: available
  3333. Function flags: count:1073741824 (estimated locally) body optimize_size
  3334. Called by:
  3335. Calls:
  3336. vTaskList/84 (vTaskList) @0604fc40
  3337. Type: function definition analyzed
  3338. Visibility: externally_visible public
  3339. References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read)
  3340. Referring:
  3341. Availability: available
  3342. Function flags: count:220893212 (estimated locally) body optimize_size
  3343. Called by:
  3344. 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)
  3345. prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540
  3346. Type: function definition analyzed
  3347. Visibility: prevailing_def_ironly
  3348. References:
  3349. Referring:
  3350. Availability: local
  3351. Function flags: count:118111600 (estimated locally) body local optimize_size
  3352. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
  3353. Calls: strlen/110 (118111600 (estimated locally),1.00 per call) strcpy/112 (118111600 (estimated locally),1.00 per call)
  3354. vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000
  3355. Type: function definition analyzed
  3356. Visibility: externally_visible public
  3357. 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)
  3358. Referring:
  3359. Availability: available
  3360. Function flags: count:306783 (estimated locally) body optimize_size
  3361. Called by:
  3362. Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call)
  3363. xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60
  3364. Type: function definition analyzed
  3365. Visibility: externally_visible public
  3366. References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
  3367. Referring:
  3368. Availability: available
  3369. Function flags: count:219131 (estimated locally) body optimize_size
  3370. Called by:
  3371. Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call)
  3372. xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700
  3373. Type: function definition analyzed
  3374. Visibility: externally_visible public
  3375. 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)
  3376. Referring:
  3377. Availability: available
  3378. Function flags: count:1073741824 (estimated locally) body optimize_size
  3379. Called by:
  3380. Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call)
  3381. xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460
  3382. Type: function definition analyzed
  3383. Visibility: externally_visible public
  3384. References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
  3385. Referring:
  3386. Availability: available
  3387. Function flags: count:1073741824 (estimated locally) body optimize_size
  3388. Called by:
  3389. Calls:
  3390. xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0
  3391. Type: function definition analyzed
  3392. Visibility: externally_visible public
  3393. References: pxCurrentTCB/7 (read)
  3394. Referring:
  3395. Availability: available
  3396. Function flags: count:1073741824 (estimated locally) body optimize_size
  3397. Called by:
  3398. Calls:
  3399. prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40
  3400. Type: function definition analyzed
  3401. Visibility: prevailing_def_ironly
  3402. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  3403. Referring:
  3404. Availability: local
  3405. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3406. 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)
  3407. Calls: prvResetNextTaskUnblockTime.part.0/115 (536870912 (estimated locally),0.50 per call)
  3408. prvDeleteTCB/76 (prvDeleteTCB) @06043380
  3409. Type: function definition analyzed
  3410. Visibility: prevailing_def_ironly
  3411. References:
  3412. Referring:
  3413. Availability: local
  3414. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3415. Called by: vTaskDelete/32 (1002157 (estimated locally),0.70 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call)
  3416. Calls: vPortFree/96 (1073741824 (estimated locally),1.00 per call) vPortFree/96 (1073741824 (estimated locally),1.00 per call)
  3417. uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0
  3418. Type: function definition analyzed
  3419. Visibility: externally_visible public
  3420. References: pxCurrentTCB/7 (read)
  3421. Referring:
  3422. Availability: available
  3423. Function flags: count:1073741824 (estimated locally) body optimize_size
  3424. Called by:
  3425. Calls: prvTaskCheckFreeStackSpace/74 (1073741824 (estimated locally),1.00 per call)
  3426. prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60
  3427. Type: function definition analyzed
  3428. Visibility: prevailing_def_ironly
  3429. References:
  3430. Referring:
  3431. Availability: local
  3432. Function flags: count:118111600 (estimated locally) body local optimize_size
  3433. Called by: uxTaskGetStackHighWaterMark/75 (1073741824 (estimated locally),1.00 per call) vTaskGetInfo/72 (354334802 (estimated locally),0.33 per call)
  3434. Calls:
  3435. prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0
  3436. Type: function definition analyzed
  3437. Visibility: prevailing_def_ironly
  3438. References:
  3439. Referring:
  3440. Availability: local
  3441. Function flags: count:236223200 (estimated locally) body local optimize_size
  3442. 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)
  3443. Calls: prvListTasksWithinSingleList.part.0/158 (118111600 (estimated locally),0.50 per call)
  3444. vTaskGetInfo/72 (vTaskGetInfo) @06043620
  3445. Type: function definition analyzed
  3446. Visibility: externally_visible public
  3447. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3448. Referring:
  3449. Availability: available
  3450. Function flags: count:1073741823 (estimated locally) body optimize_size
  3451. Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),9.09 per call)
  3452. 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)
  3453. prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0
  3454. Type: function definition analyzed
  3455. Visibility: prevailing_def_ironly
  3456. References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
  3457. Referring:
  3458. Availability: local
  3459. Function flags: count:118111600 (estimated locally) body local optimize_size
  3460. Called by: prvIdleTask/69 (1073741824 (estimated locally),16949.09 per call)
  3461. 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)
  3462. prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0
  3463. Type: function definition analyzed
  3464. Visibility: prevailing_def_ironly
  3465. 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)
  3466. Referring:
  3467. Availability: local
  3468. Function flags: count:178992762 (estimated locally) body local optimize_size
  3469. Called by: prvAddNewTaskToReadyList/31 (65197603 (estimated locally),0.06 per call)
  3470. 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)
  3471. prvIdleTask/69 (prvIdleTask) @0603f9a0
  3472. Type: function definition analyzed
  3473. Visibility: prevailing_def_ironly
  3474. Address is taken.
  3475. References: pxReadyTasksLists/8 (read)
  3476. Referring: vTaskStartScheduler/43 (addr)
  3477. Availability: available
  3478. Function flags: count:63351 (estimated locally) body executed_once optimize_size
  3479. Called by:
  3480. Calls: prvCheckTasksWaitingTermination/71 (1073741824 (estimated locally),16949.09 per call)
  3481. vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00
  3482. Type: function definition analyzed
  3483. Visibility: externally_visible public
  3484. References:
  3485. Referring:
  3486. Availability: available
  3487. Function flags: count:1073741824 (estimated locally) body optimize_size
  3488. Called by:
  3489. Calls:
  3490. uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60
  3491. Type: function definition analyzed
  3492. Visibility: externally_visible public
  3493. References:
  3494. Referring:
  3495. Availability: available
  3496. Function flags: count:1073741824 (estimated locally) body optimize_size
  3497. Called by:
  3498. Calls:
  3499. vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0
  3500. Type: function definition analyzed
  3501. Visibility: externally_visible public
  3502. References: xYieldPending/22 (write)
  3503. Referring:
  3504. Availability: available
  3505. Function flags: count:1073741824 (estimated locally) body optimize_size
  3506. Called by:
  3507. Calls:
  3508. xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620
  3509. Type: function definition analyzed
  3510. Visibility: externally_visible public
  3511. References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
  3512. Referring:
  3513. Availability: available
  3514. Function flags: count:329661 (estimated locally) body optimize_size
  3515. Called by:
  3516. 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)
  3517. vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0
  3518. Type: function definition analyzed
  3519. Visibility: externally_visible public
  3520. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  3521. Referring:
  3522. Availability: available
  3523. Function flags: count:1073741824 (estimated locally) body optimize_size
  3524. Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call)
  3525. Calls:
  3526. vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60
  3527. Type: function definition analyzed
  3528. Visibility: externally_visible public
  3529. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  3530. Referring:
  3531. Availability: available
  3532. Function flags: count:230763 (estimated locally) body optimize_size
  3533. Called by:
  3534. Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call)
  3535. vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0
  3536. Type: function definition analyzed
  3537. Visibility: externally_visible public
  3538. 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)
  3539. Referring:
  3540. Availability: available
  3541. Function flags: count:214748 (estimated locally) body optimize_size
  3542. Called by:
  3543. Calls:
  3544. xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80
  3545. Type: function definition analyzed
  3546. Visibility: externally_visible public
  3547. 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)
  3548. Referring:
  3549. Availability: available
  3550. Function flags: count:357913 (estimated locally) body optimize_size
  3551. Called by:
  3552. Calls:
  3553. vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620
  3554. Type: function definition analyzed
  3555. Visibility: externally_visible public
  3556. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3557. Referring:
  3558. Availability: available
  3559. Function flags: count:357913 (estimated locally) body optimize_size
  3560. Called by:
  3561. Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call)
  3562. vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0
  3563. Type: function definition analyzed
  3564. Visibility: externally_visible public
  3565. References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3566. Referring:
  3567. Availability: available
  3568. Function flags: count:228942 (estimated locally) body optimize_size
  3569. Called by:
  3570. Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call)
  3571. vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80
  3572. Type: function definition analyzed
  3573. Visibility: externally_visible public
  3574. References: pxCurrentTCB/7 (read)
  3575. Referring:
  3576. Availability: available
  3577. Function flags: count:230763 (estimated locally) body optimize_size
  3578. Called by:
  3579. Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call)
  3580. vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00
  3581. Type: function definition analyzed
  3582. Visibility: force_output externally_visible public
  3583. 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)
  3584. Referring:
  3585. Availability: available
  3586. Function flags: count:441995 (estimated locally) body optimize_size
  3587. Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call)
  3588. Calls: vTaskSwitchContext.part.0/146 (107374 (estimated locally),0.24 per call)
  3589. xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0
  3590. Type: function definition analyzed
  3591. Visibility: externally_visible public
  3592. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  3593. Referring:
  3594. Availability: available
  3595. Function flags: count:641039 (estimated locally) body optimize_size
  3596. Called by: xTaskResumeAll.part.0/137 (536870915 (estimated locally),1.14 per call)
  3597. Calls: xTaskIncrementTick.part.0/135 (320520 (estimated locally),0.50 per call)
  3598. xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380
  3599. Type: function definition analyzed
  3600. Visibility: externally_visible public
  3601. 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)
  3602. Referring:
  3603. Availability: available
  3604. Function flags: count:230763 (estimated locally) body optimize_size
  3605. Called by:
  3606. 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)
  3607. xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000
  3608. Type: function definition analyzed
  3609. Visibility: externally_visible public
  3610. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  3611. Referring:
  3612. Availability: available
  3613. Function flags: count:160260 (estimated locally) body optimize_size
  3614. Called by:
  3615. Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call)
  3616. uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0
  3617. Type: function definition analyzed
  3618. Visibility: externally_visible public
  3619. References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)
  3620. Referring:
  3621. Availability: available
  3622. Function flags: count:429496728 (estimated locally) body optimize_size
  3623. Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call)
  3624. 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)
  3625. xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0
  3626. Type: function definition analyzed
  3627. Visibility: externally_visible public
  3628. References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  3629. Referring:
  3630. Availability: available
  3631. Function flags: count:160260 (estimated locally) body optimize_size
  3632. Called by:
  3633. 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)
  3634. prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00
  3635. Type: function definition analyzed
  3636. Visibility: prevailing_def_ironly
  3637. References:
  3638. Referring:
  3639. Availability: local
  3640. Function flags: count:25274560 (estimated locally) body local optimize_size
  3641. 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)
  3642. Calls:
  3643. pcTaskGetName/50 (pcTaskGetName) @05f7fb60
  3644. Type: function definition analyzed
  3645. Visibility: externally_visible public
  3646. References: pxCurrentTCB/7 (read)
  3647. Referring:
  3648. Availability: available
  3649. Function flags: count:357913 (estimated locally) body optimize_size
  3650. Called by:
  3651. Calls:
  3652. uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700
  3653. Type: function definition analyzed
  3654. Visibility: externally_visible public
  3655. References: uxCurrentNumberOfTasks/17 (read)
  3656. Referring:
  3657. Availability: available
  3658. Function flags: count:1073741824 (estimated locally) body optimize_size
  3659. Called by:
  3660. Calls:
  3661. xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460
  3662. Type: function definition analyzed
  3663. Visibility: externally_visible public
  3664. References: xTickCount/18 (read)
  3665. Referring:
  3666. Availability: available
  3667. Function flags: count:1073741824 (estimated locally) body optimize_size
  3668. Called by:
  3669. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  3670. xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0
  3671. Type: function definition analyzed
  3672. Visibility: externally_visible public
  3673. References: xTickCount/18 (read)
  3674. Referring:
  3675. Availability: available
  3676. Function flags: count:1073741824 (estimated locally) body optimize_size
  3677. Called by:
  3678. Calls:
  3679. xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00
  3680. Type: function definition analyzed
  3681. Visibility: externally_visible public
  3682. References: uxSchedulerSuspended/28 (read)
  3683. Referring:
  3684. Availability: available
  3685. Function flags: count:160260 (estimated locally) body optimize_size
  3686. 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)
  3687. Calls: xTaskResumeAll.part.0/137 (52886 (estimated locally),0.33 per call)
  3688. vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20
  3689. Type: function definition analyzed
  3690. Visibility: externally_visible public
  3691. References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
  3692. Referring:
  3693. Availability: available
  3694. Function flags: count:1073741824 (estimated locally) body optimize_size
  3695. 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)
  3696. Calls:
  3697. vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80
  3698. Type: function definition analyzed
  3699. Visibility: externally_visible public
  3700. References: xSchedulerRunning/20 (write)
  3701. Referring:
  3702. Availability: available
  3703. Function flags: count:1073741824 (estimated locally) body optimize_size
  3704. Called by:
  3705. Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call)
  3706. vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0
  3707. Type: function definition analyzed
  3708. Visibility: externally_visible public
  3709. References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read)
  3710. Referring:
  3711. Availability: available
  3712. Function flags: count:395945 (estimated locally) body optimize_size
  3713. Called by:
  3714. 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)
  3715. xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540
  3716. Type: function definition analyzed
  3717. Visibility: externally_visible public
  3718. 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)
  3719. Referring:
  3720. Availability: available
  3721. Function flags: count:230763 (estimated locally) body optimize_size
  3722. Called by:
  3723. 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)
  3724. vTaskResume/41 (vTaskResume) @05f6c1c0
  3725. Type: function definition analyzed
  3726. Visibility: externally_visible public
  3727. 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)
  3728. Referring:
  3729. Availability: available
  3730. Function flags: count:357913 (estimated locally) body optimize_size
  3731. Called by:
  3732. 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)
  3733. prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0
  3734. Type: function definition analyzed
  3735. Visibility: prevailing_def_ironly
  3736. References: xSuspendedTaskList/16 (addr)
  3737. Referring:
  3738. Availability: local
  3739. Function flags: count:357913 (estimated locally) body local optimize_size
  3740. Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call)
  3741. Calls: prvTaskIsTaskSuspended.part.0/114 (75162 (estimated locally),0.21 per call)
  3742. vTaskSuspend/39 (vTaskSuspend) @05f5de00
  3743. Type: function definition analyzed
  3744. Visibility: externally_visible public
  3745. 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)
  3746. Referring:
  3747. Availability: available
  3748. Function flags: count:1431653 (estimated locally) body optimize_size
  3749. Called by:
  3750. 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)
  3751. vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0
  3752. Type: function definition analyzed
  3753. Visibility: externally_visible public
  3754. 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)
  3755. Referring:
  3756. Availability: available
  3757. Function flags: count:160260 (estimated locally) body optimize_size
  3758. Called by:
  3759. 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)
  3760. uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380
  3761. Type: function definition analyzed
  3762. Visibility: externally_visible public
  3763. References: pxCurrentTCB/7 (read)
  3764. Referring:
  3765. Availability: available
  3766. Function flags: count:1073741824 (estimated locally) body optimize_size
  3767. Called by:
  3768. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  3769. uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000
  3770. Type: function definition analyzed
  3771. Visibility: externally_visible public
  3772. References: pxCurrentTCB/7 (read)
  3773. Referring:
  3774. Availability: available
  3775. Function flags: count:1073741824 (estimated locally) body optimize_size
  3776. Called by:
  3777. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  3778. eTaskGetState/35 (eTaskGetState) @05f482a0
  3779. Type: function definition analyzed
  3780. Visibility: externally_visible public
  3781. References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  3782. Referring:
  3783. Availability: available
  3784. Function flags: count:357913 (estimated locally) body optimize_size
  3785. Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call)
  3786. 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)
  3787. vTaskDelay/34 (vTaskDelay) @05f48c40
  3788. Type: function definition analyzed
  3789. Visibility: externally_visible public
  3790. References: uxSchedulerSuspended/28 (read)
  3791. Referring:
  3792. Availability: available
  3793. Function flags: count:320519 (estimated locally) body optimize_size
  3794. Called by:
  3795. 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)
  3796. xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0
  3797. Type: function definition analyzed
  3798. Visibility: externally_visible public
  3799. References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
  3800. Referring:
  3801. Availability: available
  3802. Function flags: count:306783 (estimated locally) body optimize_size
  3803. Called by:
  3804. 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)
  3805. vTaskDelete/32 (vTaskDelete) @05f481c0
  3806. Type: function definition analyzed
  3807. Visibility: externally_visible public
  3808. 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)
  3809. Referring:
  3810. Availability: available
  3811. Function flags: count:1431653 (estimated locally) body optimize_size
  3812. Called by:
  3813. 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)
  3814. prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540
  3815. Type: function definition analyzed
  3816. Visibility: prevailing_def_ironly
  3817. 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)
  3818. Referring:
  3819. Availability: local
  3820. Function flags: count:1073741821 (estimated locally) body local optimize_size
  3821. Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
  3822. 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)
  3823. xTaskCreate/29 (xTaskCreate) @05f36700
  3824. Type: function definition analyzed
  3825. Visibility: externally_visible public
  3826. References:
  3827. Referring:
  3828. Availability: available
  3829. Function flags: count:1073741824 (estimated locally) body optimize_size
  3830. Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call)
  3831. 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)
  3832. uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0
  3833. Type: variable definition analyzed
  3834. Visibility: force_output prevailing_def_ironly
  3835. References:
  3836. 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)
  3837. Availability: available
  3838. Varpool flags: initialized
  3839. uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510
  3840. Type: variable definition analyzed
  3841. Visibility: force_output externally_visible public
  3842. References:
  3843. Referring: vTaskStartScheduler/43 (read)
  3844. Availability: available
  3845. Varpool flags: initialized read-only
  3846. xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480
  3847. Type: variable definition analyzed
  3848. Visibility: prevailing_def_ironly
  3849. References:
  3850. Referring: vTaskStartScheduler/43 (addr)
  3851. Availability: available
  3852. Varpool flags: initialized
  3853. xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0
  3854. Type: variable definition analyzed
  3855. Visibility: force_output prevailing_def_ironly
  3856. References:
  3857. 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)
  3858. Availability: available
  3859. Varpool flags: initialized
  3860. uxTaskNumber/24 (uxTaskNumber) @05f30360
  3861. Type: variable definition analyzed
  3862. Visibility: prevailing_def_ironly
  3863. References:
  3864. Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  3865. Availability: available
  3866. Varpool flags: initialized
  3867. xNumOfOverflows/23 (xNumOfOverflows) @05f30318
  3868. Type: variable definition analyzed
  3869. Visibility: force_output prevailing_def_ironly
  3870. References:
  3871. Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read)
  3872. Availability: available
  3873. Varpool flags: initialized
  3874. xYieldPending/22 (xYieldPending) @05f302d0
  3875. Type: variable definition analyzed
  3876. Visibility: force_output prevailing_def_ironly
  3877. References:
  3878. 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)
  3879. Availability: available
  3880. Varpool flags: initialized
  3881. xPendedTicks/21 (xPendedTicks) @05f30240
  3882. Type: variable definition analyzed
  3883. Visibility: force_output prevailing_def_ironly
  3884. References:
  3885. Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)
  3886. Availability: available
  3887. Varpool flags: initialized
  3888. xSchedulerRunning/20 (xSchedulerRunning) @05f301b0
  3889. Type: variable definition analyzed
  3890. Visibility: force_output prevailing_def_ironly
  3891. References:
  3892. 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)
  3893. Availability: available
  3894. Varpool flags: initialized
  3895. uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120
  3896. Type: variable definition analyzed
  3897. Visibility: force_output prevailing_def_ironly
  3898. References:
  3899. 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)
  3900. Availability: available
  3901. Varpool flags: initialized
  3902. xTickCount/18 (xTickCount) @05f300d8
  3903. Type: variable definition analyzed
  3904. Visibility: force_output prevailing_def_ironly
  3905. References:
  3906. 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)
  3907. Availability: available
  3908. Varpool flags: initialized
  3909. uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090
  3910. Type: variable definition analyzed
  3911. Visibility: force_output prevailing_def_ironly
  3912. References:
  3913. 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)
  3914. Availability: available
  3915. Varpool flags: initialized
  3916. xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78
  3917. Type: variable definition analyzed
  3918. Visibility: prevailing_def_ironly
  3919. References:
  3920. 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)
  3921. Availability: available
  3922. Varpool flags:
  3923. uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8
  3924. Type: variable definition analyzed
  3925. Visibility: force_output prevailing_def_ironly
  3926. References:
  3927. Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  3928. Availability: available
  3929. Varpool flags: initialized
  3930. xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58
  3931. Type: variable definition analyzed
  3932. Visibility: prevailing_def_ironly
  3933. References:
  3934. Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr)
  3935. Availability: available
  3936. Varpool flags:
  3937. xPendingReadyList/13 (xPendingReadyList) @05f2cdc8
  3938. Type: variable definition analyzed
  3939. Visibility: prevailing_def_ironly
  3940. References:
  3941. 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)
  3942. Availability: available
  3943. Varpool flags:
  3944. pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38
  3945. Type: variable definition analyzed
  3946. Visibility: force_output prevailing_def_ironly
  3947. References:
  3948. 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)
  3949. Availability: available
  3950. Varpool flags:
  3951. pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0
  3952. Type: variable definition analyzed
  3953. Visibility: force_output prevailing_def_ironly
  3954. References:
  3955. 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)
  3956. Availability: available
  3957. Varpool flags:
  3958. xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8
  3959. Type: variable definition analyzed
  3960. Visibility: prevailing_def_ironly
  3961. References:
  3962. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  3963. Availability: available
  3964. Varpool flags:
  3965. xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18
  3966. Type: variable definition analyzed
  3967. Visibility: prevailing_def_ironly
  3968. References:
  3969. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  3970. Availability: available
  3971. Varpool flags:
  3972. pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88
  3973. Type: variable definition analyzed
  3974. Visibility: prevailing_def_ironly
  3975. References:
  3976. 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)
  3977. Availability: available
  3978. Varpool flags:
  3979. pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40
  3980. Type: variable definition analyzed
  3981. Visibility: force_output externally_visible public
  3982. References:
  3983. 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)
  3984. Availability: available
  3985. Varpool flags: initialized
  3986. prvListTasksWithinSingleList.part.0 (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
  3987. {
  3988. struct TCB_t * pxNextTCB;
  3989. struct TCB_t * pxFirstTCB;
  3990. UBaseType_t uxTask;
  3991. struct List_t * const pxConstList;
  3992. struct List_t * const pxConstList;
  3993. struct ListItem_t * _2;
  3994. struct xLIST_ITEM * _3;
  3995. struct MiniListItem_t * _4;
  3996. struct xLIST_ITEM * _5;
  3997. struct ListItem_t * _6;
  3998. struct ListItem_t * _8;
  3999. struct xLIST_ITEM * _9;
  4000. struct xLIST_ITEM * _10;
  4001. struct ListItem_t * _11;
  4002. long unsigned int _14;
  4003. struct TaskStatus_t * _16;
  4004. <bb 10> [local count: 118111600]:
  4005. <bb 2> [local count: 118111600]:
  4006. # DEBUG BEGIN_STMT
  4007. # DEBUG pxConstList => pxList_1(D)
  4008. # DEBUG BEGIN_STMT
  4009. _2 = pxList_1(D)->pxIndex;
  4010. _3 = _2->pxNext;
  4011. pxList_1(D)->pxIndex = _3;
  4012. # DEBUG BEGIN_STMT
  4013. _4 = &pxList_1(D)->xListEnd;
  4014. if (_3 == _4)
  4015. goto <bb 3>; [30.00%]
  4016. else
  4017. goto <bb 4>; [70.00%]
  4018. <bb 3> [local count: 35433480]:
  4019. # DEBUG BEGIN_STMT
  4020. _5 = MEM[(struct ListItem_t *)_3].pxNext;
  4021. pxList_1(D)->pxIndex = _5;
  4022. <bb 4> [local count: 118111600]:
  4023. # DEBUG BEGIN_STMT
  4024. _6 = pxList_1(D)->pxIndex;
  4025. pxFirstTCB_7 = _6->pvOwner;
  4026. # DEBUG pxFirstTCB => pxFirstTCB_7
  4027. <bb 5> [local count: 1073741824]:
  4028. # uxTask_13 = PHI <0(4), uxTask_18(8)>
  4029. # DEBUG uxTask => uxTask_13
  4030. # DEBUG BEGIN_STMT
  4031. # DEBUG BEGIN_STMT
  4032. # DEBUG BEGIN_STMT
  4033. # DEBUG pxConstList => pxList_1(D)
  4034. # DEBUG BEGIN_STMT
  4035. _8 = pxList_1(D)->pxIndex;
  4036. _9 = _8->pxNext;
  4037. pxList_1(D)->pxIndex = _9;
  4038. # DEBUG BEGIN_STMT
  4039. if (_4 == _9)
  4040. goto <bb 6>; [30.00%]
  4041. else
  4042. goto <bb 7>; [70.00%]
  4043. <bb 6> [local count: 322122547]:
  4044. # DEBUG BEGIN_STMT
  4045. _10 = MEM[(struct ListItem_t *)_9].pxNext;
  4046. pxList_1(D)->pxIndex = _10;
  4047. <bb 7> [local count: 1073741824]:
  4048. # DEBUG BEGIN_STMT
  4049. _11 = pxList_1(D)->pxIndex;
  4050. pxNextTCB_12 = _11->pvOwner;
  4051. # DEBUG pxNextTCB => pxNextTCB_12
  4052. # DEBUG BEGIN_STMT
  4053. # DEBUG BEGIN_STMT
  4054. _14 = uxTask_13 * 36;
  4055. _16 = pxTaskStatusArray_15(D) + _14;
  4056. vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
  4057. # DEBUG BEGIN_STMT
  4058. uxTask_18 = uxTask_13 + 1;
  4059. # DEBUG uxTask => uxTask_18
  4060. # DEBUG BEGIN_STMT
  4061. if (pxFirstTCB_7 != pxNextTCB_12)
  4062. goto <bb 8>; [89.00%]
  4063. else
  4064. goto <bb 9>; [11.00%]
  4065. <bb 8> [local count: 955630223]:
  4066. goto <bb 5>; [100.00%]
  4067. <bb 9> [local count: 118111601]:
  4068. # uxTask_19 = PHI <uxTask_18(7)>
  4069. # DEBUG uxTask => uxTask_19
  4070. # DEBUG BEGIN_STMT
  4071. # DEBUG BEGIN_STMT
  4072. return uxTask_19;
  4073. }
  4074. __attribute__((used))
  4075. vTaskSwitchContext.part.0 ()
  4076. {
  4077. UBaseType_t uxTopPriority;
  4078. struct List_t * const pxConstList;
  4079. uint32_t ulNewBASEPRI;
  4080. <bb 5> [local count: 107374]:
  4081. <bb 2> [local count: 107374]:
  4082. # DEBUG BEGIN_STMT
  4083. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4084. # DEBUG BEGIN_STMT
  4085. # DEBUG BEGIN_STMT
  4086. __asm__ __volatile__(" mov %0, %1
  4087. msr basepri, %0
  4088. isb
  4089. dsb
  4090. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  4091. # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
  4092. <bb 3> [local count: 1073741824]:
  4093. # DEBUG ulNewBASEPRI => NULL
  4094. # DEBUG BEGIN_STMT
  4095. # DEBUG BEGIN_STMT
  4096. # DEBUG BEGIN_STMT
  4097. <bb 4> [local count: 1073741824]:
  4098. goto <bb 3>; [100.00%]
  4099. }
  4100. xTaskResumeAll.part.0 ()
  4101. {
  4102. struct TCB_t * pxTCB;
  4103. BaseType_t xAlreadyYielded;
  4104. struct List_t * const pxList;
  4105. struct List_t * const pxList;
  4106. struct ListItem_t * const pxIndex;
  4107. TickType_t xPendedCounts;
  4108. uint32_t ulNewBASEPRI;
  4109. long unsigned int uxSchedulerSuspended.63_1;
  4110. long unsigned int _2;
  4111. long unsigned int uxSchedulerSuspended.64_3;
  4112. long unsigned int uxCurrentNumberOfTasks.65_4;
  4113. struct xLIST_ITEM * _5;
  4114. struct xLIST_ITEM * _8;
  4115. struct xLIST_ITEM * _9;
  4116. struct xLIST_ITEM * _10;
  4117. struct ListItem_t * _11;
  4118. struct ListItem_t * _12;
  4119. long unsigned int _13;
  4120. long unsigned int _14;
  4121. struct xLIST_ITEM * _16;
  4122. struct xLIST_ITEM * _17;
  4123. struct ListItem_t * _18;
  4124. struct ListItem_t * _19;
  4125. long unsigned int _20;
  4126. long unsigned int _21;
  4127. long unsigned int _22;
  4128. long unsigned int uxTopReadyPriority.66_23;
  4129. struct xLIST_ITEM * _25;
  4130. struct xLIST_ITEM * _26;
  4131. struct List_t * _27;
  4132. long unsigned int _28;
  4133. long unsigned int _29;
  4134. struct TCB_t * pxCurrentTCB.67_30;
  4135. long unsigned int _31;
  4136. long unsigned int _32;
  4137. long int _35;
  4138. long int xYieldPending.68_38;
  4139. <bb 27> [local count: 472446400]:
  4140. <bb 2> [local count: 472446400]:
  4141. # DEBUG BEGIN_STMT
  4142. # DEBUG BEGIN_STMT
  4143. vPortEnterCritical ();
  4144. # DEBUG BEGIN_STMT
  4145. uxSchedulerSuspended.63_1 ={v} uxSchedulerSuspended;
  4146. _2 = uxSchedulerSuspended.63_1 + 4294967295;
  4147. uxSchedulerSuspended ={v} _2;
  4148. # DEBUG BEGIN_STMT
  4149. uxSchedulerSuspended.64_3 ={v} uxSchedulerSuspended;
  4150. if (uxSchedulerSuspended.64_3 == 0)
  4151. goto <bb 3>; [50.00%]
  4152. else
  4153. goto <bb 26>; [50.00%]
  4154. <bb 3> [local count: 236223200]:
  4155. # DEBUG BEGIN_STMT
  4156. uxCurrentNumberOfTasks.65_4 ={v} uxCurrentNumberOfTasks;
  4157. if (uxCurrentNumberOfTasks.65_4 != 0)
  4158. goto <bb 4>; [50.00%]
  4159. else
  4160. goto <bb 26>; [50.00%]
  4161. <bb 4> [local count: 118111600]:
  4162. goto <bb 14>; [100.00%]
  4163. <bb 5> [local count: 955630223]:
  4164. # DEBUG BEGIN_STMT
  4165. _5 = xPendingReadyList.xListEnd.pxNext;
  4166. pxTCB_6 = _5->pvOwner;
  4167. # DEBUG pxTCB => pxTCB_6
  4168. # DEBUG BEGIN_STMT
  4169. pxList_7 = pxTCB_6->xEventListItem.pvContainer;
  4170. # DEBUG pxList => pxList_7
  4171. # DEBUG BEGIN_STMT
  4172. _8 = pxTCB_6->xEventListItem.pxNext;
  4173. _9 = pxTCB_6->xEventListItem.pxPrevious;
  4174. _8->pxPrevious = _9;
  4175. # DEBUG BEGIN_STMT
  4176. _10 = pxTCB_6->xEventListItem.pxPrevious;
  4177. _10->pxNext = _8;
  4178. # DEBUG BEGIN_STMT
  4179. _11 = pxList_7->pxIndex;
  4180. _12 = &pxTCB_6->xEventListItem;
  4181. if (_11 == _12)
  4182. goto <bb 6>; [30.00%]
  4183. else
  4184. goto <bb 7>; [70.00%]
  4185. <bb 6> [local count: 286689066]:
  4186. # DEBUG BEGIN_STMT
  4187. pxList_7->pxIndex = _9;
  4188. <bb 7> [local count: 955630223]:
  4189. # DEBUG BEGIN_STMT
  4190. pxTCB_6->xEventListItem.pvContainer = 0B;
  4191. # DEBUG BEGIN_STMT
  4192. _13 ={v} pxList_7->uxNumberOfItems;
  4193. _14 = _13 + 4294967295;
  4194. pxList_7->uxNumberOfItems ={v} _14;
  4195. # DEBUG BEGIN_STMT
  4196. # DEBUG BEGIN_STMT
  4197. __asm__ __volatile__("" : : : "memory");
  4198. # DEBUG BEGIN_STMT
  4199. pxList_15 = pxTCB_6->xStateListItem.pvContainer;
  4200. # DEBUG pxList => pxList_15
  4201. # DEBUG BEGIN_STMT
  4202. _16 = pxTCB_6->xStateListItem.pxNext;
  4203. _17 = pxTCB_6->xStateListItem.pxPrevious;
  4204. _16->pxPrevious = _17;
  4205. # DEBUG BEGIN_STMT
  4206. _17->pxNext = _16;
  4207. # DEBUG BEGIN_STMT
  4208. _18 = pxList_15->pxIndex;
  4209. _19 = &pxTCB_6->xStateListItem;
  4210. if (_18 == _19)
  4211. goto <bb 8>; [30.00%]
  4212. else
  4213. goto <bb 9>; [70.00%]
  4214. <bb 8> [local count: 286689066]:
  4215. # DEBUG BEGIN_STMT
  4216. pxList_15->pxIndex = _17;
  4217. <bb 9> [local count: 955630223]:
  4218. # DEBUG BEGIN_STMT
  4219. # DEBUG BEGIN_STMT
  4220. _20 ={v} pxList_15->uxNumberOfItems;
  4221. _21 = _20 + 4294967295;
  4222. pxList_15->uxNumberOfItems ={v} _21;
  4223. # DEBUG BEGIN_STMT
  4224. # DEBUG BEGIN_STMT
  4225. # DEBUG BEGIN_STMT
  4226. _22 = pxTCB_6->uxPriority;
  4227. uxTopReadyPriority.66_23 ={v} uxTopReadyPriority;
  4228. if (_22 > uxTopReadyPriority.66_23)
  4229. goto <bb 10>; [50.00%]
  4230. else
  4231. goto <bb 11>; [50.00%]
  4232. <bb 10> [local count: 477815111]:
  4233. # DEBUG BEGIN_STMT
  4234. uxTopReadyPriority ={v} _22;
  4235. <bb 11> [local count: 955630223]:
  4236. # DEBUG BEGIN_STMT
  4237. # DEBUG BEGIN_STMT
  4238. pxIndex_24 = pxReadyTasksLists[_22].pxIndex;
  4239. # DEBUG pxIndex => pxIndex_24
  4240. # DEBUG BEGIN_STMT
  4241. # DEBUG BEGIN_STMT
  4242. # DEBUG BEGIN_STMT
  4243. pxTCB_6->xStateListItem.pxNext = pxIndex_24;
  4244. # DEBUG BEGIN_STMT
  4245. _25 = pxIndex_24->pxPrevious;
  4246. pxTCB_6->xStateListItem.pxPrevious = _25;
  4247. # DEBUG BEGIN_STMT
  4248. _26 = pxIndex_24->pxPrevious;
  4249. _26->pxNext = _19;
  4250. # DEBUG BEGIN_STMT
  4251. pxIndex_24->pxPrevious = _19;
  4252. # DEBUG BEGIN_STMT
  4253. _27 = &pxReadyTasksLists[_22];
  4254. pxTCB_6->xStateListItem.pvContainer = _27;
  4255. # DEBUG BEGIN_STMT
  4256. _28 ={v} pxReadyTasksLists[_22].uxNumberOfItems;
  4257. _29 = _28 + 1;
  4258. pxReadyTasksLists[_22].uxNumberOfItems ={v} _29;
  4259. # DEBUG BEGIN_STMT
  4260. # DEBUG BEGIN_STMT
  4261. # DEBUG BEGIN_STMT
  4262. pxCurrentTCB.67_30 ={v} pxCurrentTCB;
  4263. _31 = pxCurrentTCB.67_30->uxPriority;
  4264. if (_22 >= _31)
  4265. goto <bb 12>; [50.00%]
  4266. else
  4267. goto <bb 13>; [50.00%]
  4268. <bb 12> [local count: 477815111]:
  4269. # DEBUG BEGIN_STMT
  4270. xYieldPending ={v} 1;
  4271. <bb 13> [local count: 955630223]:
  4272. # pxTCB_40 = PHI <pxTCB_6(11), pxTCB_6(12)>
  4273. <bb 14> [local count: 1073741824]:
  4274. # pxTCB_41 = PHI <0B(4), pxTCB_40(13)>
  4275. # DEBUG pxTCB => pxTCB_41
  4276. # DEBUG BEGIN_STMT
  4277. # DEBUG BEGIN_STMT
  4278. _32 ={v} xPendingReadyList.uxNumberOfItems;
  4279. if (_32 != 0)
  4280. goto <bb 5>; [89.00%]
  4281. else
  4282. goto <bb 15>; [11.00%]
  4283. <bb 15> [local count: 118111601]:
  4284. # pxTCB_33 = PHI <pxTCB_41(14)>
  4285. # DEBUG BEGIN_STMT
  4286. if (pxTCB_33 != 0B)
  4287. goto <bb 16>; [53.47%]
  4288. else
  4289. goto <bb 17>; [46.53%]
  4290. <bb 16> [local count: 63154273]:
  4291. # DEBUG BEGIN_STMT
  4292. prvResetNextTaskUnblockTime ();
  4293. <bb 17> [local count: 118111601]:
  4294. # DEBUG BEGIN_STMT
  4295. xPendedCounts_34 ={v} xPendedTicks;
  4296. # DEBUG xPendedCounts => xPendedCounts_34
  4297. # DEBUG BEGIN_STMT
  4298. if (xPendedCounts_34 != 0)
  4299. goto <bb 18>; [50.00%]
  4300. else
  4301. goto <bb 24>; [50.00%]
  4302. <bb 18> [local count: 59055800]:
  4303. <bb 19> [local count: 536870915]:
  4304. # xPendedCounts_36 = PHI <xPendedCounts_34(18), xPendedCounts_37(22)>
  4305. # DEBUG xPendedCounts => xPendedCounts_36
  4306. # DEBUG BEGIN_STMT
  4307. # DEBUG BEGIN_STMT
  4308. _35 = xTaskIncrementTick ();
  4309. if (_35 != 0)
  4310. goto <bb 20>; [50.00%]
  4311. else
  4312. goto <bb 21>; [50.00%]
  4313. <bb 20> [local count: 268435457]:
  4314. # DEBUG BEGIN_STMT
  4315. xYieldPending ={v} 1;
  4316. <bb 21> [local count: 536870915]:
  4317. # DEBUG BEGIN_STMT
  4318. # DEBUG BEGIN_STMT
  4319. xPendedCounts_37 = xPendedCounts_36 + 4294967295;
  4320. # DEBUG xPendedCounts => xPendedCounts_37
  4321. # DEBUG BEGIN_STMT
  4322. if (xPendedCounts_37 != 0)
  4323. goto <bb 22>; [89.00%]
  4324. else
  4325. goto <bb 23>; [11.00%]
  4326. <bb 22> [local count: 477815113]:
  4327. goto <bb 19>; [100.00%]
  4328. <bb 23> [local count: 59055801]:
  4329. # DEBUG BEGIN_STMT
  4330. xPendedTicks ={v} 0;
  4331. <bb 24> [local count: 118111601]:
  4332. # DEBUG BEGIN_STMT
  4333. # DEBUG BEGIN_STMT
  4334. xYieldPending.68_38 ={v} xYieldPending;
  4335. if (xYieldPending.68_38 != 0)
  4336. goto <bb 25>; [50.00%]
  4337. else
  4338. goto <bb 26>; [50.00%]
  4339. <bb 25> [local count: 59055800]:
  4340. # DEBUG BEGIN_STMT
  4341. # DEBUG xAlreadyYielded => 1
  4342. # DEBUG BEGIN_STMT
  4343. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4344. # DEBUG BEGIN_STMT
  4345. __asm__ __volatile__("dsb" : : : "memory");
  4346. # DEBUG BEGIN_STMT
  4347. __asm__ __volatile__("isb");
  4348. # DEBUG BEGIN_STMT
  4349. <bb 26> [local count: 472446401]:
  4350. # xAlreadyYielded_39 = PHI <0(2), 0(3), 0(24), 1(25)>
  4351. # DEBUG xAlreadyYielded => xAlreadyYielded_39
  4352. # DEBUG BEGIN_STMT
  4353. # DEBUG BEGIN_STMT
  4354. vPortExitCritical ();
  4355. # DEBUG BEGIN_STMT
  4356. return xAlreadyYielded_39;
  4357. }
  4358. xTaskIncrementTick.part.0 ()
  4359. {
  4360. struct TCB_t * pxTCB;
  4361. TickType_t xItemValue;
  4362. BaseType_t xSwitchRequired;
  4363. const TickType_t xConstTickCount;
  4364. struct List_t * pxTemp;
  4365. struct List_t * const pxList;
  4366. struct List_t * const pxList;
  4367. struct ListItem_t * const pxIndex;
  4368. uint32_t ulNewBASEPRI;
  4369. long unsigned int xTickCount.80_1;
  4370. struct List_t * pxDelayedTaskList.81_3;
  4371. long unsigned int _4;
  4372. struct List_t * pxOverflowDelayedTaskList.82_7;
  4373. long int xNumOfOverflows.83_8;
  4374. long int _9;
  4375. long unsigned int xNextTaskUnblockTime.84_10;
  4376. struct List_t * pxDelayedTaskList.85_11;
  4377. long unsigned int _12;
  4378. struct List_t * pxDelayedTaskList.86_13;
  4379. struct xLIST_ITEM * _14;
  4380. struct xLIST_ITEM * _19;
  4381. struct xLIST_ITEM * _20;
  4382. struct ListItem_t * _21;
  4383. struct ListItem_t * _22;
  4384. long unsigned int _23;
  4385. long unsigned int _24;
  4386. struct xLIST * _25;
  4387. struct xLIST_ITEM * _26;
  4388. struct xLIST_ITEM * _27;
  4389. struct xLIST_ITEM * _28;
  4390. struct ListItem_t * _29;
  4391. struct ListItem_t * _30;
  4392. long unsigned int _31;
  4393. long unsigned int _32;
  4394. long unsigned int _33;
  4395. long unsigned int uxTopReadyPriority.87_34;
  4396. struct xLIST_ITEM * _36;
  4397. struct xLIST_ITEM * _37;
  4398. struct List_t * _38;
  4399. long unsigned int _39;
  4400. long unsigned int _40;
  4401. struct TCB_t * pxCurrentTCB.88_41;
  4402. long unsigned int _42;
  4403. struct TCB_t * pxCurrentTCB.89_43;
  4404. long unsigned int _44;
  4405. long unsigned int _45;
  4406. long int xYieldPending.90_46;
  4407. <bb 30> [local count: 320519]:
  4408. <bb 2> [local count: 320519]:
  4409. # DEBUG BEGIN_STMT
  4410. xTickCount.80_1 ={v} xTickCount;
  4411. xConstTickCount_2 = xTickCount.80_1 + 1;
  4412. # DEBUG xConstTickCount => xConstTickCount_2
  4413. # DEBUG BEGIN_STMT
  4414. xTickCount ={v} xConstTickCount_2;
  4415. # DEBUG BEGIN_STMT
  4416. if (xConstTickCount_2 == 0)
  4417. goto <bb 3>; [50.00%]
  4418. else
  4419. goto <bb 8>; [50.00%]
  4420. <bb 3> [local count: 160260]:
  4421. # DEBUG BEGIN_STMT
  4422. # DEBUG BEGIN_STMT
  4423. pxDelayedTaskList.81_3 ={v} pxDelayedTaskList;
  4424. _4 ={v} pxDelayedTaskList.81_3->uxNumberOfItems;
  4425. if (_4 != 0)
  4426. goto <bb 4>; [67.00%]
  4427. else
  4428. goto <bb 7>; [33.00%]
  4429. <bb 4> [local count: 107374]:
  4430. # DEBUG BEGIN_STMT
  4431. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4432. # DEBUG BEGIN_STMT
  4433. # DEBUG BEGIN_STMT
  4434. __asm__ __volatile__(" mov %0, %1
  4435. msr basepri, %0
  4436. isb
  4437. dsb
  4438. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  4439. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  4440. <bb 5> [local count: 1073741824]:
  4441. # DEBUG ulNewBASEPRI => NULL
  4442. # DEBUG BEGIN_STMT
  4443. # DEBUG BEGIN_STMT
  4444. # DEBUG BEGIN_STMT
  4445. <bb 6> [local count: 1073741824]:
  4446. goto <bb 5>; [100.00%]
  4447. <bb 7> [local count: 52886]:
  4448. # DEBUG BEGIN_STMT
  4449. # DEBUG BEGIN_STMT
  4450. pxTemp_6 ={v} pxDelayedTaskList;
  4451. # DEBUG pxTemp => pxTemp_6
  4452. # DEBUG BEGIN_STMT
  4453. pxOverflowDelayedTaskList.82_7 ={v} pxOverflowDelayedTaskList;
  4454. pxDelayedTaskList ={v} pxOverflowDelayedTaskList.82_7;
  4455. # DEBUG BEGIN_STMT
  4456. pxOverflowDelayedTaskList ={v} pxTemp_6;
  4457. # DEBUG BEGIN_STMT
  4458. xNumOfOverflows.83_8 ={v} xNumOfOverflows;
  4459. _9 = xNumOfOverflows.83_8 + 1;
  4460. xNumOfOverflows ={v} _9;
  4461. # DEBUG BEGIN_STMT
  4462. prvResetNextTaskUnblockTime ();
  4463. # DEBUG BEGIN_STMT
  4464. <bb 8> [local count: 213145]:
  4465. # DEBUG BEGIN_STMT
  4466. # DEBUG BEGIN_STMT
  4467. xNextTaskUnblockTime.84_10 ={v} xNextTaskUnblockTime;
  4468. if (xConstTickCount_2 >= xNextTaskUnblockTime.84_10)
  4469. goto <bb 9>; [50.00%]
  4470. else
  4471. goto <bb 25>; [50.00%]
  4472. <bb 9> [local count: 106573]:
  4473. goto <bb 11>; [100.00%]
  4474. <bb 10> [local count: 889667]:
  4475. # xSwitchRequired_48 = PHI <xSwitchRequired_49(23), 1(24)>
  4476. <bb 11> [local count: 996239]:
  4477. # xSwitchRequired_49 = PHI <0(9), xSwitchRequired_48(10)>
  4478. # DEBUG xSwitchRequired => xSwitchRequired_49
  4479. # DEBUG BEGIN_STMT
  4480. # DEBUG BEGIN_STMT
  4481. pxDelayedTaskList.85_11 ={v} pxDelayedTaskList;
  4482. _12 ={v} pxDelayedTaskList.85_11->uxNumberOfItems;
  4483. if (_12 == 0)
  4484. goto <bb 12>; [5.50%]
  4485. else
  4486. goto <bb 13>; [94.50%]
  4487. <bb 12> [local count: 54793]:
  4488. # xSwitchRequired_50 = PHI <xSwitchRequired_49(11)>
  4489. # DEBUG BEGIN_STMT
  4490. xNextTaskUnblockTime ={v} 4294967295;
  4491. # DEBUG BEGIN_STMT
  4492. goto <bb 25>; [100.00%]
  4493. <bb 13> [local count: 941446]:
  4494. # DEBUG BEGIN_STMT
  4495. pxDelayedTaskList.86_13 ={v} pxDelayedTaskList;
  4496. _14 = pxDelayedTaskList.86_13->xListEnd.pxNext;
  4497. pxTCB_15 = _14->pvOwner;
  4498. # DEBUG pxTCB => pxTCB_15
  4499. # DEBUG BEGIN_STMT
  4500. xItemValue_16 = pxTCB_15->xStateListItem.xItemValue;
  4501. # DEBUG xItemValue => xItemValue_16
  4502. # DEBUG BEGIN_STMT
  4503. if (xConstTickCount_2 < xItemValue_16)
  4504. goto <bb 14>; [5.50%]
  4505. else
  4506. goto <bb 15>; [94.50%]
  4507. <bb 14> [local count: 51780]:
  4508. # xSwitchRequired_51 = PHI <xSwitchRequired_49(13)>
  4509. # xItemValue_17 = PHI <xItemValue_16(13)>
  4510. # DEBUG BEGIN_STMT
  4511. xNextTaskUnblockTime ={v} xItemValue_17;
  4512. # DEBUG BEGIN_STMT
  4513. goto <bb 25>; [100.00%]
  4514. <bb 15> [local count: 889667]:
  4515. # DEBUG BEGIN_STMT
  4516. # DEBUG BEGIN_STMT
  4517. pxList_18 = pxTCB_15->xStateListItem.pvContainer;
  4518. # DEBUG pxList => pxList_18
  4519. # DEBUG BEGIN_STMT
  4520. _19 = pxTCB_15->xStateListItem.pxNext;
  4521. _20 = pxTCB_15->xStateListItem.pxPrevious;
  4522. _19->pxPrevious = _20;
  4523. # DEBUG BEGIN_STMT
  4524. _20->pxNext = _19;
  4525. # DEBUG BEGIN_STMT
  4526. _21 = pxList_18->pxIndex;
  4527. _22 = &pxTCB_15->xStateListItem;
  4528. if (_21 == _22)
  4529. goto <bb 16>; [30.00%]
  4530. else
  4531. goto <bb 17>; [70.00%]
  4532. <bb 16> [local count: 266900]:
  4533. # DEBUG BEGIN_STMT
  4534. pxList_18->pxIndex = _20;
  4535. <bb 17> [local count: 889667]:
  4536. # DEBUG BEGIN_STMT
  4537. pxTCB_15->xStateListItem.pvContainer = 0B;
  4538. # DEBUG BEGIN_STMT
  4539. _23 ={v} pxList_18->uxNumberOfItems;
  4540. _24 = _23 + 4294967295;
  4541. pxList_18->uxNumberOfItems ={v} _24;
  4542. # DEBUG BEGIN_STMT
  4543. # DEBUG BEGIN_STMT
  4544. _25 = pxTCB_15->xEventListItem.pvContainer;
  4545. if (_25 != 0B)
  4546. goto <bb 18>; [70.00%]
  4547. else
  4548. goto <bb 21>; [30.00%]
  4549. <bb 18> [local count: 622767]:
  4550. # DEBUG BEGIN_STMT
  4551. # DEBUG pxList => _25
  4552. # DEBUG BEGIN_STMT
  4553. _26 = pxTCB_15->xEventListItem.pxNext;
  4554. _27 = pxTCB_15->xEventListItem.pxPrevious;
  4555. _26->pxPrevious = _27;
  4556. # DEBUG BEGIN_STMT
  4557. _28 = pxTCB_15->xEventListItem.pxPrevious;
  4558. _28->pxNext = _26;
  4559. # DEBUG BEGIN_STMT
  4560. _29 = MEM[(struct List_t *)_25].pxIndex;
  4561. _30 = &pxTCB_15->xEventListItem;
  4562. if (_29 == _30)
  4563. goto <bb 19>; [30.00%]
  4564. else
  4565. goto <bb 20>; [70.00%]
  4566. <bb 19> [local count: 186830]:
  4567. # DEBUG BEGIN_STMT
  4568. MEM[(struct List_t *)_25].pxIndex = _28;
  4569. <bb 20> [local count: 622767]:
  4570. # DEBUG BEGIN_STMT
  4571. pxTCB_15->xEventListItem.pvContainer = 0B;
  4572. # DEBUG BEGIN_STMT
  4573. _31 ={v} MEM[(struct List_t *)_25].uxNumberOfItems;
  4574. _32 = _31 + 4294967295;
  4575. MEM[(struct List_t *)_25].uxNumberOfItems ={v} _32;
  4576. # DEBUG BEGIN_STMT
  4577. <bb 21> [local count: 889667]:
  4578. # DEBUG BEGIN_STMT
  4579. # DEBUG BEGIN_STMT
  4580. # DEBUG BEGIN_STMT
  4581. _33 = pxTCB_15->uxPriority;
  4582. uxTopReadyPriority.87_34 ={v} uxTopReadyPriority;
  4583. if (_33 > uxTopReadyPriority.87_34)
  4584. goto <bb 22>; [50.00%]
  4585. else
  4586. goto <bb 23>; [50.00%]
  4587. <bb 22> [local count: 444833]:
  4588. # DEBUG BEGIN_STMT
  4589. uxTopReadyPriority ={v} _33;
  4590. <bb 23> [local count: 889667]:
  4591. # DEBUG BEGIN_STMT
  4592. # DEBUG BEGIN_STMT
  4593. pxIndex_35 = pxReadyTasksLists[_33].pxIndex;
  4594. # DEBUG pxIndex => pxIndex_35
  4595. # DEBUG BEGIN_STMT
  4596. # DEBUG BEGIN_STMT
  4597. # DEBUG BEGIN_STMT
  4598. pxTCB_15->xStateListItem.pxNext = pxIndex_35;
  4599. # DEBUG BEGIN_STMT
  4600. _36 = pxIndex_35->pxPrevious;
  4601. pxTCB_15->xStateListItem.pxPrevious = _36;
  4602. # DEBUG BEGIN_STMT
  4603. _37 = pxIndex_35->pxPrevious;
  4604. _37->pxNext = _22;
  4605. # DEBUG BEGIN_STMT
  4606. pxIndex_35->pxPrevious = _22;
  4607. # DEBUG BEGIN_STMT
  4608. _38 = &pxReadyTasksLists[_33];
  4609. pxTCB_15->xStateListItem.pvContainer = _38;
  4610. # DEBUG BEGIN_STMT
  4611. _39 ={v} pxReadyTasksLists[_33].uxNumberOfItems;
  4612. _40 = _39 + 1;
  4613. pxReadyTasksLists[_33].uxNumberOfItems ={v} _40;
  4614. # DEBUG BEGIN_STMT
  4615. # DEBUG BEGIN_STMT
  4616. # DEBUG BEGIN_STMT
  4617. pxCurrentTCB.88_41 ={v} pxCurrentTCB;
  4618. _42 = pxCurrentTCB.88_41->uxPriority;
  4619. if (_33 >= _42)
  4620. goto <bb 24>; [50.00%]
  4621. else
  4622. goto <bb 10>; [50.00%]
  4623. <bb 24> [local count: 444833]:
  4624. # DEBUG BEGIN_STMT
  4625. # DEBUG xSwitchRequired => 1
  4626. goto <bb 10>; [100.00%]
  4627. <bb 25> [local count: 213145]:
  4628. # xSwitchRequired_52 = PHI <0(8), xSwitchRequired_50(12), xSwitchRequired_51(14)>
  4629. # DEBUG xSwitchRequired => xSwitchRequired_52
  4630. # DEBUG BEGIN_STMT
  4631. pxCurrentTCB.89_43 ={v} pxCurrentTCB;
  4632. _44 = pxCurrentTCB.89_43->uxPriority;
  4633. _45 ={v} pxReadyTasksLists[_44].uxNumberOfItems;
  4634. if (_45 > 1)
  4635. goto <bb 26>; [59.00%]
  4636. else
  4637. goto <bb 27>; [41.00%]
  4638. <bb 26> [local count: 125756]:
  4639. # DEBUG BEGIN_STMT
  4640. # DEBUG xSwitchRequired => 1
  4641. <bb 27> [local count: 213145]:
  4642. # xSwitchRequired_53 = PHI <xSwitchRequired_52(25), 1(26)>
  4643. # DEBUG xSwitchRequired => xSwitchRequired_53
  4644. # DEBUG BEGIN_STMT
  4645. # DEBUG BEGIN_STMT
  4646. xYieldPending.90_46 ={v} xYieldPending;
  4647. if (xYieldPending.90_46 != 0)
  4648. goto <bb 28>; [50.00%]
  4649. else
  4650. goto <bb 29>; [50.00%]
  4651. <bb 28> [local count: 106573]:
  4652. # DEBUG BEGIN_STMT
  4653. # DEBUG xSwitchRequired => 1
  4654. <bb 29> [local count: 213145]:
  4655. # xSwitchRequired_47 = PHI <xSwitchRequired_53(27), 1(28)>
  4656. # DEBUG xSwitchRequired => xSwitchRequired_47
  4657. # DEBUG BEGIN_STMT
  4658. return xSwitchRequired_47;
  4659. }
  4660. eTaskGetState.part.0 (struct tskTaskControlBlock * xTask)
  4661. {
  4662. eTaskState eReturn;
  4663. const struct List_t * pxStateList;
  4664. const struct List_t * pxDelayedList;
  4665. const struct List_t * pxOverflowedDelayedList;
  4666. const struct TCB_t * const pxTCB;
  4667. BaseType_t x;
  4668. uint32_t ulNewBASEPRI;
  4669. unsigned char _2;
  4670. <bb 6> [local count: 566398813]:
  4671. goto <bb 4>; [100.00%]
  4672. <bb 2> [local count: 536870913]:
  4673. # DEBUG BEGIN_STMT
  4674. _2 ={v} MEM[(const struct TCB_t *)xTask_1(D)].ucNotifyState[0];
  4675. if (_2 == 1)
  4676. goto <bb 5>; [5.50%]
  4677. else
  4678. goto <bb 3>; [94.50%]
  4679. <bb 3> [local count: 507343012]:
  4680. <bb 4> [local count: 1073741824]:
  4681. # x_3 = PHI <1(3), 0(6)>
  4682. # DEBUG eReturn => NULL
  4683. # DEBUG x => x_3
  4684. # DEBUG BEGIN_STMT
  4685. if (x_3 == 0)
  4686. goto <bb 2>; [50.00%]
  4687. else
  4688. goto <bb 5>; [50.00%]
  4689. <bb 5> [local count: 566398813]:
  4690. # eReturn_4 = PHI <2(2), 3(4)>
  4691. # DEBUG eReturn => eReturn_4
  4692. # DEBUG BEGIN_STMT
  4693. return eReturn_4;
  4694. }
  4695. prvAddCurrentTaskToDelayedList.part.0 ()
  4696. {
  4697. TickType_t xTimeToWake;
  4698. const TickType_t xConstTickCount;
  4699. struct ListItem_t * const pxIndex;
  4700. TickType_t xTicksToWait;
  4701. const BaseType_t xCanBlockIndefinitely;
  4702. struct TCB_t * pxCurrentTCB.25_2;
  4703. struct TCB_t * pxCurrentTCB.26_3;
  4704. struct xLIST_ITEM * _4;
  4705. struct TCB_t * pxCurrentTCB.27_5;
  4706. struct xLIST_ITEM * _6;
  4707. struct ListItem_t * _7;
  4708. struct TCB_t * pxCurrentTCB.28_8;
  4709. struct ListItem_t * _9;
  4710. struct TCB_t * pxCurrentTCB.29_10;
  4711. long unsigned int _11;
  4712. long unsigned int _12;
  4713. <bb 4> [local count: 1073741824]:
  4714. # DEBUG D#5 s=> xTicksToWait
  4715. # DEBUG xTicksToWait => D#5
  4716. # DEBUG D#4 s=> xCanBlockIndefinitely
  4717. # DEBUG xCanBlockIndefinitely => D#4
  4718. <bb 2> [local count: 1073741824]:
  4719. # DEBUG BEGIN_STMT
  4720. pxIndex_1 = xSuspendedTaskList.pxIndex;
  4721. # DEBUG pxIndex => pxIndex_1
  4722. # DEBUG BEGIN_STMT
  4723. # DEBUG BEGIN_STMT
  4724. # DEBUG BEGIN_STMT
  4725. pxCurrentTCB.25_2 ={v} pxCurrentTCB;
  4726. pxCurrentTCB.25_2->xStateListItem.pxNext = pxIndex_1;
  4727. # DEBUG BEGIN_STMT
  4728. pxCurrentTCB.26_3 ={v} pxCurrentTCB;
  4729. _4 = pxIndex_1->pxPrevious;
  4730. pxCurrentTCB.26_3->xStateListItem.pxPrevious = _4;
  4731. # DEBUG BEGIN_STMT
  4732. pxCurrentTCB.27_5 ={v} pxCurrentTCB;
  4733. _6 = pxIndex_1->pxPrevious;
  4734. _7 = &pxCurrentTCB.27_5->xStateListItem;
  4735. _6->pxNext = _7;
  4736. # DEBUG BEGIN_STMT
  4737. pxCurrentTCB.28_8 ={v} pxCurrentTCB;
  4738. _9 = &pxCurrentTCB.28_8->xStateListItem;
  4739. pxIndex_1->pxPrevious = _9;
  4740. # DEBUG BEGIN_STMT
  4741. pxCurrentTCB.29_10 ={v} pxCurrentTCB;
  4742. pxCurrentTCB.29_10->xStateListItem.pvContainer = &xSuspendedTaskList;
  4743. # DEBUG BEGIN_STMT
  4744. _11 ={v} xSuspendedTaskList.uxNumberOfItems;
  4745. _12 = _11 + 1;
  4746. xSuspendedTaskList.uxNumberOfItems ={v} _12;
  4747. # DEBUG BEGIN_STMT
  4748. <bb 3> [local count: 1073741824]:
  4749. # DEBUG BEGIN_STMT
  4750. return;
  4751. }
  4752. prvInitialiseNewTask.isra.0 (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask, struct TCB_t * pxNewTCB)
  4753. {
  4754. StackType_t * pxTopOfStack;
  4755. UBaseType_t x;
  4756. uint32_t ulNewBASEPRI;
  4757. StackType_t * _2;
  4758. unsigned int _4;
  4759. StackType_t * _5;
  4760. sizetype _6;
  4761. sizetype _7;
  4762. long unsigned int pxTopOfStack.0_9;
  4763. long unsigned int _10;
  4764. const char * _14;
  4765. char _15;
  4766. char _16;
  4767. struct ListItem_t * _20;
  4768. struct ListItem_t * _21;
  4769. long unsigned int _22;
  4770. volatile uint32_t * _23;
  4771. volatile uint8_t * _24;
  4772. StackType_t * _27;
  4773. <bb 16> [local count: 160260]:
  4774. # DEBUG xRegions s=> xRegions
  4775. <bb 2> [local count: 160260]:
  4776. # DEBUG BEGIN_STMT
  4777. # DEBUG BEGIN_STMT
  4778. # DEBUG BEGIN_STMT
  4779. _2 = pxNewTCB_1(D)->pxStack;
  4780. _4 = ulStackDepth_3(D) * 4;
  4781. memset (_2, 165, _4);
  4782. # DEBUG BEGIN_STMT
  4783. _5 = pxNewTCB_1(D)->pxStack;
  4784. _6 = ulStackDepth_3(D) + 1073741823;
  4785. _7 = _6 * 4;
  4786. pxTopOfStack_8 = _5 + _7;
  4787. # DEBUG pxTopOfStack => pxTopOfStack_8
  4788. # DEBUG BEGIN_STMT
  4789. pxTopOfStack.0_9 = (long unsigned int) pxTopOfStack_8;
  4790. _10 = pxTopOfStack.0_9 & 4294967288;
  4791. pxTopOfStack_11 = (StackType_t *) _10;
  4792. # DEBUG pxTopOfStack => pxTopOfStack_11
  4793. # DEBUG BEGIN_STMT
  4794. # DEBUG BEGIN_STMT
  4795. # DEBUG BEGIN_STMT
  4796. if (pcName_12(D) != 0B)
  4797. goto <bb 3>; [70.00%]
  4798. else
  4799. goto <bb 8>; [30.00%]
  4800. <bb 3> [local count: 112182]:
  4801. goto <bb 6>; [100.00%]
  4802. <bb 4> [local count: 723805]:
  4803. # DEBUG BEGIN_STMT
  4804. _14 = pcName_12(D) + x_13;
  4805. _15 = *_14;
  4806. pxNewTCB_1(D)->pcTaskName[x_13] = _15;
  4807. # DEBUG BEGIN_STMT
  4808. _16 = *_14;
  4809. if (_16 == 0)
  4810. goto <bb 7>; [5.50%]
  4811. else
  4812. goto <bb 5>; [94.50%]
  4813. <bb 5> [local count: 683996]:
  4814. # DEBUG BEGIN_STMT
  4815. # DEBUG BEGIN_STMT
  4816. x_17 = x_13 + 1;
  4817. # DEBUG x => x_17
  4818. <bb 6> [local count: 796177]:
  4819. # x_13 = PHI <0(3), x_17(5)>
  4820. # DEBUG x => x_13
  4821. # DEBUG BEGIN_STMT
  4822. if (x_13 != 10)
  4823. goto <bb 4>; [90.91%]
  4824. else
  4825. goto <bb 7>; [9.09%]
  4826. <bb 7> [local count: 112182]:
  4827. # DEBUG BEGIN_STMT
  4828. pxNewTCB_1(D)->pcTaskName[9] = 0;
  4829. goto <bb 9>; [100.00%]
  4830. <bb 8> [local count: 48078]:
  4831. # DEBUG BEGIN_STMT
  4832. pxNewTCB_1(D)->pcTaskName[0] = 0;
  4833. <bb 9> [local count: 160260]:
  4834. # DEBUG BEGIN_STMT
  4835. if (uxPriority_18(D) > 4)
  4836. goto <bb 10>; [67.00%]
  4837. else
  4838. goto <bb 13>; [33.00%]
  4839. <bb 10> [local count: 107374]:
  4840. # DEBUG BEGIN_STMT
  4841. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4842. # DEBUG BEGIN_STMT
  4843. # DEBUG BEGIN_STMT
  4844. __asm__ __volatile__(" mov %0, %1
  4845. msr basepri, %0
  4846. isb
  4847. dsb
  4848. " : "=r" ulNewBASEPRI_19 : "i" 16 : "memory");
  4849. # DEBUG ulNewBASEPRI => ulNewBASEPRI_19
  4850. <bb 11> [local count: 1073741824]:
  4851. # DEBUG ulNewBASEPRI => NULL
  4852. # DEBUG BEGIN_STMT
  4853. # DEBUG BEGIN_STMT
  4854. # DEBUG BEGIN_STMT
  4855. <bb 12> [local count: 1073741824]:
  4856. goto <bb 11>; [100.00%]
  4857. <bb 13> [local count: 52886]:
  4858. # DEBUG BEGIN_STMT
  4859. # DEBUG BEGIN_STMT
  4860. # DEBUG uxPriority => uxPriority_18(D)
  4861. # DEBUG BEGIN_STMT
  4862. # DEBUG BEGIN_STMT
  4863. pxNewTCB_1(D)->uxPriority = uxPriority_18(D);
  4864. # DEBUG BEGIN_STMT
  4865. pxNewTCB_1(D)->uxBasePriority = uxPriority_18(D);
  4866. # DEBUG BEGIN_STMT
  4867. pxNewTCB_1(D)->uxMutexesHeld = 0;
  4868. # DEBUG BEGIN_STMT
  4869. _20 = &pxNewTCB_1(D)->xStateListItem;
  4870. vListInitialiseItem (_20);
  4871. # DEBUG BEGIN_STMT
  4872. _21 = &pxNewTCB_1(D)->xEventListItem;
  4873. vListInitialiseItem (_21);
  4874. # DEBUG BEGIN_STMT
  4875. pxNewTCB_1(D)->xStateListItem.pvOwner = pxNewTCB_1(D);
  4876. # DEBUG BEGIN_STMT
  4877. _22 = 5 - uxPriority_18(D);
  4878. pxNewTCB_1(D)->xEventListItem.xItemValue = _22;
  4879. # DEBUG BEGIN_STMT
  4880. pxNewTCB_1(D)->xEventListItem.pvOwner = pxNewTCB_1(D);
  4881. # DEBUG BEGIN_STMT
  4882. # DEBUG BEGIN_STMT
  4883. _23 = &pxNewTCB_1(D)->ulNotifiedValue[0];
  4884. memset (_23, 0, 4);
  4885. # DEBUG BEGIN_STMT
  4886. _24 = &pxNewTCB_1(D)->ucNotifyState[0];
  4887. memset (_24, 0, 1);
  4888. # DEBUG BEGIN_STMT
  4889. pxNewTCB_1(D)->ucDelayAborted = 0;
  4890. # DEBUG BEGIN_STMT
  4891. _27 = pxPortInitialiseStack (pxTopOfStack_11, pxTaskCode_25(D), pvParameters_26(D));
  4892. pxNewTCB_1(D)->pxTopOfStack = _27;
  4893. # DEBUG BEGIN_STMT
  4894. if (pxCreatedTask_28(D) != 0B)
  4895. goto <bb 14>; [70.00%]
  4896. else
  4897. goto <bb 15>; [30.00%]
  4898. <bb 14> [local count: 37020]:
  4899. # DEBUG BEGIN_STMT
  4900. *pxCreatedTask_28(D) = pxNewTCB_1(D);
  4901. <bb 15> [local count: 52886]:
  4902. # DEBUG BEGIN_STMT
  4903. return;
  4904. }
  4905. prvResetNextTaskUnblockTime.part.0 ()
  4906. {
  4907. struct List_t * pxDelayedTaskList.21_1;
  4908. struct xLIST_ITEM * _2;
  4909. long unsigned int _3;
  4910. <bb 4> [local count: 1073741824]:
  4911. <bb 2> [local count: 1073741824]:
  4912. # DEBUG BEGIN_STMT
  4913. pxDelayedTaskList.21_1 ={v} pxDelayedTaskList;
  4914. _2 = pxDelayedTaskList.21_1->xListEnd.pxNext;
  4915. _3 = _2->xItemValue;
  4916. xNextTaskUnblockTime ={v} _3;
  4917. <bb 3> [local count: 1073741824]:
  4918. return;
  4919. }
  4920. prvTaskIsTaskSuspended.part.0 (struct tskTaskControlBlock * const xTask)
  4921. {
  4922. BaseType_t xReturn;
  4923. const struct TCB_t * const pxTCB;
  4924. uint32_t ulNewBASEPRI;
  4925. struct xLIST * _2;
  4926. <bb 6> [local count: 1073741824]:
  4927. <bb 2> [local count: 1073741824]:
  4928. # DEBUG BEGIN_STMT
  4929. _2 = MEM[(const struct TCB_t *)xTask_1(D)].xEventListItem.pvContainer;
  4930. if (_2 != &xPendingReadyList)
  4931. goto <bb 3>; [70.00%]
  4932. else
  4933. goto <bb 5>; [30.00%]
  4934. <bb 3> [local count: 751619278]:
  4935. # DEBUG BEGIN_STMT
  4936. if (_2 == 0B)
  4937. goto <bb 4>; [30.00%]
  4938. else
  4939. goto <bb 5>; [70.00%]
  4940. <bb 4> [local count: 225485783]:
  4941. # DEBUG BEGIN_STMT
  4942. # DEBUG xReturn => 1
  4943. <bb 5> [local count: 1073741824]:
  4944. # xReturn_3 = PHI <0(2), 0(3), 1(4)>
  4945. # DEBUG xReturn => xReturn_3
  4946. # DEBUG BEGIN_STMT
  4947. # DEBUG BEGIN_STMT
  4948. return xReturn_3;
  4949. }
  4950. prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
  4951. {
  4952. const TickType_t xConstTickCount;
  4953. TickType_t xTimeToWake;
  4954. struct TCB_t * pxCurrentTCB.23_1;
  4955. struct TCB_t * pxCurrentTCB.24_2;
  4956. struct ListItem_t * _3;
  4957. struct TCB_t * pxCurrentTCB.30_5;
  4958. struct List_t * pxOverflowDelayedTaskList.31_6;
  4959. struct TCB_t * pxCurrentTCB.32_7;
  4960. struct ListItem_t * _8;
  4961. struct List_t * pxDelayedTaskList.33_9;
  4962. struct TCB_t * pxCurrentTCB.34_10;
  4963. struct ListItem_t * _11;
  4964. long unsigned int xNextTaskUnblockTime.35_12;
  4965. <bb 2> [local count: 1073741823]:
  4966. # DEBUG BEGIN_STMT
  4967. # DEBUG BEGIN_STMT
  4968. xConstTickCount_14 ={v} xTickCount;
  4969. # DEBUG xConstTickCount => xConstTickCount_14
  4970. # DEBUG BEGIN_STMT
  4971. pxCurrentTCB.23_1 ={v} pxCurrentTCB;
  4972. pxCurrentTCB.23_1->ucDelayAborted = 0;
  4973. # DEBUG BEGIN_STMT
  4974. pxCurrentTCB.24_2 ={v} pxCurrentTCB;
  4975. _3 = &pxCurrentTCB.24_2->xStateListItem;
  4976. uxListRemove (_3);
  4977. # DEBUG BEGIN_STMT
  4978. # DEBUG BEGIN_STMT
  4979. if (xTicksToWait_17(D) == 4294967295)
  4980. goto <bb 3>; [34.00%]
  4981. else
  4982. goto <bb 5>; [66.00%]
  4983. <bb 3> [local count: 365072220]:
  4984. if (xCanBlockIndefinitely_18(D) != 0)
  4985. goto <bb 4>; [50.00%]
  4986. else
  4987. goto <bb 5>; [50.00%]
  4988. <bb 4> [local count: 182536110]:
  4989. # DEBUG D#2 => xTicksToWait_17(D)
  4990. # DEBUG D#3 => xCanBlockIndefinitely_18(D)
  4991. prvAddCurrentTaskToDelayedList.part.0 ();
  4992. goto <bb 9>; [100.00%]
  4993. <bb 5> [local count: 891205713]:
  4994. # DEBUG BEGIN_STMT
  4995. xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D);
  4996. # DEBUG xTimeToWake => xTimeToWake_19
  4997. # DEBUG BEGIN_STMT
  4998. pxCurrentTCB.30_5 ={v} pxCurrentTCB;
  4999. pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19;
  5000. # DEBUG BEGIN_STMT
  5001. if (xConstTickCount_14 > xTimeToWake_19)
  5002. goto <bb 6>; [50.00%]
  5003. else
  5004. goto <bb 7>; [50.00%]
  5005. <bb 6> [local count: 445602856]:
  5006. # DEBUG BEGIN_STMT
  5007. pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList;
  5008. pxCurrentTCB.32_7 ={v} pxCurrentTCB;
  5009. _8 = &pxCurrentTCB.32_7->xStateListItem;
  5010. vListInsert (pxOverflowDelayedTaskList.31_6, _8);
  5011. goto <bb 9>; [100.00%]
  5012. <bb 7> [local count: 445602856]:
  5013. # DEBUG BEGIN_STMT
  5014. pxDelayedTaskList.33_9 ={v} pxDelayedTaskList;
  5015. pxCurrentTCB.34_10 ={v} pxCurrentTCB;
  5016. _11 = &pxCurrentTCB.34_10->xStateListItem;
  5017. vListInsert (pxDelayedTaskList.33_9, _11);
  5018. # DEBUG BEGIN_STMT
  5019. xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime;
  5020. if (xNextTaskUnblockTime.35_12 > xTimeToWake_19)
  5021. goto <bb 8>; [50.00%]
  5022. else
  5023. goto <bb 9>; [50.00%]
  5024. <bb 8> [local count: 222801428]:
  5025. # DEBUG BEGIN_STMT
  5026. xNextTaskUnblockTime ={v} xTimeToWake_19;
  5027. <bb 9> [local count: 1073741824]:
  5028. # DEBUG BEGIN_STMT
  5029. return;
  5030. }
  5031. ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
  5032. {
  5033. uint32_t ulReturn;
  5034. long unsigned int _1;
  5035. long unsigned int _2;
  5036. long unsigned int _3;
  5037. struct TCB_t * iftmp.164_4;
  5038. struct TCB_t * iftmp.164_7;
  5039. <bb 2> [local count: 1073741824]:
  5040. # DEBUG BEGIN_STMT
  5041. # DEBUG BEGIN_STMT
  5042. # DEBUG BEGIN_STMT
  5043. if (xTask_5(D) == 0B)
  5044. goto <bb 3>; [30.00%]
  5045. else
  5046. goto <bb 4>; [70.00%]
  5047. <bb 3> [local count: 322122547]:
  5048. iftmp.164_7 ={v} pxCurrentTCB;
  5049. <bb 4> [local count: 1073741824]:
  5050. # iftmp.164_4 = PHI <iftmp.164_7(3), xTask_5(D)(2)>
  5051. # DEBUG pxTCB => iftmp.164_4
  5052. # DEBUG BEGIN_STMT
  5053. vPortEnterCritical ();
  5054. # DEBUG BEGIN_STMT
  5055. ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  5056. # DEBUG ulReturn => ulReturn_10
  5057. # DEBUG BEGIN_STMT
  5058. _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  5059. _2 = ~ulBitsToClear_11(D);
  5060. _3 = _1 & _2;
  5061. iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3;
  5062. # DEBUG BEGIN_STMT
  5063. vPortExitCritical ();
  5064. # DEBUG BEGIN_STMT
  5065. return ulReturn_10;
  5066. }
  5067. xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
  5068. {
  5069. uint32_t ulNewBASEPRI;
  5070. BaseType_t xReturn;
  5071. unsigned char _1;
  5072. struct TCB_t * iftmp.163_3;
  5073. struct TCB_t * iftmp.163_8;
  5074. <bb 2> [local count: 214748]:
  5075. # DEBUG BEGIN_STMT
  5076. # DEBUG BEGIN_STMT
  5077. # DEBUG BEGIN_STMT
  5078. if (uxIndexToClear_5(D) != 0)
  5079. goto <bb 3>; [50.00%]
  5080. else
  5081. goto <bb 5>; [50.00%]
  5082. <bb 3> [local count: 107374]:
  5083. # DEBUG BEGIN_STMT
  5084. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5085. # DEBUG BEGIN_STMT
  5086. # DEBUG BEGIN_STMT
  5087. __asm__ __volatile__(" mov %0, %1
  5088. msr basepri, %0
  5089. isb
  5090. dsb
  5091. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  5092. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  5093. <bb 4> [local count: 1073741824]:
  5094. # DEBUG ulNewBASEPRI => NULL
  5095. # DEBUG BEGIN_STMT
  5096. # DEBUG BEGIN_STMT
  5097. # DEBUG BEGIN_STMT
  5098. <bb 10> [local count: 1073741824]:
  5099. goto <bb 4>; [100.00%]
  5100. <bb 5> [local count: 107374]:
  5101. # DEBUG BEGIN_STMT
  5102. # DEBUG BEGIN_STMT
  5103. if (xTask_6(D) == 0B)
  5104. goto <bb 6>; [30.00%]
  5105. else
  5106. goto <bb 7>; [70.00%]
  5107. <bb 6> [local count: 32212]:
  5108. iftmp.163_8 ={v} pxCurrentTCB;
  5109. <bb 7> [local count: 107374]:
  5110. # iftmp.163_3 = PHI <iftmp.163_8(6), xTask_6(D)(5)>
  5111. # DEBUG pxTCB => iftmp.163_3
  5112. # DEBUG BEGIN_STMT
  5113. vPortEnterCritical ();
  5114. # DEBUG BEGIN_STMT
  5115. _1 ={v} iftmp.163_3->ucNotifyState[0];
  5116. if (_1 == 2)
  5117. goto <bb 8>; [34.00%]
  5118. else
  5119. goto <bb 9>; [66.00%]
  5120. <bb 8> [local count: 36507]:
  5121. # DEBUG BEGIN_STMT
  5122. iftmp.163_3->ucNotifyState[0] ={v} 0;
  5123. # DEBUG BEGIN_STMT
  5124. # DEBUG xReturn => 1
  5125. <bb 9> [local count: 107374]:
  5126. # xReturn_2 = PHI <1(8), 0(7)>
  5127. # DEBUG xReturn => xReturn_2
  5128. # DEBUG BEGIN_STMT
  5129. vPortExitCritical ();
  5130. # DEBUG BEGIN_STMT
  5131. return xReturn_2;
  5132. }
  5133. vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
  5134. {
  5135. uint32_t ulNewBASEPRI;
  5136. uint32_t ulOriginalBASEPRI;
  5137. uint32_t ulNewBASEPRI;
  5138. uint32_t ulNewBASEPRI;
  5139. uint32_t ulNewBASEPRI;
  5140. struct ListItem_t * const pxIndex;
  5141. struct ListItem_t * const pxIndex;
  5142. struct List_t * const pxList;
  5143. uint8_t ucOriginalNotifyState;
  5144. long unsigned int _1;
  5145. long unsigned int _2;
  5146. struct xLIST * _3;
  5147. long unsigned int uxSchedulerSuspended.160_4;
  5148. struct xLIST_ITEM * _5;
  5149. struct xLIST_ITEM * _6;
  5150. struct xLIST_ITEM * _7;
  5151. struct ListItem_t * _8;
  5152. struct ListItem_t * _9;
  5153. long unsigned int _10;
  5154. long unsigned int _11;
  5155. long unsigned int _12;
  5156. long unsigned int uxTopReadyPriority.161_13;
  5157. struct xLIST_ITEM * _14;
  5158. struct xLIST_ITEM * _15;
  5159. struct List_t * _16;
  5160. long unsigned int _17;
  5161. long unsigned int _18;
  5162. struct xLIST_ITEM * _19;
  5163. struct xLIST_ITEM * _20;
  5164. struct ListItem_t * _21;
  5165. long unsigned int _22;
  5166. long unsigned int _23;
  5167. long unsigned int _24;
  5168. struct TCB_t * pxCurrentTCB.162_25;
  5169. long unsigned int _26;
  5170. <bb 2> [local count: 228942]:
  5171. # DEBUG BEGIN_STMT
  5172. # DEBUG BEGIN_STMT
  5173. # DEBUG BEGIN_STMT
  5174. # DEBUG BEGIN_STMT
  5175. if (xTaskToNotify_32(D) == 0B)
  5176. goto <bb 3>; [30.00%]
  5177. else
  5178. goto <bb 5>; [70.00%]
  5179. <bb 3> [local count: 68683]:
  5180. # DEBUG BEGIN_STMT
  5181. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5182. # DEBUG BEGIN_STMT
  5183. # DEBUG BEGIN_STMT
  5184. __asm__ __volatile__(" mov %0, %1
  5185. msr basepri, %0
  5186. isb
  5187. dsb
  5188. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  5189. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  5190. <bb 4> [local count: 686828460]:
  5191. # DEBUG ulNewBASEPRI => NULL
  5192. # DEBUG BEGIN_STMT
  5193. # DEBUG BEGIN_STMT
  5194. # DEBUG BEGIN_STMT
  5195. <bb 24> [local count: 686828460]:
  5196. goto <bb 4>; [100.00%]
  5197. <bb 5> [local count: 160260]:
  5198. # DEBUG BEGIN_STMT
  5199. # DEBUG BEGIN_STMT
  5200. if (uxIndexToNotify_33(D) != 0)
  5201. goto <bb 6>; [67.00%]
  5202. else
  5203. goto <bb 8>; [33.00%]
  5204. <bb 6> [local count: 107374]:
  5205. # DEBUG BEGIN_STMT
  5206. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5207. # DEBUG BEGIN_STMT
  5208. # DEBUG BEGIN_STMT
  5209. __asm__ __volatile__(" mov %0, %1
  5210. msr basepri, %0
  5211. isb
  5212. dsb
  5213. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  5214. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  5215. <bb 7> [local count: 1073741824]:
  5216. # DEBUG ulNewBASEPRI => NULL
  5217. # DEBUG BEGIN_STMT
  5218. # DEBUG BEGIN_STMT
  5219. # DEBUG BEGIN_STMT
  5220. <bb 25> [local count: 1073741824]:
  5221. goto <bb 7>; [100.00%]
  5222. <bb 8> [local count: 52886]:
  5223. # DEBUG BEGIN_STMT
  5224. # DEBUG BEGIN_STMT
  5225. vPortValidateInterruptPriority ();
  5226. # DEBUG BEGIN_STMT
  5227. # DEBUG pxTCB => xTaskToNotify_32(D)
  5228. # DEBUG BEGIN_STMT
  5229. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5230. # DEBUG BEGIN_STMT
  5231. # DEBUG BEGIN_STMT
  5232. __asm__ __volatile__(" mrs %0, basepri
  5233. mov %1, %2
  5234. msr basepri, %1
  5235. isb
  5236. dsb
  5237. " : "=r" ulOriginalBASEPRI_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  5238. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  5239. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64
  5240. # DEBUG BEGIN_STMT
  5241. # DEBUG ulNewBASEPRI => NULL
  5242. # DEBUG ulOriginalBASEPRI => NULL
  5243. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64
  5244. # DEBUG BEGIN_STMT
  5245. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0];
  5246. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  5247. # DEBUG BEGIN_STMT
  5248. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2;
  5249. # DEBUG BEGIN_STMT
  5250. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0];
  5251. _2 = _1 + 1;
  5252. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2;
  5253. # DEBUG BEGIN_STMT
  5254. # DEBUG BEGIN_STMT
  5255. if (ucOriginalNotifyState_36 == 1)
  5256. goto <bb 9>; [34.00%]
  5257. else
  5258. goto <bb 23>; [66.00%]
  5259. <bb 9> [local count: 17981]:
  5260. # DEBUG BEGIN_STMT
  5261. _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer;
  5262. if (_3 != 0B)
  5263. goto <bb 10>; [70.00%]
  5264. else
  5265. goto <bb 12>; [30.00%]
  5266. <bb 10> [local count: 12587]:
  5267. # DEBUG BEGIN_STMT
  5268. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5269. # DEBUG BEGIN_STMT
  5270. # DEBUG BEGIN_STMT
  5271. __asm__ __volatile__(" mov %0, %1
  5272. msr basepri, %0
  5273. isb
  5274. dsb
  5275. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  5276. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  5277. <bb 11> [local count: 125868183]:
  5278. # DEBUG ulNewBASEPRI => NULL
  5279. # DEBUG BEGIN_STMT
  5280. # DEBUG BEGIN_STMT
  5281. # DEBUG BEGIN_STMT
  5282. <bb 26> [local count: 125868183]:
  5283. goto <bb 11>; [100.00%]
  5284. <bb 12> [local count: 5394]:
  5285. # DEBUG BEGIN_STMT
  5286. # DEBUG BEGIN_STMT
  5287. uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended;
  5288. if (uxSchedulerSuspended.160_4 == 0)
  5289. goto <bb 13>; [50.00%]
  5290. else
  5291. goto <bb 18>; [50.00%]
  5292. <bb 13> [local count: 2697]:
  5293. # DEBUG BEGIN_STMT
  5294. pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer;
  5295. # DEBUG pxList => pxList_46
  5296. # DEBUG BEGIN_STMT
  5297. _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext;
  5298. _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  5299. _5->pxPrevious = _6;
  5300. # DEBUG BEGIN_STMT
  5301. _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  5302. _7->pxNext = _5;
  5303. # DEBUG BEGIN_STMT
  5304. _8 = pxList_46->pxIndex;
  5305. _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem;
  5306. if (_8 == _9)
  5307. goto <bb 14>; [30.00%]
  5308. else
  5309. goto <bb 15>; [70.00%]
  5310. <bb 14> [local count: 809]:
  5311. # DEBUG BEGIN_STMT
  5312. pxList_46->pxIndex = _7;
  5313. <bb 15> [local count: 2697]:
  5314. # DEBUG BEGIN_STMT
  5315. # DEBUG BEGIN_STMT
  5316. _10 ={v} pxList_46->uxNumberOfItems;
  5317. _11 = _10 + 4294967295;
  5318. pxList_46->uxNumberOfItems ={v} _11;
  5319. # DEBUG BEGIN_STMT
  5320. # DEBUG BEGIN_STMT
  5321. # DEBUG BEGIN_STMT
  5322. _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  5323. uxTopReadyPriority.161_13 ={v} uxTopReadyPriority;
  5324. if (_12 > uxTopReadyPriority.161_13)
  5325. goto <bb 16>; [50.00%]
  5326. else
  5327. goto <bb 17>; [50.00%]
  5328. <bb 16> [local count: 1349]:
  5329. # DEBUG BEGIN_STMT
  5330. uxTopReadyPriority ={v} _12;
  5331. <bb 17> [local count: 2697]:
  5332. # DEBUG BEGIN_STMT
  5333. # DEBUG BEGIN_STMT
  5334. pxIndex_52 = pxReadyTasksLists[_12].pxIndex;
  5335. # DEBUG pxIndex => pxIndex_52
  5336. # DEBUG BEGIN_STMT
  5337. # DEBUG BEGIN_STMT
  5338. # DEBUG BEGIN_STMT
  5339. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52;
  5340. # DEBUG BEGIN_STMT
  5341. _14 = pxIndex_52->pxPrevious;
  5342. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14;
  5343. # DEBUG BEGIN_STMT
  5344. _15 = pxIndex_52->pxPrevious;
  5345. _15->pxNext = _9;
  5346. # DEBUG BEGIN_STMT
  5347. pxIndex_52->pxPrevious = _9;
  5348. # DEBUG BEGIN_STMT
  5349. _16 = &pxReadyTasksLists[_12];
  5350. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16;
  5351. # DEBUG BEGIN_STMT
  5352. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  5353. _18 = _17 + 1;
  5354. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  5355. # DEBUG BEGIN_STMT
  5356. # DEBUG BEGIN_STMT
  5357. goto <bb 19>; [100.00%]
  5358. <bb 18> [local count: 2697]:
  5359. # DEBUG BEGIN_STMT
  5360. pxIndex_39 = xPendingReadyList.pxIndex;
  5361. # DEBUG pxIndex => pxIndex_39
  5362. # DEBUG BEGIN_STMT
  5363. # DEBUG BEGIN_STMT
  5364. # DEBUG BEGIN_STMT
  5365. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39;
  5366. # DEBUG BEGIN_STMT
  5367. _19 = pxIndex_39->pxPrevious;
  5368. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19;
  5369. # DEBUG BEGIN_STMT
  5370. _20 = pxIndex_39->pxPrevious;
  5371. _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem;
  5372. _20->pxNext = _21;
  5373. # DEBUG BEGIN_STMT
  5374. pxIndex_39->pxPrevious = _21;
  5375. # DEBUG BEGIN_STMT
  5376. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList;
  5377. # DEBUG BEGIN_STMT
  5378. _22 ={v} xPendingReadyList.uxNumberOfItems;
  5379. _23 = _22 + 1;
  5380. xPendingReadyList.uxNumberOfItems ={v} _23;
  5381. <bb 19> [local count: 5394]:
  5382. # DEBUG BEGIN_STMT
  5383. # DEBUG BEGIN_STMT
  5384. _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  5385. pxCurrentTCB.162_25 ={v} pxCurrentTCB;
  5386. _26 = pxCurrentTCB.162_25->uxPriority;
  5387. if (_24 > _26)
  5388. goto <bb 20>; [50.00%]
  5389. else
  5390. goto <bb 23>; [50.00%]
  5391. <bb 20> [local count: 2697]:
  5392. # DEBUG BEGIN_STMT
  5393. if (pxHigherPriorityTaskWoken_59(D) != 0B)
  5394. goto <bb 21>; [70.00%]
  5395. else
  5396. goto <bb 22>; [30.00%]
  5397. <bb 21> [local count: 1888]:
  5398. # DEBUG BEGIN_STMT
  5399. *pxHigherPriorityTaskWoken_59(D) = 1;
  5400. <bb 22> [local count: 2697]:
  5401. # DEBUG BEGIN_STMT
  5402. xYieldPending ={v} 1;
  5403. <bb 23> [local count: 40299]:
  5404. # DEBUG BEGIN_STMT
  5405. # DEBUG BEGIN_STMT
  5406. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64
  5407. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5408. # DEBUG BEGIN_STMT
  5409. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory");
  5410. # DEBUG ulNewMaskValue => NULL
  5411. return;
  5412. }
  5413. xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
  5414. {
  5415. uint32_t ulNewBASEPRI;
  5416. uint32_t ulNewBASEPRI;
  5417. uint32_t ulOriginalBASEPRI;
  5418. uint32_t ulNewBASEPRI;
  5419. uint32_t ulNewBASEPRI;
  5420. uint32_t ulNewBASEPRI;
  5421. struct ListItem_t * const pxIndex;
  5422. struct ListItem_t * const pxIndex;
  5423. struct List_t * const pxList;
  5424. BaseType_t xReturn;
  5425. uint8_t ucOriginalNotifyState;
  5426. long unsigned int _1;
  5427. long unsigned int _2;
  5428. long unsigned int _3;
  5429. long unsigned int _4;
  5430. long unsigned int _5;
  5431. long unsigned int xTickCount.156_6;
  5432. struct xLIST * _7;
  5433. long unsigned int uxSchedulerSuspended.157_8;
  5434. struct xLIST_ITEM * _9;
  5435. struct xLIST_ITEM * _10;
  5436. struct xLIST_ITEM * _11;
  5437. struct ListItem_t * _12;
  5438. struct ListItem_t * _13;
  5439. long unsigned int _14;
  5440. long unsigned int _15;
  5441. long unsigned int _16;
  5442. long unsigned int uxTopReadyPriority.158_17;
  5443. struct xLIST_ITEM * _18;
  5444. struct xLIST_ITEM * _19;
  5445. struct List_t * _20;
  5446. long unsigned int _21;
  5447. long unsigned int _22;
  5448. struct xLIST_ITEM * _23;
  5449. struct xLIST_ITEM * _24;
  5450. struct ListItem_t * _25;
  5451. long unsigned int _26;
  5452. long unsigned int _27;
  5453. long unsigned int _28;
  5454. struct TCB_t * pxCurrentTCB.159_29;
  5455. long unsigned int _30;
  5456. <bb 2> [local count: 228942]:
  5457. # DEBUG BEGIN_STMT
  5458. # DEBUG BEGIN_STMT
  5459. # DEBUG BEGIN_STMT
  5460. # DEBUG xReturn => 1
  5461. # DEBUG BEGIN_STMT
  5462. # DEBUG BEGIN_STMT
  5463. if (xTaskToNotify_39(D) == 0B)
  5464. goto <bb 3>; [30.00%]
  5465. else
  5466. goto <bb 5>; [70.00%]
  5467. <bb 3> [local count: 68683]:
  5468. # DEBUG BEGIN_STMT
  5469. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5470. # DEBUG BEGIN_STMT
  5471. # DEBUG BEGIN_STMT
  5472. __asm__ __volatile__(" mov %0, %1
  5473. msr basepri, %0
  5474. isb
  5475. dsb
  5476. " : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
  5477. # DEBUG ulNewBASEPRI => ulNewBASEPRI_76
  5478. <bb 4> [local count: 686828460]:
  5479. # DEBUG ulNewBASEPRI => NULL
  5480. # DEBUG BEGIN_STMT
  5481. # DEBUG BEGIN_STMT
  5482. # DEBUG BEGIN_STMT
  5483. <bb 35> [local count: 686828460]:
  5484. goto <bb 4>; [100.00%]
  5485. <bb 5> [local count: 160260]:
  5486. # DEBUG BEGIN_STMT
  5487. # DEBUG BEGIN_STMT
  5488. if (uxIndexToNotify_40(D) != 0)
  5489. goto <bb 6>; [67.00%]
  5490. else
  5491. goto <bb 8>; [33.00%]
  5492. <bb 6> [local count: 107374]:
  5493. # DEBUG BEGIN_STMT
  5494. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5495. # DEBUG BEGIN_STMT
  5496. # DEBUG BEGIN_STMT
  5497. __asm__ __volatile__(" mov %0, %1
  5498. msr basepri, %0
  5499. isb
  5500. dsb
  5501. " : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
  5502. # DEBUG ulNewBASEPRI => ulNewBASEPRI_77
  5503. <bb 7> [local count: 1073741824]:
  5504. # DEBUG ulNewBASEPRI => NULL
  5505. # DEBUG BEGIN_STMT
  5506. # DEBUG BEGIN_STMT
  5507. # DEBUG BEGIN_STMT
  5508. <bb 36> [local count: 1073741824]:
  5509. goto <bb 7>; [100.00%]
  5510. <bb 8> [local count: 52886]:
  5511. # DEBUG BEGIN_STMT
  5512. # DEBUG BEGIN_STMT
  5513. vPortValidateInterruptPriority ();
  5514. # DEBUG BEGIN_STMT
  5515. # DEBUG pxTCB => xTaskToNotify_39(D)
  5516. # DEBUG BEGIN_STMT
  5517. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5518. # DEBUG BEGIN_STMT
  5519. # DEBUG BEGIN_STMT
  5520. __asm__ __volatile__(" mrs %0, basepri
  5521. mov %1, %2
  5522. msr basepri, %1
  5523. isb
  5524. dsb
  5525. " : "=r" ulOriginalBASEPRI_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory");
  5526. # DEBUG ulNewBASEPRI => ulNewBASEPRI_79
  5527. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78
  5528. # DEBUG BEGIN_STMT
  5529. # DEBUG ulNewBASEPRI => NULL
  5530. # DEBUG ulOriginalBASEPRI => NULL
  5531. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78
  5532. # DEBUG BEGIN_STMT
  5533. if (pulPreviousNotificationValue_43(D) != 0B)
  5534. goto <bb 9>; [70.00%]
  5535. else
  5536. goto <bb 10>; [30.00%]
  5537. <bb 9> [local count: 37020]:
  5538. # DEBUG BEGIN_STMT
  5539. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  5540. *pulPreviousNotificationValue_43(D) = _1;
  5541. <bb 10> [local count: 52886]:
  5542. # DEBUG BEGIN_STMT
  5543. ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0];
  5544. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45
  5545. # DEBUG BEGIN_STMT
  5546. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2;
  5547. # DEBUG BEGIN_STMT
  5548. 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%]>
  5549. <bb 11> [local count: 8816]:
  5550. <L8>:
  5551. # DEBUG BEGIN_STMT
  5552. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  5553. _3 = _2 | ulValue_48(D);
  5554. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3;
  5555. # DEBUG BEGIN_STMT
  5556. goto <bb 19>; [100.00%]
  5557. <bb 12> [local count: 8816]:
  5558. <L9>:
  5559. # DEBUG BEGIN_STMT
  5560. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  5561. _5 = _4 + 1;
  5562. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5;
  5563. # DEBUG BEGIN_STMT
  5564. goto <bb 19>; [100.00%]
  5565. <bb 13> [local count: 8816]:
  5566. <L10>:
  5567. # DEBUG BEGIN_STMT
  5568. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  5569. # DEBUG BEGIN_STMT
  5570. goto <bb 19>; [100.00%]
  5571. <bb 14> [local count: 8816]:
  5572. <L11>:
  5573. # DEBUG BEGIN_STMT
  5574. if (ucOriginalNotifyState_45 != 2)
  5575. goto <bb 15>; [66.00%]
  5576. else
  5577. goto <bb 19>; [34.00%]
  5578. <bb 15> [local count: 5819]:
  5579. # DEBUG BEGIN_STMT
  5580. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  5581. goto <bb 19>; [100.00%]
  5582. <bb 16> [local count: 8816]:
  5583. <L16>:
  5584. # DEBUG BEGIN_STMT
  5585. xTickCount.156_6 ={v} xTickCount;
  5586. if (xTickCount.156_6 != 0)
  5587. goto <bb 17>; [50.00%]
  5588. else
  5589. goto <bb 19>; [50.00%]
  5590. <bb 17> [local count: 4408]:
  5591. # DEBUG BEGIN_STMT
  5592. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5593. # DEBUG BEGIN_STMT
  5594. # DEBUG BEGIN_STMT
  5595. __asm__ __volatile__(" mov %0, %1
  5596. msr basepri, %0
  5597. isb
  5598. dsb
  5599. " : "=r" ulNewBASEPRI_80 : "i" 16 : "memory");
  5600. # DEBUG ulNewBASEPRI => ulNewBASEPRI_80
  5601. <bb 18> [local count: 44080307]:
  5602. # DEBUG ulNewBASEPRI => NULL
  5603. # DEBUG BEGIN_STMT
  5604. # DEBUG BEGIN_STMT
  5605. # DEBUG BEGIN_STMT
  5606. <bb 37> [local count: 44080307]:
  5607. goto <bb 18>; [100.00%]
  5608. <bb 19> [local count: 48488]:
  5609. # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  5610. <L39>:
  5611. # DEBUG xReturn => xReturn_31
  5612. # DEBUG BEGIN_STMT
  5613. # DEBUG BEGIN_STMT
  5614. if (ucOriginalNotifyState_45 == 1)
  5615. goto <bb 20>; [34.00%]
  5616. else
  5617. goto <bb 34>; [66.00%]
  5618. <bb 20> [local count: 16486]:
  5619. # DEBUG BEGIN_STMT
  5620. _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer;
  5621. if (_7 != 0B)
  5622. goto <bb 21>; [70.00%]
  5623. else
  5624. goto <bb 23>; [30.00%]
  5625. <bb 21> [local count: 11540]:
  5626. # DEBUG BEGIN_STMT
  5627. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5628. # DEBUG BEGIN_STMT
  5629. # DEBUG BEGIN_STMT
  5630. __asm__ __volatile__(" mov %0, %1
  5631. msr basepri, %0
  5632. isb
  5633. dsb
  5634. " : "=r" ulNewBASEPRI_81 : "i" 16 : "memory");
  5635. # DEBUG ulNewBASEPRI => ulNewBASEPRI_81
  5636. <bb 22> [local count: 115402244]:
  5637. # DEBUG ulNewBASEPRI => NULL
  5638. # DEBUG BEGIN_STMT
  5639. # DEBUG BEGIN_STMT
  5640. # DEBUG BEGIN_STMT
  5641. <bb 38> [local count: 115402244]:
  5642. goto <bb 22>; [100.00%]
  5643. <bb 23> [local count: 4946]:
  5644. # DEBUG BEGIN_STMT
  5645. # DEBUG BEGIN_STMT
  5646. uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended;
  5647. if (uxSchedulerSuspended.157_8 == 0)
  5648. goto <bb 24>; [50.00%]
  5649. else
  5650. goto <bb 29>; [50.00%]
  5651. <bb 24> [local count: 2473]:
  5652. # DEBUG BEGIN_STMT
  5653. pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer;
  5654. # DEBUG pxList => pxList_60
  5655. # DEBUG BEGIN_STMT
  5656. _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext;
  5657. _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  5658. _9->pxPrevious = _10;
  5659. # DEBUG BEGIN_STMT
  5660. _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  5661. _11->pxNext = _9;
  5662. # DEBUG BEGIN_STMT
  5663. _12 = pxList_60->pxIndex;
  5664. _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem;
  5665. if (_12 == _13)
  5666. goto <bb 25>; [30.00%]
  5667. else
  5668. goto <bb 26>; [70.00%]
  5669. <bb 25> [local count: 742]:
  5670. # DEBUG BEGIN_STMT
  5671. pxList_60->pxIndex = _11;
  5672. <bb 26> [local count: 2473]:
  5673. # DEBUG BEGIN_STMT
  5674. # DEBUG BEGIN_STMT
  5675. _14 ={v} pxList_60->uxNumberOfItems;
  5676. _15 = _14 + 4294967295;
  5677. pxList_60->uxNumberOfItems ={v} _15;
  5678. # DEBUG BEGIN_STMT
  5679. # DEBUG BEGIN_STMT
  5680. # DEBUG BEGIN_STMT
  5681. _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  5682. uxTopReadyPriority.158_17 ={v} uxTopReadyPriority;
  5683. if (_16 > uxTopReadyPriority.158_17)
  5684. goto <bb 27>; [50.00%]
  5685. else
  5686. goto <bb 28>; [50.00%]
  5687. <bb 27> [local count: 1236]:
  5688. # DEBUG BEGIN_STMT
  5689. uxTopReadyPriority ={v} _16;
  5690. <bb 28> [local count: 2473]:
  5691. # DEBUG BEGIN_STMT
  5692. # DEBUG BEGIN_STMT
  5693. pxIndex_66 = pxReadyTasksLists[_16].pxIndex;
  5694. # DEBUG pxIndex => pxIndex_66
  5695. # DEBUG BEGIN_STMT
  5696. # DEBUG BEGIN_STMT
  5697. # DEBUG BEGIN_STMT
  5698. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66;
  5699. # DEBUG BEGIN_STMT
  5700. _18 = pxIndex_66->pxPrevious;
  5701. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18;
  5702. # DEBUG BEGIN_STMT
  5703. _19 = pxIndex_66->pxPrevious;
  5704. _19->pxNext = _13;
  5705. # DEBUG BEGIN_STMT
  5706. pxIndex_66->pxPrevious = _13;
  5707. # DEBUG BEGIN_STMT
  5708. _20 = &pxReadyTasksLists[_16];
  5709. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20;
  5710. # DEBUG BEGIN_STMT
  5711. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  5712. _22 = _21 + 1;
  5713. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  5714. # DEBUG BEGIN_STMT
  5715. # DEBUG BEGIN_STMT
  5716. goto <bb 30>; [100.00%]
  5717. <bb 29> [local count: 2473]:
  5718. # DEBUG BEGIN_STMT
  5719. pxIndex_53 = xPendingReadyList.pxIndex;
  5720. # DEBUG pxIndex => pxIndex_53
  5721. # DEBUG BEGIN_STMT
  5722. # DEBUG BEGIN_STMT
  5723. # DEBUG BEGIN_STMT
  5724. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53;
  5725. # DEBUG BEGIN_STMT
  5726. _23 = pxIndex_53->pxPrevious;
  5727. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23;
  5728. # DEBUG BEGIN_STMT
  5729. _24 = pxIndex_53->pxPrevious;
  5730. _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem;
  5731. _24->pxNext = _25;
  5732. # DEBUG BEGIN_STMT
  5733. pxIndex_53->pxPrevious = _25;
  5734. # DEBUG BEGIN_STMT
  5735. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList;
  5736. # DEBUG BEGIN_STMT
  5737. _26 ={v} xPendingReadyList.uxNumberOfItems;
  5738. _27 = _26 + 1;
  5739. xPendingReadyList.uxNumberOfItems ={v} _27;
  5740. <bb 30> [local count: 4946]:
  5741. # DEBUG BEGIN_STMT
  5742. # DEBUG BEGIN_STMT
  5743. _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  5744. pxCurrentTCB.159_29 ={v} pxCurrentTCB;
  5745. _30 = pxCurrentTCB.159_29->uxPriority;
  5746. if (_28 > _30)
  5747. goto <bb 31>; [50.00%]
  5748. else
  5749. goto <bb 34>; [50.00%]
  5750. <bb 31> [local count: 2473]:
  5751. # DEBUG BEGIN_STMT
  5752. if (pxHigherPriorityTaskWoken_73(D) != 0B)
  5753. goto <bb 32>; [70.00%]
  5754. else
  5755. goto <bb 33>; [30.00%]
  5756. <bb 32> [local count: 1731]:
  5757. # DEBUG BEGIN_STMT
  5758. *pxHigherPriorityTaskWoken_73(D) = 1;
  5759. <bb 33> [local count: 2473]:
  5760. # DEBUG BEGIN_STMT
  5761. xYieldPending ={v} 1;
  5762. <bb 34> [local count: 36948]:
  5763. # DEBUG BEGIN_STMT
  5764. # DEBUG BEGIN_STMT
  5765. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78
  5766. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5767. # DEBUG BEGIN_STMT
  5768. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory");
  5769. # DEBUG ulNewMaskValue => NULL
  5770. # DEBUG BEGIN_STMT
  5771. return xReturn_31;
  5772. }
  5773. xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
  5774. {
  5775. uint32_t ulNewBASEPRI;
  5776. uint32_t ulNewBASEPRI;
  5777. uint32_t ulNewBASEPRI;
  5778. uint32_t ulNewBASEPRI;
  5779. struct ListItem_t * const pxIndex;
  5780. struct List_t * const pxList;
  5781. uint8_t ucOriginalNotifyState;
  5782. BaseType_t xReturn;
  5783. long unsigned int _1;
  5784. long unsigned int _2;
  5785. long unsigned int _3;
  5786. long unsigned int _4;
  5787. long unsigned int _5;
  5788. long unsigned int xTickCount.153_6;
  5789. struct xLIST_ITEM * _7;
  5790. struct xLIST_ITEM * _8;
  5791. struct xLIST_ITEM * _9;
  5792. struct ListItem_t * _10;
  5793. struct ListItem_t * _11;
  5794. long unsigned int _12;
  5795. long unsigned int _13;
  5796. long unsigned int _14;
  5797. long unsigned int uxTopReadyPriority.154_15;
  5798. struct xLIST_ITEM * _16;
  5799. struct xLIST_ITEM * _17;
  5800. struct List_t * _18;
  5801. long unsigned int _19;
  5802. long unsigned int _20;
  5803. struct xLIST * _21;
  5804. struct TCB_t * pxCurrentTCB.155_22;
  5805. long unsigned int _23;
  5806. <bb 2> [local count: 214748]:
  5807. # DEBUG BEGIN_STMT
  5808. # DEBUG BEGIN_STMT
  5809. # DEBUG xReturn => 1
  5810. # DEBUG BEGIN_STMT
  5811. # DEBUG BEGIN_STMT
  5812. if (uxIndexToNotify_30(D) != 0)
  5813. goto <bb 3>; [50.00%]
  5814. else
  5815. goto <bb 5>; [50.00%]
  5816. <bb 3> [local count: 107374]:
  5817. # DEBUG BEGIN_STMT
  5818. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5819. # DEBUG BEGIN_STMT
  5820. # DEBUG BEGIN_STMT
  5821. __asm__ __volatile__(" mov %0, %1
  5822. msr basepri, %0
  5823. isb
  5824. dsb
  5825. " : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
  5826. # DEBUG ulNewBASEPRI => ulNewBASEPRI_61
  5827. <bb 4> [local count: 1073741824]:
  5828. # DEBUG ulNewBASEPRI => NULL
  5829. # DEBUG BEGIN_STMT
  5830. # DEBUG BEGIN_STMT
  5831. # DEBUG BEGIN_STMT
  5832. <bb 30> [local count: 1073741824]:
  5833. goto <bb 4>; [100.00%]
  5834. <bb 5> [local count: 107374]:
  5835. # DEBUG BEGIN_STMT
  5836. # DEBUG BEGIN_STMT
  5837. if (xTaskToNotify_31(D) == 0B)
  5838. goto <bb 6>; [46.53%]
  5839. else
  5840. goto <bb 8>; [53.47%]
  5841. <bb 6> [local count: 49961]:
  5842. # DEBUG BEGIN_STMT
  5843. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5844. # DEBUG BEGIN_STMT
  5845. # DEBUG BEGIN_STMT
  5846. __asm__ __volatile__(" mov %0, %1
  5847. msr basepri, %0
  5848. isb
  5849. dsb
  5850. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  5851. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  5852. <bb 7> [local count: 499612071]:
  5853. # DEBUG ulNewBASEPRI => NULL
  5854. # DEBUG BEGIN_STMT
  5855. # DEBUG BEGIN_STMT
  5856. # DEBUG BEGIN_STMT
  5857. <bb 31> [local count: 499612071]:
  5858. goto <bb 7>; [100.00%]
  5859. <bb 8> [local count: 57413]:
  5860. # DEBUG BEGIN_STMT
  5861. # DEBUG BEGIN_STMT
  5862. # DEBUG pxTCB => xTaskToNotify_31(D)
  5863. # DEBUG BEGIN_STMT
  5864. vPortEnterCritical ();
  5865. # DEBUG BEGIN_STMT
  5866. if (pulPreviousNotificationValue_34(D) != 0B)
  5867. goto <bb 9>; [70.00%]
  5868. else
  5869. goto <bb 10>; [30.00%]
  5870. <bb 9> [local count: 40189]:
  5871. # DEBUG BEGIN_STMT
  5872. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  5873. *pulPreviousNotificationValue_34(D) = _1;
  5874. <bb 10> [local count: 57413]:
  5875. # DEBUG BEGIN_STMT
  5876. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0];
  5877. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  5878. # DEBUG BEGIN_STMT
  5879. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2;
  5880. # DEBUG BEGIN_STMT
  5881. 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%]>
  5882. <bb 11> [local count: 9571]:
  5883. <L8>:
  5884. # DEBUG BEGIN_STMT
  5885. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  5886. _3 = _2 | ulValue_39(D);
  5887. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3;
  5888. # DEBUG BEGIN_STMT
  5889. goto <bb 19>; [100.00%]
  5890. <bb 12> [local count: 9571]:
  5891. <L9>:
  5892. # DEBUG BEGIN_STMT
  5893. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  5894. _5 = _4 + 1;
  5895. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5;
  5896. # DEBUG BEGIN_STMT
  5897. goto <bb 19>; [100.00%]
  5898. <bb 13> [local count: 9571]:
  5899. <L10>:
  5900. # DEBUG BEGIN_STMT
  5901. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  5902. # DEBUG BEGIN_STMT
  5903. goto <bb 19>; [100.00%]
  5904. <bb 14> [local count: 9571]:
  5905. <L11>:
  5906. # DEBUG BEGIN_STMT
  5907. if (ucOriginalNotifyState_36 != 2)
  5908. goto <bb 15>; [66.00%]
  5909. else
  5910. goto <bb 19>; [34.00%]
  5911. <bb 15> [local count: 6317]:
  5912. # DEBUG BEGIN_STMT
  5913. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  5914. goto <bb 19>; [100.00%]
  5915. <bb 16> [local count: 9571]:
  5916. <L16>:
  5917. # DEBUG BEGIN_STMT
  5918. xTickCount.153_6 ={v} xTickCount;
  5919. if (xTickCount.153_6 != 0)
  5920. goto <bb 17>; [50.00%]
  5921. else
  5922. goto <bb 19>; [50.00%]
  5923. <bb 17> [local count: 4785]:
  5924. # DEBUG BEGIN_STMT
  5925. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5926. # DEBUG BEGIN_STMT
  5927. # DEBUG BEGIN_STMT
  5928. __asm__ __volatile__(" mov %0, %1
  5929. msr basepri, %0
  5930. isb
  5931. dsb
  5932. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  5933. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  5934. <bb 18> [local count: 47853715]:
  5935. # DEBUG ulNewBASEPRI => NULL
  5936. # DEBUG BEGIN_STMT
  5937. # DEBUG BEGIN_STMT
  5938. # DEBUG BEGIN_STMT
  5939. <bb 32> [local count: 47853715]:
  5940. goto <bb 18>; [100.00%]
  5941. <bb 19> [local count: 52639]:
  5942. # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  5943. <L35>:
  5944. # DEBUG xReturn => xReturn_24
  5945. # DEBUG BEGIN_STMT
  5946. # DEBUG BEGIN_STMT
  5947. if (ucOriginalNotifyState_36 == 1)
  5948. goto <bb 20>; [51.12%]
  5949. else
  5950. goto <bb 29>; [48.88%]
  5951. <bb 20> [local count: 26909]:
  5952. # DEBUG BEGIN_STMT
  5953. pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer;
  5954. # DEBUG pxList => pxList_44
  5955. # DEBUG BEGIN_STMT
  5956. _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext;
  5957. _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  5958. _7->pxPrevious = _8;
  5959. # DEBUG BEGIN_STMT
  5960. _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  5961. _9->pxNext = _7;
  5962. # DEBUG BEGIN_STMT
  5963. _10 = pxList_44->pxIndex;
  5964. _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem;
  5965. if (_10 == _11)
  5966. goto <bb 21>; [30.00%]
  5967. else
  5968. goto <bb 22>; [70.00%]
  5969. <bb 21> [local count: 8073]:
  5970. # DEBUG BEGIN_STMT
  5971. pxList_44->pxIndex = _9;
  5972. <bb 22> [local count: 26909]:
  5973. # DEBUG BEGIN_STMT
  5974. # DEBUG BEGIN_STMT
  5975. _12 ={v} pxList_44->uxNumberOfItems;
  5976. _13 = _12 + 4294967295;
  5977. pxList_44->uxNumberOfItems ={v} _13;
  5978. # DEBUG BEGIN_STMT
  5979. # DEBUG BEGIN_STMT
  5980. # DEBUG BEGIN_STMT
  5981. _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority;
  5982. uxTopReadyPriority.154_15 ={v} uxTopReadyPriority;
  5983. if (_14 > uxTopReadyPriority.154_15)
  5984. goto <bb 23>; [50.00%]
  5985. else
  5986. goto <bb 24>; [50.00%]
  5987. <bb 23> [local count: 13455]:
  5988. # DEBUG BEGIN_STMT
  5989. uxTopReadyPriority ={v} _14;
  5990. <bb 24> [local count: 26909]:
  5991. # DEBUG BEGIN_STMT
  5992. # DEBUG BEGIN_STMT
  5993. pxIndex_50 = pxReadyTasksLists[_14].pxIndex;
  5994. # DEBUG pxIndex => pxIndex_50
  5995. # DEBUG BEGIN_STMT
  5996. # DEBUG BEGIN_STMT
  5997. # DEBUG BEGIN_STMT
  5998. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50;
  5999. # DEBUG BEGIN_STMT
  6000. _16 = pxIndex_50->pxPrevious;
  6001. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16;
  6002. # DEBUG BEGIN_STMT
  6003. _17 = pxIndex_50->pxPrevious;
  6004. _17->pxNext = _11;
  6005. # DEBUG BEGIN_STMT
  6006. pxIndex_50->pxPrevious = _11;
  6007. # DEBUG BEGIN_STMT
  6008. _18 = &pxReadyTasksLists[_14];
  6009. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18;
  6010. # DEBUG BEGIN_STMT
  6011. _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems;
  6012. _20 = _19 + 1;
  6013. pxReadyTasksLists[_14].uxNumberOfItems ={v} _20;
  6014. # DEBUG BEGIN_STMT
  6015. # DEBUG BEGIN_STMT
  6016. # DEBUG BEGIN_STMT
  6017. _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer;
  6018. if (_21 != 0B)
  6019. goto <bb 25>; [70.00%]
  6020. else
  6021. goto <bb 27>; [30.00%]
  6022. <bb 25> [local count: 18836]:
  6023. # DEBUG BEGIN_STMT
  6024. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6025. # DEBUG BEGIN_STMT
  6026. # DEBUG BEGIN_STMT
  6027. __asm__ __volatile__(" mov %0, %1
  6028. msr basepri, %0
  6029. isb
  6030. dsb
  6031. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  6032. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  6033. <bb 26> [local count: 188363707]:
  6034. # DEBUG ulNewBASEPRI => NULL
  6035. # DEBUG BEGIN_STMT
  6036. # DEBUG BEGIN_STMT
  6037. # DEBUG BEGIN_STMT
  6038. <bb 33> [local count: 188363706]:
  6039. goto <bb 26>; [100.00%]
  6040. <bb 27> [local count: 8073]:
  6041. # DEBUG BEGIN_STMT
  6042. # DEBUG BEGIN_STMT
  6043. pxCurrentTCB.155_22 ={v} pxCurrentTCB;
  6044. _23 = pxCurrentTCB.155_22->uxPriority;
  6045. if (_14 > _23)
  6046. goto <bb 28>; [50.00%]
  6047. else
  6048. goto <bb 29>; [50.00%]
  6049. <bb 28> [local count: 4036]:
  6050. # DEBUG BEGIN_STMT
  6051. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6052. # DEBUG BEGIN_STMT
  6053. __asm__ __volatile__("dsb" : : : "memory");
  6054. # DEBUG BEGIN_STMT
  6055. __asm__ __volatile__("isb");
  6056. # DEBUG BEGIN_STMT
  6057. <bb 29> [local count: 33803]:
  6058. # DEBUG BEGIN_STMT
  6059. # DEBUG BEGIN_STMT
  6060. vPortExitCritical ();
  6061. # DEBUG BEGIN_STMT
  6062. return xReturn_24;
  6063. }
  6064. xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
  6065. {
  6066. uint32_t ulNewBASEPRI;
  6067. BaseType_t xReturn;
  6068. struct TCB_t * pxCurrentTCB.146_1;
  6069. unsigned char _2;
  6070. long unsigned int _3;
  6071. long unsigned int _4;
  6072. long unsigned int _5;
  6073. struct TCB_t * pxCurrentTCB.148_6;
  6074. struct TCB_t * pxCurrentTCB.149_7;
  6075. long unsigned int _8;
  6076. struct TCB_t * pxCurrentTCB.150_9;
  6077. unsigned char _10;
  6078. long unsigned int _11;
  6079. long unsigned int _12;
  6080. long unsigned int _13;
  6081. struct TCB_t * pxCurrentTCB.152_14;
  6082. struct TCB_t * pxCurrentTCB.147_22;
  6083. struct TCB_t * pxCurrentTCB.151_35;
  6084. <bb 2> [local count: 160260]:
  6085. # DEBUG BEGIN_STMT
  6086. # DEBUG BEGIN_STMT
  6087. if (uxIndexToWait_19(D) != 0)
  6088. goto <bb 3>; [67.00%]
  6089. else
  6090. goto <bb 5>; [33.00%]
  6091. <bb 3> [local count: 107374]:
  6092. # DEBUG BEGIN_STMT
  6093. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6094. # DEBUG BEGIN_STMT
  6095. # DEBUG BEGIN_STMT
  6096. __asm__ __volatile__(" mov %0, %1
  6097. msr basepri, %0
  6098. isb
  6099. dsb
  6100. " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  6101. # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
  6102. <bb 4> [local count: 1073741824]:
  6103. # DEBUG ulNewBASEPRI => NULL
  6104. # DEBUG BEGIN_STMT
  6105. # DEBUG BEGIN_STMT
  6106. # DEBUG BEGIN_STMT
  6107. <bb 13> [local count: 1073741824]:
  6108. goto <bb 4>; [100.00%]
  6109. <bb 5> [local count: 52886]:
  6110. # DEBUG BEGIN_STMT
  6111. # DEBUG BEGIN_STMT
  6112. vPortEnterCritical ();
  6113. # DEBUG BEGIN_STMT
  6114. pxCurrentTCB.146_1 ={v} pxCurrentTCB;
  6115. _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0];
  6116. if (_2 != 2)
  6117. goto <bb 6>; [66.00%]
  6118. else
  6119. goto <bb 8>; [34.00%]
  6120. <bb 6> [local count: 34905]:
  6121. # DEBUG BEGIN_STMT
  6122. pxCurrentTCB.147_22 ={v} pxCurrentTCB;
  6123. _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0];
  6124. _4 = ~ulBitsToClearOnEntry_23(D);
  6125. _5 = _3 & _4;
  6126. pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5;
  6127. # DEBUG BEGIN_STMT
  6128. pxCurrentTCB.148_6 ={v} pxCurrentTCB;
  6129. pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1;
  6130. # DEBUG BEGIN_STMT
  6131. if (xTicksToWait_26(D) != 0)
  6132. goto <bb 7>; [33.00%]
  6133. else
  6134. goto <bb 8>; [67.00%]
  6135. <bb 7> [local count: 11519]:
  6136. # DEBUG BEGIN_STMT
  6137. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  6138. # DEBUG BEGIN_STMT
  6139. # DEBUG BEGIN_STMT
  6140. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6141. # DEBUG BEGIN_STMT
  6142. __asm__ __volatile__("dsb" : : : "memory");
  6143. # DEBUG BEGIN_STMT
  6144. __asm__ __volatile__("isb");
  6145. # DEBUG BEGIN_STMT
  6146. <bb 8> [local count: 52886]:
  6147. # DEBUG BEGIN_STMT
  6148. # DEBUG BEGIN_STMT
  6149. vPortExitCritical ();
  6150. # DEBUG BEGIN_STMT
  6151. vPortEnterCritical ();
  6152. # DEBUG BEGIN_STMT
  6153. # DEBUG BEGIN_STMT
  6154. if (pulNotificationValue_33(D) != 0B)
  6155. goto <bb 9>; [70.00%]
  6156. else
  6157. goto <bb 10>; [30.00%]
  6158. <bb 9> [local count: 37020]:
  6159. # DEBUG BEGIN_STMT
  6160. pxCurrentTCB.149_7 ={v} pxCurrentTCB;
  6161. _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0];
  6162. *pulNotificationValue_33(D) = _8;
  6163. <bb 10> [local count: 52886]:
  6164. # DEBUG BEGIN_STMT
  6165. pxCurrentTCB.150_9 ={v} pxCurrentTCB;
  6166. _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0];
  6167. if (_10 != 2)
  6168. goto <bb 12>; [66.00%]
  6169. else
  6170. goto <bb 11>; [34.00%]
  6171. <bb 11> [local count: 17981]:
  6172. # DEBUG BEGIN_STMT
  6173. pxCurrentTCB.151_35 ={v} pxCurrentTCB;
  6174. _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0];
  6175. _12 = ~ulBitsToClearOnExit_36(D);
  6176. _13 = _11 & _12;
  6177. pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13;
  6178. # DEBUG BEGIN_STMT
  6179. # DEBUG xReturn => 1
  6180. <bb 12> [local count: 52886]:
  6181. # xReturn_15 = PHI <0(10), 1(11)>
  6182. # DEBUG xReturn => xReturn_15
  6183. # DEBUG BEGIN_STMT
  6184. pxCurrentTCB.152_14 ={v} pxCurrentTCB;
  6185. pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0;
  6186. # DEBUG BEGIN_STMT
  6187. vPortExitCritical ();
  6188. # DEBUG BEGIN_STMT
  6189. return xReturn_15;
  6190. }
  6191. ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
  6192. {
  6193. uint32_t ulNewBASEPRI;
  6194. uint32_t ulReturn;
  6195. struct TCB_t * pxCurrentTCB.140_1;
  6196. long unsigned int _2;
  6197. struct TCB_t * pxCurrentTCB.141_3;
  6198. struct TCB_t * pxCurrentTCB.142_4;
  6199. struct TCB_t * pxCurrentTCB.143_5;
  6200. struct TCB_t * pxCurrentTCB.144_6;
  6201. long unsigned int _7;
  6202. struct TCB_t * pxCurrentTCB.145_8;
  6203. <bb 2> [local count: 160260]:
  6204. # DEBUG BEGIN_STMT
  6205. # DEBUG BEGIN_STMT
  6206. if (uxIndexToWait_11(D) != 0)
  6207. goto <bb 3>; [67.00%]
  6208. else
  6209. goto <bb 5>; [33.00%]
  6210. <bb 3> [local count: 107374]:
  6211. # DEBUG BEGIN_STMT
  6212. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6213. # DEBUG BEGIN_STMT
  6214. # DEBUG BEGIN_STMT
  6215. __asm__ __volatile__(" mov %0, %1
  6216. msr basepri, %0
  6217. isb
  6218. dsb
  6219. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  6220. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  6221. <bb 4> [local count: 1073741824]:
  6222. # DEBUG ulNewBASEPRI => NULL
  6223. # DEBUG BEGIN_STMT
  6224. # DEBUG BEGIN_STMT
  6225. # DEBUG BEGIN_STMT
  6226. <bb 13> [local count: 1073741824]:
  6227. goto <bb 4>; [100.00%]
  6228. <bb 5> [local count: 52886]:
  6229. # DEBUG BEGIN_STMT
  6230. # DEBUG BEGIN_STMT
  6231. vPortEnterCritical ();
  6232. # DEBUG BEGIN_STMT
  6233. pxCurrentTCB.140_1 ={v} pxCurrentTCB;
  6234. _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0];
  6235. if (_2 == 0)
  6236. goto <bb 6>; [50.00%]
  6237. else
  6238. goto <bb 8>; [50.00%]
  6239. <bb 6> [local count: 26443]:
  6240. # DEBUG BEGIN_STMT
  6241. pxCurrentTCB.141_3 ={v} pxCurrentTCB;
  6242. pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1;
  6243. # DEBUG BEGIN_STMT
  6244. if (xTicksToWait_15(D) != 0)
  6245. goto <bb 7>; [33.00%]
  6246. else
  6247. goto <bb 8>; [67.00%]
  6248. <bb 7> [local count: 8726]:
  6249. # DEBUG BEGIN_STMT
  6250. prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1);
  6251. # DEBUG BEGIN_STMT
  6252. # DEBUG BEGIN_STMT
  6253. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6254. # DEBUG BEGIN_STMT
  6255. __asm__ __volatile__("dsb" : : : "memory");
  6256. # DEBUG BEGIN_STMT
  6257. __asm__ __volatile__("isb");
  6258. # DEBUG BEGIN_STMT
  6259. <bb 8> [local count: 52886]:
  6260. # DEBUG BEGIN_STMT
  6261. # DEBUG BEGIN_STMT
  6262. vPortExitCritical ();
  6263. # DEBUG BEGIN_STMT
  6264. vPortEnterCritical ();
  6265. # DEBUG BEGIN_STMT
  6266. # DEBUG BEGIN_STMT
  6267. pxCurrentTCB.142_4 ={v} pxCurrentTCB;
  6268. ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0];
  6269. # DEBUG ulReturn => ulReturn_22
  6270. # DEBUG BEGIN_STMT
  6271. if (ulReturn_22 != 0)
  6272. goto <bb 9>; [50.00%]
  6273. else
  6274. goto <bb 12>; [50.00%]
  6275. <bb 9> [local count: 26443]:
  6276. # DEBUG BEGIN_STMT
  6277. if (xClearCountOnExit_23(D) != 0)
  6278. goto <bb 10>; [50.00%]
  6279. else
  6280. goto <bb 11>; [50.00%]
  6281. <bb 10> [local count: 13221]:
  6282. # DEBUG BEGIN_STMT
  6283. pxCurrentTCB.143_5 ={v} pxCurrentTCB;
  6284. pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0;
  6285. goto <bb 12>; [100.00%]
  6286. <bb 11> [local count: 13221]:
  6287. # DEBUG BEGIN_STMT
  6288. pxCurrentTCB.144_6 ={v} pxCurrentTCB;
  6289. _7 = ulReturn_22 + 4294967295;
  6290. pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7;
  6291. <bb 12> [local count: 52886]:
  6292. # DEBUG BEGIN_STMT
  6293. # DEBUG BEGIN_STMT
  6294. pxCurrentTCB.145_8 ={v} pxCurrentTCB;
  6295. pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0;
  6296. # DEBUG BEGIN_STMT
  6297. vPortExitCritical ();
  6298. # DEBUG BEGIN_STMT
  6299. return ulReturn_22;
  6300. }
  6301. pvTaskIncrementMutexHeldCount ()
  6302. {
  6303. struct TCB_t * pxCurrentTCB.138_1;
  6304. struct TCB_t * pxCurrentTCB.139_2;
  6305. long unsigned int _3;
  6306. long unsigned int _4;
  6307. struct tskTaskControlBlock * _8;
  6308. <bb 2> [local count: 1073741824]:
  6309. # DEBUG BEGIN_STMT
  6310. pxCurrentTCB.138_1 ={v} pxCurrentTCB;
  6311. if (pxCurrentTCB.138_1 != 0B)
  6312. goto <bb 3>; [70.00%]
  6313. else
  6314. goto <bb 4>; [30.00%]
  6315. <bb 3> [local count: 751619278]:
  6316. # DEBUG BEGIN_STMT
  6317. pxCurrentTCB.139_2 ={v} pxCurrentTCB;
  6318. _3 = pxCurrentTCB.139_2->uxMutexesHeld;
  6319. _4 = _3 + 1;
  6320. pxCurrentTCB.139_2->uxMutexesHeld = _4;
  6321. <bb 4> [local count: 1073741824]:
  6322. # DEBUG BEGIN_STMT
  6323. _8 ={v} pxCurrentTCB;
  6324. return _8;
  6325. }
  6326. uxTaskResetEventItemValue ()
  6327. {
  6328. TickType_t uxReturn;
  6329. struct TCB_t * pxCurrentTCB.135_1;
  6330. struct TCB_t * pxCurrentTCB.136_2;
  6331. long unsigned int _3;
  6332. struct TCB_t * pxCurrentTCB.137_4;
  6333. long unsigned int _5;
  6334. <bb 2> [local count: 1073741824]:
  6335. # DEBUG BEGIN_STMT
  6336. # DEBUG BEGIN_STMT
  6337. pxCurrentTCB.135_1 ={v} pxCurrentTCB;
  6338. uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue;
  6339. # DEBUG uxReturn => uxReturn_7
  6340. # DEBUG BEGIN_STMT
  6341. pxCurrentTCB.136_2 ={v} pxCurrentTCB;
  6342. _3 = pxCurrentTCB.136_2->uxPriority;
  6343. pxCurrentTCB.137_4 ={v} pxCurrentTCB;
  6344. _5 = 5 - _3;
  6345. pxCurrentTCB.137_4->xEventListItem.xItemValue = _5;
  6346. # DEBUG BEGIN_STMT
  6347. return uxReturn_7;
  6348. }
  6349. vTaskList (char * pcWriteBuffer)
  6350. {
  6351. char cStatus;
  6352. UBaseType_t x;
  6353. UBaseType_t uxArraySize;
  6354. struct TaskStatus_t * pxTaskStatusArray;
  6355. long unsigned int uxCurrentNumberOfTasks.134_1;
  6356. long unsigned int _2;
  6357. long unsigned int _3;
  6358. struct TaskStatus_t * _4;
  6359. <unnamed type> _5;
  6360. unsigned int _6;
  6361. const char * _8;
  6362. int _9;
  6363. long unsigned int _11;
  6364. short unsigned int _12;
  6365. unsigned int _13;
  6366. long unsigned int _14;
  6367. unsigned int _15;
  6368. <bb 2> [local count: 220893212]:
  6369. # DEBUG BEGIN_STMT
  6370. # DEBUG BEGIN_STMT
  6371. # DEBUG BEGIN_STMT
  6372. # DEBUG BEGIN_STMT
  6373. *pcWriteBuffer_22(D) = 0;
  6374. # DEBUG BEGIN_STMT
  6375. uxArraySize_24 ={v} uxCurrentNumberOfTasks;
  6376. # DEBUG uxArraySize => uxArraySize_24
  6377. # DEBUG BEGIN_STMT
  6378. uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks;
  6379. _2 = uxCurrentNumberOfTasks.134_1 * 36;
  6380. pxTaskStatusArray_26 = pvPortMalloc (_2);
  6381. # DEBUG pxTaskStatusArray => pxTaskStatusArray_26
  6382. # DEBUG BEGIN_STMT
  6383. if (pxTaskStatusArray_26 != 0B)
  6384. goto <bb 3>; [53.47%]
  6385. else
  6386. goto <bb 10>; [46.53%]
  6387. <bb 3> [local count: 118111600]:
  6388. # DEBUG BEGIN_STMT
  6389. uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  6390. # DEBUG uxArraySize => uxArraySize_28
  6391. # DEBUG BEGIN_STMT
  6392. # DEBUG x => 0
  6393. goto <bb 8>; [100.00%]
  6394. <bb 4> [local count: 955630226]:
  6395. # DEBUG BEGIN_STMT
  6396. _3 = x_17 * 36;
  6397. _4 = pxTaskStatusArray_26 + _3;
  6398. _5 = _4->eCurrentState;
  6399. _6 = _5;
  6400. if (_6 <= 4)
  6401. goto <bb 6>; [50.00%]
  6402. else
  6403. goto <bb 5>; [50.00%]
  6404. <bb 5> [local count: 477815113]:
  6405. <L15>:
  6406. cStatus_10 = 0;
  6407. goto <bb 7>; [100.00%]
  6408. <bb 6> [local count: 477815113]:
  6409. <L16>:
  6410. cStatus_7 = CSWTCH.225[_6];
  6411. <bb 7> [local count: 955630226]:
  6412. # cStatus_18 = PHI <cStatus_7(6), cStatus_10(5)>
  6413. <L17>:
  6414. <L14>:
  6415. # DEBUG cStatus => cStatus_18
  6416. # DEBUG BEGIN_STMT
  6417. _8 = _4->pcTaskName;
  6418. pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
  6419. # DEBUG pcWriteBuffer => pcWriteBuffer_31
  6420. # DEBUG BEGIN_STMT
  6421. _9 = (int) cStatus_18;
  6422. _11 = _4->uxCurrentPriority;
  6423. _12 = _4->usStackHighWaterMark;
  6424. _13 = (unsigned int) _12;
  6425. _14 = _4->xTaskNumber;
  6426. sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
  6427. # DEBUG BEGIN_STMT
  6428. _15 = strlen (pcWriteBuffer_31);
  6429. pcWriteBuffer_33 = pcWriteBuffer_31 + _15;
  6430. # DEBUG pcWriteBuffer => pcWriteBuffer_33
  6431. # DEBUG BEGIN_STMT
  6432. x_34 = x_17 + 1;
  6433. # DEBUG x => x_34
  6434. <bb 8> [local count: 1073741824]:
  6435. # pcWriteBuffer_16 = PHI <pcWriteBuffer_22(D)(3), pcWriteBuffer_33(7)>
  6436. # x_17 = PHI <0(3), x_34(7)>
  6437. # DEBUG x => x_17
  6438. # DEBUG pcWriteBuffer => pcWriteBuffer_16
  6439. # DEBUG BEGIN_STMT
  6440. if (x_17 < uxArraySize_28)
  6441. goto <bb 4>; [89.00%]
  6442. else
  6443. goto <bb 9>; [11.00%]
  6444. <bb 9> [local count: 118111601]:
  6445. # DEBUG BEGIN_STMT
  6446. vPortFree (pxTaskStatusArray_26);
  6447. <bb 10> [local count: 220893212]:
  6448. # DEBUG BEGIN_STMT
  6449. return;
  6450. }
  6451. prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName)
  6452. {
  6453. size_t x;
  6454. char * _1;
  6455. char * _2;
  6456. <bb 2> [local count: 118111600]:
  6457. # DEBUG BEGIN_STMT
  6458. # DEBUG BEGIN_STMT
  6459. strcpy (pcBuffer_6(D), pcTaskName_7(D));
  6460. # DEBUG BEGIN_STMT
  6461. x_9 = strlen (pcBuffer_6(D));
  6462. # DEBUG x => x_9
  6463. goto <bb 4>; [100.00%]
  6464. <bb 3> [local count: 955630223]:
  6465. # DEBUG BEGIN_STMT
  6466. _1 = pcBuffer_6(D) + x_3;
  6467. *_1 = 32;
  6468. # DEBUG BEGIN_STMT
  6469. x_13 = x_3 + 1;
  6470. # DEBUG x => x_13
  6471. <bb 4> [local count: 1073741824]:
  6472. # x_3 = PHI <x_9(2), x_13(3)>
  6473. # DEBUG x => x_3
  6474. # DEBUG BEGIN_STMT
  6475. if (x_3 <= 8)
  6476. goto <bb 3>; [89.00%]
  6477. else
  6478. goto <bb 5>; [11.00%]
  6479. <bb 5> [local count: 118111601]:
  6480. # x_11 = PHI <x_3(4)>
  6481. # DEBUG BEGIN_STMT
  6482. _2 = pcBuffer_6(D) + x_11;
  6483. *_2 = 0;
  6484. # DEBUG BEGIN_STMT
  6485. return _2;
  6486. }
  6487. vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
  6488. {
  6489. uint32_t ulNewBASEPRI;
  6490. uint32_t ulNewBASEPRI;
  6491. struct ListItem_t * const pxIndex;
  6492. UBaseType_t uxPriorityToUse;
  6493. long unsigned int _1;
  6494. long unsigned int _2;
  6495. long unsigned int _3;
  6496. struct TCB_t * pxCurrentTCB.132_4;
  6497. long unsigned int _5;
  6498. signed int _6;
  6499. long unsigned int _7;
  6500. struct xLIST * _8;
  6501. struct List_t * _9;
  6502. struct ListItem_t * _10;
  6503. long unsigned int _12;
  6504. long unsigned int uxTopReadyPriority.133_13;
  6505. struct xLIST_ITEM * _14;
  6506. struct xLIST_ITEM * _15;
  6507. struct List_t * _16;
  6508. long unsigned int _17;
  6509. long unsigned int _18;
  6510. <bb 2> [local count: 306783]:
  6511. # DEBUG BEGIN_STMT
  6512. # DEBUG pxTCB => pxMutexHolder_22(D)
  6513. # DEBUG BEGIN_STMT
  6514. # DEBUG BEGIN_STMT
  6515. # DEBUG uxOnlyOneMutexHeld => 1
  6516. # DEBUG BEGIN_STMT
  6517. if (pxMutexHolder_22(D) != 0B)
  6518. goto <bb 3>; [70.00%]
  6519. else
  6520. goto <bb 17>; [30.00%]
  6521. <bb 3> [local count: 214748]:
  6522. # DEBUG BEGIN_STMT
  6523. _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld;
  6524. if (_1 == 0)
  6525. goto <bb 4>; [50.00%]
  6526. else
  6527. goto <bb 6>; [50.00%]
  6528. <bb 4> [local count: 107374]:
  6529. # DEBUG BEGIN_STMT
  6530. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6531. # DEBUG BEGIN_STMT
  6532. # DEBUG BEGIN_STMT
  6533. __asm__ __volatile__(" mov %0, %1
  6534. msr basepri, %0
  6535. isb
  6536. dsb
  6537. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  6538. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  6539. <bb 5> [local count: 1073741823]:
  6540. # DEBUG ulNewBASEPRI => NULL
  6541. # DEBUG BEGIN_STMT
  6542. # DEBUG BEGIN_STMT
  6543. # DEBUG BEGIN_STMT
  6544. <bb 18> [local count: 1073741824]:
  6545. goto <bb 5>; [100.00%]
  6546. <bb 6> [local count: 107374]:
  6547. # DEBUG BEGIN_STMT
  6548. # DEBUG BEGIN_STMT
  6549. _2 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxBasePriority;
  6550. uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>;
  6551. # DEBUG uxPriorityToUse => uxPriorityToUse_11
  6552. # DEBUG BEGIN_STMT
  6553. _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  6554. if (_3 != uxPriorityToUse_11)
  6555. goto <bb 7>; [66.00%]
  6556. else
  6557. goto <bb 17>; [34.00%]
  6558. <bb 7> [local count: 70867]:
  6559. # DEBUG BEGIN_STMT
  6560. if (_1 == 1)
  6561. goto <bb 8>; [34.00%]
  6562. else
  6563. goto <bb 17>; [66.00%]
  6564. <bb 8> [local count: 24095]:
  6565. # DEBUG BEGIN_STMT
  6566. pxCurrentTCB.132_4 ={v} pxCurrentTCB;
  6567. if (pxCurrentTCB.132_4 == pxMutexHolder_22(D))
  6568. goto <bb 9>; [30.00%]
  6569. else
  6570. goto <bb 11>; [70.00%]
  6571. <bb 9> [local count: 7228]:
  6572. # DEBUG BEGIN_STMT
  6573. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6574. # DEBUG BEGIN_STMT
  6575. # DEBUG BEGIN_STMT
  6576. __asm__ __volatile__(" mov %0, %1
  6577. msr basepri, %0
  6578. isb
  6579. dsb
  6580. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  6581. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  6582. <bb 10> [local count: 72284299]:
  6583. # DEBUG ulNewBASEPRI => NULL
  6584. # DEBUG BEGIN_STMT
  6585. # DEBUG BEGIN_STMT
  6586. # DEBUG BEGIN_STMT
  6587. <bb 19> [local count: 72284299]:
  6588. goto <bb 10>; [100.00%]
  6589. <bb 11> [local count: 16866]:
  6590. # DEBUG BEGIN_STMT
  6591. # DEBUG BEGIN_STMT
  6592. # DEBUG BEGIN_STMT
  6593. # DEBUG uxPriorityUsedOnEntry => _3
  6594. # DEBUG BEGIN_STMT
  6595. MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11;
  6596. # DEBUG BEGIN_STMT
  6597. _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue;
  6598. _6 = (signed int) _5;
  6599. if (_6 >= 0)
  6600. goto <bb 12>; [59.00%]
  6601. else
  6602. goto <bb 13>; [41.00%]
  6603. <bb 12> [local count: 9951]:
  6604. # DEBUG BEGIN_STMT
  6605. _7 = 5 - uxPriorityToUse_11;
  6606. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7;
  6607. <bb 13> [local count: 16866]:
  6608. # DEBUG BEGIN_STMT
  6609. # DEBUG BEGIN_STMT
  6610. _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer;
  6611. _9 = &pxReadyTasksLists[_3];
  6612. if (_8 == _9)
  6613. goto <bb 14>; [17.43%]
  6614. else
  6615. goto <bb 17>; [82.57%]
  6616. <bb 14> [local count: 2940]:
  6617. # DEBUG BEGIN_STMT
  6618. _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem;
  6619. uxListRemove (_10);
  6620. # DEBUG BEGIN_STMT
  6621. # DEBUG BEGIN_STMT
  6622. # DEBUG BEGIN_STMT
  6623. _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  6624. uxTopReadyPriority.133_13 ={v} uxTopReadyPriority;
  6625. if (_12 > uxTopReadyPriority.133_13)
  6626. goto <bb 15>; [50.00%]
  6627. else
  6628. goto <bb 16>; [50.00%]
  6629. <bb 15> [local count: 1470]:
  6630. # DEBUG BEGIN_STMT
  6631. uxTopReadyPriority ={v} _12;
  6632. <bb 16> [local count: 2940]:
  6633. # DEBUG BEGIN_STMT
  6634. # DEBUG BEGIN_STMT
  6635. pxIndex_29 = pxReadyTasksLists[_12].pxIndex;
  6636. # DEBUG pxIndex => pxIndex_29
  6637. # DEBUG BEGIN_STMT
  6638. # DEBUG BEGIN_STMT
  6639. # DEBUG BEGIN_STMT
  6640. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29;
  6641. # DEBUG BEGIN_STMT
  6642. _14 = pxIndex_29->pxPrevious;
  6643. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14;
  6644. # DEBUG BEGIN_STMT
  6645. _15 = pxIndex_29->pxPrevious;
  6646. _15->pxNext = _10;
  6647. # DEBUG BEGIN_STMT
  6648. pxIndex_29->pxPrevious = _10;
  6649. # DEBUG BEGIN_STMT
  6650. _16 = &pxReadyTasksLists[_12];
  6651. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16;
  6652. # DEBUG BEGIN_STMT
  6653. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  6654. _18 = _17 + 1;
  6655. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  6656. # DEBUG BEGIN_STMT
  6657. # DEBUG BEGIN_STMT
  6658. <bb 17> [local count: 192180]:
  6659. # DEBUG BEGIN_STMT
  6660. return;
  6661. }
  6662. xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
  6663. {
  6664. uint32_t ulNewBASEPRI;
  6665. uint32_t ulNewBASEPRI;
  6666. struct ListItem_t * const pxIndex;
  6667. BaseType_t xReturn;
  6668. struct TCB_t * pxCurrentTCB.130_1;
  6669. long unsigned int _2;
  6670. long unsigned int _3;
  6671. long unsigned int _4;
  6672. long unsigned int _5;
  6673. struct ListItem_t * _6;
  6674. long unsigned int _7;
  6675. long unsigned int _8;
  6676. long unsigned int uxTopReadyPriority.131_9;
  6677. struct xLIST_ITEM * _10;
  6678. struct xLIST_ITEM * _11;
  6679. struct List_t * _12;
  6680. long unsigned int _13;
  6681. long unsigned int _14;
  6682. <bb 2> [local count: 219131]:
  6683. # DEBUG BEGIN_STMT
  6684. # DEBUG pxTCB => pxMutexHolder_18(D)
  6685. # DEBUG BEGIN_STMT
  6686. # DEBUG xReturn => 0
  6687. # DEBUG BEGIN_STMT
  6688. if (pxMutexHolder_18(D) != 0B)
  6689. goto <bb 3>; [70.00%]
  6690. else
  6691. goto <bb 14>; [30.00%]
  6692. <bb 3> [local count: 153391]:
  6693. # DEBUG BEGIN_STMT
  6694. pxCurrentTCB.130_1 ={v} pxCurrentTCB;
  6695. if (pxCurrentTCB.130_1 != pxMutexHolder_18(D))
  6696. goto <bb 4>; [70.00%]
  6697. else
  6698. goto <bb 6>; [30.00%]
  6699. <bb 4> [local count: 107374]:
  6700. # DEBUG BEGIN_STMT
  6701. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6702. # DEBUG BEGIN_STMT
  6703. # DEBUG BEGIN_STMT
  6704. __asm__ __volatile__(" mov %0, %1
  6705. msr basepri, %0
  6706. isb
  6707. dsb
  6708. " : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
  6709. # DEBUG ulNewBASEPRI => ulNewBASEPRI_32
  6710. <bb 5> [local count: 1073741824]:
  6711. # DEBUG ulNewBASEPRI => NULL
  6712. # DEBUG BEGIN_STMT
  6713. # DEBUG BEGIN_STMT
  6714. # DEBUG BEGIN_STMT
  6715. <bb 15> [local count: 1073741824]:
  6716. goto <bb 5>; [100.00%]
  6717. <bb 6> [local count: 46017]:
  6718. # DEBUG BEGIN_STMT
  6719. # DEBUG BEGIN_STMT
  6720. _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld;
  6721. if (_2 == 0)
  6722. goto <bb 7>; [50.00%]
  6723. else
  6724. goto <bb 9>; [50.00%]
  6725. <bb 7> [local count: 23009]:
  6726. # DEBUG BEGIN_STMT
  6727. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6728. # DEBUG BEGIN_STMT
  6729. # DEBUG BEGIN_STMT
  6730. __asm__ __volatile__(" mov %0, %1
  6731. msr basepri, %0
  6732. isb
  6733. dsb
  6734. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  6735. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  6736. <bb 8> [local count: 230087534]:
  6737. # DEBUG ulNewBASEPRI => NULL
  6738. # DEBUG BEGIN_STMT
  6739. # DEBUG BEGIN_STMT
  6740. # DEBUG BEGIN_STMT
  6741. <bb 16> [local count: 230087534]:
  6742. goto <bb 8>; [100.00%]
  6743. <bb 9> [local count: 23009]:
  6744. # DEBUG BEGIN_STMT
  6745. # DEBUG BEGIN_STMT
  6746. _3 = _2 + 4294967295;
  6747. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3;
  6748. # DEBUG BEGIN_STMT
  6749. _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority;
  6750. _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  6751. if (_4 != _5)
  6752. goto <bb 10>; [66.00%]
  6753. else
  6754. goto <bb 14>; [34.00%]
  6755. <bb 10> [local count: 15186]:
  6756. # DEBUG BEGIN_STMT
  6757. if (_3 == 0)
  6758. goto <bb 11>; [33.00%]
  6759. else
  6760. goto <bb 14>; [67.00%]
  6761. <bb 11> [local count: 5011]:
  6762. # DEBUG BEGIN_STMT
  6763. _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem;
  6764. uxListRemove (_6);
  6765. # DEBUG BEGIN_STMT
  6766. # DEBUG BEGIN_STMT
  6767. # DEBUG BEGIN_STMT
  6768. _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  6769. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7;
  6770. # DEBUG BEGIN_STMT
  6771. _8 = 5 - _7;
  6772. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8;
  6773. # DEBUG BEGIN_STMT
  6774. # DEBUG BEGIN_STMT
  6775. uxTopReadyPriority.131_9 ={v} uxTopReadyPriority;
  6776. if (_7 > uxTopReadyPriority.131_9)
  6777. goto <bb 12>; [50.00%]
  6778. else
  6779. goto <bb 13>; [50.00%]
  6780. <bb 12> [local count: 2506]:
  6781. # DEBUG BEGIN_STMT
  6782. uxTopReadyPriority ={v} _7;
  6783. <bb 13> [local count: 5011]:
  6784. # DEBUG BEGIN_STMT
  6785. # DEBUG BEGIN_STMT
  6786. pxIndex_25 = pxReadyTasksLists[_7].pxIndex;
  6787. # DEBUG pxIndex => pxIndex_25
  6788. # DEBUG BEGIN_STMT
  6789. # DEBUG BEGIN_STMT
  6790. # DEBUG BEGIN_STMT
  6791. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25;
  6792. # DEBUG BEGIN_STMT
  6793. _10 = pxIndex_25->pxPrevious;
  6794. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10;
  6795. # DEBUG BEGIN_STMT
  6796. _11 = pxIndex_25->pxPrevious;
  6797. _11->pxNext = _6;
  6798. # DEBUG BEGIN_STMT
  6799. pxIndex_25->pxPrevious = _6;
  6800. # DEBUG BEGIN_STMT
  6801. _12 = &pxReadyTasksLists[_7];
  6802. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12;
  6803. # DEBUG BEGIN_STMT
  6804. _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  6805. _14 = _13 + 1;
  6806. pxReadyTasksLists[_7].uxNumberOfItems ={v} _14;
  6807. # DEBUG BEGIN_STMT
  6808. # DEBUG BEGIN_STMT
  6809. # DEBUG BEGIN_STMT
  6810. # DEBUG xReturn => 1
  6811. <bb 14> [local count: 88748]:
  6812. # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)>
  6813. # DEBUG xReturn => xReturn_15
  6814. # DEBUG BEGIN_STMT
  6815. # DEBUG BEGIN_STMT
  6816. return xReturn_15;
  6817. }
  6818. xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
  6819. {
  6820. struct ListItem_t * const pxIndex;
  6821. BaseType_t xReturn;
  6822. long unsigned int _1;
  6823. struct TCB_t * pxCurrentTCB.124_2;
  6824. long unsigned int _3;
  6825. long unsigned int _4;
  6826. signed int _5;
  6827. struct TCB_t * pxCurrentTCB.125_6;
  6828. long unsigned int _7;
  6829. long unsigned int _8;
  6830. struct xLIST * _9;
  6831. struct List_t * _10;
  6832. struct ListItem_t * _11;
  6833. struct TCB_t * pxCurrentTCB.126_12;
  6834. long unsigned int _13;
  6835. long unsigned int uxTopReadyPriority.127_14;
  6836. struct xLIST_ITEM * _15;
  6837. struct xLIST_ITEM * _16;
  6838. struct List_t * _17;
  6839. long unsigned int _18;
  6840. long unsigned int _19;
  6841. struct TCB_t * pxCurrentTCB.128_20;
  6842. long unsigned int _21;
  6843. long unsigned int _22;
  6844. struct TCB_t * pxCurrentTCB.129_23;
  6845. long unsigned int _24;
  6846. <bb 2> [local count: 1073741824]:
  6847. # DEBUG BEGIN_STMT
  6848. # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D)
  6849. # DEBUG BEGIN_STMT
  6850. # DEBUG xReturn => 0
  6851. # DEBUG BEGIN_STMT
  6852. if (pxMutexHolder_29(D) != 0B)
  6853. goto <bb 3>; [70.00%]
  6854. else
  6855. goto <bb 13>; [30.00%]
  6856. <bb 3> [local count: 751619278]:
  6857. # DEBUG BEGIN_STMT
  6858. _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority;
  6859. pxCurrentTCB.124_2 ={v} pxCurrentTCB;
  6860. _3 = pxCurrentTCB.124_2->uxPriority;
  6861. if (_1 < _3)
  6862. goto <bb 4>; [50.00%]
  6863. else
  6864. goto <bb 11>; [50.00%]
  6865. <bb 4> [local count: 375809639]:
  6866. # DEBUG BEGIN_STMT
  6867. _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue;
  6868. _5 = (signed int) _4;
  6869. if (_5 >= 0)
  6870. goto <bb 5>; [59.00%]
  6871. else
  6872. goto <bb 6>; [41.00%]
  6873. <bb 5> [local count: 221727687]:
  6874. # DEBUG BEGIN_STMT
  6875. pxCurrentTCB.125_6 ={v} pxCurrentTCB;
  6876. _7 = pxCurrentTCB.125_6->uxPriority;
  6877. _8 = 5 - _7;
  6878. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8;
  6879. <bb 6> [local count: 375809639]:
  6880. # DEBUG BEGIN_STMT
  6881. # DEBUG BEGIN_STMT
  6882. _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer;
  6883. _10 = &pxReadyTasksLists[_1];
  6884. if (_9 == _10)
  6885. goto <bb 7>; [17.43%]
  6886. else
  6887. goto <bb 10>; [82.57%]
  6888. <bb 7> [local count: 65503620]:
  6889. # DEBUG BEGIN_STMT
  6890. _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem;
  6891. uxListRemove (_11);
  6892. # DEBUG BEGIN_STMT
  6893. # DEBUG BEGIN_STMT
  6894. pxCurrentTCB.126_12 ={v} pxCurrentTCB;
  6895. _13 = pxCurrentTCB.126_12->uxPriority;
  6896. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13;
  6897. # DEBUG BEGIN_STMT
  6898. # DEBUG BEGIN_STMT
  6899. uxTopReadyPriority.127_14 ={v} uxTopReadyPriority;
  6900. if (_13 > uxTopReadyPriority.127_14)
  6901. goto <bb 8>; [50.00%]
  6902. else
  6903. goto <bb 9>; [50.00%]
  6904. <bb 8> [local count: 32751810]:
  6905. # DEBUG BEGIN_STMT
  6906. uxTopReadyPriority ={v} _13;
  6907. <bb 9> [local count: 65503620]:
  6908. # DEBUG BEGIN_STMT
  6909. # DEBUG BEGIN_STMT
  6910. pxIndex_36 = pxReadyTasksLists[_13].pxIndex;
  6911. # DEBUG pxIndex => pxIndex_36
  6912. # DEBUG BEGIN_STMT
  6913. # DEBUG BEGIN_STMT
  6914. # DEBUG BEGIN_STMT
  6915. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36;
  6916. # DEBUG BEGIN_STMT
  6917. _15 = pxIndex_36->pxPrevious;
  6918. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15;
  6919. # DEBUG BEGIN_STMT
  6920. _16 = pxIndex_36->pxPrevious;
  6921. _16->pxNext = _11;
  6922. # DEBUG BEGIN_STMT
  6923. pxIndex_36->pxPrevious = _11;
  6924. # DEBUG BEGIN_STMT
  6925. _17 = &pxReadyTasksLists[_13];
  6926. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17;
  6927. # DEBUG BEGIN_STMT
  6928. _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems;
  6929. _19 = _18 + 1;
  6930. pxReadyTasksLists[_13].uxNumberOfItems ={v} _19;
  6931. # DEBUG BEGIN_STMT
  6932. # DEBUG BEGIN_STMT
  6933. goto <bb 13>; [100.00%]
  6934. <bb 10> [local count: 310306019]:
  6935. # DEBUG BEGIN_STMT
  6936. pxCurrentTCB.128_20 ={v} pxCurrentTCB;
  6937. _21 = pxCurrentTCB.128_20->uxPriority;
  6938. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21;
  6939. goto <bb 13>; [100.00%]
  6940. <bb 11> [local count: 375809639]:
  6941. # DEBUG BEGIN_STMT
  6942. _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority;
  6943. pxCurrentTCB.129_23 ={v} pxCurrentTCB;
  6944. _24 = pxCurrentTCB.129_23->uxPriority;
  6945. if (_22 < _24)
  6946. goto <bb 12>; [50.00%]
  6947. else
  6948. goto <bb 13>; [50.00%]
  6949. <bb 12> [local count: 187904819]:
  6950. # DEBUG BEGIN_STMT
  6951. # DEBUG xReturn => 1
  6952. <bb 13> [local count: 1073741824]:
  6953. # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)>
  6954. # DEBUG xReturn => xReturn_25
  6955. # DEBUG BEGIN_STMT
  6956. # DEBUG BEGIN_STMT
  6957. return xReturn_25;
  6958. }
  6959. xTaskGetSchedulerState ()
  6960. {
  6961. BaseType_t xReturn;
  6962. long int xSchedulerRunning.122_1;
  6963. long unsigned int uxSchedulerSuspended.123_2;
  6964. <bb 2> [local count: 1073741824]:
  6965. # DEBUG BEGIN_STMT
  6966. # DEBUG BEGIN_STMT
  6967. xSchedulerRunning.122_1 ={v} xSchedulerRunning;
  6968. if (xSchedulerRunning.122_1 == 0)
  6969. goto <bb 5>; [50.00%]
  6970. else
  6971. goto <bb 3>; [50.00%]
  6972. <bb 3> [local count: 536870913]:
  6973. # DEBUG BEGIN_STMT
  6974. uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended;
  6975. if (uxSchedulerSuspended.123_2 == 0)
  6976. goto <bb 5>; [35.00%]
  6977. else
  6978. goto <bb 4>; [65.00%]
  6979. <bb 4> [local count: 348966093]:
  6980. # DEBUG BEGIN_STMT
  6981. # DEBUG xReturn => 0
  6982. <bb 5> [local count: 1073741824]:
  6983. # xReturn_3 = PHI <1(2), 2(3), 0(4)>
  6984. # DEBUG xReturn => xReturn_3
  6985. # DEBUG BEGIN_STMT
  6986. return xReturn_3;
  6987. }
  6988. xTaskGetCurrentTaskHandle ()
  6989. {
  6990. struct tskTaskControlBlock * xReturn;
  6991. <bb 2> [local count: 1073741824]:
  6992. # DEBUG BEGIN_STMT
  6993. # DEBUG BEGIN_STMT
  6994. xReturn_2 ={v} pxCurrentTCB;
  6995. # DEBUG xReturn => xReturn_2
  6996. # DEBUG BEGIN_STMT
  6997. return xReturn_2;
  6998. }
  6999. prvResetNextTaskUnblockTime ()
  7000. {
  7001. struct List_t * pxDelayedTaskList.20_1;
  7002. long unsigned int _2;
  7003. <bb 2> [local count: 1073741824]:
  7004. # DEBUG BEGIN_STMT
  7005. pxDelayedTaskList.20_1 ={v} pxDelayedTaskList;
  7006. _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems;
  7007. if (_2 == 0)
  7008. goto <bb 3>; [50.00%]
  7009. else
  7010. goto <bb 4>; [50.00%]
  7011. <bb 3> [local count: 536870913]:
  7012. # DEBUG BEGIN_STMT
  7013. xNextTaskUnblockTime ={v} 4294967295;
  7014. goto <bb 5>; [100.00%]
  7015. <bb 4> [local count: 536870912]:
  7016. prvResetNextTaskUnblockTime.part.0 ();
  7017. <bb 5> [local count: 1073741824]:
  7018. return;
  7019. }
  7020. prvDeleteTCB (struct TCB_t * pxTCB)
  7021. {
  7022. StackType_t * _1;
  7023. <bb 2> [local count: 1073741824]:
  7024. # DEBUG BEGIN_STMT
  7025. # DEBUG BEGIN_STMT
  7026. _1 = pxTCB_3(D)->pxStack;
  7027. vPortFree (_1);
  7028. # DEBUG BEGIN_STMT
  7029. vPortFree (pxTCB_3(D));
  7030. return;
  7031. }
  7032. uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
  7033. {
  7034. UBaseType_t uxReturn;
  7035. uint8_t * pucEndOfStack;
  7036. short unsigned int _1;
  7037. struct TCB_t * iftmp.121_2;
  7038. struct TCB_t * iftmp.121_5;
  7039. <bb 2> [local count: 1073741824]:
  7040. # DEBUG BEGIN_STMT
  7041. # DEBUG BEGIN_STMT
  7042. # DEBUG BEGIN_STMT
  7043. # DEBUG BEGIN_STMT
  7044. if (xTask_3(D) == 0B)
  7045. goto <bb 3>; [30.00%]
  7046. else
  7047. goto <bb 4>; [70.00%]
  7048. <bb 3> [local count: 322122547]:
  7049. iftmp.121_5 ={v} pxCurrentTCB;
  7050. <bb 4> [local count: 1073741824]:
  7051. # iftmp.121_2 = PHI <iftmp.121_5(3), xTask_3(D)(2)>
  7052. # DEBUG pxTCB => iftmp.121_2
  7053. # DEBUG BEGIN_STMT
  7054. pucEndOfStack_6 = iftmp.121_2->pxStack;
  7055. # DEBUG pucEndOfStack => pucEndOfStack_6
  7056. # DEBUG BEGIN_STMT
  7057. _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6);
  7058. uxReturn_7 = (UBaseType_t) _1;
  7059. # DEBUG uxReturn => uxReturn_7
  7060. # DEBUG BEGIN_STMT
  7061. return uxReturn_7;
  7062. }
  7063. prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte)
  7064. {
  7065. uint32_t ulCount;
  7066. unsigned char _1;
  7067. uint16_t _8;
  7068. <bb 2> [local count: 118111600]:
  7069. # DEBUG BEGIN_STMT
  7070. # DEBUG ulCount => 0
  7071. # DEBUG BEGIN_STMT
  7072. goto <bb 4>; [100.00%]
  7073. <bb 3> [local count: 955630223]:
  7074. # DEBUG BEGIN_STMT
  7075. pucStackByte_9 = pucStackByte_2 + 1;
  7076. # DEBUG pucStackByte => pucStackByte_9
  7077. # DEBUG BEGIN_STMT
  7078. ulCount_10 = ulCount_3 + 1;
  7079. # DEBUG ulCount => ulCount_10
  7080. <bb 4> [local count: 1073741824]:
  7081. # pucStackByte_2 = PHI <pucStackByte_5(D)(2), pucStackByte_9(3)>
  7082. # ulCount_3 = PHI <0(2), ulCount_10(3)>
  7083. # DEBUG ulCount => ulCount_3
  7084. # DEBUG pucStackByte => pucStackByte_2
  7085. # DEBUG BEGIN_STMT
  7086. _1 = *pucStackByte_2;
  7087. if (_1 == 165)
  7088. goto <bb 3>; [89.00%]
  7089. else
  7090. goto <bb 5>; [11.00%]
  7091. <bb 5> [local count: 118111601]:
  7092. # ulCount_4 = PHI <ulCount_3(4)>
  7093. # DEBUG BEGIN_STMT
  7094. ulCount_7 = ulCount_4 >> 2;
  7095. # DEBUG ulCount => ulCount_7
  7096. # DEBUG BEGIN_STMT
  7097. _8 = (uint16_t) ulCount_7;
  7098. return _8;
  7099. }
  7100. prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
  7101. {
  7102. UBaseType_t uxTask;
  7103. long unsigned int _1;
  7104. <bb 2> [local count: 236223200]:
  7105. # DEBUG BEGIN_STMT
  7106. # DEBUG BEGIN_STMT
  7107. # DEBUG uxTask => 0
  7108. # DEBUG BEGIN_STMT
  7109. _1 ={v} pxList_7(D)->uxNumberOfItems;
  7110. if (_1 != 0)
  7111. goto <bb 3>; [50.00%]
  7112. else
  7113. goto <bb 4>; [50.00%]
  7114. <bb 3> [local count: 118111600]:
  7115. uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
  7116. <bb 4> [local count: 236223201]:
  7117. # uxTask_5 = PHI <0(2), uxTask_2(3)>
  7118. # DEBUG uxTask => uxTask_5
  7119. # DEBUG BEGIN_STMT
  7120. # DEBUG BEGIN_STMT
  7121. return uxTask_5;
  7122. }
  7123. vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
  7124. {
  7125. char * _1;
  7126. long unsigned int _2;
  7127. StackType_t * _3;
  7128. long unsigned int _4;
  7129. long unsigned int _5;
  7130. struct TCB_t * pxCurrentTCB.120_6;
  7131. struct xLIST * _7;
  7132. <unnamed type> _8;
  7133. StackType_t * _9;
  7134. short unsigned int _10;
  7135. struct TCB_t * iftmp.119_11;
  7136. struct TCB_t * iftmp.119_17;
  7137. <bb 2> [local count: 1073741823]:
  7138. # DEBUG BEGIN_STMT
  7139. # DEBUG BEGIN_STMT
  7140. if (xTask_15(D) == 0B)
  7141. goto <bb 3>; [30.00%]
  7142. else
  7143. goto <bb 4>; [70.00%]
  7144. <bb 3> [local count: 322122547]:
  7145. iftmp.119_17 ={v} pxCurrentTCB;
  7146. <bb 4> [local count: 1073741823]:
  7147. # iftmp.119_11 = PHI <iftmp.119_17(3), xTask_15(D)(2)>
  7148. # DEBUG pxTCB => iftmp.119_11
  7149. # DEBUG BEGIN_STMT
  7150. pxTaskStatus_18(D)->xHandle = iftmp.119_11;
  7151. # DEBUG BEGIN_STMT
  7152. _1 = &iftmp.119_11->pcTaskName[0];
  7153. pxTaskStatus_18(D)->pcTaskName = _1;
  7154. # DEBUG BEGIN_STMT
  7155. _2 = iftmp.119_11->uxPriority;
  7156. pxTaskStatus_18(D)->uxCurrentPriority = _2;
  7157. # DEBUG BEGIN_STMT
  7158. _3 = iftmp.119_11->pxStack;
  7159. pxTaskStatus_18(D)->pxStackBase = _3;
  7160. # DEBUG BEGIN_STMT
  7161. _4 = iftmp.119_11->uxTCBNumber;
  7162. pxTaskStatus_18(D)->xTaskNumber = _4;
  7163. # DEBUG BEGIN_STMT
  7164. _5 = iftmp.119_11->uxBasePriority;
  7165. pxTaskStatus_18(D)->uxBasePriority = _5;
  7166. # DEBUG BEGIN_STMT
  7167. pxTaskStatus_18(D)->ulRunTimeCounter = 0;
  7168. # DEBUG BEGIN_STMT
  7169. if (eState_26(D) != 5)
  7170. goto <bb 5>; [79.76%]
  7171. else
  7172. goto <bb 11>; [20.24%]
  7173. <bb 5> [local count: 856416478]:
  7174. # DEBUG BEGIN_STMT
  7175. pxCurrentTCB.120_6 ={v} pxCurrentTCB;
  7176. if (pxCurrentTCB.120_6 == iftmp.119_11)
  7177. goto <bb 6>; [30.00%]
  7178. else
  7179. goto <bb 7>; [70.00%]
  7180. <bb 6> [local count: 256924943]:
  7181. # DEBUG BEGIN_STMT
  7182. pxTaskStatus_18(D)->eCurrentState = 0;
  7183. goto <bb 12>; [100.00%]
  7184. <bb 7> [local count: 599491536]:
  7185. # DEBUG BEGIN_STMT
  7186. pxTaskStatus_18(D)->eCurrentState = eState_26(D);
  7187. # DEBUG BEGIN_STMT
  7188. if (eState_26(D) == 3)
  7189. goto <bb 8>; [20.24%]
  7190. else
  7191. goto <bb 12>; [79.76%]
  7192. <bb 8> [local count: 121337087]:
  7193. # DEBUG BEGIN_STMT
  7194. vTaskSuspendAll ();
  7195. # DEBUG BEGIN_STMT
  7196. _7 = iftmp.119_11->xEventListItem.pvContainer;
  7197. if (_7 != 0B)
  7198. goto <bb 9>; [70.00%]
  7199. else
  7200. goto <bb 10>; [30.00%]
  7201. <bb 9> [local count: 84935961]:
  7202. # DEBUG BEGIN_STMT
  7203. pxTaskStatus_18(D)->eCurrentState = 2;
  7204. <bb 10> [local count: 121337087]:
  7205. # DEBUG BEGIN_STMT
  7206. xTaskResumeAll ();
  7207. goto <bb 12>; [100.00%]
  7208. <bb 11> [local count: 217325345]:
  7209. # DEBUG BEGIN_STMT
  7210. _8 = eTaskGetState (iftmp.119_11);
  7211. pxTaskStatus_18(D)->eCurrentState = _8;
  7212. <bb 12> [local count: 1073741824]:
  7213. # DEBUG BEGIN_STMT
  7214. if (xGetFreeStackSpace_34(D) != 0)
  7215. goto <bb 13>; [33.00%]
  7216. else
  7217. goto <bb 14>; [67.00%]
  7218. <bb 13> [local count: 354334802]:
  7219. # DEBUG BEGIN_STMT
  7220. _9 = iftmp.119_11->pxStack;
  7221. _10 = prvTaskCheckFreeStackSpace (_9);
  7222. pxTaskStatus_18(D)->usStackHighWaterMark = _10;
  7223. goto <bb 15>; [100.00%]
  7224. <bb 14> [local count: 719407024]:
  7225. # DEBUG BEGIN_STMT
  7226. pxTaskStatus_18(D)->usStackHighWaterMark = 0;
  7227. <bb 15> [local count: 1073741824]:
  7228. return;
  7229. }
  7230. prvCheckTasksWaitingTermination ()
  7231. {
  7232. struct TCB_t * pxTCB;
  7233. struct xLIST_ITEM * _1;
  7234. struct ListItem_t * _2;
  7235. long unsigned int uxCurrentNumberOfTasks.58_3;
  7236. long unsigned int _4;
  7237. long unsigned int uxDeletedTasksWaitingCleanUp.59_5;
  7238. long unsigned int _6;
  7239. long unsigned int uxDeletedTasksWaitingCleanUp.60_7;
  7240. <bb 2> [local count: 118111600]:
  7241. # DEBUG BEGIN_STMT
  7242. # DEBUG BEGIN_STMT
  7243. goto <bb 4>; [100.00%]
  7244. <bb 3> [local count: 955630223]:
  7245. # DEBUG BEGIN_STMT
  7246. vPortEnterCritical ();
  7247. # DEBUG BEGIN_STMT
  7248. _1 = xTasksWaitingTermination.xListEnd.pxNext;
  7249. pxTCB_11 = _1->pvOwner;
  7250. # DEBUG pxTCB => pxTCB_11
  7251. # DEBUG BEGIN_STMT
  7252. _2 = &pxTCB_11->xStateListItem;
  7253. uxListRemove (_2);
  7254. # DEBUG BEGIN_STMT
  7255. uxCurrentNumberOfTasks.58_3 ={v} uxCurrentNumberOfTasks;
  7256. _4 = uxCurrentNumberOfTasks.58_3 + 4294967295;
  7257. uxCurrentNumberOfTasks ={v} _4;
  7258. # DEBUG BEGIN_STMT
  7259. uxDeletedTasksWaitingCleanUp.59_5 ={v} uxDeletedTasksWaitingCleanUp;
  7260. _6 = uxDeletedTasksWaitingCleanUp.59_5 + 4294967295;
  7261. uxDeletedTasksWaitingCleanUp ={v} _6;
  7262. # DEBUG BEGIN_STMT
  7263. vPortExitCritical ();
  7264. # DEBUG BEGIN_STMT
  7265. prvDeleteTCB (pxTCB_11);
  7266. <bb 4> [local count: 1073741824]:
  7267. # DEBUG BEGIN_STMT
  7268. uxDeletedTasksWaitingCleanUp.60_7 ={v} uxDeletedTasksWaitingCleanUp;
  7269. if (uxDeletedTasksWaitingCleanUp.60_7 != 0)
  7270. goto <bb 3>; [89.00%]
  7271. else
  7272. goto <bb 5>; [11.00%]
  7273. <bb 5> [local count: 118111601]:
  7274. return;
  7275. }
  7276. prvInitialiseTaskLists ()
  7277. {
  7278. UBaseType_t uxPriority;
  7279. struct List_t * _1;
  7280. <bb 2> [local count: 178992762]:
  7281. # DEBUG BEGIN_STMT
  7282. # DEBUG BEGIN_STMT
  7283. # DEBUG uxPriority => 0
  7284. goto <bb 4>; [100.00%]
  7285. <bb 3> [local count: 894749063]:
  7286. # DEBUG BEGIN_STMT
  7287. _1 = &pxReadyTasksLists[uxPriority_2];
  7288. vListInitialise (_1);
  7289. # DEBUG BEGIN_STMT
  7290. uxPriority_13 = uxPriority_2 + 1;
  7291. # DEBUG uxPriority => uxPriority_13
  7292. <bb 4> [local count: 1073741824]:
  7293. # uxPriority_2 = PHI <0(2), uxPriority_13(3)>
  7294. # DEBUG uxPriority => uxPriority_2
  7295. # DEBUG BEGIN_STMT
  7296. if (uxPriority_2 != 5)
  7297. goto <bb 3>; [83.33%]
  7298. else
  7299. goto <bb 5>; [16.67%]
  7300. <bb 5> [local count: 178992762]:
  7301. # DEBUG BEGIN_STMT
  7302. vListInitialise (&xDelayedTaskList1);
  7303. # DEBUG BEGIN_STMT
  7304. vListInitialise (&xDelayedTaskList2);
  7305. # DEBUG BEGIN_STMT
  7306. vListInitialise (&xPendingReadyList);
  7307. # DEBUG BEGIN_STMT
  7308. vListInitialise (&xTasksWaitingTermination);
  7309. # DEBUG BEGIN_STMT
  7310. vListInitialise (&xSuspendedTaskList);
  7311. # DEBUG BEGIN_STMT
  7312. pxDelayedTaskList ={v} &xDelayedTaskList1;
  7313. # DEBUG BEGIN_STMT
  7314. pxOverflowDelayedTaskList ={v} &xDelayedTaskList2;
  7315. return;
  7316. }
  7317. prvIdleTask (void * pvParameters)
  7318. {
  7319. long unsigned int _1;
  7320. <bb 2> [local count: 63351]:
  7321. <bb 3> [local count: 633507677]:
  7322. <bb 4> [local count: 1073741824]:
  7323. # DEBUG BEGIN_STMT
  7324. # DEBUG BEGIN_STMT
  7325. # DEBUG BEGIN_STMT
  7326. # DEBUG BEGIN_STMT
  7327. prvCheckTasksWaitingTermination ();
  7328. # DEBUG BEGIN_STMT
  7329. _1 ={v} pxReadyTasksLists[0].uxNumberOfItems;
  7330. if (_1 > 1)
  7331. goto <bb 5>; [59.00%]
  7332. else
  7333. goto <bb 6>; [41.00%]
  7334. <bb 6> [local count: 440234148]:
  7335. goto <bb 4>; [100.00%]
  7336. <bb 5> [local count: 633507677]:
  7337. # DEBUG BEGIN_STMT
  7338. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  7339. # DEBUG BEGIN_STMT
  7340. __asm__ __volatile__("dsb" : : : "memory");
  7341. # DEBUG BEGIN_STMT
  7342. __asm__ __volatile__("isb");
  7343. # DEBUG BEGIN_STMT
  7344. goto <bb 3>; [100.00%]
  7345. }
  7346. vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
  7347. {
  7348. <bb 2> [local count: 1073741824]:
  7349. # DEBUG BEGIN_STMT
  7350. # DEBUG BEGIN_STMT
  7351. if (xTask_2(D) != 0B)
  7352. goto <bb 3>; [70.00%]
  7353. else
  7354. goto <bb 4>; [30.00%]
  7355. <bb 3> [local count: 751619278]:
  7356. # DEBUG BEGIN_STMT
  7357. # DEBUG pxTCB => xTask_2(D)
  7358. # DEBUG BEGIN_STMT
  7359. MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D);
  7360. <bb 4> [local count: 1073741824]:
  7361. return;
  7362. }
  7363. uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
  7364. {
  7365. UBaseType_t uxReturn;
  7366. <bb 2> [local count: 1073741824]:
  7367. # DEBUG BEGIN_STMT
  7368. # DEBUG BEGIN_STMT
  7369. # DEBUG BEGIN_STMT
  7370. if (xTask_2(D) != 0B)
  7371. goto <bb 3>; [70.00%]
  7372. else
  7373. goto <bb 4>; [30.00%]
  7374. <bb 3> [local count: 751619278]:
  7375. # DEBUG BEGIN_STMT
  7376. # DEBUG pxTCB => xTask_2(D)
  7377. # DEBUG BEGIN_STMT
  7378. uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber;
  7379. # DEBUG uxReturn => uxReturn_4
  7380. <bb 4> [local count: 1073741824]:
  7381. # uxReturn_1 = PHI <uxReturn_4(3), 0(2)>
  7382. # DEBUG uxReturn => uxReturn_1
  7383. # DEBUG BEGIN_STMT
  7384. return uxReturn_1;
  7385. }
  7386. vTaskMissedYield ()
  7387. {
  7388. <bb 2> [local count: 1073741824]:
  7389. # DEBUG BEGIN_STMT
  7390. xYieldPending ={v} 1;
  7391. return;
  7392. }
  7393. xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
  7394. {
  7395. uint32_t ulNewBASEPRI;
  7396. uint32_t ulNewBASEPRI;
  7397. const TickType_t xElapsedTime;
  7398. const TickType_t xConstTickCount;
  7399. BaseType_t xReturn;
  7400. long unsigned int _1;
  7401. struct TCB_t * pxCurrentTCB.116_2;
  7402. unsigned char _3;
  7403. struct TCB_t * pxCurrentTCB.117_4;
  7404. long unsigned int _5;
  7405. long int _6;
  7406. long int xNumOfOverflows.118_7;
  7407. long unsigned int _8;
  7408. long unsigned int _17;
  7409. <bb 2> [local count: 329661]:
  7410. # DEBUG BEGIN_STMT
  7411. # DEBUG BEGIN_STMT
  7412. if (pxTimeOut_11(D) == 0B)
  7413. goto <bb 3>; [30.00%]
  7414. else
  7415. goto <bb 5>; [70.00%]
  7416. <bb 3> [local count: 98898]:
  7417. # DEBUG BEGIN_STMT
  7418. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7419. # DEBUG BEGIN_STMT
  7420. # DEBUG BEGIN_STMT
  7421. __asm__ __volatile__(" mov %0, %1
  7422. msr basepri, %0
  7423. isb
  7424. dsb
  7425. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  7426. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  7427. <bb 4> [local count: 988985746]:
  7428. # DEBUG ulNewBASEPRI => NULL
  7429. # DEBUG BEGIN_STMT
  7430. # DEBUG BEGIN_STMT
  7431. # DEBUG BEGIN_STMT
  7432. <bb 18> [local count: 988985746]:
  7433. goto <bb 4>; [100.00%]
  7434. <bb 5> [local count: 230763]:
  7435. # DEBUG BEGIN_STMT
  7436. # DEBUG BEGIN_STMT
  7437. if (pxTicksToWait_12(D) == 0B)
  7438. goto <bb 6>; [46.53%]
  7439. else
  7440. goto <bb 8>; [53.47%]
  7441. <bb 6> [local count: 107374]:
  7442. # DEBUG BEGIN_STMT
  7443. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7444. # DEBUG BEGIN_STMT
  7445. # DEBUG BEGIN_STMT
  7446. __asm__ __volatile__(" mov %0, %1
  7447. msr basepri, %0
  7448. isb
  7449. dsb
  7450. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  7451. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  7452. <bb 7> [local count: 1073741824]:
  7453. # DEBUG ulNewBASEPRI => NULL
  7454. # DEBUG BEGIN_STMT
  7455. # DEBUG BEGIN_STMT
  7456. # DEBUG BEGIN_STMT
  7457. <bb 19> [local count: 1073741824]:
  7458. goto <bb 7>; [100.00%]
  7459. <bb 8> [local count: 123389]:
  7460. # DEBUG BEGIN_STMT
  7461. # DEBUG BEGIN_STMT
  7462. vPortEnterCritical ();
  7463. # DEBUG BEGIN_STMT
  7464. xConstTickCount_15 ={v} xTickCount;
  7465. # DEBUG xConstTickCount => xConstTickCount_15
  7466. # DEBUG BEGIN_STMT
  7467. _1 = pxTimeOut_11(D)->xTimeOnEntering;
  7468. xElapsedTime_16 = xConstTickCount_15 - _1;
  7469. # DEBUG xElapsedTime => xElapsedTime_16
  7470. # DEBUG BEGIN_STMT
  7471. pxCurrentTCB.116_2 ={v} pxCurrentTCB;
  7472. _3 = pxCurrentTCB.116_2->ucDelayAborted;
  7473. if (_3 != 0)
  7474. goto <bb 9>; [50.00%]
  7475. else
  7476. goto <bb 10>; [50.00%]
  7477. <bb 9> [local count: 61694]:
  7478. # DEBUG BEGIN_STMT
  7479. pxCurrentTCB.117_4 ={v} pxCurrentTCB;
  7480. pxCurrentTCB.117_4->ucDelayAborted = 0;
  7481. # DEBUG BEGIN_STMT
  7482. # DEBUG xReturn => 1
  7483. goto <bb 17>; [100.00%]
  7484. <bb 10> [local count: 61694]:
  7485. # DEBUG BEGIN_STMT
  7486. _5 = *pxTicksToWait_12(D);
  7487. if (_5 == 4294967295)
  7488. goto <bb 17>; [34.00%]
  7489. else
  7490. goto <bb 11>; [66.00%]
  7491. <bb 11> [local count: 40718]:
  7492. # DEBUG BEGIN_STMT
  7493. _6 = pxTimeOut_11(D)->xOverflowCount;
  7494. xNumOfOverflows.118_7 ={v} xNumOfOverflows;
  7495. if (_6 != xNumOfOverflows.118_7)
  7496. goto <bb 12>; [66.00%]
  7497. else
  7498. goto <bb 14>; [34.00%]
  7499. <bb 12> [local count: 26874]:
  7500. if (_1 <= xConstTickCount_15)
  7501. goto <bb 13>; [50.00%]
  7502. else
  7503. goto <bb 14>; [50.00%]
  7504. <bb 13> [local count: 13437]:
  7505. # DEBUG BEGIN_STMT
  7506. # DEBUG xReturn => 1
  7507. # DEBUG BEGIN_STMT
  7508. *pxTicksToWait_12(D) = 0;
  7509. goto <bb 17>; [100.00%]
  7510. <bb 14> [local count: 27281]:
  7511. # DEBUG BEGIN_STMT
  7512. if (_5 > xElapsedTime_16)
  7513. goto <bb 15>; [33.00%]
  7514. else
  7515. goto <bb 16>; [67.00%]
  7516. <bb 15> [local count: 9003]:
  7517. # DEBUG BEGIN_STMT
  7518. _17 = _1 - xConstTickCount_15;
  7519. _8 = _5 + _17;
  7520. *pxTicksToWait_12(D) = _8;
  7521. # DEBUG BEGIN_STMT
  7522. vTaskInternalSetTimeOutState (pxTimeOut_11(D));
  7523. # DEBUG BEGIN_STMT
  7524. # DEBUG xReturn => 0
  7525. goto <bb 17>; [100.00%]
  7526. <bb 16> [local count: 18278]:
  7527. # DEBUG BEGIN_STMT
  7528. *pxTicksToWait_12(D) = 0;
  7529. # DEBUG BEGIN_STMT
  7530. # DEBUG xReturn => 1
  7531. <bb 17> [local count: 123389]:
  7532. # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)>
  7533. # DEBUG xReturn => xReturn_9
  7534. # DEBUG BEGIN_STMT
  7535. vPortExitCritical ();
  7536. # DEBUG BEGIN_STMT
  7537. return xReturn_9;
  7538. }
  7539. vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  7540. {
  7541. long int xNumOfOverflows.114_1;
  7542. long unsigned int xTickCount.115_2;
  7543. <bb 2> [local count: 1073741824]:
  7544. # DEBUG BEGIN_STMT
  7545. xNumOfOverflows.114_1 ={v} xNumOfOverflows;
  7546. pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1;
  7547. # DEBUG BEGIN_STMT
  7548. xTickCount.115_2 ={v} xTickCount;
  7549. pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2;
  7550. return;
  7551. }
  7552. vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  7553. {
  7554. uint32_t ulNewBASEPRI;
  7555. long int xNumOfOverflows.112_1;
  7556. long unsigned int xTickCount.113_2;
  7557. <bb 2> [local count: 230763]:
  7558. # DEBUG BEGIN_STMT
  7559. if (pxTimeOut_3(D) == 0B)
  7560. goto <bb 3>; [46.53%]
  7561. else
  7562. goto <bb 5>; [53.47%]
  7563. <bb 3> [local count: 107374]:
  7564. # DEBUG BEGIN_STMT
  7565. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7566. # DEBUG BEGIN_STMT
  7567. # DEBUG BEGIN_STMT
  7568. __asm__ __volatile__(" mov %0, %1
  7569. msr basepri, %0
  7570. isb
  7571. dsb
  7572. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  7573. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  7574. <bb 4> [local count: 1073741824]:
  7575. # DEBUG ulNewBASEPRI => NULL
  7576. # DEBUG BEGIN_STMT
  7577. # DEBUG BEGIN_STMT
  7578. # DEBUG BEGIN_STMT
  7579. <bb 6> [local count: 1073741824]:
  7580. goto <bb 4>; [100.00%]
  7581. <bb 5> [local count: 123389]:
  7582. # DEBUG BEGIN_STMT
  7583. # DEBUG BEGIN_STMT
  7584. vPortEnterCritical ();
  7585. # DEBUG BEGIN_STMT
  7586. xNumOfOverflows.112_1 ={v} xNumOfOverflows;
  7587. pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1;
  7588. # DEBUG BEGIN_STMT
  7589. xTickCount.113_2 ={v} xTickCount;
  7590. pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2;
  7591. # DEBUG BEGIN_STMT
  7592. vPortExitCritical ();
  7593. return;
  7594. }
  7595. vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
  7596. {
  7597. uint32_t ulNewBASEPRI;
  7598. uint32_t ulNewBASEPRI;
  7599. struct ListItem_t * const pxIndex;
  7600. struct List_t * const pxList;
  7601. struct List_t * const pxList;
  7602. struct TCB_t * pxUnblockedTCB;
  7603. long unsigned int uxSchedulerSuspended.109_1;
  7604. long unsigned int _2;
  7605. struct xLIST_ITEM * _3;
  7606. struct xLIST_ITEM * _4;
  7607. struct xLIST_ITEM * _5;
  7608. struct ListItem_t * _6;
  7609. long unsigned int _7;
  7610. long unsigned int _8;
  7611. struct xLIST_ITEM * _9;
  7612. struct xLIST_ITEM * _10;
  7613. struct xLIST_ITEM * _11;
  7614. struct ListItem_t * _12;
  7615. struct ListItem_t * _13;
  7616. long unsigned int _14;
  7617. long unsigned int _15;
  7618. long unsigned int _16;
  7619. long unsigned int uxTopReadyPriority.110_17;
  7620. struct xLIST_ITEM * _18;
  7621. struct xLIST_ITEM * _19;
  7622. struct List_t * _20;
  7623. long unsigned int _21;
  7624. long unsigned int _22;
  7625. struct TCB_t * pxCurrentTCB.111_23;
  7626. long unsigned int _24;
  7627. <bb 2> [local count: 214748]:
  7628. # DEBUG BEGIN_STMT
  7629. # DEBUG BEGIN_STMT
  7630. uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended;
  7631. if (uxSchedulerSuspended.109_1 == 0)
  7632. goto <bb 3>; [50.00%]
  7633. else
  7634. goto <bb 5>; [50.00%]
  7635. <bb 3> [local count: 107374]:
  7636. # DEBUG BEGIN_STMT
  7637. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7638. # DEBUG BEGIN_STMT
  7639. # DEBUG BEGIN_STMT
  7640. __asm__ __volatile__(" mov %0, %1
  7641. msr basepri, %0
  7642. isb
  7643. dsb
  7644. " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
  7645. # DEBUG ulNewBASEPRI => ulNewBASEPRI_54
  7646. <bb 4> [local count: 1073741824]:
  7647. # DEBUG ulNewBASEPRI => NULL
  7648. # DEBUG BEGIN_STMT
  7649. # DEBUG BEGIN_STMT
  7650. # DEBUG BEGIN_STMT
  7651. <bb 17> [local count: 1073741824]:
  7652. goto <bb 4>; [100.00%]
  7653. <bb 5> [local count: 107374]:
  7654. # DEBUG BEGIN_STMT
  7655. # DEBUG BEGIN_STMT
  7656. _2 = xItemValue_30(D) | 2147483648;
  7657. pxEventListItem_31(D)->xItemValue = _2;
  7658. # DEBUG BEGIN_STMT
  7659. pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner;
  7660. # DEBUG pxUnblockedTCB => pxUnblockedTCB_33
  7661. # DEBUG BEGIN_STMT
  7662. if (pxUnblockedTCB_33 == 0B)
  7663. goto <bb 6>; [30.00%]
  7664. else
  7665. goto <bb 8>; [70.00%]
  7666. <bb 6> [local count: 32212]:
  7667. # DEBUG BEGIN_STMT
  7668. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7669. # DEBUG BEGIN_STMT
  7670. # DEBUG BEGIN_STMT
  7671. __asm__ __volatile__(" mov %0, %1
  7672. msr basepri, %0
  7673. isb
  7674. dsb
  7675. " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
  7676. # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
  7677. <bb 7> [local count: 322122547]:
  7678. # DEBUG ulNewBASEPRI => NULL
  7679. # DEBUG BEGIN_STMT
  7680. # DEBUG BEGIN_STMT
  7681. # DEBUG BEGIN_STMT
  7682. <bb 18> [local count: 322122547]:
  7683. goto <bb 7>; [100.00%]
  7684. <bb 8> [local count: 75162]:
  7685. # DEBUG BEGIN_STMT
  7686. # DEBUG BEGIN_STMT
  7687. pxList_34 = pxEventListItem_31(D)->pvContainer;
  7688. # DEBUG pxList => pxList_34
  7689. # DEBUG BEGIN_STMT
  7690. _3 = pxEventListItem_31(D)->pxNext;
  7691. _4 = pxEventListItem_31(D)->pxPrevious;
  7692. _3->pxPrevious = _4;
  7693. # DEBUG BEGIN_STMT
  7694. _5 = pxEventListItem_31(D)->pxPrevious;
  7695. _5->pxNext = _3;
  7696. # DEBUG BEGIN_STMT
  7697. _6 = pxList_34->pxIndex;
  7698. if (_6 == pxEventListItem_31(D))
  7699. goto <bb 9>; [30.00%]
  7700. else
  7701. goto <bb 10>; [70.00%]
  7702. <bb 9> [local count: 22549]:
  7703. # DEBUG BEGIN_STMT
  7704. pxList_34->pxIndex = _5;
  7705. <bb 10> [local count: 75162]:
  7706. # DEBUG BEGIN_STMT
  7707. pxEventListItem_31(D)->pvContainer = 0B;
  7708. # DEBUG BEGIN_STMT
  7709. _7 ={v} pxList_34->uxNumberOfItems;
  7710. _8 = _7 + 4294967295;
  7711. pxList_34->uxNumberOfItems ={v} _8;
  7712. # DEBUG BEGIN_STMT
  7713. # DEBUG BEGIN_STMT
  7714. pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer;
  7715. # DEBUG pxList => pxList_40
  7716. # DEBUG BEGIN_STMT
  7717. _9 = pxUnblockedTCB_33->xStateListItem.pxNext;
  7718. _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  7719. _9->pxPrevious = _10;
  7720. # DEBUG BEGIN_STMT
  7721. _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  7722. _11->pxNext = _9;
  7723. # DEBUG BEGIN_STMT
  7724. _12 = pxList_40->pxIndex;
  7725. _13 = &pxUnblockedTCB_33->xStateListItem;
  7726. if (_12 == _13)
  7727. goto <bb 11>; [30.00%]
  7728. else
  7729. goto <bb 12>; [70.00%]
  7730. <bb 11> [local count: 22549]:
  7731. # DEBUG BEGIN_STMT
  7732. pxList_40->pxIndex = _11;
  7733. <bb 12> [local count: 75162]:
  7734. # DEBUG BEGIN_STMT
  7735. # DEBUG BEGIN_STMT
  7736. _14 ={v} pxList_40->uxNumberOfItems;
  7737. _15 = _14 + 4294967295;
  7738. pxList_40->uxNumberOfItems ={v} _15;
  7739. # DEBUG BEGIN_STMT
  7740. # DEBUG BEGIN_STMT
  7741. # DEBUG BEGIN_STMT
  7742. _16 = pxUnblockedTCB_33->uxPriority;
  7743. uxTopReadyPriority.110_17 ={v} uxTopReadyPriority;
  7744. if (_16 > uxTopReadyPriority.110_17)
  7745. goto <bb 13>; [50.00%]
  7746. else
  7747. goto <bb 14>; [50.00%]
  7748. <bb 13> [local count: 37581]:
  7749. # DEBUG BEGIN_STMT
  7750. uxTopReadyPriority ={v} _16;
  7751. <bb 14> [local count: 75162]:
  7752. # DEBUG BEGIN_STMT
  7753. # DEBUG BEGIN_STMT
  7754. pxIndex_46 = pxReadyTasksLists[_16].pxIndex;
  7755. # DEBUG pxIndex => pxIndex_46
  7756. # DEBUG BEGIN_STMT
  7757. # DEBUG BEGIN_STMT
  7758. # DEBUG BEGIN_STMT
  7759. pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46;
  7760. # DEBUG BEGIN_STMT
  7761. _18 = pxIndex_46->pxPrevious;
  7762. pxUnblockedTCB_33->xStateListItem.pxPrevious = _18;
  7763. # DEBUG BEGIN_STMT
  7764. _19 = pxIndex_46->pxPrevious;
  7765. _19->pxNext = _13;
  7766. # DEBUG BEGIN_STMT
  7767. pxIndex_46->pxPrevious = _13;
  7768. # DEBUG BEGIN_STMT
  7769. _20 = &pxReadyTasksLists[_16];
  7770. pxUnblockedTCB_33->xStateListItem.pvContainer = _20;
  7771. # DEBUG BEGIN_STMT
  7772. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  7773. _22 = _21 + 1;
  7774. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  7775. # DEBUG BEGIN_STMT
  7776. # DEBUG BEGIN_STMT
  7777. # DEBUG BEGIN_STMT
  7778. pxCurrentTCB.111_23 ={v} pxCurrentTCB;
  7779. _24 = pxCurrentTCB.111_23->uxPriority;
  7780. if (_16 > _24)
  7781. goto <bb 15>; [50.00%]
  7782. else
  7783. goto <bb 16>; [50.00%]
  7784. <bb 15> [local count: 37581]:
  7785. # DEBUG BEGIN_STMT
  7786. xYieldPending ={v} 1;
  7787. <bb 16> [local count: 75162]:
  7788. return;
  7789. }
  7790. xTaskRemoveFromEventList (const struct List_t * const pxEventList)
  7791. {
  7792. uint32_t ulNewBASEPRI;
  7793. struct ListItem_t * const pxIndex;
  7794. struct ListItem_t * const pxIndex;
  7795. struct List_t * const pxList;
  7796. struct List_t * const pxList;
  7797. BaseType_t xReturn;
  7798. struct TCB_t * pxUnblockedTCB;
  7799. struct xLIST_ITEM * _1;
  7800. struct xLIST_ITEM * _2;
  7801. struct xLIST_ITEM * _3;
  7802. struct ListItem_t * _4;
  7803. struct ListItem_t * _5;
  7804. long unsigned int _6;
  7805. long unsigned int _7;
  7806. long unsigned int uxSchedulerSuspended.106_8;
  7807. struct xLIST_ITEM * _9;
  7808. struct xLIST_ITEM * _10;
  7809. struct xLIST_ITEM * _11;
  7810. struct ListItem_t * _12;
  7811. struct ListItem_t * _13;
  7812. long unsigned int _14;
  7813. long unsigned int _15;
  7814. long unsigned int _16;
  7815. long unsigned int uxTopReadyPriority.107_17;
  7816. struct xLIST_ITEM * _18;
  7817. struct xLIST_ITEM * _19;
  7818. struct List_t * _20;
  7819. long unsigned int _21;
  7820. long unsigned int _22;
  7821. struct xLIST_ITEM * _23;
  7822. struct xLIST_ITEM * _24;
  7823. long unsigned int _25;
  7824. long unsigned int _26;
  7825. long unsigned int _27;
  7826. struct TCB_t * pxCurrentTCB.108_28;
  7827. long unsigned int _29;
  7828. <bb 2> [local count: 357913]:
  7829. # DEBUG BEGIN_STMT
  7830. # DEBUG BEGIN_STMT
  7831. # DEBUG BEGIN_STMT
  7832. _1 = pxEventList_37(D)->xListEnd.pxNext;
  7833. pxUnblockedTCB_38 = _1->pvOwner;
  7834. # DEBUG pxUnblockedTCB => pxUnblockedTCB_38
  7835. # DEBUG BEGIN_STMT
  7836. if (pxUnblockedTCB_38 == 0B)
  7837. goto <bb 3>; [30.00%]
  7838. else
  7839. goto <bb 5>; [70.00%]
  7840. <bb 3> [local count: 107374]:
  7841. # DEBUG BEGIN_STMT
  7842. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7843. # DEBUG BEGIN_STMT
  7844. # DEBUG BEGIN_STMT
  7845. __asm__ __volatile__(" mov %0, %1
  7846. msr basepri, %0
  7847. isb
  7848. dsb
  7849. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  7850. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  7851. <bb 4> [local count: 1073741824]:
  7852. # DEBUG ulNewBASEPRI => NULL
  7853. # DEBUG BEGIN_STMT
  7854. # DEBUG BEGIN_STMT
  7855. # DEBUG BEGIN_STMT
  7856. <bb 17> [local count: 1073741824]:
  7857. goto <bb 4>; [100.00%]
  7858. <bb 5> [local count: 250539]:
  7859. # DEBUG BEGIN_STMT
  7860. # DEBUG BEGIN_STMT
  7861. pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer;
  7862. # DEBUG pxList => pxList_39
  7863. # DEBUG BEGIN_STMT
  7864. _2 = pxUnblockedTCB_38->xEventListItem.pxNext;
  7865. _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious;
  7866. _2->pxPrevious = _3;
  7867. # DEBUG BEGIN_STMT
  7868. _3->pxNext = _2;
  7869. # DEBUG BEGIN_STMT
  7870. _4 = pxList_39->pxIndex;
  7871. _5 = &pxUnblockedTCB_38->xEventListItem;
  7872. if (_4 == _5)
  7873. goto <bb 6>; [30.00%]
  7874. else
  7875. goto <bb 7>; [70.00%]
  7876. <bb 6> [local count: 75162]:
  7877. # DEBUG BEGIN_STMT
  7878. pxList_39->pxIndex = _3;
  7879. <bb 7> [local count: 250539]:
  7880. # DEBUG BEGIN_STMT
  7881. pxUnblockedTCB_38->xEventListItem.pvContainer = 0B;
  7882. # DEBUG BEGIN_STMT
  7883. _6 ={v} pxList_39->uxNumberOfItems;
  7884. _7 = _6 + 4294967295;
  7885. pxList_39->uxNumberOfItems ={v} _7;
  7886. # DEBUG BEGIN_STMT
  7887. # DEBUG BEGIN_STMT
  7888. uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended;
  7889. if (uxSchedulerSuspended.106_8 == 0)
  7890. goto <bb 8>; [50.00%]
  7891. else
  7892. goto <bb 13>; [50.00%]
  7893. <bb 8> [local count: 125270]:
  7894. # DEBUG BEGIN_STMT
  7895. pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer;
  7896. # DEBUG pxList => pxList_52
  7897. # DEBUG BEGIN_STMT
  7898. _9 = pxUnblockedTCB_38->xStateListItem.pxNext;
  7899. _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  7900. _9->pxPrevious = _10;
  7901. # DEBUG BEGIN_STMT
  7902. _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  7903. _11->pxNext = _9;
  7904. # DEBUG BEGIN_STMT
  7905. _12 = pxList_52->pxIndex;
  7906. _13 = &pxUnblockedTCB_38->xStateListItem;
  7907. if (_12 == _13)
  7908. goto <bb 9>; [30.00%]
  7909. else
  7910. goto <bb 10>; [70.00%]
  7911. <bb 9> [local count: 37581]:
  7912. # DEBUG BEGIN_STMT
  7913. pxList_52->pxIndex = _11;
  7914. <bb 10> [local count: 125270]:
  7915. # DEBUG BEGIN_STMT
  7916. # DEBUG BEGIN_STMT
  7917. _14 ={v} pxList_52->uxNumberOfItems;
  7918. _15 = _14 + 4294967295;
  7919. pxList_52->uxNumberOfItems ={v} _15;
  7920. # DEBUG BEGIN_STMT
  7921. # DEBUG BEGIN_STMT
  7922. # DEBUG BEGIN_STMT
  7923. _16 = pxUnblockedTCB_38->uxPriority;
  7924. uxTopReadyPriority.107_17 ={v} uxTopReadyPriority;
  7925. if (_16 > uxTopReadyPriority.107_17)
  7926. goto <bb 11>; [50.00%]
  7927. else
  7928. goto <bb 12>; [50.00%]
  7929. <bb 11> [local count: 62635]:
  7930. # DEBUG BEGIN_STMT
  7931. uxTopReadyPriority ={v} _16;
  7932. <bb 12> [local count: 125270]:
  7933. # DEBUG BEGIN_STMT
  7934. # DEBUG BEGIN_STMT
  7935. pxIndex_58 = pxReadyTasksLists[_16].pxIndex;
  7936. # DEBUG pxIndex => pxIndex_58
  7937. # DEBUG BEGIN_STMT
  7938. # DEBUG BEGIN_STMT
  7939. # DEBUG BEGIN_STMT
  7940. pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58;
  7941. # DEBUG BEGIN_STMT
  7942. _18 = pxIndex_58->pxPrevious;
  7943. pxUnblockedTCB_38->xStateListItem.pxPrevious = _18;
  7944. # DEBUG BEGIN_STMT
  7945. _19 = pxIndex_58->pxPrevious;
  7946. _19->pxNext = _13;
  7947. # DEBUG BEGIN_STMT
  7948. pxIndex_58->pxPrevious = _13;
  7949. # DEBUG BEGIN_STMT
  7950. _20 = &pxReadyTasksLists[_16];
  7951. pxUnblockedTCB_38->xStateListItem.pvContainer = _20;
  7952. # DEBUG BEGIN_STMT
  7953. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  7954. _22 = _21 + 1;
  7955. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  7956. # DEBUG BEGIN_STMT
  7957. # DEBUG BEGIN_STMT
  7958. goto <bb 14>; [100.00%]
  7959. <bb 13> [local count: 125270]:
  7960. # DEBUG BEGIN_STMT
  7961. pxIndex_45 = xPendingReadyList.pxIndex;
  7962. # DEBUG pxIndex => pxIndex_45
  7963. # DEBUG BEGIN_STMT
  7964. # DEBUG BEGIN_STMT
  7965. # DEBUG BEGIN_STMT
  7966. pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45;
  7967. # DEBUG BEGIN_STMT
  7968. _23 = pxIndex_45->pxPrevious;
  7969. pxUnblockedTCB_38->xEventListItem.pxPrevious = _23;
  7970. # DEBUG BEGIN_STMT
  7971. _24 = pxIndex_45->pxPrevious;
  7972. _24->pxNext = _5;
  7973. # DEBUG BEGIN_STMT
  7974. pxIndex_45->pxPrevious = _5;
  7975. # DEBUG BEGIN_STMT
  7976. pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList;
  7977. # DEBUG BEGIN_STMT
  7978. _25 ={v} xPendingReadyList.uxNumberOfItems;
  7979. _26 = _25 + 1;
  7980. xPendingReadyList.uxNumberOfItems ={v} _26;
  7981. <bb 14> [local count: 250539]:
  7982. # DEBUG BEGIN_STMT
  7983. # DEBUG BEGIN_STMT
  7984. _27 = pxUnblockedTCB_38->uxPriority;
  7985. pxCurrentTCB.108_28 ={v} pxCurrentTCB;
  7986. _29 = pxCurrentTCB.108_28->uxPriority;
  7987. if (_27 > _29)
  7988. goto <bb 15>; [50.00%]
  7989. else
  7990. goto <bb 16>; [50.00%]
  7991. <bb 15> [local count: 125270]:
  7992. # DEBUG BEGIN_STMT
  7993. # DEBUG xReturn => 1
  7994. # DEBUG BEGIN_STMT
  7995. xYieldPending ={v} 1;
  7996. <bb 16> [local count: 250539]:
  7997. # xReturn_30 = PHI <1(15), 0(14)>
  7998. # DEBUG xReturn => xReturn_30
  7999. # DEBUG BEGIN_STMT
  8000. return xReturn_30;
  8001. }
  8002. vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  8003. {
  8004. uint32_t ulNewBASEPRI;
  8005. struct ListItem_t * const pxIndex;
  8006. struct TCB_t * pxCurrentTCB.101_1;
  8007. struct TCB_t * pxCurrentTCB.102_2;
  8008. struct xLIST_ITEM * _3;
  8009. struct TCB_t * pxCurrentTCB.103_4;
  8010. struct xLIST_ITEM * _5;
  8011. struct ListItem_t * _6;
  8012. struct TCB_t * pxCurrentTCB.104_7;
  8013. struct ListItem_t * _8;
  8014. struct TCB_t * pxCurrentTCB.105_9;
  8015. long unsigned int _10;
  8016. long unsigned int _11;
  8017. <bb 2> [local count: 357913]:
  8018. # DEBUG BEGIN_STMT
  8019. if (pxEventList_13(D) == 0B)
  8020. goto <bb 3>; [30.00%]
  8021. else
  8022. goto <bb 5>; [70.00%]
  8023. <bb 3> [local count: 107374]:
  8024. # DEBUG BEGIN_STMT
  8025. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8026. # DEBUG BEGIN_STMT
  8027. # DEBUG BEGIN_STMT
  8028. __asm__ __volatile__(" mov %0, %1
  8029. msr basepri, %0
  8030. isb
  8031. dsb
  8032. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  8033. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  8034. <bb 4> [local count: 1073741824]:
  8035. # DEBUG ulNewBASEPRI => NULL
  8036. # DEBUG BEGIN_STMT
  8037. # DEBUG BEGIN_STMT
  8038. # DEBUG BEGIN_STMT
  8039. <bb 8> [local count: 1073741824]:
  8040. goto <bb 4>; [100.00%]
  8041. <bb 5> [local count: 250539]:
  8042. # DEBUG BEGIN_STMT
  8043. # DEBUG BEGIN_STMT
  8044. pxIndex_15 = pxEventList_13(D)->pxIndex;
  8045. # DEBUG pxIndex => pxIndex_15
  8046. # DEBUG BEGIN_STMT
  8047. # DEBUG BEGIN_STMT
  8048. # DEBUG BEGIN_STMT
  8049. pxCurrentTCB.101_1 ={v} pxCurrentTCB;
  8050. pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15;
  8051. # DEBUG BEGIN_STMT
  8052. pxCurrentTCB.102_2 ={v} pxCurrentTCB;
  8053. _3 = pxIndex_15->pxPrevious;
  8054. pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3;
  8055. # DEBUG BEGIN_STMT
  8056. pxCurrentTCB.103_4 ={v} pxCurrentTCB;
  8057. _5 = pxIndex_15->pxPrevious;
  8058. _6 = &pxCurrentTCB.103_4->xEventListItem;
  8059. _5->pxNext = _6;
  8060. # DEBUG BEGIN_STMT
  8061. pxCurrentTCB.104_7 ={v} pxCurrentTCB;
  8062. _8 = &pxCurrentTCB.104_7->xEventListItem;
  8063. pxIndex_15->pxPrevious = _8;
  8064. # DEBUG BEGIN_STMT
  8065. pxCurrentTCB.105_9 ={v} pxCurrentTCB;
  8066. pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D);
  8067. # DEBUG BEGIN_STMT
  8068. _10 ={v} pxEventList_13(D)->uxNumberOfItems;
  8069. _11 = _10 + 1;
  8070. pxEventList_13(D)->uxNumberOfItems ={v} _11;
  8071. # DEBUG BEGIN_STMT
  8072. # DEBUG BEGIN_STMT
  8073. if (xWaitIndefinitely_22(D) != 0)
  8074. goto <bb 6>; [50.00%]
  8075. else
  8076. goto <bb 7>; [50.00%]
  8077. <bb 6> [local count: 125270]:
  8078. # DEBUG BEGIN_STMT
  8079. # DEBUG xTicksToWait => 4294967295
  8080. <bb 7> [local count: 250539]:
  8081. # xTicksToWait_12 = PHI <xTicksToWait_23(D)(5), 4294967295(6)>
  8082. # DEBUG xTicksToWait => xTicksToWait_12
  8083. # DEBUG BEGIN_STMT
  8084. # DEBUG BEGIN_STMT
  8085. prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D));
  8086. return;
  8087. }
  8088. vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
  8089. {
  8090. uint32_t ulNewBASEPRI;
  8091. uint32_t ulNewBASEPRI;
  8092. struct ListItem_t * const pxIndex;
  8093. long unsigned int uxSchedulerSuspended.94_1;
  8094. struct TCB_t * pxCurrentTCB.95_2;
  8095. long unsigned int _3;
  8096. struct TCB_t * pxCurrentTCB.96_4;
  8097. struct TCB_t * pxCurrentTCB.97_5;
  8098. struct xLIST_ITEM * _6;
  8099. struct TCB_t * pxCurrentTCB.98_7;
  8100. struct xLIST_ITEM * _8;
  8101. struct ListItem_t * _9;
  8102. struct TCB_t * pxCurrentTCB.99_10;
  8103. struct ListItem_t * _11;
  8104. struct TCB_t * pxCurrentTCB.100_12;
  8105. long unsigned int _13;
  8106. long unsigned int _14;
  8107. <bb 2> [local count: 228942]:
  8108. # DEBUG BEGIN_STMT
  8109. if (pxEventList_15(D) == 0B)
  8110. goto <bb 3>; [30.00%]
  8111. else
  8112. goto <bb 5>; [70.00%]
  8113. <bb 3> [local count: 68683]:
  8114. # DEBUG BEGIN_STMT
  8115. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8116. # DEBUG BEGIN_STMT
  8117. # DEBUG BEGIN_STMT
  8118. __asm__ __volatile__(" mov %0, %1
  8119. msr basepri, %0
  8120. isb
  8121. dsb
  8122. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  8123. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  8124. <bb 4> [local count: 686828460]:
  8125. # DEBUG ulNewBASEPRI => NULL
  8126. # DEBUG BEGIN_STMT
  8127. # DEBUG BEGIN_STMT
  8128. # DEBUG BEGIN_STMT
  8129. <bb 9> [local count: 686828460]:
  8130. goto <bb 4>; [100.00%]
  8131. <bb 5> [local count: 160260]:
  8132. # DEBUG BEGIN_STMT
  8133. # DEBUG BEGIN_STMT
  8134. uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended;
  8135. if (uxSchedulerSuspended.94_1 == 0)
  8136. goto <bb 6>; [67.00%]
  8137. else
  8138. goto <bb 8>; [33.00%]
  8139. <bb 6> [local count: 107374]:
  8140. # DEBUG BEGIN_STMT
  8141. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8142. # DEBUG BEGIN_STMT
  8143. # DEBUG BEGIN_STMT
  8144. __asm__ __volatile__(" mov %0, %1
  8145. msr basepri, %0
  8146. isb
  8147. dsb
  8148. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  8149. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  8150. <bb 7> [local count: 1073741824]:
  8151. # DEBUG ulNewBASEPRI => NULL
  8152. # DEBUG BEGIN_STMT
  8153. # DEBUG BEGIN_STMT
  8154. # DEBUG BEGIN_STMT
  8155. <bb 10> [local count: 1073741824]:
  8156. goto <bb 7>; [100.00%]
  8157. <bb 8> [local count: 52886]:
  8158. # DEBUG BEGIN_STMT
  8159. # DEBUG BEGIN_STMT
  8160. pxCurrentTCB.95_2 ={v} pxCurrentTCB;
  8161. _3 = xItemValue_17(D) | 2147483648;
  8162. pxCurrentTCB.95_2->xEventListItem.xItemValue = _3;
  8163. # DEBUG BEGIN_STMT
  8164. pxIndex_19 = pxEventList_15(D)->pxIndex;
  8165. # DEBUG pxIndex => pxIndex_19
  8166. # DEBUG BEGIN_STMT
  8167. # DEBUG BEGIN_STMT
  8168. # DEBUG BEGIN_STMT
  8169. pxCurrentTCB.96_4 ={v} pxCurrentTCB;
  8170. pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19;
  8171. # DEBUG BEGIN_STMT
  8172. pxCurrentTCB.97_5 ={v} pxCurrentTCB;
  8173. _6 = pxIndex_19->pxPrevious;
  8174. pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6;
  8175. # DEBUG BEGIN_STMT
  8176. pxCurrentTCB.98_7 ={v} pxCurrentTCB;
  8177. _8 = pxIndex_19->pxPrevious;
  8178. _9 = &pxCurrentTCB.98_7->xEventListItem;
  8179. _8->pxNext = _9;
  8180. # DEBUG BEGIN_STMT
  8181. pxCurrentTCB.99_10 ={v} pxCurrentTCB;
  8182. _11 = &pxCurrentTCB.99_10->xEventListItem;
  8183. pxIndex_19->pxPrevious = _11;
  8184. # DEBUG BEGIN_STMT
  8185. pxCurrentTCB.100_12 ={v} pxCurrentTCB;
  8186. pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D);
  8187. # DEBUG BEGIN_STMT
  8188. _13 ={v} pxEventList_15(D)->uxNumberOfItems;
  8189. _14 = _13 + 1;
  8190. pxEventList_15(D)->uxNumberOfItems ={v} _14;
  8191. # DEBUG BEGIN_STMT
  8192. # DEBUG BEGIN_STMT
  8193. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  8194. return;
  8195. }
  8196. vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
  8197. {
  8198. uint32_t ulNewBASEPRI;
  8199. struct TCB_t * pxCurrentTCB.93_1;
  8200. struct ListItem_t * _2;
  8201. <bb 2> [local count: 230763]:
  8202. # DEBUG BEGIN_STMT
  8203. if (pxEventList_3(D) == 0B)
  8204. goto <bb 3>; [46.53%]
  8205. else
  8206. goto <bb 5>; [53.47%]
  8207. <bb 3> [local count: 107374]:
  8208. # DEBUG BEGIN_STMT
  8209. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8210. # DEBUG BEGIN_STMT
  8211. # DEBUG BEGIN_STMT
  8212. __asm__ __volatile__(" mov %0, %1
  8213. msr basepri, %0
  8214. isb
  8215. dsb
  8216. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  8217. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  8218. <bb 4> [local count: 1073741824]:
  8219. # DEBUG ulNewBASEPRI => NULL
  8220. # DEBUG BEGIN_STMT
  8221. # DEBUG BEGIN_STMT
  8222. # DEBUG BEGIN_STMT
  8223. <bb 6> [local count: 1073741824]:
  8224. goto <bb 4>; [100.00%]
  8225. <bb 5> [local count: 123389]:
  8226. # DEBUG BEGIN_STMT
  8227. # DEBUG BEGIN_STMT
  8228. pxCurrentTCB.93_1 ={v} pxCurrentTCB;
  8229. _2 = &pxCurrentTCB.93_1->xEventListItem;
  8230. vListInsert (pxEventList_3(D), _2);
  8231. # DEBUG BEGIN_STMT
  8232. prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1);
  8233. return;
  8234. }
  8235. __attribute__((used))
  8236. vTaskSwitchContext ()
  8237. {
  8238. UBaseType_t uxTopPriority;
  8239. long unsigned int uxSchedulerSuspended.92_1;
  8240. long unsigned int _2;
  8241. struct ListItem_t * _3;
  8242. struct xLIST_ITEM * _4;
  8243. struct MiniListItem_t * _6;
  8244. struct xLIST_ITEM * _8;
  8245. struct ListItem_t * _9;
  8246. void * _10;
  8247. <bb 2> [local count: 441995]:
  8248. # DEBUG BEGIN_STMT
  8249. uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended;
  8250. if (uxSchedulerSuspended.92_1 != 0)
  8251. goto <bb 3>; [50.00%]
  8252. else
  8253. goto <bb 4>; [50.00%]
  8254. <bb 3> [local count: 220997]:
  8255. # DEBUG BEGIN_STMT
  8256. xYieldPending ={v} 1;
  8257. goto <bb 12>; [100.00%]
  8258. <bb 4> [local count: 220997]:
  8259. # DEBUG BEGIN_STMT
  8260. xYieldPending ={v} 0;
  8261. # DEBUG BEGIN_STMT
  8262. # DEBUG BEGIN_STMT
  8263. # DEBUG BEGIN_STMT
  8264. uxTopPriority_15 ={v} uxTopReadyPriority;
  8265. # DEBUG uxTopPriority => uxTopPriority_15
  8266. # DEBUG BEGIN_STMT
  8267. goto <bb 8>; [100.00%]
  8268. <bb 5> [local count: 1952255]:
  8269. # DEBUG BEGIN_STMT
  8270. if (uxTopPriority_11 == 0)
  8271. goto <bb 6>; [5.50%]
  8272. else
  8273. goto <bb 7>; [94.50%]
  8274. <bb 6> [local count: 107374]:
  8275. vTaskSwitchContext.part.0 ();
  8276. <bb 7> [local count: 1844881]:
  8277. # DEBUG BEGIN_STMT
  8278. # DEBUG BEGIN_STMT
  8279. uxTopPriority_21 = uxTopPriority_11 + 4294967295;
  8280. # DEBUG uxTopPriority => uxTopPriority_21
  8281. <bb 8> [local count: 2065878]:
  8282. # uxTopPriority_11 = PHI <uxTopPriority_15(4), uxTopPriority_21(7)>
  8283. # DEBUG uxTopPriority => uxTopPriority_11
  8284. # DEBUG BEGIN_STMT
  8285. _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems;
  8286. if (_2 == 0)
  8287. goto <bb 5>; [94.50%]
  8288. else
  8289. goto <bb 9>; [5.50%]
  8290. <bb 9> [local count: 113623]:
  8291. # uxTopPriority_5 = PHI <uxTopPriority_11(8)>
  8292. # DEBUG BEGIN_STMT
  8293. # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5]
  8294. # DEBUG pxConstList => D#6
  8295. # DEBUG BEGIN_STMT
  8296. _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  8297. _4 = _3->pxNext;
  8298. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4;
  8299. # DEBUG BEGIN_STMT
  8300. _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd;
  8301. if (_4 == _6)
  8302. goto <bb 10>; [30.00%]
  8303. else
  8304. goto <bb 11>; [70.00%]
  8305. <bb 10> [local count: 34087]:
  8306. # DEBUG BEGIN_STMT
  8307. _8 = MEM[(struct ListItem_t *)_4].pxNext;
  8308. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8;
  8309. <bb 11> [local count: 113623]:
  8310. # DEBUG BEGIN_STMT
  8311. _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  8312. _10 = _9->pvOwner;
  8313. pxCurrentTCB ={v} _10;
  8314. # DEBUG BEGIN_STMT
  8315. # DEBUG BEGIN_STMT
  8316. uxTopReadyPriority ={v} uxTopPriority_5;
  8317. <bb 12> [local count: 334621]:
  8318. # DEBUG BEGIN_STMT
  8319. # DEBUG BEGIN_STMT
  8320. return;
  8321. }
  8322. xTaskIncrementTick ()
  8323. {
  8324. BaseType_t xSwitchRequired;
  8325. long unsigned int uxSchedulerSuspended.79_1;
  8326. long unsigned int xPendedTicks.91_5;
  8327. long unsigned int _6;
  8328. <bb 2> [local count: 641039]:
  8329. # DEBUG BEGIN_STMT
  8330. # DEBUG BEGIN_STMT
  8331. # DEBUG BEGIN_STMT
  8332. # DEBUG xSwitchRequired => 0
  8333. # DEBUG BEGIN_STMT
  8334. # DEBUG BEGIN_STMT
  8335. uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended;
  8336. if (uxSchedulerSuspended.79_1 == 0)
  8337. goto <bb 3>; [50.00%]
  8338. else
  8339. goto <bb 4>; [50.00%]
  8340. <bb 3> [local count: 320520]:
  8341. xSwitchRequired_2 = xTaskIncrementTick.part.0 ();
  8342. goto <bb 5>; [100.00%]
  8343. <bb 4> [local count: 320519]:
  8344. # DEBUG BEGIN_STMT
  8345. xPendedTicks.91_5 ={v} xPendedTicks;
  8346. _6 = xPendedTicks.91_5 + 1;
  8347. xPendedTicks ={v} _6;
  8348. <bb 5> [local count: 533665]:
  8349. # xSwitchRequired_7 = PHI <xSwitchRequired_2(3), 0(4)>
  8350. # DEBUG xSwitchRequired => xSwitchRequired_7
  8351. # DEBUG BEGIN_STMT
  8352. return xSwitchRequired_7;
  8353. }
  8354. xTaskAbortDelay (struct tskTaskControlBlock * xTask)
  8355. {
  8356. uint32_t ulNewBASEPRI;
  8357. struct ListItem_t * const pxIndex;
  8358. BaseType_t xReturn;
  8359. <unnamed type> _1;
  8360. struct ListItem_t * _2;
  8361. struct xLIST * _3;
  8362. struct ListItem_t * _4;
  8363. long unsigned int _5;
  8364. long unsigned int uxTopReadyPriority.77_6;
  8365. struct xLIST_ITEM * _7;
  8366. struct xLIST_ITEM * _8;
  8367. struct List_t * _9;
  8368. long unsigned int _10;
  8369. long unsigned int _11;
  8370. struct TCB_t * pxCurrentTCB.78_12;
  8371. long unsigned int _13;
  8372. <bb 2> [local count: 230763]:
  8373. # DEBUG BEGIN_STMT
  8374. # DEBUG pxTCB => xTask_18(D)
  8375. # DEBUG BEGIN_STMT
  8376. # DEBUG BEGIN_STMT
  8377. if (xTask_18(D) == 0B)
  8378. goto <bb 3>; [46.53%]
  8379. else
  8380. goto <bb 5>; [53.47%]
  8381. <bb 3> [local count: 107374]:
  8382. # DEBUG BEGIN_STMT
  8383. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8384. # DEBUG BEGIN_STMT
  8385. # DEBUG BEGIN_STMT
  8386. __asm__ __volatile__(" mov %0, %1
  8387. msr basepri, %0
  8388. isb
  8389. dsb
  8390. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  8391. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  8392. <bb 4> [local count: 1073741824]:
  8393. # DEBUG ulNewBASEPRI => NULL
  8394. # DEBUG BEGIN_STMT
  8395. # DEBUG BEGIN_STMT
  8396. # DEBUG BEGIN_STMT
  8397. <bb 13> [local count: 1073741824]:
  8398. goto <bb 4>; [100.00%]
  8399. <bb 5> [local count: 123389]:
  8400. # DEBUG BEGIN_STMT
  8401. # DEBUG BEGIN_STMT
  8402. vTaskSuspendAll ();
  8403. # DEBUG BEGIN_STMT
  8404. _1 = eTaskGetState (xTask_18(D));
  8405. if (_1 == 2)
  8406. goto <bb 6>; [20.24%]
  8407. else
  8408. goto <bb 12>; [79.76%]
  8409. <bb 6> [local count: 24974]:
  8410. # DEBUG BEGIN_STMT
  8411. # DEBUG xReturn => 1
  8412. # DEBUG BEGIN_STMT
  8413. _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem;
  8414. uxListRemove (_2);
  8415. # DEBUG BEGIN_STMT
  8416. vPortEnterCritical ();
  8417. # DEBUG BEGIN_STMT
  8418. _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer;
  8419. if (_3 != 0B)
  8420. goto <bb 7>; [53.47%]
  8421. else
  8422. goto <bb 8>; [46.53%]
  8423. <bb 7> [local count: 13354]:
  8424. # DEBUG BEGIN_STMT
  8425. _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem;
  8426. uxListRemove (_4);
  8427. # DEBUG BEGIN_STMT
  8428. MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1;
  8429. <bb 8> [local count: 24974]:
  8430. # DEBUG BEGIN_STMT
  8431. # DEBUG BEGIN_STMT
  8432. vPortExitCritical ();
  8433. # DEBUG BEGIN_STMT
  8434. # DEBUG BEGIN_STMT
  8435. _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority;
  8436. uxTopReadyPriority.77_6 ={v} uxTopReadyPriority;
  8437. if (_5 > uxTopReadyPriority.77_6)
  8438. goto <bb 9>; [50.00%]
  8439. else
  8440. goto <bb 10>; [50.00%]
  8441. <bb 9> [local count: 12487]:
  8442. # DEBUG BEGIN_STMT
  8443. uxTopReadyPriority ={v} _5;
  8444. <bb 10> [local count: 24974]:
  8445. # DEBUG BEGIN_STMT
  8446. # DEBUG BEGIN_STMT
  8447. pxIndex_28 = pxReadyTasksLists[_5].pxIndex;
  8448. # DEBUG pxIndex => pxIndex_28
  8449. # DEBUG BEGIN_STMT
  8450. # DEBUG BEGIN_STMT
  8451. # DEBUG BEGIN_STMT
  8452. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28;
  8453. # DEBUG BEGIN_STMT
  8454. _7 = pxIndex_28->pxPrevious;
  8455. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7;
  8456. # DEBUG BEGIN_STMT
  8457. _8 = pxIndex_28->pxPrevious;
  8458. _8->pxNext = _2;
  8459. # DEBUG BEGIN_STMT
  8460. pxIndex_28->pxPrevious = _2;
  8461. # DEBUG BEGIN_STMT
  8462. _9 = &pxReadyTasksLists[_5];
  8463. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9;
  8464. # DEBUG BEGIN_STMT
  8465. _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems;
  8466. _11 = _10 + 1;
  8467. pxReadyTasksLists[_5].uxNumberOfItems ={v} _11;
  8468. # DEBUG BEGIN_STMT
  8469. # DEBUG BEGIN_STMT
  8470. # DEBUG BEGIN_STMT
  8471. pxCurrentTCB.78_12 ={v} pxCurrentTCB;
  8472. _13 = pxCurrentTCB.78_12->uxPriority;
  8473. if (_5 > _13)
  8474. goto <bb 11>; [50.00%]
  8475. else
  8476. goto <bb 12>; [50.00%]
  8477. <bb 11> [local count: 12487]:
  8478. # DEBUG BEGIN_STMT
  8479. xYieldPending ={v} 1;
  8480. <bb 12> [local count: 123389]:
  8481. # xReturn_14 = PHI <1(11), 0(5), 1(10)>
  8482. # DEBUG xReturn => xReturn_14
  8483. # DEBUG BEGIN_STMT
  8484. xTaskResumeAll ();
  8485. # DEBUG BEGIN_STMT
  8486. return xReturn_14;
  8487. }
  8488. xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
  8489. {
  8490. uint32_t ulNewBASEPRI;
  8491. BaseType_t xYieldOccurred;
  8492. long unsigned int uxSchedulerSuspended.75_1;
  8493. long unsigned int xPendedTicks.76_2;
  8494. long unsigned int _3;
  8495. <bb 2> [local count: 160260]:
  8496. # DEBUG BEGIN_STMT
  8497. # DEBUG BEGIN_STMT
  8498. uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended;
  8499. if (uxSchedulerSuspended.75_1 != 0)
  8500. goto <bb 3>; [67.00%]
  8501. else
  8502. goto <bb 5>; [33.00%]
  8503. <bb 3> [local count: 107374]:
  8504. # DEBUG BEGIN_STMT
  8505. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8506. # DEBUG BEGIN_STMT
  8507. # DEBUG BEGIN_STMT
  8508. __asm__ __volatile__(" mov %0, %1
  8509. msr basepri, %0
  8510. isb
  8511. dsb
  8512. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  8513. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  8514. <bb 4> [local count: 1073741824]:
  8515. # DEBUG ulNewBASEPRI => NULL
  8516. # DEBUG BEGIN_STMT
  8517. # DEBUG BEGIN_STMT
  8518. # DEBUG BEGIN_STMT
  8519. <bb 6> [local count: 1073741824]:
  8520. goto <bb 4>; [100.00%]
  8521. <bb 5> [local count: 52886]:
  8522. # DEBUG BEGIN_STMT
  8523. # DEBUG BEGIN_STMT
  8524. vTaskSuspendAll ();
  8525. # DEBUG BEGIN_STMT
  8526. xPendedTicks.76_2 ={v} xPendedTicks;
  8527. _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D);
  8528. xPendedTicks ={v} _3;
  8529. # DEBUG BEGIN_STMT
  8530. xYieldOccurred_9 = xTaskResumeAll ();
  8531. # DEBUG xYieldOccurred => xYieldOccurred_9
  8532. # DEBUG BEGIN_STMT
  8533. return xYieldOccurred_9;
  8534. }
  8535. uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
  8536. {
  8537. UBaseType_t uxQueue;
  8538. UBaseType_t uxTask;
  8539. long unsigned int uxCurrentNumberOfTasks.72_1;
  8540. long unsigned int _2;
  8541. struct TaskStatus_t * _3;
  8542. struct List_t * _4;
  8543. long unsigned int _5;
  8544. struct TaskStatus_t * _6;
  8545. struct List_t * pxDelayedTaskList.73_7;
  8546. long unsigned int _8;
  8547. struct TaskStatus_t * _9;
  8548. struct List_t * pxOverflowDelayedTaskList.74_10;
  8549. long unsigned int _11;
  8550. struct TaskStatus_t * _12;
  8551. long unsigned int _13;
  8552. struct TaskStatus_t * _14;
  8553. long unsigned int _27;
  8554. long unsigned int _30;
  8555. long unsigned int _33;
  8556. long unsigned int _36;
  8557. long unsigned int _39;
  8558. <bb 2> [local count: 429496728]:
  8559. # DEBUG BEGIN_STMT
  8560. # DEBUG uxTask => 0
  8561. # DEBUG uxQueue => 5
  8562. # DEBUG BEGIN_STMT
  8563. vTaskSuspendAll ();
  8564. # DEBUG BEGIN_STMT
  8565. uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks;
  8566. if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D))
  8567. goto <bb 7>; [50.00%]
  8568. else
  8569. goto <bb 6>; [50.00%]
  8570. <bb 7> [local count: 214748364]:
  8571. <bb 3> [local count: 1073741824]:
  8572. # uxTask_15 = PHI <0(7), uxTask_28(8)>
  8573. # uxQueue_17 = PHI <5(7), uxQueue_24(8)>
  8574. # DEBUG uxQueue => uxQueue_17
  8575. # DEBUG uxTask => uxTask_15
  8576. # DEBUG BEGIN_STMT
  8577. # DEBUG BEGIN_STMT
  8578. uxQueue_24 = uxQueue_17 + 4294967295;
  8579. # DEBUG uxQueue => uxQueue_24
  8580. # DEBUG BEGIN_STMT
  8581. _2 = uxTask_15 * 36;
  8582. _3 = pxTaskStatusArray_25(D) + _2;
  8583. _4 = &pxReadyTasksLists[uxQueue_24];
  8584. _27 = prvListTasksWithinSingleList (_3, _4, 1);
  8585. uxTask_28 = uxTask_15 + _27;
  8586. # DEBUG uxTask => uxTask_28
  8587. # DEBUG BEGIN_STMT
  8588. if (uxQueue_24 != 0)
  8589. goto <bb 8>; [80.00%]
  8590. else
  8591. goto <bb 4>; [20.00%]
  8592. <bb 8> [local count: 858993459]:
  8593. goto <bb 3>; [100.00%]
  8594. <bb 4> [local count: 214748365]:
  8595. # uxTask_20 = PHI <uxTask_28(3)>
  8596. # DEBUG BEGIN_STMT
  8597. _5 = uxTask_20 * 36;
  8598. _6 = pxTaskStatusArray_25(D) + _5;
  8599. pxDelayedTaskList.73_7 ={v} pxDelayedTaskList;
  8600. _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  8601. uxTask_31 = uxTask_20 + _30;
  8602. # DEBUG uxTask => uxTask_31
  8603. # DEBUG BEGIN_STMT
  8604. _8 = uxTask_31 * 36;
  8605. _9 = pxTaskStatusArray_25(D) + _8;
  8606. pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList;
  8607. _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  8608. uxTask_34 = uxTask_31 + _33;
  8609. # DEBUG uxTask => uxTask_34
  8610. # DEBUG BEGIN_STMT
  8611. _11 = uxTask_34 * 36;
  8612. _12 = pxTaskStatusArray_25(D) + _11;
  8613. _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  8614. uxTask_37 = uxTask_34 + _36;
  8615. # DEBUG uxTask => uxTask_37
  8616. # DEBUG BEGIN_STMT
  8617. _13 = uxTask_37 * 36;
  8618. _14 = pxTaskStatusArray_25(D) + _13;
  8619. _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  8620. uxTask_40 = uxTask_37 + _39;
  8621. # DEBUG uxTask => uxTask_40
  8622. # DEBUG BEGIN_STMT
  8623. if (pulTotalRunTime_41(D) != 0B)
  8624. goto <bb 5>; [70.00%]
  8625. else
  8626. goto <bb 6>; [30.00%]
  8627. <bb 5> [local count: 150323855]:
  8628. # DEBUG BEGIN_STMT
  8629. *pulTotalRunTime_41(D) = 0;
  8630. <bb 6> [local count: 429496729]:
  8631. # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)>
  8632. # DEBUG uxTask => uxTask_16
  8633. # DEBUG BEGIN_STMT
  8634. # DEBUG BEGIN_STMT
  8635. xTaskResumeAll ();
  8636. # DEBUG BEGIN_STMT
  8637. return uxTask_16;
  8638. }
  8639. xTaskGetHandle (const char * pcNameToQuery)
  8640. {
  8641. uint32_t ulNewBASEPRI;
  8642. struct TCB_t * pxTCB;
  8643. UBaseType_t uxQueue;
  8644. unsigned int _1;
  8645. struct List_t * _2;
  8646. struct List_t * pxDelayedTaskList.70_3;
  8647. struct List_t * pxOverflowDelayedTaskList.71_4;
  8648. <bb 2> [local count: 160260]:
  8649. # DEBUG BEGIN_STMT
  8650. # DEBUG uxQueue => 5
  8651. # DEBUG BEGIN_STMT
  8652. # DEBUG BEGIN_STMT
  8653. _1 = strlen (pcNameToQuery_17(D));
  8654. if (_1 > 9)
  8655. goto <bb 3>; [67.00%]
  8656. else
  8657. goto <bb 5>; [33.00%]
  8658. <bb 3> [local count: 107374]:
  8659. # DEBUG BEGIN_STMT
  8660. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8661. # DEBUG BEGIN_STMT
  8662. # DEBUG BEGIN_STMT
  8663. __asm__ __volatile__(" mov %0, %1
  8664. msr basepri, %0
  8665. isb
  8666. dsb
  8667. " : "=r" ulNewBASEPRI_31 : "i" 16 : "memory");
  8668. # DEBUG ulNewBASEPRI => ulNewBASEPRI_31
  8669. <bb 4> [local count: 1073741824]:
  8670. # DEBUG ulNewBASEPRI => NULL
  8671. # DEBUG BEGIN_STMT
  8672. # DEBUG BEGIN_STMT
  8673. # DEBUG BEGIN_STMT
  8674. <bb 17> [local count: 1073741824]:
  8675. goto <bb 4>; [100.00%]
  8676. <bb 5> [local count: 52886]:
  8677. # DEBUG BEGIN_STMT
  8678. # DEBUG BEGIN_STMT
  8679. vTaskSuspendAll ();
  8680. <bb 6> [local count: 216745]:
  8681. # uxQueue_5 = PHI <5(5), uxQueue_19(18)>
  8682. # DEBUG uxQueue => uxQueue_5
  8683. # DEBUG BEGIN_STMT
  8684. # DEBUG BEGIN_STMT
  8685. uxQueue_19 = uxQueue_5 + 4294967295;
  8686. # DEBUG uxQueue => uxQueue_19
  8687. # DEBUG BEGIN_STMT
  8688. _2 = &pxReadyTasksLists[uxQueue_19];
  8689. pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  8690. # DEBUG pxTCB => pxTCB_21
  8691. # DEBUG BEGIN_STMT
  8692. if (pxTCB_21 != 0B)
  8693. goto <bb 8>; [5.50%]
  8694. else
  8695. goto <bb 7>; [94.50%]
  8696. <bb 7> [local count: 204824]:
  8697. # DEBUG BEGIN_STMT
  8698. if (uxQueue_19 != 0)
  8699. goto <bb 18>; [80.00%]
  8700. else
  8701. goto <bb 8>; [20.00%]
  8702. <bb 18> [local count: 163859]:
  8703. goto <bb 6>; [100.00%]
  8704. <bb 8> [local count: 52886]:
  8705. # pxTCB_15 = PHI <pxTCB_21(6), 0B(7)>
  8706. # DEBUG BEGIN_STMT
  8707. if (pxTCB_15 == 0B)
  8708. goto <bb 9>; [17.43%]
  8709. else
  8710. goto <bb 10>; [82.57%]
  8711. <bb 9> [local count: 9218]:
  8712. # DEBUG BEGIN_STMT
  8713. pxDelayedTaskList.70_3 ={v} pxDelayedTaskList;
  8714. pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  8715. # DEBUG pxTCB => pxTCB_23
  8716. <bb 10> [local count: 52886]:
  8717. # pxTCB_6 = PHI <pxTCB_15(8), pxTCB_23(9)>
  8718. # DEBUG pxTCB => pxTCB_6
  8719. # DEBUG BEGIN_STMT
  8720. if (pxTCB_6 == 0B)
  8721. goto <bb 11>; [17.43%]
  8722. else
  8723. goto <bb 12>; [82.57%]
  8724. <bb 11> [local count: 9218]:
  8725. # DEBUG BEGIN_STMT
  8726. pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList;
  8727. pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  8728. # DEBUG pxTCB => pxTCB_25
  8729. <bb 12> [local count: 52886]:
  8730. # pxTCB_7 = PHI <pxTCB_6(10), pxTCB_25(11)>
  8731. # DEBUG pxTCB => pxTCB_7
  8732. # DEBUG BEGIN_STMT
  8733. if (pxTCB_7 == 0B)
  8734. goto <bb 13>; [17.43%]
  8735. else
  8736. goto <bb 14>; [82.57%]
  8737. <bb 13> [local count: 9218]:
  8738. # DEBUG BEGIN_STMT
  8739. pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  8740. # DEBUG pxTCB => pxTCB_27
  8741. <bb 14> [local count: 52886]:
  8742. # pxTCB_8 = PHI <pxTCB_7(12), pxTCB_27(13)>
  8743. # DEBUG pxTCB => pxTCB_8
  8744. # DEBUG BEGIN_STMT
  8745. if (pxTCB_8 == 0B)
  8746. goto <bb 15>; [17.43%]
  8747. else
  8748. goto <bb 16>; [82.57%]
  8749. <bb 15> [local count: 9218]:
  8750. # DEBUG BEGIN_STMT
  8751. pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  8752. # DEBUG pxTCB => pxTCB_29
  8753. <bb 16> [local count: 52886]:
  8754. # pxTCB_9 = PHI <pxTCB_8(14), pxTCB_29(15)>
  8755. # DEBUG pxTCB => pxTCB_9
  8756. # DEBUG BEGIN_STMT
  8757. xTaskResumeAll ();
  8758. # DEBUG BEGIN_STMT
  8759. return pxTCB_9;
  8760. }
  8761. prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
  8762. {
  8763. char cNextChar;
  8764. UBaseType_t x;
  8765. struct TCB_t * pxReturn;
  8766. struct TCB_t * pxFirstTCB;
  8767. struct TCB_t * pxNextTCB;
  8768. long unsigned int _1;
  8769. struct ListItem_t * _2;
  8770. struct xLIST_ITEM * _3;
  8771. struct MiniListItem_t * _4;
  8772. struct xLIST_ITEM * _5;
  8773. struct ListItem_t * _6;
  8774. struct ListItem_t * _7;
  8775. struct xLIST_ITEM * _8;
  8776. struct xLIST_ITEM * _9;
  8777. struct ListItem_t * _10;
  8778. const char * _11;
  8779. char _12;
  8780. <bb 2> [local count: 25274560]:
  8781. # DEBUG BEGIN_STMT
  8782. # DEBUG pxReturn => 0B
  8783. # DEBUG BEGIN_STMT
  8784. # DEBUG BEGIN_STMT
  8785. # DEBUG BEGIN_STMT
  8786. # DEBUG BEGIN_STMT
  8787. _1 ={v} pxList_23(D)->uxNumberOfItems;
  8788. if (_1 != 0)
  8789. goto <bb 3>; [71.00%]
  8790. else
  8791. goto <bb 15>; [29.00%]
  8792. <bb 3> [local count: 17944938]:
  8793. # DEBUG BEGIN_STMT
  8794. # DEBUG pxConstList => pxList_23(D)
  8795. # DEBUG BEGIN_STMT
  8796. _2 = pxList_23(D)->pxIndex;
  8797. _3 = _2->pxNext;
  8798. pxList_23(D)->pxIndex = _3;
  8799. # DEBUG BEGIN_STMT
  8800. _4 = &pxList_23(D)->xListEnd;
  8801. if (_3 == _4)
  8802. goto <bb 4>; [30.00%]
  8803. else
  8804. goto <bb 5>; [70.00%]
  8805. <bb 4> [local count: 5383481]:
  8806. # DEBUG BEGIN_STMT
  8807. _5 = MEM[(struct ListItem_t *)_3].pxNext;
  8808. pxList_23(D)->pxIndex = _5;
  8809. <bb 5> [local count: 17944938]:
  8810. # DEBUG BEGIN_STMT
  8811. _6 = pxList_23(D)->pxIndex;
  8812. pxFirstTCB_26 = _6->pvOwner;
  8813. # DEBUG pxFirstTCB => pxFirstTCB_26
  8814. <bb 6> [local count: 167748888]:
  8815. # pxReturn_13 = PHI <0B(5), 0B(16)>
  8816. # DEBUG pxReturn => pxReturn_13
  8817. # DEBUG BEGIN_STMT
  8818. # DEBUG BEGIN_STMT
  8819. # DEBUG BEGIN_STMT
  8820. # DEBUG pxConstList => pxList_23(D)
  8821. # DEBUG BEGIN_STMT
  8822. _7 = pxList_23(D)->pxIndex;
  8823. _8 = _7->pxNext;
  8824. pxList_23(D)->pxIndex = _8;
  8825. # DEBUG BEGIN_STMT
  8826. if (_4 == _8)
  8827. goto <bb 7>; [30.00%]
  8828. else
  8829. goto <bb 8>; [70.00%]
  8830. <bb 7> [local count: 50324666]:
  8831. # DEBUG BEGIN_STMT
  8832. _9 = MEM[(struct ListItem_t *)_8].pxNext;
  8833. pxList_23(D)->pxIndex = _9;
  8834. <bb 8> [local count: 167748888]:
  8835. # DEBUG BEGIN_STMT
  8836. _10 = pxList_23(D)->pxIndex;
  8837. pxNextTCB_29 = _10->pvOwner;
  8838. # DEBUG pxNextTCB => pxNextTCB_29
  8839. # DEBUG BEGIN_STMT
  8840. # DEBUG BEGIN_STMT
  8841. # DEBUG xBreakLoop => 0
  8842. # DEBUG BEGIN_STMT
  8843. # DEBUG x => 0
  8844. goto <bb 12>; [100.00%]
  8845. <bb 9> [local count: 976138693]:
  8846. # DEBUG BEGIN_STMT
  8847. cNextChar_30 = pxNextTCB_29->pcTaskName[x_17];
  8848. # DEBUG cNextChar => cNextChar_30
  8849. # DEBUG BEGIN_STMT
  8850. _11 = pcNameToQuery_31(D) + x_17;
  8851. _12 = *_11;
  8852. if (_12 != cNextChar_30)
  8853. goto <bb 13>; [3.66%]
  8854. else
  8855. goto <bb 10>; [96.34%]
  8856. <bb 10> [local count: 940412017]:
  8857. # DEBUG BEGIN_STMT
  8858. if (cNextChar_30 == 0)
  8859. goto <bb 13>; [3.66%]
  8860. else
  8861. goto <bb 11>; [96.34%]
  8862. <bb 11> [local count: 905992937]:
  8863. # DEBUG xBreakLoop => 0
  8864. # DEBUG pxReturn => pxReturn_14
  8865. # DEBUG BEGIN_STMT
  8866. # DEBUG BEGIN_STMT
  8867. # DEBUG BEGIN_STMT
  8868. x_32 = x_17 + 1;
  8869. # DEBUG x => x_32
  8870. <bb 12> [local count: 1073741824]:
  8871. # pxReturn_14 = PHI <pxReturn_13(8), pxReturn_14(11)>
  8872. # x_17 = PHI <0(8), x_32(11)>
  8873. # DEBUG xBreakLoop => 0
  8874. # DEBUG x => x_17
  8875. # DEBUG pxReturn => pxReturn_14
  8876. # DEBUG BEGIN_STMT
  8877. if (x_17 != 10)
  8878. goto <bb 9>; [90.91%]
  8879. else
  8880. goto <bb 13>; [9.09%]
  8881. <bb 13> [local count: 167748888]:
  8882. # pxReturn_15 = PHI <pxNextTCB_29(10), pxReturn_14(12), pxReturn_14(9)>
  8883. # DEBUG xBreakLoop => NULL
  8884. # DEBUG pxReturn => pxReturn_15
  8885. # DEBUG BEGIN_STMT
  8886. if (pxReturn_15 != 0B)
  8887. goto <bb 15>; [5.50%]
  8888. else
  8889. goto <bb 14>; [94.50%]
  8890. <bb 14> [local count: 158522699]:
  8891. # DEBUG BEGIN_STMT
  8892. if (pxFirstTCB_26 != pxNextTCB_29)
  8893. goto <bb 16>; [94.50%]
  8894. else
  8895. goto <bb 15>; [5.50%]
  8896. <bb 16> [local count: 149803950]:
  8897. goto <bb 6>; [100.00%]
  8898. <bb 15> [local count: 25274560]:
  8899. # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)>
  8900. # DEBUG pxReturn => pxReturn_16
  8901. # DEBUG BEGIN_STMT
  8902. # DEBUG BEGIN_STMT
  8903. return pxReturn_16;
  8904. }
  8905. pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
  8906. {
  8907. uint32_t ulNewBASEPRI;
  8908. struct TCB_t * iftmp.69_1;
  8909. struct TCB_t * iftmp.69_4;
  8910. char * _5;
  8911. <bb 2> [local count: 357913]:
  8912. # DEBUG BEGIN_STMT
  8913. # DEBUG BEGIN_STMT
  8914. if (xTaskToQuery_2(D) == 0B)
  8915. goto <bb 3>; [30.00%]
  8916. else
  8917. goto <bb 4>; [70.00%]
  8918. <bb 3> [local count: 107374]:
  8919. iftmp.69_4 ={v} pxCurrentTCB;
  8920. <bb 4> [local count: 357913]:
  8921. # iftmp.69_1 = PHI <iftmp.69_4(3), xTaskToQuery_2(D)(2)>
  8922. # DEBUG pxTCB => iftmp.69_1
  8923. # DEBUG BEGIN_STMT
  8924. if (iftmp.69_1 == 0B)
  8925. goto <bb 5>; [30.00%]
  8926. else
  8927. goto <bb 7>; [70.00%]
  8928. <bb 5> [local count: 107374]:
  8929. # DEBUG BEGIN_STMT
  8930. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8931. # DEBUG BEGIN_STMT
  8932. # DEBUG BEGIN_STMT
  8933. __asm__ __volatile__(" mov %0, %1
  8934. msr basepri, %0
  8935. isb
  8936. dsb
  8937. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  8938. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  8939. <bb 6> [local count: 1073741824]:
  8940. # DEBUG ulNewBASEPRI => NULL
  8941. # DEBUG BEGIN_STMT
  8942. # DEBUG BEGIN_STMT
  8943. # DEBUG BEGIN_STMT
  8944. <bb 8> [local count: 1073741824]:
  8945. goto <bb 6>; [100.00%]
  8946. <bb 7> [local count: 250539]:
  8947. # DEBUG BEGIN_STMT
  8948. # DEBUG BEGIN_STMT
  8949. _5 = &iftmp.69_1->pcTaskName[0];
  8950. return _5;
  8951. }
  8952. uxTaskGetNumberOfTasks ()
  8953. {
  8954. UBaseType_t _2;
  8955. <bb 2> [local count: 1073741824]:
  8956. # DEBUG BEGIN_STMT
  8957. _2 ={v} uxCurrentNumberOfTasks;
  8958. return _2;
  8959. }
  8960. xTaskGetTickCountFromISR ()
  8961. {
  8962. TickType_t xReturn;
  8963. <bb 2> [local count: 1073741824]:
  8964. # DEBUG BEGIN_STMT
  8965. # DEBUG BEGIN_STMT
  8966. # DEBUG BEGIN_STMT
  8967. vPortValidateInterruptPriority ();
  8968. # DEBUG BEGIN_STMT
  8969. # DEBUG uxSavedInterruptStatus => 0
  8970. # DEBUG BEGIN_STMT
  8971. xReturn_3 ={v} xTickCount;
  8972. # DEBUG xReturn => xReturn_3
  8973. # DEBUG BEGIN_STMT
  8974. # DEBUG BEGIN_STMT
  8975. return xReturn_3;
  8976. }
  8977. xTaskGetTickCount ()
  8978. {
  8979. TickType_t xTicks;
  8980. <bb 2> [local count: 1073741824]:
  8981. # DEBUG BEGIN_STMT
  8982. # DEBUG BEGIN_STMT
  8983. # DEBUG BEGIN_STMT
  8984. xTicks_2 ={v} xTickCount;
  8985. # DEBUG xTicks => xTicks_2
  8986. # DEBUG BEGIN_STMT
  8987. # DEBUG BEGIN_STMT
  8988. return xTicks_2;
  8989. }
  8990. xTaskResumeAll ()
  8991. {
  8992. BaseType_t D.8425;
  8993. uint32_t ulNewBASEPRI;
  8994. long unsigned int uxSchedulerSuspended.62_1;
  8995. <bb 2> [local count: 160260]:
  8996. # DEBUG BEGIN_STMT
  8997. # DEBUG pxTCB => 0B
  8998. # DEBUG BEGIN_STMT
  8999. # DEBUG xAlreadyYielded => 0
  9000. # DEBUG BEGIN_STMT
  9001. uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended;
  9002. if (uxSchedulerSuspended.62_1 == 0)
  9003. goto <bb 3>; [67.00%]
  9004. else
  9005. goto <bb 5>; [33.00%]
  9006. <bb 3> [local count: 107374]:
  9007. # DEBUG BEGIN_STMT
  9008. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9009. # DEBUG BEGIN_STMT
  9010. # DEBUG BEGIN_STMT
  9011. __asm__ __volatile__(" mov %0, %1
  9012. msr basepri, %0
  9013. isb
  9014. dsb
  9015. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  9016. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  9017. <bb 4> [local count: 1073741824]:
  9018. # DEBUG ulNewBASEPRI => NULL
  9019. # DEBUG BEGIN_STMT
  9020. # DEBUG BEGIN_STMT
  9021. # DEBUG BEGIN_STMT
  9022. <bb 6> [local count: 1073741824]:
  9023. goto <bb 4>; [100.00%]
  9024. <bb 5> [local count: 52886]:
  9025. _2 = xTaskResumeAll.part.0 ();
  9026. return _2;
  9027. }
  9028. vTaskSuspendAll ()
  9029. {
  9030. long unsigned int uxSchedulerSuspended.61_1;
  9031. long unsigned int _2;
  9032. <bb 2> [local count: 1073741824]:
  9033. # DEBUG BEGIN_STMT
  9034. # DEBUG BEGIN_STMT
  9035. uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended;
  9036. _2 = uxSchedulerSuspended.61_1 + 1;
  9037. uxSchedulerSuspended ={v} _2;
  9038. # DEBUG BEGIN_STMT
  9039. __asm__ __volatile__("" : : : "memory");
  9040. return;
  9041. }
  9042. vTaskEndScheduler ()
  9043. {
  9044. uint32_t ulNewBASEPRI;
  9045. <bb 2> [local count: 1073741824]:
  9046. # DEBUG BEGIN_STMT
  9047. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9048. # DEBUG BEGIN_STMT
  9049. # DEBUG BEGIN_STMT
  9050. __asm__ __volatile__(" mov %0, %1
  9051. msr basepri, %0
  9052. isb
  9053. dsb
  9054. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  9055. # DEBUG ulNewBASEPRI => NULL
  9056. # DEBUG BEGIN_STMT
  9057. xSchedulerRunning ={v} 0;
  9058. # DEBUG BEGIN_STMT
  9059. vPortEndScheduler ();
  9060. return;
  9061. }
  9062. vTaskStartScheduler ()
  9063. {
  9064. uint32_t ulNewBASEPRI;
  9065. uint32_t ulNewBASEPRI;
  9066. BaseType_t xReturn;
  9067. long unsigned int vol.57_13;
  9068. <bb 2> [local count: 395945]:
  9069. # DEBUG BEGIN_STMT
  9070. # DEBUG BEGIN_STMT
  9071. xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  9072. # DEBUG xReturn => xReturn_6
  9073. # DEBUG BEGIN_STMT
  9074. if (xReturn_6 == 1)
  9075. goto <bb 3>; [20.24%]
  9076. else
  9077. goto <bb 4>; [79.76%]
  9078. <bb 3> [local count: 80139]:
  9079. # DEBUG BEGIN_STMT
  9080. xReturn_8 = xTimerCreateTimerTask ();
  9081. # DEBUG xReturn => xReturn_8
  9082. <bb 4> [local count: 395945]:
  9083. # xReturn_1 = PHI <xReturn_6(2), xReturn_8(3)>
  9084. # DEBUG xReturn => xReturn_1
  9085. # DEBUG BEGIN_STMT
  9086. # DEBUG BEGIN_STMT
  9087. if (xReturn_1 == 1)
  9088. goto <bb 5>; [20.24%]
  9089. else
  9090. goto <bb 6>; [79.76%]
  9091. <bb 5> [local count: 80139]:
  9092. # DEBUG BEGIN_STMT
  9093. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9094. # DEBUG BEGIN_STMT
  9095. # DEBUG BEGIN_STMT
  9096. __asm__ __volatile__(" mov %0, %1
  9097. msr basepri, %0
  9098. isb
  9099. dsb
  9100. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  9101. # DEBUG ulNewBASEPRI => NULL
  9102. # DEBUG BEGIN_STMT
  9103. xNextTaskUnblockTime ={v} 4294967295;
  9104. # DEBUG BEGIN_STMT
  9105. xSchedulerRunning ={v} 1;
  9106. # DEBUG BEGIN_STMT
  9107. xTickCount ={v} 0;
  9108. # DEBUG BEGIN_STMT
  9109. # DEBUG BEGIN_STMT
  9110. # DEBUG BEGIN_STMT
  9111. xPortStartScheduler ();
  9112. goto <bb 9>; [100.00%]
  9113. <bb 6> [local count: 315806]:
  9114. # DEBUG BEGIN_STMT
  9115. if (xReturn_1 == -1)
  9116. goto <bb 7>; [34.00%]
  9117. else
  9118. goto <bb 9>; [66.00%]
  9119. <bb 7> [local count: 107374]:
  9120. # DEBUG BEGIN_STMT
  9121. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9122. # DEBUG BEGIN_STMT
  9123. # DEBUG BEGIN_STMT
  9124. __asm__ __volatile__(" mov %0, %1
  9125. msr basepri, %0
  9126. isb
  9127. dsb
  9128. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  9129. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  9130. <bb 8> [local count: 1073741824]:
  9131. # DEBUG ulNewBASEPRI => NULL
  9132. # DEBUG BEGIN_STMT
  9133. # DEBUG BEGIN_STMT
  9134. # DEBUG BEGIN_STMT
  9135. <bb 10> [local count: 1073741824]:
  9136. goto <bb 8>; [100.00%]
  9137. <bb 9> [local count: 288571]:
  9138. # DEBUG BEGIN_STMT
  9139. # DEBUG BEGIN_STMT
  9140. # DEBUG BEGIN_STMT
  9141. vol.57_13 ={v} uxTopUsedPriority;
  9142. return;
  9143. }
  9144. xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
  9145. {
  9146. uint32_t ulOriginalBASEPRI;
  9147. uint32_t ulNewBASEPRI;
  9148. uint32_t ulNewBASEPRI;
  9149. struct ListItem_t * const pxIndex;
  9150. BaseType_t xYieldRequired;
  9151. long int _1;
  9152. long unsigned int uxSchedulerSuspended.54_2;
  9153. long unsigned int _3;
  9154. struct TCB_t * pxCurrentTCB.55_4;
  9155. long unsigned int _5;
  9156. struct ListItem_t * _6;
  9157. long unsigned int _7;
  9158. long unsigned int uxTopReadyPriority.56_8;
  9159. struct xLIST_ITEM * _9;
  9160. struct xLIST_ITEM * _10;
  9161. struct List_t * _11;
  9162. long unsigned int _12;
  9163. long unsigned int _13;
  9164. struct ListItem_t * _14;
  9165. <bb 2> [local count: 230763]:
  9166. # DEBUG BEGIN_STMT
  9167. # DEBUG xYieldRequired => 0
  9168. # DEBUG BEGIN_STMT
  9169. # DEBUG pxTCB => xTaskToResume_20(D)
  9170. # DEBUG BEGIN_STMT
  9171. # DEBUG BEGIN_STMT
  9172. if (xTaskToResume_20(D) == 0B)
  9173. goto <bb 3>; [46.53%]
  9174. else
  9175. goto <bb 5>; [53.47%]
  9176. <bb 3> [local count: 107374]:
  9177. # DEBUG BEGIN_STMT
  9178. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9179. # DEBUG BEGIN_STMT
  9180. # DEBUG BEGIN_STMT
  9181. __asm__ __volatile__(" mov %0, %1
  9182. msr basepri, %0
  9183. isb
  9184. dsb
  9185. " : "=r" ulNewBASEPRI_35 : "i" 16 : "memory");
  9186. # DEBUG ulNewBASEPRI => ulNewBASEPRI_35
  9187. <bb 4> [local count: 1073741824]:
  9188. # DEBUG ulNewBASEPRI => NULL
  9189. # DEBUG BEGIN_STMT
  9190. # DEBUG BEGIN_STMT
  9191. # DEBUG BEGIN_STMT
  9192. <bb 14> [local count: 1073741824]:
  9193. goto <bb 4>; [100.00%]
  9194. <bb 5> [local count: 123389]:
  9195. # DEBUG BEGIN_STMT
  9196. # DEBUG BEGIN_STMT
  9197. vPortValidateInterruptPriority ();
  9198. # DEBUG BEGIN_STMT
  9199. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  9200. # DEBUG BEGIN_STMT
  9201. # DEBUG BEGIN_STMT
  9202. __asm__ __volatile__(" mrs %0, basepri
  9203. mov %1, %2
  9204. msr basepri, %1
  9205. isb
  9206. dsb
  9207. " : "=r" ulOriginalBASEPRI_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  9208. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  9209. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36
  9210. # DEBUG BEGIN_STMT
  9211. # DEBUG ulNewBASEPRI => NULL
  9212. # DEBUG ulOriginalBASEPRI => NULL
  9213. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36
  9214. # DEBUG BEGIN_STMT
  9215. _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
  9216. if (_1 != 0)
  9217. goto <bb 6>; [50.00%]
  9218. else
  9219. goto <bb 13>; [50.00%]
  9220. <bb 6> [local count: 61694]:
  9221. # DEBUG BEGIN_STMT
  9222. # DEBUG BEGIN_STMT
  9223. uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended;
  9224. if (uxSchedulerSuspended.54_2 == 0)
  9225. goto <bb 7>; [67.00%]
  9226. else
  9227. goto <bb 12>; [33.00%]
  9228. <bb 7> [local count: 41335]:
  9229. # DEBUG BEGIN_STMT
  9230. _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  9231. pxCurrentTCB.55_4 ={v} pxCurrentTCB;
  9232. _5 = pxCurrentTCB.55_4->uxPriority;
  9233. if (_3 >= _5)
  9234. goto <bb 8>; [50.00%]
  9235. else
  9236. goto <bb 9>; [50.00%]
  9237. <bb 8> [local count: 20668]:
  9238. # DEBUG BEGIN_STMT
  9239. # DEBUG xYieldRequired => 1
  9240. # DEBUG BEGIN_STMT
  9241. xYieldPending ={v} 1;
  9242. <bb 9> [local count: 41335]:
  9243. # xYieldRequired_15 = PHI <0(7), 1(8)>
  9244. # DEBUG xYieldRequired => xYieldRequired_15
  9245. # DEBUG BEGIN_STMT
  9246. # DEBUG BEGIN_STMT
  9247. _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem;
  9248. uxListRemove (_6);
  9249. # DEBUG BEGIN_STMT
  9250. # DEBUG BEGIN_STMT
  9251. _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  9252. uxTopReadyPriority.56_8 ={v} uxTopReadyPriority;
  9253. if (_7 > uxTopReadyPriority.56_8)
  9254. goto <bb 10>; [50.00%]
  9255. else
  9256. goto <bb 11>; [50.00%]
  9257. <bb 10> [local count: 20668]:
  9258. # DEBUG BEGIN_STMT
  9259. uxTopReadyPriority ={v} _7;
  9260. <bb 11> [local count: 41335]:
  9261. # DEBUG BEGIN_STMT
  9262. # DEBUG BEGIN_STMT
  9263. pxIndex_28 = pxReadyTasksLists[_7].pxIndex;
  9264. # DEBUG pxIndex => pxIndex_28
  9265. # DEBUG BEGIN_STMT
  9266. # DEBUG BEGIN_STMT
  9267. # DEBUG BEGIN_STMT
  9268. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28;
  9269. # DEBUG BEGIN_STMT
  9270. _9 = pxIndex_28->pxPrevious;
  9271. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9;
  9272. # DEBUG BEGIN_STMT
  9273. _10 = pxIndex_28->pxPrevious;
  9274. _10->pxNext = _6;
  9275. # DEBUG BEGIN_STMT
  9276. pxIndex_28->pxPrevious = _6;
  9277. # DEBUG BEGIN_STMT
  9278. _11 = &pxReadyTasksLists[_7];
  9279. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11;
  9280. # DEBUG BEGIN_STMT
  9281. _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  9282. _13 = _12 + 1;
  9283. pxReadyTasksLists[_7].uxNumberOfItems ={v} _13;
  9284. # DEBUG BEGIN_STMT
  9285. # DEBUG BEGIN_STMT
  9286. goto <bb 13>; [100.00%]
  9287. <bb 12> [local count: 20359]:
  9288. # DEBUG BEGIN_STMT
  9289. _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem;
  9290. vListInsertEnd (&xPendingReadyList, _14);
  9291. <bb 13> [local count: 123389]:
  9292. # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)>
  9293. # DEBUG xYieldRequired => xYieldRequired_16
  9294. # DEBUG BEGIN_STMT
  9295. # DEBUG BEGIN_STMT
  9296. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36
  9297. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  9298. # DEBUG BEGIN_STMT
  9299. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory");
  9300. # DEBUG ulNewMaskValue => NULL
  9301. # DEBUG BEGIN_STMT
  9302. return xYieldRequired_16;
  9303. }
  9304. vTaskResume (struct tskTaskControlBlock * xTaskToResume)
  9305. {
  9306. uint32_t ulNewBASEPRI;
  9307. struct ListItem_t * const pxIndex;
  9308. struct TCB_t * pxCurrentTCB.51_1;
  9309. long int _2;
  9310. struct ListItem_t * _3;
  9311. long unsigned int _4;
  9312. long unsigned int uxTopReadyPriority.52_5;
  9313. struct xLIST_ITEM * _6;
  9314. struct xLIST_ITEM * _7;
  9315. struct List_t * _8;
  9316. long unsigned int _9;
  9317. long unsigned int _10;
  9318. struct TCB_t * pxCurrentTCB.53_11;
  9319. long unsigned int _12;
  9320. <bb 2> [local count: 357913]:
  9321. # DEBUG BEGIN_STMT
  9322. # DEBUG pxTCB => xTaskToResume_16(D)
  9323. # DEBUG BEGIN_STMT
  9324. if (xTaskToResume_16(D) == 0B)
  9325. goto <bb 3>; [30.00%]
  9326. else
  9327. goto <bb 5>; [70.00%]
  9328. <bb 3> [local count: 107374]:
  9329. # DEBUG BEGIN_STMT
  9330. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9331. # DEBUG BEGIN_STMT
  9332. # DEBUG BEGIN_STMT
  9333. __asm__ __volatile__(" mov %0, %1
  9334. msr basepri, %0
  9335. isb
  9336. dsb
  9337. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  9338. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  9339. <bb 4> [local count: 1073741824]:
  9340. # DEBUG ulNewBASEPRI => NULL
  9341. # DEBUG BEGIN_STMT
  9342. # DEBUG BEGIN_STMT
  9343. # DEBUG BEGIN_STMT
  9344. <bb 13> [local count: 1073741824]:
  9345. goto <bb 4>; [100.00%]
  9346. <bb 5> [local count: 250539]:
  9347. # DEBUG BEGIN_STMT
  9348. # DEBUG BEGIN_STMT
  9349. pxCurrentTCB.51_1 ={v} pxCurrentTCB;
  9350. if (pxCurrentTCB.51_1 != xTaskToResume_16(D))
  9351. goto <bb 6>; [53.47%]
  9352. else
  9353. goto <bb 12>; [46.53%]
  9354. <bb 6> [local count: 133963]:
  9355. # DEBUG BEGIN_STMT
  9356. vPortEnterCritical ();
  9357. # DEBUG BEGIN_STMT
  9358. _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
  9359. if (_2 != 0)
  9360. goto <bb 7>; [33.00%]
  9361. else
  9362. goto <bb 11>; [67.00%]
  9363. <bb 7> [local count: 44208]:
  9364. # DEBUG BEGIN_STMT
  9365. # DEBUG BEGIN_STMT
  9366. _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem;
  9367. uxListRemove (_3);
  9368. # DEBUG BEGIN_STMT
  9369. # DEBUG BEGIN_STMT
  9370. _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority;
  9371. uxTopReadyPriority.52_5 ={v} uxTopReadyPriority;
  9372. if (_4 > uxTopReadyPriority.52_5)
  9373. goto <bb 8>; [50.00%]
  9374. else
  9375. goto <bb 9>; [50.00%]
  9376. <bb 8> [local count: 22104]:
  9377. # DEBUG BEGIN_STMT
  9378. uxTopReadyPriority ={v} _4;
  9379. <bb 9> [local count: 44208]:
  9380. # DEBUG BEGIN_STMT
  9381. # DEBUG BEGIN_STMT
  9382. pxIndex_22 = pxReadyTasksLists[_4].pxIndex;
  9383. # DEBUG pxIndex => pxIndex_22
  9384. # DEBUG BEGIN_STMT
  9385. # DEBUG BEGIN_STMT
  9386. # DEBUG BEGIN_STMT
  9387. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22;
  9388. # DEBUG BEGIN_STMT
  9389. _6 = pxIndex_22->pxPrevious;
  9390. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6;
  9391. # DEBUG BEGIN_STMT
  9392. _7 = pxIndex_22->pxPrevious;
  9393. _7->pxNext = _3;
  9394. # DEBUG BEGIN_STMT
  9395. pxIndex_22->pxPrevious = _3;
  9396. # DEBUG BEGIN_STMT
  9397. _8 = &pxReadyTasksLists[_4];
  9398. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8;
  9399. # DEBUG BEGIN_STMT
  9400. _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems;
  9401. _10 = _9 + 1;
  9402. pxReadyTasksLists[_4].uxNumberOfItems ={v} _10;
  9403. # DEBUG BEGIN_STMT
  9404. # DEBUG BEGIN_STMT
  9405. # DEBUG BEGIN_STMT
  9406. pxCurrentTCB.53_11 ={v} pxCurrentTCB;
  9407. _12 = pxCurrentTCB.53_11->uxPriority;
  9408. if (_4 >= _12)
  9409. goto <bb 10>; [50.00%]
  9410. else
  9411. goto <bb 11>; [50.00%]
  9412. <bb 10> [local count: 22104]:
  9413. # DEBUG BEGIN_STMT
  9414. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  9415. # DEBUG BEGIN_STMT
  9416. __asm__ __volatile__("dsb" : : : "memory");
  9417. # DEBUG BEGIN_STMT
  9418. __asm__ __volatile__("isb");
  9419. # DEBUG BEGIN_STMT
  9420. <bb 11> [local count: 133963]:
  9421. # DEBUG BEGIN_STMT
  9422. # DEBUG BEGIN_STMT
  9423. vPortExitCritical ();
  9424. <bb 12> [local count: 250539]:
  9425. # DEBUG BEGIN_STMT
  9426. return;
  9427. }
  9428. prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
  9429. {
  9430. uint32_t ulNewBASEPRI;
  9431. BaseType_t xReturn;
  9432. struct xLIST * _1;
  9433. <bb 2> [local count: 357913]:
  9434. # DEBUG BEGIN_STMT
  9435. # DEBUG xReturn => 0
  9436. # DEBUG BEGIN_STMT
  9437. # DEBUG pxTCB => xTask_5(D)
  9438. # DEBUG BEGIN_STMT
  9439. if (xTask_5(D) == 0B)
  9440. goto <bb 3>; [30.00%]
  9441. else
  9442. goto <bb 5>; [70.00%]
  9443. <bb 3> [local count: 107374]:
  9444. # DEBUG BEGIN_STMT
  9445. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9446. # DEBUG BEGIN_STMT
  9447. # DEBUG BEGIN_STMT
  9448. __asm__ __volatile__(" mov %0, %1
  9449. msr basepri, %0
  9450. isb
  9451. dsb
  9452. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  9453. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  9454. <bb 4> [local count: 1073741824]:
  9455. # DEBUG ulNewBASEPRI => NULL
  9456. # DEBUG BEGIN_STMT
  9457. # DEBUG BEGIN_STMT
  9458. # DEBUG BEGIN_STMT
  9459. <bb 8> [local count: 1073741824]:
  9460. goto <bb 4>; [100.00%]
  9461. <bb 5> [local count: 250539]:
  9462. # DEBUG BEGIN_STMT
  9463. # DEBUG BEGIN_STMT
  9464. _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  9465. if (_1 == &xSuspendedTaskList)
  9466. goto <bb 6>; [30.00%]
  9467. else
  9468. goto <bb 7>; [70.00%]
  9469. <bb 6> [local count: 75162]:
  9470. xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D));
  9471. <bb 7> [local count: 250539]:
  9472. # xReturn_3 = PHI <0(5), xReturn_2(6)>
  9473. # DEBUG xReturn => xReturn_3
  9474. # DEBUG BEGIN_STMT
  9475. # DEBUG BEGIN_STMT
  9476. return xReturn_3;
  9477. }
  9478. vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
  9479. {
  9480. uint32_t ulNewBASEPRI;
  9481. BaseType_t x;
  9482. struct ListItem_t * _1;
  9483. struct xLIST * _2;
  9484. struct ListItem_t * _3;
  9485. unsigned char _4;
  9486. long int xSchedulerRunning.46_5;
  9487. struct TCB_t * pxCurrentTCB.47_6;
  9488. long int xSchedulerRunning.48_7;
  9489. long unsigned int uxSchedulerSuspended.49_8;
  9490. long unsigned int _9;
  9491. long unsigned int uxCurrentNumberOfTasks.50_10;
  9492. struct TCB_t * iftmp.45_12;
  9493. struct TCB_t * iftmp.45_21;
  9494. <bb 2> [local count: 1431653]:
  9495. # DEBUG BEGIN_STMT
  9496. # DEBUG BEGIN_STMT
  9497. vPortEnterCritical ();
  9498. # DEBUG BEGIN_STMT
  9499. if (xTaskToSuspend_20(D) == 0B)
  9500. goto <bb 3>; [30.00%]
  9501. else
  9502. goto <bb 4>; [70.00%]
  9503. <bb 3> [local count: 429496]:
  9504. iftmp.45_21 ={v} pxCurrentTCB;
  9505. <bb 4> [local count: 1431653]:
  9506. # iftmp.45_12 = PHI <iftmp.45_21(3), xTaskToSuspend_20(D)(2)>
  9507. # DEBUG pxTCB => iftmp.45_12
  9508. # DEBUG BEGIN_STMT
  9509. # DEBUG BEGIN_STMT
  9510. _1 = &iftmp.45_12->xStateListItem;
  9511. uxListRemove (_1);
  9512. # DEBUG BEGIN_STMT
  9513. # DEBUG BEGIN_STMT
  9514. _2 = iftmp.45_12->xEventListItem.pvContainer;
  9515. if (_2 != 0B)
  9516. goto <bb 5>; [53.47%]
  9517. else
  9518. goto <bb 6>; [46.53%]
  9519. <bb 5> [local count: 765505]:
  9520. # DEBUG BEGIN_STMT
  9521. _3 = &iftmp.45_12->xEventListItem;
  9522. uxListRemove (_3);
  9523. <bb 6> [local count: 1431653]:
  9524. # DEBUG BEGIN_STMT
  9525. # DEBUG BEGIN_STMT
  9526. vListInsertEnd (&xSuspendedTaskList, _1);
  9527. # DEBUG BEGIN_STMT
  9528. # DEBUG BEGIN_STMT
  9529. # DEBUG x => 0
  9530. goto <bb 9>; [100.00%]
  9531. <bb 7> [local count: 24598407]:
  9532. # DEBUG BEGIN_STMT
  9533. _4 ={v} iftmp.45_12->ucNotifyState[0];
  9534. if (_4 == 1)
  9535. goto <bb 8>; [67.00%]
  9536. else
  9537. goto <bb 24>; [33.00%]
  9538. <bb 24> [local count: 8117474]:
  9539. goto <bb 10>; [100.00%]
  9540. <bb 8> [local count: 16480933]:
  9541. # DEBUG BEGIN_STMT
  9542. iftmp.45_12->ucNotifyState[0] ={v} 0;
  9543. <bb 9> [local count: 17912586]:
  9544. # x_14 = PHI <0(6), 1(8)>
  9545. <bb 10> [local count: 26030061]:
  9546. # x_11 = PHI <x_14(9), 1(24)>
  9547. # DEBUG x => x_11
  9548. # DEBUG BEGIN_STMT
  9549. if (x_11 == 0)
  9550. goto <bb 7>; [94.50%]
  9551. else
  9552. goto <bb 11>; [5.50%]
  9553. <bb 11> [local count: 1431653]:
  9554. # DEBUG BEGIN_STMT
  9555. vPortExitCritical ();
  9556. # DEBUG BEGIN_STMT
  9557. xSchedulerRunning.46_5 ={v} xSchedulerRunning;
  9558. if (xSchedulerRunning.46_5 != 0)
  9559. goto <bb 12>; [33.00%]
  9560. else
  9561. goto <bb 13>; [67.00%]
  9562. <bb 12> [local count: 472446]:
  9563. # DEBUG BEGIN_STMT
  9564. vPortEnterCritical ();
  9565. # DEBUG BEGIN_STMT
  9566. prvResetNextTaskUnblockTime ();
  9567. # DEBUG BEGIN_STMT
  9568. vPortExitCritical ();
  9569. <bb 13> [local count: 1431653]:
  9570. # DEBUG BEGIN_STMT
  9571. # DEBUG BEGIN_STMT
  9572. pxCurrentTCB.47_6 ={v} pxCurrentTCB;
  9573. if (pxCurrentTCB.47_6 == iftmp.45_12)
  9574. goto <bb 14>; [30.00%]
  9575. else
  9576. goto <bb 22>; [70.00%]
  9577. <bb 14> [local count: 429496]:
  9578. # DEBUG BEGIN_STMT
  9579. xSchedulerRunning.48_7 ={v} xSchedulerRunning;
  9580. if (xSchedulerRunning.48_7 != 0)
  9581. goto <bb 15>; [50.00%]
  9582. else
  9583. goto <bb 19>; [50.00%]
  9584. <bb 15> [local count: 214748]:
  9585. # DEBUG BEGIN_STMT
  9586. uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended;
  9587. if (uxSchedulerSuspended.49_8 != 0)
  9588. goto <bb 16>; [50.00%]
  9589. else
  9590. goto <bb 18>; [50.00%]
  9591. <bb 16> [local count: 107374]:
  9592. # DEBUG BEGIN_STMT
  9593. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9594. # DEBUG BEGIN_STMT
  9595. # DEBUG BEGIN_STMT
  9596. __asm__ __volatile__(" mov %0, %1
  9597. msr basepri, %0
  9598. isb
  9599. dsb
  9600. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  9601. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  9602. <bb 17> [local count: 1073741824]:
  9603. # DEBUG ulNewBASEPRI => NULL
  9604. # DEBUG BEGIN_STMT
  9605. # DEBUG BEGIN_STMT
  9606. # DEBUG BEGIN_STMT
  9607. <bb 23> [local count: 1073741824]:
  9608. goto <bb 17>; [100.00%]
  9609. <bb 18> [local count: 107374]:
  9610. # DEBUG BEGIN_STMT
  9611. # DEBUG BEGIN_STMT
  9612. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  9613. # DEBUG BEGIN_STMT
  9614. __asm__ __volatile__("dsb" : : : "memory");
  9615. # DEBUG BEGIN_STMT
  9616. __asm__ __volatile__("isb");
  9617. # DEBUG BEGIN_STMT
  9618. goto <bb 22>; [100.00%]
  9619. <bb 19> [local count: 214748]:
  9620. # DEBUG BEGIN_STMT
  9621. _9 ={v} xSuspendedTaskList.uxNumberOfItems;
  9622. uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks;
  9623. if (_9 == uxCurrentNumberOfTasks.50_10)
  9624. goto <bb 20>; [51.12%]
  9625. else
  9626. goto <bb 21>; [48.88%]
  9627. <bb 20> [local count: 109779]:
  9628. # DEBUG BEGIN_STMT
  9629. pxCurrentTCB ={v} 0B;
  9630. goto <bb 22>; [100.00%]
  9631. <bb 21> [local count: 104969]:
  9632. # DEBUG BEGIN_STMT
  9633. vTaskSwitchContext ();
  9634. <bb 22> [local count: 1324279]:
  9635. # DEBUG BEGIN_STMT
  9636. return;
  9637. }
  9638. vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
  9639. {
  9640. uint32_t ulNewBASEPRI;
  9641. struct ListItem_t * const pxIndex;
  9642. BaseType_t xYieldRequired;
  9643. UBaseType_t uxPriorityUsedOnEntry;
  9644. UBaseType_t uxCurrentBasePriority;
  9645. struct TCB_t * pxCurrentTCB.41_1;
  9646. struct TCB_t * pxCurrentTCB.42_2;
  9647. long unsigned int _3;
  9648. struct TCB_t * pxCurrentTCB.43_4;
  9649. long unsigned int _5;
  9650. signed int _6;
  9651. long unsigned int _7;
  9652. struct xLIST * _8;
  9653. struct List_t * _9;
  9654. struct ListItem_t * _10;
  9655. long unsigned int _11;
  9656. long unsigned int uxTopReadyPriority.44_12;
  9657. struct xLIST_ITEM * _13;
  9658. struct xLIST_ITEM * _14;
  9659. struct List_t * _15;
  9660. long unsigned int _16;
  9661. long unsigned int _17;
  9662. struct TCB_t * iftmp.40_19;
  9663. struct TCB_t * iftmp.40_29;
  9664. <bb 2> [local count: 160260]:
  9665. # DEBUG BEGIN_STMT
  9666. # DEBUG BEGIN_STMT
  9667. # DEBUG BEGIN_STMT
  9668. # DEBUG xYieldRequired => 0
  9669. # DEBUG BEGIN_STMT
  9670. if (uxNewPriority_25(D) > 4)
  9671. goto <bb 3>; [67.00%]
  9672. else
  9673. goto <bb 5>; [33.00%]
  9674. <bb 3> [local count: 107374]:
  9675. # DEBUG BEGIN_STMT
  9676. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9677. # DEBUG BEGIN_STMT
  9678. # DEBUG BEGIN_STMT
  9679. __asm__ __volatile__(" mov %0, %1
  9680. msr basepri, %0
  9681. isb
  9682. dsb
  9683. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  9684. # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
  9685. <bb 4> [local count: 1073741824]:
  9686. # DEBUG ulNewBASEPRI => NULL
  9687. # DEBUG BEGIN_STMT
  9688. # DEBUG BEGIN_STMT
  9689. # DEBUG BEGIN_STMT
  9690. <bb 25> [local count: 1073741824]:
  9691. goto <bb 4>; [100.00%]
  9692. <bb 5> [local count: 52886]:
  9693. # DEBUG BEGIN_STMT
  9694. # DEBUG BEGIN_STMT
  9695. # DEBUG uxNewPriority => uxNewPriority_25(D)
  9696. # DEBUG BEGIN_STMT
  9697. # DEBUG BEGIN_STMT
  9698. vPortEnterCritical ();
  9699. # DEBUG BEGIN_STMT
  9700. if (xTask_28(D) == 0B)
  9701. goto <bb 6>; [30.00%]
  9702. else
  9703. goto <bb 7>; [70.00%]
  9704. <bb 6> [local count: 15866]:
  9705. iftmp.40_29 ={v} pxCurrentTCB;
  9706. <bb 7> [local count: 52886]:
  9707. # iftmp.40_19 = PHI <iftmp.40_29(6), xTask_28(D)(5)>
  9708. # DEBUG pxTCB => iftmp.40_19
  9709. # DEBUG BEGIN_STMT
  9710. # DEBUG BEGIN_STMT
  9711. uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority;
  9712. # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30
  9713. # DEBUG BEGIN_STMT
  9714. if (uxNewPriority_25(D) != uxCurrentBasePriority_30)
  9715. goto <bb 8>; [66.00%]
  9716. else
  9717. goto <bb 24>; [34.00%]
  9718. <bb 8> [local count: 34905]:
  9719. # DEBUG BEGIN_STMT
  9720. if (uxNewPriority_25(D) > uxCurrentBasePriority_30)
  9721. goto <bb 9>; [50.00%]
  9722. else
  9723. goto <bb 12>; [50.00%]
  9724. <bb 9> [local count: 17452]:
  9725. # DEBUG BEGIN_STMT
  9726. pxCurrentTCB.41_1 ={v} pxCurrentTCB;
  9727. if (pxCurrentTCB.41_1 != iftmp.40_19)
  9728. goto <bb 10>; [70.00%]
  9729. else
  9730. goto <bb 14>; [30.00%]
  9731. <bb 10> [local count: 12217]:
  9732. # DEBUG BEGIN_STMT
  9733. pxCurrentTCB.42_2 ={v} pxCurrentTCB;
  9734. _3 = pxCurrentTCB.42_2->uxPriority;
  9735. if (_3 <= uxNewPriority_25(D))
  9736. goto <bb 11>; [50.00%]
  9737. else
  9738. goto <bb 14>; [50.00%]
  9739. <bb 11> [local count: 6108]:
  9740. # DEBUG BEGIN_STMT
  9741. # DEBUG xYieldRequired => 1
  9742. goto <bb 14>; [100.00%]
  9743. <bb 12> [local count: 17452]:
  9744. # DEBUG BEGIN_STMT
  9745. pxCurrentTCB.43_4 ={v} pxCurrentTCB;
  9746. if (pxCurrentTCB.43_4 == iftmp.40_19)
  9747. goto <bb 13>; [30.00%]
  9748. else
  9749. goto <bb 14>; [70.00%]
  9750. <bb 13> [local count: 5236]:
  9751. # DEBUG BEGIN_STMT
  9752. # DEBUG xYieldRequired => 1
  9753. <bb 14> [local count: 34905]:
  9754. # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)>
  9755. # DEBUG xYieldRequired => xYieldRequired_18
  9756. # DEBUG BEGIN_STMT
  9757. # DEBUG BEGIN_STMT
  9758. uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority;
  9759. # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31
  9760. # DEBUG BEGIN_STMT
  9761. if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31)
  9762. goto <bb 15>; [34.00%]
  9763. else
  9764. goto <bb 16>; [66.00%]
  9765. <bb 15> [local count: 11868]:
  9766. # DEBUG BEGIN_STMT
  9767. iftmp.40_19->uxPriority = uxNewPriority_25(D);
  9768. <bb 16> [local count: 34905]:
  9769. # DEBUG BEGIN_STMT
  9770. # DEBUG BEGIN_STMT
  9771. iftmp.40_19->uxBasePriority = uxNewPriority_25(D);
  9772. # DEBUG BEGIN_STMT
  9773. _5 = iftmp.40_19->xEventListItem.xItemValue;
  9774. _6 = (signed int) _5;
  9775. if (_6 >= 0)
  9776. goto <bb 17>; [59.00%]
  9777. else
  9778. goto <bb 18>; [41.00%]
  9779. <bb 17> [local count: 20594]:
  9780. # DEBUG BEGIN_STMT
  9781. _7 = 5 - uxNewPriority_25(D);
  9782. iftmp.40_19->xEventListItem.xItemValue = _7;
  9783. <bb 18> [local count: 34905]:
  9784. # DEBUG BEGIN_STMT
  9785. # DEBUG BEGIN_STMT
  9786. _8 = iftmp.40_19->xStateListItem.pvContainer;
  9787. _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31];
  9788. if (_8 == _9)
  9789. goto <bb 19>; [17.43%]
  9790. else
  9791. goto <bb 22>; [82.57%]
  9792. <bb 19> [local count: 6084]:
  9793. # DEBUG BEGIN_STMT
  9794. _10 = &iftmp.40_19->xStateListItem;
  9795. uxListRemove (_10);
  9796. # DEBUG BEGIN_STMT
  9797. # DEBUG BEGIN_STMT
  9798. # DEBUG BEGIN_STMT
  9799. _11 = iftmp.40_19->uxPriority;
  9800. uxTopReadyPriority.44_12 ={v} uxTopReadyPriority;
  9801. if (_11 > uxTopReadyPriority.44_12)
  9802. goto <bb 20>; [50.00%]
  9803. else
  9804. goto <bb 21>; [50.00%]
  9805. <bb 20> [local count: 3042]:
  9806. # DEBUG BEGIN_STMT
  9807. uxTopReadyPriority ={v} _11;
  9808. <bb 21> [local count: 6084]:
  9809. # DEBUG BEGIN_STMT
  9810. # DEBUG BEGIN_STMT
  9811. pxIndex_37 = pxReadyTasksLists[_11].pxIndex;
  9812. # DEBUG pxIndex => pxIndex_37
  9813. # DEBUG BEGIN_STMT
  9814. # DEBUG BEGIN_STMT
  9815. # DEBUG BEGIN_STMT
  9816. iftmp.40_19->xStateListItem.pxNext = pxIndex_37;
  9817. # DEBUG BEGIN_STMT
  9818. _13 = pxIndex_37->pxPrevious;
  9819. iftmp.40_19->xStateListItem.pxPrevious = _13;
  9820. # DEBUG BEGIN_STMT
  9821. _14 = pxIndex_37->pxPrevious;
  9822. _14->pxNext = _10;
  9823. # DEBUG BEGIN_STMT
  9824. pxIndex_37->pxPrevious = _10;
  9825. # DEBUG BEGIN_STMT
  9826. _15 = &pxReadyTasksLists[_11];
  9827. iftmp.40_19->xStateListItem.pvContainer = _15;
  9828. # DEBUG BEGIN_STMT
  9829. _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
  9830. _17 = _16 + 1;
  9831. pxReadyTasksLists[_11].uxNumberOfItems ={v} _17;
  9832. # DEBUG BEGIN_STMT
  9833. # DEBUG BEGIN_STMT
  9834. <bb 22> [local count: 34905]:
  9835. # DEBUG BEGIN_STMT
  9836. # DEBUG BEGIN_STMT
  9837. if (xYieldRequired_18 != 0)
  9838. goto <bb 23>; [50.00%]
  9839. else
  9840. goto <bb 24>; [50.00%]
  9841. <bb 23> [local count: 17452]:
  9842. # DEBUG BEGIN_STMT
  9843. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  9844. # DEBUG BEGIN_STMT
  9845. __asm__ __volatile__("dsb" : : : "memory");
  9846. # DEBUG BEGIN_STMT
  9847. __asm__ __volatile__("isb");
  9848. # DEBUG BEGIN_STMT
  9849. <bb 24> [local count: 52886]:
  9850. # DEBUG BEGIN_STMT
  9851. # DEBUG BEGIN_STMT
  9852. # DEBUG BEGIN_STMT
  9853. vPortExitCritical ();
  9854. return;
  9855. }
  9856. uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
  9857. {
  9858. uint32_t ulOriginalBASEPRI;
  9859. uint32_t ulNewBASEPRI;
  9860. UBaseType_t uxReturn;
  9861. const struct TCB_t * iftmp.39_1;
  9862. const struct TCB_t * iftmp.39_5;
  9863. <bb 2> [local count: 1073741824]:
  9864. # DEBUG BEGIN_STMT
  9865. # DEBUG BEGIN_STMT
  9866. # DEBUG BEGIN_STMT
  9867. vPortValidateInterruptPriority ();
  9868. # DEBUG BEGIN_STMT
  9869. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  9870. # DEBUG BEGIN_STMT
  9871. # DEBUG BEGIN_STMT
  9872. __asm__ __volatile__(" mrs %0, basepri
  9873. mov %1, %2
  9874. msr basepri, %1
  9875. isb
  9876. dsb
  9877. " : "=r" ulOriginalBASEPRI_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  9878. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  9879. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7
  9880. # DEBUG BEGIN_STMT
  9881. # DEBUG ulNewBASEPRI => NULL
  9882. # DEBUG ulOriginalBASEPRI => NULL
  9883. # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7
  9884. # DEBUG BEGIN_STMT
  9885. if (xTask_4(D) == 0B)
  9886. goto <bb 3>; [30.00%]
  9887. else
  9888. goto <bb 4>; [70.00%]
  9889. <bb 3> [local count: 322122547]:
  9890. iftmp.39_5 ={v} pxCurrentTCB;
  9891. <bb 4> [local count: 1073741824]:
  9892. # iftmp.39_1 = PHI <iftmp.39_5(3), xTask_4(D)(2)>
  9893. # DEBUG pxTCB => iftmp.39_1
  9894. # DEBUG BEGIN_STMT
  9895. uxReturn_6 = iftmp.39_1->uxPriority;
  9896. # DEBUG uxReturn => uxReturn_6
  9897. # DEBUG BEGIN_STMT
  9898. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7
  9899. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  9900. # DEBUG BEGIN_STMT
  9901. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory");
  9902. # DEBUG ulNewMaskValue => NULL
  9903. # DEBUG BEGIN_STMT
  9904. return uxReturn_6;
  9905. }
  9906. uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
  9907. {
  9908. UBaseType_t uxReturn;
  9909. const struct TCB_t * iftmp.38_1;
  9910. const struct TCB_t * iftmp.38_5;
  9911. <bb 2> [local count: 1073741824]:
  9912. # DEBUG BEGIN_STMT
  9913. # DEBUG BEGIN_STMT
  9914. # DEBUG BEGIN_STMT
  9915. vPortEnterCritical ();
  9916. # DEBUG BEGIN_STMT
  9917. if (xTask_4(D) == 0B)
  9918. goto <bb 3>; [30.00%]
  9919. else
  9920. goto <bb 4>; [70.00%]
  9921. <bb 3> [local count: 322122547]:
  9922. iftmp.38_5 ={v} pxCurrentTCB;
  9923. <bb 4> [local count: 1073741824]:
  9924. # iftmp.38_1 = PHI <iftmp.38_5(3), xTask_4(D)(2)>
  9925. # DEBUG pxTCB => iftmp.38_1
  9926. # DEBUG BEGIN_STMT
  9927. uxReturn_6 = iftmp.38_1->uxPriority;
  9928. # DEBUG uxReturn => uxReturn_6
  9929. # DEBUG BEGIN_STMT
  9930. vPortExitCritical ();
  9931. # DEBUG BEGIN_STMT
  9932. return uxReturn_6;
  9933. }
  9934. eTaskGetState (struct tskTaskControlBlock * xTask)
  9935. {
  9936. uint32_t ulNewBASEPRI;
  9937. BaseType_t x;
  9938. const struct List_t * pxOverflowedDelayedList;
  9939. const struct List_t * pxDelayedList;
  9940. const struct List_t * pxStateList;
  9941. eTaskState eReturn;
  9942. struct TCB_t * pxCurrentTCB.37_1;
  9943. struct xLIST * _2;
  9944. <bb 2> [local count: 357913]:
  9945. # DEBUG BEGIN_STMT
  9946. # DEBUG BEGIN_STMT
  9947. # DEBUG BEGIN_STMT
  9948. # DEBUG pxTCB => xTask_5(D)
  9949. # DEBUG BEGIN_STMT
  9950. if (xTask_5(D) == 0B)
  9951. goto <bb 3>; [30.00%]
  9952. else
  9953. goto <bb 5>; [70.00%]
  9954. <bb 3> [local count: 107374]:
  9955. # DEBUG BEGIN_STMT
  9956. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9957. # DEBUG BEGIN_STMT
  9958. # DEBUG BEGIN_STMT
  9959. __asm__ __volatile__(" mov %0, %1
  9960. msr basepri, %0
  9961. isb
  9962. dsb
  9963. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  9964. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  9965. <bb 4> [local count: 1073741824]:
  9966. # DEBUG ulNewBASEPRI => NULL
  9967. # DEBUG BEGIN_STMT
  9968. # DEBUG BEGIN_STMT
  9969. # DEBUG BEGIN_STMT
  9970. <bb 15> [local count: 1073741824]:
  9971. goto <bb 4>; [100.00%]
  9972. <bb 5> [local count: 250539]:
  9973. # DEBUG BEGIN_STMT
  9974. # DEBUG BEGIN_STMT
  9975. pxCurrentTCB.37_1 ={v} pxCurrentTCB;
  9976. if (pxCurrentTCB.37_1 == xTask_5(D))
  9977. goto <bb 14>; [46.53%]
  9978. else
  9979. goto <bb 6>; [53.47%]
  9980. <bb 6> [local count: 133963]:
  9981. # DEBUG BEGIN_STMT
  9982. vPortEnterCritical ();
  9983. # DEBUG BEGIN_STMT
  9984. pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  9985. # DEBUG pxStateList => pxStateList_9
  9986. # DEBUG BEGIN_STMT
  9987. pxDelayedList_10 ={v} pxDelayedTaskList;
  9988. # DEBUG pxDelayedList => pxDelayedList_10
  9989. # DEBUG BEGIN_STMT
  9990. pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList;
  9991. # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11
  9992. # DEBUG BEGIN_STMT
  9993. vPortExitCritical ();
  9994. # DEBUG BEGIN_STMT
  9995. if (pxStateList_9 == pxDelayedList_10)
  9996. goto <bb 14>; [18.75%]
  9997. else
  9998. goto <bb 7>; [81.25%]
  9999. <bb 7> [local count: 108845]:
  10000. if (pxStateList_9 == pxOverflowedDelayedList_11)
  10001. goto <bb 14>; [18.75%]
  10002. else
  10003. goto <bb 8>; [81.25%]
  10004. <bb 8> [local count: 88437]:
  10005. # DEBUG BEGIN_STMT
  10006. if (pxStateList_9 == &xSuspendedTaskList)
  10007. goto <bb 9>; [30.00%]
  10008. else
  10009. goto <bb 11>; [70.00%]
  10010. <bb 9> [local count: 26531]:
  10011. # DEBUG BEGIN_STMT
  10012. _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer;
  10013. if (_2 == 0B)
  10014. goto <bb 10>; [44.32%]
  10015. else
  10016. goto <bb 14>; [55.68%]
  10017. <bb 10> [local count: 11759]:
  10018. # x_4 = PHI <0(9)>
  10019. eReturn_13 = eTaskGetState.part.0 (xTask_5(D));
  10020. goto <bb 14>; [100.00%]
  10021. <bb 11> [local count: 61906]:
  10022. # DEBUG BEGIN_STMT
  10023. if (pxStateList_9 == &xTasksWaitingTermination)
  10024. goto <bb 14>; [18.75%]
  10025. else
  10026. goto <bb 12>; [81.25%]
  10027. <bb 12> [local count: 50298]:
  10028. if (pxStateList_9 == 0B)
  10029. goto <bb 14>; [18.75%]
  10030. else
  10031. goto <bb 13>; [81.25%]
  10032. <bb 13> [local count: 40867]:
  10033. # DEBUG BEGIN_STMT
  10034. # DEBUG eReturn => 1
  10035. <bb 14> [local count: 250539]:
  10036. # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(12), 1(13), 4(11), eReturn_13(10), 2(6)>
  10037. # DEBUG eReturn => eReturn_3
  10038. # DEBUG BEGIN_STMT
  10039. return eReturn_3;
  10040. }
  10041. vTaskDelay (const TickType_t xTicksToDelay)
  10042. {
  10043. uint32_t ulNewBASEPRI;
  10044. BaseType_t xAlreadyYielded;
  10045. long unsigned int uxSchedulerSuspended.36_1;
  10046. <bb 2> [local count: 320519]:
  10047. # DEBUG BEGIN_STMT
  10048. # DEBUG xAlreadyYielded => 0
  10049. # DEBUG BEGIN_STMT
  10050. if (xTicksToDelay_3(D) != 0)
  10051. goto <bb 4>; [50.00%]
  10052. else
  10053. goto <bb 8>; [50.00%]
  10054. <bb 4> [local count: 160260]:
  10055. # DEBUG BEGIN_STMT
  10056. uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended;
  10057. if (uxSchedulerSuspended.36_1 != 0)
  10058. goto <bb 5>; [67.00%]
  10059. else
  10060. goto <bb 7>; [33.00%]
  10061. <bb 5> [local count: 107374]:
  10062. # DEBUG BEGIN_STMT
  10063. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10064. # DEBUG BEGIN_STMT
  10065. # DEBUG BEGIN_STMT
  10066. __asm__ __volatile__(" mov %0, %1
  10067. msr basepri, %0
  10068. isb
  10069. dsb
  10070. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  10071. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  10072. <bb 6> [local count: 1073741824]:
  10073. # DEBUG ulNewBASEPRI => NULL
  10074. # DEBUG BEGIN_STMT
  10075. # DEBUG BEGIN_STMT
  10076. # DEBUG BEGIN_STMT
  10077. <bb 10> [local count: 1073741824]:
  10078. goto <bb 6>; [100.00%]
  10079. <bb 7> [local count: 52886]:
  10080. # DEBUG BEGIN_STMT
  10081. # DEBUG BEGIN_STMT
  10082. vTaskSuspendAll ();
  10083. # DEBUG BEGIN_STMT
  10084. # DEBUG BEGIN_STMT
  10085. prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0);
  10086. # DEBUG BEGIN_STMT
  10087. xAlreadyYielded_8 = xTaskResumeAll ();
  10088. # DEBUG xAlreadyYielded => xAlreadyYielded_8
  10089. # DEBUG BEGIN_STMT
  10090. # DEBUG BEGIN_STMT
  10091. if (xAlreadyYielded_8 == 0)
  10092. goto <bb 8>; [50.00%]
  10093. else
  10094. goto <bb 9>; [50.00%]
  10095. <bb 8> [local count: 186703]:
  10096. # DEBUG xAlreadyYielded => NULL
  10097. # DEBUG BEGIN_STMT
  10098. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  10099. # DEBUG BEGIN_STMT
  10100. __asm__ __volatile__("dsb" : : : "memory");
  10101. # DEBUG BEGIN_STMT
  10102. __asm__ __volatile__("isb");
  10103. # DEBUG BEGIN_STMT
  10104. <bb 9> [local count: 213145]:
  10105. # DEBUG BEGIN_STMT
  10106. return;
  10107. }
  10108. xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
  10109. {
  10110. uint32_t ulNewBASEPRI;
  10111. uint32_t ulNewBASEPRI;
  10112. uint32_t ulNewBASEPRI;
  10113. const TickType_t xConstTickCount;
  10114. BaseType_t xShouldDelay;
  10115. BaseType_t xAlreadyYielded;
  10116. TickType_t xTimeToWake;
  10117. long unsigned int uxSchedulerSuspended.22_1;
  10118. long unsigned int _2;
  10119. long unsigned int _3;
  10120. <bb 2> [local count: 306783]:
  10121. # DEBUG BEGIN_STMT
  10122. # DEBUG BEGIN_STMT
  10123. # DEBUG xShouldDelay => 0
  10124. # DEBUG BEGIN_STMT
  10125. if (pxPreviousWakeTime_7(D) == 0B)
  10126. goto <bb 3>; [30.00%]
  10127. else
  10128. goto <bb 5>; [70.00%]
  10129. <bb 3> [local count: 92035]:
  10130. # DEBUG BEGIN_STMT
  10131. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10132. # DEBUG BEGIN_STMT
  10133. # DEBUG BEGIN_STMT
  10134. __asm__ __volatile__(" mov %0, %1
  10135. msr basepri, %0
  10136. isb
  10137. dsb
  10138. " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
  10139. # DEBUG ulNewBASEPRI => ulNewBASEPRI_21
  10140. <bb 4> [local count: 920350133]:
  10141. # DEBUG ulNewBASEPRI => NULL
  10142. # DEBUG BEGIN_STMT
  10143. # DEBUG BEGIN_STMT
  10144. # DEBUG BEGIN_STMT
  10145. <bb 25> [local count: 920350133]:
  10146. goto <bb 4>; [100.00%]
  10147. <bb 5> [local count: 214748]:
  10148. # DEBUG BEGIN_STMT
  10149. # DEBUG BEGIN_STMT
  10150. if (xTimeIncrement_8(D) == 0)
  10151. goto <bb 6>; [50.00%]
  10152. else
  10153. goto <bb 8>; [50.00%]
  10154. <bb 6> [local count: 107374]:
  10155. # DEBUG BEGIN_STMT
  10156. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10157. # DEBUG BEGIN_STMT
  10158. # DEBUG BEGIN_STMT
  10159. __asm__ __volatile__(" mov %0, %1
  10160. msr basepri, %0
  10161. isb
  10162. dsb
  10163. " : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
  10164. # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
  10165. <bb 7> [local count: 1073741823]:
  10166. # DEBUG ulNewBASEPRI => NULL
  10167. # DEBUG BEGIN_STMT
  10168. # DEBUG BEGIN_STMT
  10169. # DEBUG BEGIN_STMT
  10170. <bb 26> [local count: 1073741824]:
  10171. goto <bb 7>; [100.00%]
  10172. <bb 8> [local count: 107374]:
  10173. # DEBUG BEGIN_STMT
  10174. # DEBUG BEGIN_STMT
  10175. uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended;
  10176. if (uxSchedulerSuspended.22_1 != 0)
  10177. goto <bb 9>; [67.00%]
  10178. else
  10179. goto <bb 11>; [33.00%]
  10180. <bb 9> [local count: 71941]:
  10181. # DEBUG BEGIN_STMT
  10182. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10183. # DEBUG BEGIN_STMT
  10184. # DEBUG BEGIN_STMT
  10185. __asm__ __volatile__(" mov %0, %1
  10186. msr basepri, %0
  10187. isb
  10188. dsb
  10189. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  10190. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  10191. <bb 10> [local count: 719407021]:
  10192. # DEBUG ulNewBASEPRI => NULL
  10193. # DEBUG BEGIN_STMT
  10194. # DEBUG BEGIN_STMT
  10195. # DEBUG BEGIN_STMT
  10196. <bb 27> [local count: 719407021]:
  10197. goto <bb 10>; [100.00%]
  10198. <bb 11> [local count: 35433]:
  10199. # DEBUG BEGIN_STMT
  10200. # DEBUG BEGIN_STMT
  10201. vTaskSuspendAll ();
  10202. # DEBUG BEGIN_STMT
  10203. xConstTickCount_11 ={v} xTickCount;
  10204. # DEBUG xConstTickCount => xConstTickCount_11
  10205. # DEBUG BEGIN_STMT
  10206. _2 = *pxPreviousWakeTime_7(D);
  10207. xTimeToWake_12 = _2 + xTimeIncrement_8(D);
  10208. # DEBUG xTimeToWake => xTimeToWake_12
  10209. # DEBUG BEGIN_STMT
  10210. if (_2 > xConstTickCount_11)
  10211. goto <bb 12>; [50.00%]
  10212. else
  10213. goto <bb 17>; [50.00%]
  10214. <bb 12> [local count: 17717]:
  10215. # DEBUG BEGIN_STMT
  10216. if (_2 > xTimeToWake_12)
  10217. goto <bb 14>; [50.00%]
  10218. else
  10219. goto <bb 13>; [50.00%]
  10220. <bb 13> [local count: 8858]:
  10221. # DEBUG xShouldDelay => 0
  10222. # DEBUG BEGIN_STMT
  10223. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  10224. # DEBUG BEGIN_STMT
  10225. goto <bb 22>; [100.00%]
  10226. <bb 14> [local count: 8858]:
  10227. if (xConstTickCount_11 < xTimeToWake_12)
  10228. goto <bb 16>; [50.00%]
  10229. else
  10230. goto <bb 15>; [50.00%]
  10231. <bb 15> [local count: 4429]:
  10232. # DEBUG xShouldDelay => 0
  10233. # DEBUG BEGIN_STMT
  10234. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  10235. # DEBUG BEGIN_STMT
  10236. goto <bb 22>; [100.00%]
  10237. <bb 16> [local count: 4429]:
  10238. # DEBUG BEGIN_STMT
  10239. # DEBUG xShouldDelay => 1
  10240. # DEBUG BEGIN_STMT
  10241. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  10242. # DEBUG BEGIN_STMT
  10243. goto <bb 21>; [100.00%]
  10244. <bb 17> [local count: 17717]:
  10245. # DEBUG BEGIN_STMT
  10246. if (_2 > xTimeToWake_12)
  10247. goto <bb 19>; [50.00%]
  10248. else
  10249. goto <bb 18>; [50.00%]
  10250. <bb 18> [local count: 8858]:
  10251. if (xConstTickCount_11 < xTimeToWake_12)
  10252. goto <bb 19>; [50.00%]
  10253. else
  10254. goto <bb 20>; [50.00%]
  10255. <bb 19> [local count: 13288]:
  10256. # DEBUG BEGIN_STMT
  10257. # DEBUG xShouldDelay => 1
  10258. # DEBUG BEGIN_STMT
  10259. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  10260. # DEBUG BEGIN_STMT
  10261. goto <bb 21>; [100.00%]
  10262. <bb 20> [local count: 4429]:
  10263. # DEBUG xShouldDelay => 0
  10264. # DEBUG BEGIN_STMT
  10265. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  10266. # DEBUG BEGIN_STMT
  10267. goto <bb 22>; [100.00%]
  10268. <bb 21> [local count: 17717]:
  10269. # DEBUG BEGIN_STMT
  10270. # DEBUG BEGIN_STMT
  10271. _3 = xTimeToWake_12 - xConstTickCount_11;
  10272. prvAddCurrentTaskToDelayedList (_3, 0);
  10273. <bb 22> [local count: 35433]:
  10274. # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)>
  10275. # DEBUG BEGIN_STMT
  10276. # DEBUG BEGIN_STMT
  10277. xAlreadyYielded_16 = xTaskResumeAll ();
  10278. # DEBUG xAlreadyYielded => xAlreadyYielded_16
  10279. # DEBUG BEGIN_STMT
  10280. if (xAlreadyYielded_16 == 0)
  10281. goto <bb 23>; [50.00%]
  10282. else
  10283. goto <bb 24>; [50.00%]
  10284. <bb 23> [local count: 17717]:
  10285. # DEBUG BEGIN_STMT
  10286. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  10287. # DEBUG BEGIN_STMT
  10288. __asm__ __volatile__("dsb" : : : "memory");
  10289. # DEBUG BEGIN_STMT
  10290. __asm__ __volatile__("isb");
  10291. # DEBUG BEGIN_STMT
  10292. <bb 24> [local count: 35433]:
  10293. # DEBUG BEGIN_STMT
  10294. # DEBUG BEGIN_STMT
  10295. return xShouldDelay_29;
  10296. }
  10297. vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
  10298. {
  10299. uint32_t ulNewBASEPRI;
  10300. struct ListItem_t * _1;
  10301. struct xLIST * _2;
  10302. struct ListItem_t * _3;
  10303. long unsigned int uxTaskNumber.13_4;
  10304. long unsigned int _5;
  10305. struct TCB_t * pxCurrentTCB.14_6;
  10306. long unsigned int uxDeletedTasksWaitingCleanUp.15_7;
  10307. long unsigned int _8;
  10308. long unsigned int uxCurrentNumberOfTasks.16_9;
  10309. long unsigned int _10;
  10310. long int xSchedulerRunning.17_11;
  10311. struct TCB_t * pxCurrentTCB.18_12;
  10312. long unsigned int uxSchedulerSuspended.19_13;
  10313. struct TCB_t * iftmp.12_14;
  10314. struct TCB_t * iftmp.12_21;
  10315. <bb 2> [local count: 1431653]:
  10316. # DEBUG BEGIN_STMT
  10317. # DEBUG BEGIN_STMT
  10318. vPortEnterCritical ();
  10319. # DEBUG BEGIN_STMT
  10320. if (xTaskToDelete_20(D) == 0B)
  10321. goto <bb 3>; [30.00%]
  10322. else
  10323. goto <bb 4>; [70.00%]
  10324. <bb 3> [local count: 429496]:
  10325. iftmp.12_21 ={v} pxCurrentTCB;
  10326. <bb 4> [local count: 1431653]:
  10327. # iftmp.12_14 = PHI <iftmp.12_21(3), xTaskToDelete_20(D)(2)>
  10328. # DEBUG pxTCB => iftmp.12_14
  10329. # DEBUG BEGIN_STMT
  10330. _1 = &iftmp.12_14->xStateListItem;
  10331. uxListRemove (_1);
  10332. # DEBUG BEGIN_STMT
  10333. # DEBUG BEGIN_STMT
  10334. _2 = iftmp.12_14->xEventListItem.pvContainer;
  10335. if (_2 != 0B)
  10336. goto <bb 5>; [53.47%]
  10337. else
  10338. goto <bb 6>; [46.53%]
  10339. <bb 5> [local count: 765505]:
  10340. # DEBUG BEGIN_STMT
  10341. _3 = &iftmp.12_14->xEventListItem;
  10342. uxListRemove (_3);
  10343. <bb 6> [local count: 1431653]:
  10344. # DEBUG BEGIN_STMT
  10345. # DEBUG BEGIN_STMT
  10346. uxTaskNumber.13_4 = uxTaskNumber;
  10347. _5 = uxTaskNumber.13_4 + 1;
  10348. uxTaskNumber = _5;
  10349. # DEBUG BEGIN_STMT
  10350. pxCurrentTCB.14_6 ={v} pxCurrentTCB;
  10351. if (pxCurrentTCB.14_6 == iftmp.12_14)
  10352. goto <bb 7>; [30.00%]
  10353. else
  10354. goto <bb 8>; [70.00%]
  10355. <bb 7> [local count: 429496]:
  10356. # DEBUG BEGIN_STMT
  10357. vListInsertEnd (&xTasksWaitingTermination, _1);
  10358. # DEBUG BEGIN_STMT
  10359. uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp;
  10360. _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1;
  10361. uxDeletedTasksWaitingCleanUp ={v} _8;
  10362. # DEBUG BEGIN_STMT
  10363. # DEBUG BEGIN_STMT
  10364. goto <bb 9>; [100.00%]
  10365. <bb 8> [local count: 1002157]:
  10366. # DEBUG BEGIN_STMT
  10367. uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks;
  10368. _10 = uxCurrentNumberOfTasks.16_9 + 4294967295;
  10369. uxCurrentNumberOfTasks ={v} _10;
  10370. # DEBUG BEGIN_STMT
  10371. # DEBUG BEGIN_STMT
  10372. prvDeleteTCB (iftmp.12_14);
  10373. # DEBUG BEGIN_STMT
  10374. prvResetNextTaskUnblockTime ();
  10375. <bb 9> [local count: 1431653]:
  10376. # DEBUG BEGIN_STMT
  10377. vPortExitCritical ();
  10378. # DEBUG BEGIN_STMT
  10379. xSchedulerRunning.17_11 ={v} xSchedulerRunning;
  10380. if (xSchedulerRunning.17_11 != 0)
  10381. goto <bb 10>; [50.00%]
  10382. else
  10383. goto <bb 15>; [50.00%]
  10384. <bb 10> [local count: 715827]:
  10385. # DEBUG BEGIN_STMT
  10386. pxCurrentTCB.18_12 ={v} pxCurrentTCB;
  10387. if (pxCurrentTCB.18_12 == iftmp.12_14)
  10388. goto <bb 11>; [30.00%]
  10389. else
  10390. goto <bb 15>; [70.00%]
  10391. <bb 11> [local count: 214748]:
  10392. # DEBUG BEGIN_STMT
  10393. uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended;
  10394. if (uxSchedulerSuspended.19_13 != 0)
  10395. goto <bb 12>; [50.00%]
  10396. else
  10397. goto <bb 14>; [50.00%]
  10398. <bb 12> [local count: 107374]:
  10399. # DEBUG BEGIN_STMT
  10400. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10401. # DEBUG BEGIN_STMT
  10402. # DEBUG BEGIN_STMT
  10403. __asm__ __volatile__(" mov %0, %1
  10404. msr basepri, %0
  10405. isb
  10406. dsb
  10407. " : "=r" ulNewBASEPRI_34 : "i" 16 : "memory");
  10408. # DEBUG ulNewBASEPRI => ulNewBASEPRI_34
  10409. <bb 13> [local count: 1073741824]:
  10410. # DEBUG ulNewBASEPRI => NULL
  10411. # DEBUG BEGIN_STMT
  10412. # DEBUG BEGIN_STMT
  10413. # DEBUG BEGIN_STMT
  10414. <bb 16> [local count: 1073741824]:
  10415. goto <bb 13>; [100.00%]
  10416. <bb 14> [local count: 107374]:
  10417. # DEBUG BEGIN_STMT
  10418. # DEBUG BEGIN_STMT
  10419. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  10420. # DEBUG BEGIN_STMT
  10421. __asm__ __volatile__("dsb" : : : "memory");
  10422. # DEBUG BEGIN_STMT
  10423. __asm__ __volatile__("isb");
  10424. # DEBUG BEGIN_STMT
  10425. <bb 15> [local count: 1324279]:
  10426. # DEBUG BEGIN_STMT
  10427. return;
  10428. }
  10429. prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB)
  10430. {
  10431. struct ListItem_t * const pxIndex;
  10432. long unsigned int uxCurrentNumberOfTasks.2_1;
  10433. long unsigned int _2;
  10434. struct TCB_t * pxCurrentTCB.3_3;
  10435. long unsigned int uxCurrentNumberOfTasks.4_4;
  10436. long int xSchedulerRunning.5_5;
  10437. struct TCB_t * pxCurrentTCB.6_6;
  10438. long unsigned int _7;
  10439. long unsigned int _8;
  10440. long unsigned int uxTaskNumber.7_9;
  10441. long unsigned int _10;
  10442. long unsigned int _11;
  10443. long unsigned int uxTopReadyPriority.9_12;
  10444. struct xLIST_ITEM * _13;
  10445. struct xLIST_ITEM * _14;
  10446. struct ListItem_t * _15;
  10447. struct List_t * _16;
  10448. long unsigned int _17;
  10449. long unsigned int _18;
  10450. long int xSchedulerRunning.10_19;
  10451. struct TCB_t * pxCurrentTCB.11_20;
  10452. long unsigned int _21;
  10453. long unsigned int _22;
  10454. <bb 2> [local count: 1073741821]:
  10455. # DEBUG BEGIN_STMT
  10456. vPortEnterCritical ();
  10457. # DEBUG BEGIN_STMT
  10458. uxCurrentNumberOfTasks.2_1 ={v} uxCurrentNumberOfTasks;
  10459. _2 = uxCurrentNumberOfTasks.2_1 + 1;
  10460. uxCurrentNumberOfTasks ={v} _2;
  10461. # DEBUG BEGIN_STMT
  10462. pxCurrentTCB.3_3 ={v} pxCurrentTCB;
  10463. if (pxCurrentTCB.3_3 == 0B)
  10464. goto <bb 3>; [30.00%]
  10465. else
  10466. goto <bb 5>; [70.00%]
  10467. <bb 3> [local count: 322122546]:
  10468. # DEBUG BEGIN_STMT
  10469. pxCurrentTCB ={v} pxNewTCB_29(D);
  10470. # DEBUG BEGIN_STMT
  10471. uxCurrentNumberOfTasks.4_4 ={v} uxCurrentNumberOfTasks;
  10472. if (uxCurrentNumberOfTasks.4_4 == 1)
  10473. goto <bb 4>; [20.24%]
  10474. else
  10475. goto <bb 8>; [79.76%]
  10476. <bb 4> [local count: 65197603]:
  10477. # DEBUG BEGIN_STMT
  10478. prvInitialiseTaskLists ();
  10479. goto <bb 8>; [100.00%]
  10480. <bb 5> [local count: 751619275]:
  10481. # DEBUG BEGIN_STMT
  10482. xSchedulerRunning.5_5 ={v} xSchedulerRunning;
  10483. if (xSchedulerRunning.5_5 == 0)
  10484. goto <bb 6>; [50.00%]
  10485. else
  10486. goto <bb 8>; [50.00%]
  10487. <bb 6> [local count: 375809637]:
  10488. # DEBUG BEGIN_STMT
  10489. pxCurrentTCB.6_6 ={v} pxCurrentTCB;
  10490. _7 = pxCurrentTCB.6_6->uxPriority;
  10491. _8 = pxNewTCB_29(D)->uxPriority;
  10492. if (_7 <= _8)
  10493. goto <bb 7>; [50.00%]
  10494. else
  10495. goto <bb 8>; [50.00%]
  10496. <bb 7> [local count: 187904819]:
  10497. # DEBUG BEGIN_STMT
  10498. pxCurrentTCB ={v} pxNewTCB_29(D);
  10499. <bb 8> [local count: 1073741823]:
  10500. # DEBUG BEGIN_STMT
  10501. # DEBUG BEGIN_STMT
  10502. uxTaskNumber.7_9 = uxTaskNumber;
  10503. _10 = uxTaskNumber.7_9 + 1;
  10504. uxTaskNumber = _10;
  10505. # DEBUG BEGIN_STMT
  10506. pxNewTCB_29(D)->uxTCBNumber = _10;
  10507. # DEBUG BEGIN_STMT
  10508. # DEBUG BEGIN_STMT
  10509. # DEBUG BEGIN_STMT
  10510. _11 = pxNewTCB_29(D)->uxPriority;
  10511. uxTopReadyPriority.9_12 ={v} uxTopReadyPriority;
  10512. if (_11 > uxTopReadyPriority.9_12)
  10513. goto <bb 9>; [50.00%]
  10514. else
  10515. goto <bb 10>; [50.00%]
  10516. <bb 9> [local count: 536870911]:
  10517. # DEBUG BEGIN_STMT
  10518. uxTopReadyPriority ={v} _11;
  10519. <bb 10> [local count: 1073741823]:
  10520. # DEBUG BEGIN_STMT
  10521. # DEBUG BEGIN_STMT
  10522. pxIndex_36 = pxReadyTasksLists[_11].pxIndex;
  10523. # DEBUG pxIndex => pxIndex_36
  10524. # DEBUG BEGIN_STMT
  10525. # DEBUG BEGIN_STMT
  10526. # DEBUG BEGIN_STMT
  10527. pxNewTCB_29(D)->xStateListItem.pxNext = pxIndex_36;
  10528. # DEBUG BEGIN_STMT
  10529. _13 = pxIndex_36->pxPrevious;
  10530. pxNewTCB_29(D)->xStateListItem.pxPrevious = _13;
  10531. # DEBUG BEGIN_STMT
  10532. _14 = pxIndex_36->pxPrevious;
  10533. _15 = &pxNewTCB_29(D)->xStateListItem;
  10534. _14->pxNext = _15;
  10535. # DEBUG BEGIN_STMT
  10536. pxIndex_36->pxPrevious = _15;
  10537. # DEBUG BEGIN_STMT
  10538. _16 = &pxReadyTasksLists[_11];
  10539. pxNewTCB_29(D)->xStateListItem.pvContainer = _16;
  10540. # DEBUG BEGIN_STMT
  10541. _17 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
  10542. _18 = _17 + 1;
  10543. pxReadyTasksLists[_11].uxNumberOfItems ={v} _18;
  10544. # DEBUG BEGIN_STMT
  10545. # DEBUG BEGIN_STMT
  10546. # DEBUG BEGIN_STMT
  10547. # DEBUG BEGIN_STMT
  10548. vPortExitCritical ();
  10549. # DEBUG BEGIN_STMT
  10550. xSchedulerRunning.10_19 ={v} xSchedulerRunning;
  10551. if (xSchedulerRunning.10_19 != 0)
  10552. goto <bb 11>; [50.00%]
  10553. else
  10554. goto <bb 13>; [50.00%]
  10555. <bb 11> [local count: 536870911]:
  10556. # DEBUG BEGIN_STMT
  10557. pxCurrentTCB.11_20 ={v} pxCurrentTCB;
  10558. _21 = pxCurrentTCB.11_20->uxPriority;
  10559. _22 = pxNewTCB_29(D)->uxPriority;
  10560. if (_21 < _22)
  10561. goto <bb 12>; [50.00%]
  10562. else
  10563. goto <bb 13>; [50.00%]
  10564. <bb 12> [local count: 268435456]:
  10565. # DEBUG BEGIN_STMT
  10566. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  10567. # DEBUG BEGIN_STMT
  10568. __asm__ __volatile__("dsb" : : : "memory");
  10569. # DEBUG BEGIN_STMT
  10570. __asm__ __volatile__("isb");
  10571. # DEBUG BEGIN_STMT
  10572. <bb 13> [local count: 1073741824]:
  10573. # DEBUG BEGIN_STMT
  10574. return;
  10575. }
  10576. xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask)
  10577. {
  10578. StackType_t * pxStack;
  10579. BaseType_t xReturn;
  10580. struct TCB_t * pxNewTCB;
  10581. unsigned int _1;
  10582. unsigned int _2;
  10583. <bb 2> [local count: 1073741824]:
  10584. # DEBUG BEGIN_STMT
  10585. # DEBUG BEGIN_STMT
  10586. # DEBUG BEGIN_STMT
  10587. # DEBUG BEGIN_STMT
  10588. _1 = (unsigned int) usStackDepth_6(D);
  10589. _2 = _1 * 4;
  10590. pxStack_9 = pvPortMalloc (_2);
  10591. # DEBUG pxStack => pxStack_9
  10592. # DEBUG BEGIN_STMT
  10593. if (pxStack_9 != 0B)
  10594. goto <bb 4>; [53.47%]
  10595. else
  10596. goto <bb 9>; [46.53%]
  10597. <bb 4> [local count: 574129754]:
  10598. # DEBUG BEGIN_STMT
  10599. pxNewTCB_11 = pvPortMalloc (88);
  10600. # DEBUG pxNewTCB => pxNewTCB_11
  10601. # DEBUG BEGIN_STMT
  10602. if (pxNewTCB_11 != 0B)
  10603. goto <bb 5>; [82.57%]
  10604. else
  10605. goto <bb 6>; [17.43%]
  10606. <bb 5> [local count: 474058937]:
  10607. # DEBUG BEGIN_STMT
  10608. pxNewTCB_11->pxStack = pxStack_9;
  10609. goto <bb 7>; [100.00%]
  10610. <bb 6> [local count: 100070816]:
  10611. # DEBUG BEGIN_STMT
  10612. vPortFree (pxStack_9);
  10613. <bb 7> [local count: 574129754]:
  10614. # DEBUG pxNewTCB => pxNewTCB_11
  10615. # DEBUG BEGIN_STMT
  10616. if (pxNewTCB_11 != 0B)
  10617. goto <bb 8>; [53.47%]
  10618. else
  10619. goto <bb 9>; [46.53%]
  10620. <bb 8> [local count: 306987179]:
  10621. # DEBUG BEGIN_STMT
  10622. # DEBUG D#1 => 0B
  10623. prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
  10624. # DEBUG BEGIN_STMT
  10625. prvAddNewTaskToReadyList (pxNewTCB_11);
  10626. # DEBUG BEGIN_STMT
  10627. # DEBUG xReturn => 1
  10628. <bb 9> [local count: 1073741824]:
  10629. # xReturn_3 = PHI <1(8), -1(7), -1(2)>
  10630. # DEBUG pxNewTCB => NULL
  10631. # DEBUG xReturn => xReturn_3
  10632. # DEBUG BEGIN_STMT
  10633. return xReturn_3;
  10634. }