tasks.c.076i.inline 421 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170
  1. IPA function summary for prvListTasksWithinSingleList.part.0/158 inlinable
  2. global time: 251.418183
  3. self size: 31
  4. global size: 31
  5. min size: 10
  6. self stack: 0
  7. global stack: 0
  8. size:18.500000, time:104.995455
  9. size:6.500000, time:18.150000, executed if:(not inlined)
  10. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
  11. size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed)
  12. calls:
  13. vTaskGetInfo/72 function not considered for inlining
  14. loop depth: 1 freq:9.09 size: 5 time: 14callee size:22 stack: 0
  15. op2 is compile time invariant
  16. op3 change 10.990000% of time
  17. IPA function summary for vTaskSwitchContext.part.0/146 inlinable
  18. global time: 5.000000
  19. self size: 7
  20. global size: 7
  21. min size: 0
  22. self stack: 0
  23. global stack: 0
  24. size:5.000000, time:5.000000
  25. size:2.000000, time:0.000000, executed if:(not inlined)
  26. calls:
  27. IPA function summary for xTaskResumeAll.part.0/137 inlinable
  28. global time: 155.186751
  29. self size: 88
  30. global size: 88
  31. min size: 10
  32. self stack: 0
  33. global stack: 0
  34. size:80.000000, time:119.350001
  35. size:3.000000, time:2.000000, executed if:(not inlined)
  36. calls:
  37. vPortEnterCritical/100 function body not available
  38. loop depth: 0 freq:1.00 size: 1 time: 10
  39. prvResetNextTaskUnblockTime/77 function not considered for inlining
  40. loop depth: 0 freq:0.13 size: 1 time: 10callee size: 4 stack: 0
  41. xTaskIncrementTick/56 function not considered for inlining
  42. loop depth: 1 freq:1.14 size: 2 time: 11callee size: 5 stack: 0
  43. vPortExitCritical/101 function body not available
  44. loop depth: 0 freq:1.00 size: 1 time: 10
  45. IPA function summary for xTaskIncrementTick.part.0/135 inlinable
  46. global time: 171.007340
  47. self size: 97
  48. global size: 97
  49. min size: 2
  50. self stack: 0
  51. global stack: 0
  52. size:93.000000, time:168.027330
  53. size:3.000000, time:1.329999, executed if:(not inlined)
  54. calls:
  55. prvResetNextTaskUnblockTime/77 function not considered for inlining
  56. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 4 stack: 0
  57. IPA function summary for eTaskGetState.part.0/122 inlinable
  58. global time: 8.635071
  59. self size: 8
  60. global size: 8
  61. min size: 0
  62. self stack: 0
  63. global stack: 0
  64. size:2.000000, time:3.791469
  65. size:3.000000, time:2.000000, executed if:(not inlined)
  66. size:0.500000, time:0.473934, executed if:(not inlined), nonconst if:(op0[ref offset: 672] changed) && (not inlined)
  67. size:2.500000, time:2.369668, nonconst if:(op0[ref offset: 672] changed)
  68. calls:
  69. IPA function summary for prvAddCurrentTaskToDelayedList.part.0/119 inlinable
  70. global time: 18.000000
  71. self size: 19
  72. global size: 19
  73. min size: 0
  74. self stack: 0
  75. global stack: 0
  76. size:16.000000, time:16.000000
  77. size:3.000000, time:2.000000, executed if:(not inlined)
  78. calls:
  79. IPA function summary for prvInitialiseNewTask.isra.0/118 inlinable
  80. global time: 94.633845
  81. self size: 63
  82. global size: 63
  83. min size: 8
  84. self stack: 0
  85. global stack: 0
  86. size:2.500000, time:2.500000
  87. size:2.500000, time:0.500000, executed if:(not inlined)
  88. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op6[ref offset: 384] changed) && (not inlined)
  89. size:0.500000, time:0.500000, nonconst if:(op6[ref offset: 384] changed)
  90. size:3.000000, time:3.000000, nonconst if:(op2 changed)
  91. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  92. size:0.500000, time:0.150000, executed if:(op1 == 0B) && (not inlined)
  93. size:0.500000, time:0.150000, executed if:(op1 == 0B)
  94. size:9.000000, time:39.394537, executed if:(op1 != 0B)
  95. size:1.000000, time:2.608221, executed if:(op1 != 0B) && (not inlined)
  96. size:2.000000, time:2.000000, nonconst if:(op4 changed)
  97. size:5.000000, time:1.980007, executed if:(op4 <= 4) && (not inlined)
  98. size:4.000000, time:1.320005, executed if:(op4 <= 4)
  99. size:1.000000, time:0.330001, executed if:(op4 <= 4), nonconst if:(op4 changed) && (op4 <= 4)
  100. size:2.000000, time:0.660002, executed if:(op4 <= 4), nonconst if:(op5 changed) && (op4 <= 4)
  101. size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4) && (not inlined)
  102. size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4)
  103. size:5.000000, time:3.349994, executed if:(op4 > 4)
  104. calls:
  105. pxPortInitialiseStack/99 function body not available
  106. loop depth: 0 freq:0.33 size: 5 time: 14 predicate: (op4 <= 4)
  107. memset/97 function body not available
  108. loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4)
  109. op1 is compile time invariant
  110. op2 is compile time invariant
  111. memset/97 function body not available
  112. loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4)
  113. op1 is compile time invariant
  114. op2 is compile time invariant
  115. vListInitialiseItem/98 function body not available
  116. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4)
  117. vListInitialiseItem/98 function body not available
  118. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4)
  119. memset/97 function body not available
  120. loop depth: 0 freq:1.00 size: 4 time: 13
  121. op1 is compile time invariant
  122. IPA function summary for prvResetNextTaskUnblockTime.part.0/115 inlinable
  123. global time: 6.000000
  124. self size: 7
  125. global size: 7
  126. min size: 0
  127. self stack: 0
  128. global stack: 0
  129. size:4.000000, time:4.000000
  130. size:3.000000, time:2.000000, executed if:(not inlined)
  131. calls:
  132. IPA function summary for prvTaskIsTaskSuspended.part.0/114 inlinable
  133. global time: 6.400000
  134. self size: 8
  135. global size: 8
  136. min size: 0
  137. self stack: 0
  138. global stack: 0
  139. size:0.000000, time:0.000000
  140. size:2.000000, time:0.000000, executed if:(not inlined)
  141. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 320] changed) && (not inlined)
  142. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 320] changed)
  143. 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)
  144. size:1.000000, time:2.000000, executed if:(op0[ref offset: 320] != &xPendingReadyList || op0[ref offset: 320] == &xPendingReadyList) && (not inlined)
  145. calls:
  146. IPA function summary for prvAddCurrentTaskToDelayedList/94 inlinable
  147. global time: 38.602500
  148. self size: 33
  149. global size: 33
  150. min size: 4
  151. self stack: 0
  152. global stack: 0
  153. size:4.000000, time:4.000000
  154. size:3.000000, time:2.000000, executed if:(not inlined)
  155. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  156. size:2.000000, time:0.680000, executed if:(op0 == 4294967295), nonconst if:(op1 changed) && (op0 == 4294967295)
  157. size:13.000000, time:7.262500, executed if:(op0 != 4294967295 || op1 == 0)
  158. calls:
  159. vListInsert/105 function body not available
  160. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  161. vListInsert/105 function body not available
  162. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  163. prvAddCurrentTaskToDelayedList.part.0/119 function not considered for inlining
  164. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 9 stack: 0 predicate: (op1 != 0) && (op0 == 4294967295)
  165. uxListRemove/103 function body not available
  166. loop depth: 0 freq:1.00 size: 2 time: 11
  167. IPA function summary for ulTaskGenericNotifyValueClear/93 inlinable
  168. global time: 29.300000
  169. self size: 13
  170. global size: 13
  171. min size: 4
  172. self stack: 0
  173. global stack: 0
  174. size:4.000000, time:4.000000
  175. size:3.000000, time:2.000000, executed if:(not inlined)
  176. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  177. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  178. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  179. calls:
  180. vPortExitCritical/101 function body not available
  181. loop depth: 0 freq:1.00 size: 1 time: 10
  182. vPortEnterCritical/100 function body not available
  183. loop depth: 0 freq:1.00 size: 1 time: 10
  184. IPA function summary for xTaskGenericNotifyStateClear/92 inlinable
  185. global time: 18.319998
  186. self size: 19
  187. global size: 19
  188. min size: 0
  189. self stack: 0
  190. global stack: 0
  191. size:0.000000, time:0.000000
  192. size:2.000000, time:0.000000, executed if:(not inlined)
  193. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  194. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  195. size:1.000000, time:0.149999, executed if:(op0 == 0B) && (op1 == 0)
  196. size:4.000000, time:1.669999, executed if:(op1 == 0)
  197. size:1.000000, time:1.000000, executed if:(op1 == 0) && (not inlined)
  198. size:5.000000, time:2.500000, executed if:(op1 != 0)
  199. calls:
  200. vPortExitCritical/101 function body not available
  201. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  202. vPortEnterCritical/100 function body not available
  203. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  204. IPA function summary for vTaskGenericNotifyGiveFromISR/91 inlinable
  205. global time: 14.285789
  206. self size: 92
  207. global size: 92
  208. min size: 0
  209. self stack: 0
  210. global stack: 0
  211. size:0.000000, time:0.000000
  212. size:2.000000, time:0.000000, executed if:(not inlined)
  213. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  214. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  215. size:62.500000, time:3.769055, executed if:(op1 == 0) && (op0 != 0B)
  216. size:9.500000, time:0.929891, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  217. size:2.000000, time:0.023561, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 == 0) && (op0 != 0B)
  218. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  219. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B)
  220. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  221. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  222. calls:
  223. vPortValidateInterruptPriority/106 function body not available
  224. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  225. IPA function summary for xTaskGenericNotifyFromISR/90 inlinable
  226. global time: 15.703943
  227. self size: 123
  228. global size: 123
  229. min size: 0
  230. self stack: 0
  231. global stack: 0
  232. size:0.000000, time:0.000000
  233. size:2.000000, time:0.000000, executed if:(not inlined)
  234. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  235. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  236. size:68.500000, time:3.378356, executed if:(op1 == 0) && (op0 != 0B)
  237. size:2.000000, time:0.462003, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 == 0) && (op0 != 0B)
  238. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  239. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B)
  240. size:8.500000, time:0.659990, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  241. size:12.000000, time:0.924007, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 == 0) && (op0 != 0B)
  242. size:2.500000, time:0.089724, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B)
  243. size:0.500000, time:0.012708, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B) && (not inlined)
  244. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B) && (not inlined)
  245. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B)
  246. size:1.000000, time:0.038508, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B) && (not inlined)
  247. size:2.000000, time:0.077015, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B)
  248. size:1.000000, time:0.038508, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B) && (not inlined)
  249. size:2.000000, time:0.077015, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B)
  250. size:2.000000, time:0.021604, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op5 changed) && (op1 == 0) && (op0 != 0B)
  251. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  252. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B)
  253. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  254. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  255. calls:
  256. vPortValidateInterruptPriority/106 function body not available
  257. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  258. IPA function summary for xTaskGenericNotify/89 inlinable
  259. global time: 19.409340
  260. self size: 101
  261. global size: 101
  262. min size: 0
  263. self stack: 0
  264. global stack: 0
  265. size:0.000000, time:0.000000
  266. size:2.000000, time:0.000000, executed if:(not inlined)
  267. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  268. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  269. size:2.000000, time:0.534701, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op4 changed) && (op0 != 0B) && (op1 == 0)
  270. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0) && (not inlined)
  271. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0)
  272. size:6.500000, time:1.146039, executed if:(op0 != 0B) && (op1 == 0) && (not inlined)
  273. size:50.500000, time:4.943545, executed if:(op0 != 0B) && (op1 == 0)
  274. size:12.000000, time:1.069402, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op3 changed) && (op0 != 0B) && (op1 == 0)
  275. size:2.500000, time:0.103845, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0)
  276. size:0.500000, time:0.014708, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0) && (not inlined)
  277. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0) && (not inlined)
  278. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0)
  279. size:1.000000, time:0.044569, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0) && (not inlined)
  280. size:2.000000, time:0.089137, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0)
  281. size:1.000000, time:0.044569, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0) && (not inlined)
  282. size:2.000000, time:0.089137, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0)
  283. size:5.000000, time:1.163247, executed if:(op0 == 0B) && (op1 == 0)
  284. size:5.000000, time:2.500000, executed if:(op1 != 0)
  285. calls:
  286. vPortExitCritical/101 function body not available
  287. loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  288. vPortEnterCritical/100 function body not available
  289. loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  290. IPA function summary for xTaskGenericNotifyWait/88 inlinable
  291. global time: 27.462430
  292. self size: 49
  293. global size: 49
  294. min size: 0
  295. self stack: 0
  296. global stack: 0
  297. size:0.000000, time:0.000000
  298. size:2.000000, time:0.000000, executed if:(not inlined)
  299. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  300. size:20.000000, time:5.055622, executed if:(op0 == 0)
  301. size:1.000000, time:0.217802, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  302. size:2.000000, time:0.435605, executed if:(op0 == 0), nonconst if:(op4 changed) && (op0 == 0)
  303. size:3.000000, time:0.215631, executed if:(op4 != 0) && (op0 == 0)
  304. size:2.000000, time:0.660002, executed if:(op0 == 0), nonconst if:(op3 changed) && (op0 == 0)
  305. size:2.500000, time:0.577499, executed if:(op3 != 0B) && (op0 == 0)
  306. size:0.500000, time:0.115500, executed if:(op3 != 0B) && (op0 == 0) && (not inlined)
  307. size:1.000000, time:0.112199, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  308. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  309. size:5.000000, time:3.349994, executed if:(op0 != 0)
  310. calls:
  311. vPortExitCritical/101 function body not available
  312. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  313. vPortEnterCritical/100 function body not available
  314. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  315. vPortExitCritical/101 function body not available
  316. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  317. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  318. loop depth: 0 freq:0.07 size: 3 time: 12callee size:16 stack: 0 predicate: (op4 != 0) && (op0 == 0)
  319. op1 is compile time invariant
  320. vPortEnterCritical/100 function body not available
  321. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  322. IPA function summary for ulTaskGenericNotifyTake/87 inlinable
  323. global time: 24.729284
  324. self size: 41
  325. global size: 41
  326. min size: 0
  327. self stack: 0
  328. global stack: 0
  329. size:0.000000, time:0.000000
  330. size:2.000000, time:0.000000, executed if:(not inlined)
  331. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  332. size:12.000000, time:3.630014, executed if:(op0 == 0)
  333. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  334. size:3.000000, time:0.163347, executed if:(op2 != 0) && (op0 == 0)
  335. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  336. size:3.000000, time:0.247492, executed if:(op1 == 0) && (op0 == 0)
  337. size:2.000000, time:0.164994, executed if:(op1 != 0) && (op0 == 0)
  338. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  339. size:5.000000, time:3.349994, executed if:(op0 != 0)
  340. calls:
  341. vPortExitCritical/101 function body not available
  342. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  343. vPortEnterCritical/100 function body not available
  344. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  345. vPortExitCritical/101 function body not available
  346. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  347. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  348. loop depth: 0 freq:0.05 size: 3 time: 12callee size:16 stack: 0 predicate: (op2 != 0) && (op0 == 0)
  349. op1 is compile time invariant
  350. vPortEnterCritical/100 function body not available
  351. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  352. IPA function summary for pvTaskIncrementMutexHeldCount/86 inlinable
  353. global time: 8.800000
  354. self size: 11
  355. global size: 11
  356. min size: 0
  357. self stack: 0
  358. global stack: 0
  359. size:8.000000, time:6.800000
  360. size:3.000000, time:2.000000, executed if:(not inlined)
  361. calls:
  362. IPA function summary for uxTaskResetEventItemValue/85 inlinable
  363. global time: 9.000000
  364. self size: 10
  365. global size: 10
  366. min size: 0
  367. self stack: 0
  368. global stack: 0
  369. size:7.000000, time:7.000000
  370. size:3.000000, time:2.000000, executed if:(not inlined)
  371. calls:
  372. IPA function summary for vTaskList/84 inlinable
  373. global time: 270.215297
  374. self size: 47
  375. global size: 47
  376. min size: 48
  377. self stack: 0
  378. global stack: 0
  379. size:19.500000, time:64.973223
  380. size:3.500000, time:2.500000, executed if:(not inlined)
  381. calls:
  382. vPortFree/96 function body not available
  383. loop depth: 0 freq:0.53 size: 2 time: 11
  384. strlen/110 function body not available
  385. loop depth: 1 freq:4.33 size: 3 time: 12
  386. sprintf/111 function body not available
  387. loop depth: 1 freq:4.33 size: 7 time: 16
  388. op1 is compile time invariant
  389. prvWriteNameToBuffer/83 function not considered for inlining
  390. loop depth: 1 freq:4.33 size: 4 time: 13callee size: 8 stack: 0
  391. uxTaskGetSystemState/53 function not considered for inlining
  392. loop depth: 0 freq:0.53 size: 5 time: 14callee size:28 stack: 0
  393. op2 is compile time invariant
  394. pvPortMalloc/95 function body not available
  395. loop depth: 0 freq:1.00 size: 3 time: 12
  396. IPA function summary for prvWriteNameToBuffer/83 inlinable
  397. global time: 70.454546
  398. self size: 16
  399. global size: 16
  400. min size: 12
  401. self stack: 0
  402. global stack: 0
  403. size:7.000000, time:44.454546
  404. size:3.000000, time:2.000000, executed if:(not inlined)
  405. calls:
  406. strlen/110 function body not available
  407. loop depth: 0 freq:1.00 size: 3 time: 12
  408. strcpy/112 function body not available
  409. loop depth: 0 freq:1.00 size: 3 time: 12
  410. IPA function summary for vTaskPriorityDisinheritAfterTimeout/82 inlinable
  411. global time: 10.371966
  412. self size: 55
  413. global size: 55
  414. min size: 0
  415. self stack: 0
  416. global stack: 0
  417. size:0.000000, time:0.000000
  418. size:2.000000, time:0.000000, executed if:(not inlined)
  419. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  420. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  421. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  422. 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)
  423. 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)
  424. 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)
  425. 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)
  426. 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)
  427. 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)
  428. 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)
  429. size:23.000000, time:0.526507, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  430. size:3.000000, time:0.062873, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  431. 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)
  432. 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)
  433. 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)
  434. 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)
  435. 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)
  436. 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)
  437. size:1.000000, time:1.252873, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  438. size:5.000000, time:1.749999, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  439. calls:
  440. uxListRemove/103 function body not available
  441. loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  442. IPA function summary for xTaskPriorityDisinherit/81 inlinable
  443. global time: 9.958189
  444. self size: 50
  445. global size: 50
  446. min size: 0
  447. self stack: 0
  448. global stack: 0
  449. size:0.000000, time:0.000000
  450. size:2.000000, time:0.000000, executed if:(not inlined)
  451. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  452. size:8.000000, time:4.549986, executed if:(op0 != 0B)
  453. size:0.500000, time:0.104999, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  454. size:2.500000, time:0.524994, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  455. 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)
  456. size:3.500000, time:0.121103, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  457. size:16.500000, time:0.406951, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B)
  458. 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)
  459. 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)
  460. 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)
  461. 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)
  462. 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)
  463. size:1.000000, time:0.809999, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  464. size:5.000000, time:0.525006, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  465. calls:
  466. uxListRemove/103 function body not available
  467. loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op0[ref offset: 608] != 0) && (op0 != 0B)
  468. IPA function summary for xTaskPriorityInherit/80 inlinable
  469. global time: 14.781628
  470. self size: 48
  471. global size: 48
  472. min size: 0
  473. self stack: 0
  474. global stack: 0
  475. size:0.000000, time:0.000000
  476. size:3.000000, time:2.000000, executed if:(not inlined)
  477. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  478. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B) && (not inlined)
  479. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B)
  480. size:30.000000, time:6.590815, executed if:(op0 != 0B)
  481. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B) && (not inlined)
  482. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B)
  483. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
  484. size:2.500000, time:0.875000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
  485. size:3.000000, time:0.369758, executed if:(op0 != 0B) && (not inlined)
  486. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  487. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  488. size:2.000000, time:0.700000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0 != 0B)
  489. calls:
  490. uxListRemove/103 function body not available
  491. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  492. IPA function summary for xTaskGetSchedulerState/79 inlinable
  493. global time: 6.500000
  494. self size: 9
  495. global size: 9
  496. min size: 0
  497. self stack: 0
  498. global stack: 0
  499. size:6.000000, time:4.500000
  500. size:3.000000, time:2.000000, executed if:(not inlined)
  501. calls:
  502. IPA function summary for xTaskGetCurrentTaskHandle/78 inlinable
  503. global time: 3.000000
  504. self size: 4
  505. global size: 4
  506. min size: 0
  507. self stack: 0
  508. global stack: 0
  509. size:1.000000, time:1.000000
  510. size:3.000000, time:2.000000, executed if:(not inlined)
  511. calls:
  512. IPA function summary for prvResetNextTaskUnblockTime/77 inlinable
  513. global time: 11.500000
  514. self size: 9
  515. global size: 9
  516. min size: 2
  517. self stack: 0
  518. global stack: 0
  519. size:5.000000, time:4.500000
  520. size:3.000000, time:2.000000, executed if:(not inlined)
  521. calls:
  522. prvResetNextTaskUnblockTime.part.0/115 function not considered for inlining
  523. loop depth: 0 freq:0.50 size: 1 time: 10callee size: 3 stack: 0
  524. IPA function summary for prvDeleteTCB/76 inlinable
  525. global time: 25.000000
  526. self size: 8
  527. global size: 8
  528. min size: 8
  529. self stack: 0
  530. global stack: 0
  531. size:0.000000, time:0.000000
  532. size:3.000000, time:2.000000, executed if:(not inlined)
  533. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 384] changed) && (not inlined)
  534. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 384] changed)
  535. calls:
  536. vPortFree/96 function body not available
  537. loop depth: 0 freq:1.00 size: 2 time: 11
  538. vPortFree/96 function body not available
  539. loop depth: 0 freq:1.00 size: 2 time: 11
  540. IPA function summary for uxTaskGetStackHighWaterMark/75 inlinable
  541. global time: 17.300000
  542. self size: 10
  543. global size: 10
  544. min size: 6
  545. self stack: 0
  546. global stack: 0
  547. size:1.000000, time:1.000000
  548. size:3.000000, time:2.000000, executed if:(not inlined)
  549. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  550. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  551. calls:
  552. prvTaskCheckFreeStackSpace/74 function not considered for inlining
  553. loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
  554. IPA function summary for prvTaskCheckFreeStackSpace/74 inlinable
  555. global time: 46.454546
  556. self size: 9
  557. global size: 9
  558. min size: 0
  559. self stack: 0
  560. global stack: 0
  561. size:6.000000, time:44.454546
  562. size:3.000000, time:2.000000, executed if:(not inlined)
  563. calls:
  564. IPA function summary for prvListTasksWithinSingleList/73 inlinable
  565. global time: 12.000000
  566. self size: 11
  567. global size: 11
  568. min size: 0
  569. self stack: 0
  570. global stack: 0
  571. size:0.000000, time:0.000000
  572. size:3.000000, time:2.000000, executed if:(not inlined)
  573. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
  574. size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed)
  575. calls:
  576. prvListTasksWithinSingleList.part.0/158 function not considered for inlining
  577. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0 predicate: (op1[ref offset: 0] != 0)
  578. IPA function summary for vTaskGetInfo/72 inlinable
  579. global time: 34.206434
  580. self size: 44
  581. global size: 44
  582. min size: 0
  583. self stack: 0
  584. global stack: 0
  585. size:7.500000, time:7.500000
  586. size:6.500000, time:5.500000, executed if:(not inlined)
  587. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  588. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  589. size:2.000000, time:2.000000, nonconst if:(op3 changed)
  590. size:0.500000, time:0.101200, executed if:(op3 == 5) && (not inlined)
  591. size:0.500000, time:0.101200, executed if:(op3 == 5)
  592. size:4.000000, time:2.791600, executed if:(op3 != 5)
  593. size:1.000000, time:0.398800, executed if:(op3 != 5) && (not inlined)
  594. size:2.000000, time:1.116640, executed if:(op3 != 5), nonconst if:(op3 changed) && (op3 != 5)
  595. size:3.500000, time:0.378563, executed if:(op3 == 3) && (op3 != 5)
  596. size:0.500000, time:0.039551, executed if:(op3 == 3) && (op3 != 5) && (not inlined)
  597. size:2.000000, time:2.000000, nonconst if:(op2 changed)
  598. size:0.500000, time:0.335000, executed if:(op2 == 0) && (not inlined)
  599. size:0.500000, time:0.335000, executed if:(op2 == 0)
  600. size:1.500000, time:0.495000, executed if:(op2 != 0)
  601. size:0.500000, time:0.165000, executed if:(op2 != 0) && (not inlined)
  602. calls:
  603. prvTaskCheckFreeStackSpace/74 function not considered for inlining
  604. loop depth: 0 freq:0.33 size: 3 time: 12callee size: 4 stack: 0 predicate: (op2 != 0)
  605. eTaskGetState/35 function not considered for inlining
  606. loop depth: 0 freq:0.20 size: 3 time: 12callee size:17 stack: 0 predicate: (op3 == 5)
  607. xTaskResumeAll/46 function not considered for inlining
  608. loop depth: 0 freq:0.11 size: 1 time: 10callee size: 6 stack: 0 predicate: (op3 == 3) && (op3 != 5)
  609. vTaskSuspendAll/45 function not considered for inlining
  610. loop depth: 0 freq:0.11 size: 1 time: 10callee size: 3 stack: 0 predicate: (op3 == 3) && (op3 != 5)
  611. IPA function summary for prvCheckTasksWaitingTermination/71 inlinable
  612. global time: 433.818184
  613. self size: 20
  614. global size: 20
  615. min size: 12
  616. self stack: 0
  617. global stack: 0
  618. size:11.000000, time:92.000000
  619. size:3.000000, time:2.000000, executed if:(not inlined)
  620. calls:
  621. prvDeleteTCB/76 function not considered for inlining
  622. loop depth: 1 freq:8.09 size: 2 time: 11callee size: 4 stack: 0
  623. vPortExitCritical/101 function body not available
  624. loop depth: 1 freq:8.09 size: 1 time: 10
  625. uxListRemove/103 function body not available
  626. loop depth: 1 freq:8.09 size: 2 time: 11
  627. vPortEnterCritical/100 function body not available
  628. loop depth: 1 freq:8.09 size: 1 time: 10
  629. IPA function summary for prvInitialiseTaskLists/70 inlinable
  630. global time: 130.983204
  631. self size: 20
  632. global size: 20
  633. min size: 24
  634. self stack: 0
  635. global stack: 0
  636. size:5.000000, time:18.996401
  637. size:3.000000, time:2.000000, executed if:(not inlined)
  638. calls:
  639. vListInitialise/102 function body not available
  640. loop depth: 0 freq:1.00 size: 2 time: 11
  641. op0 is compile time invariant
  642. vListInitialise/102 function body not available
  643. loop depth: 0 freq:1.00 size: 2 time: 11
  644. op0 is compile time invariant
  645. vListInitialise/102 function body not available
  646. loop depth: 0 freq:1.00 size: 2 time: 11
  647. op0 is compile time invariant
  648. vListInitialise/102 function body not available
  649. loop depth: 0 freq:1.00 size: 2 time: 11
  650. op0 is compile time invariant
  651. vListInitialise/102 function body not available
  652. loop depth: 0 freq:1.00 size: 2 time: 11
  653. op0 is compile time invariant
  654. vListInitialise/102 function body not available
  655. loop depth: 1 freq:5.00 size: 2 time: 11
  656. IPA function summary for prvIdleTask/69 inlinable
  657. global time: 250338.064697
  658. self size: 9
  659. global size: 9
  660. min size: 2
  661. self stack: 0
  662. global stack: 0
  663. size:6.000000, time:80847.161133
  664. size:2.000000, time:0.000000, executed if:(not inlined)
  665. calls:
  666. prvCheckTasksWaitingTermination/71 function not considered for inlining
  667. loop depth: 2 freq:16949.09 size: 1 time: 10callee size:10 stack: 0
  668. IPA function summary for vTaskSetTaskNumber/68 inlinable
  669. global time: 4.700000
  670. self size: 6
  671. global size: 6
  672. min size: 0
  673. self stack: 0
  674. global stack: 0
  675. size:0.000000, time:0.000000
  676. size:3.000000, time:2.000000, executed if:(not inlined)
  677. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  678. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined)
  679. size:0.500000, time:0.350000, executed if:(op0 != 0B)
  680. calls:
  681. IPA function summary for uxTaskGetTaskNumber/67 inlinable
  682. global time: 4.700000
  683. self size: 6
  684. global size: 6
  685. min size: 0
  686. self stack: 0
  687. global stack: 0
  688. size:0.000000, time:0.000000
  689. size:3.000000, time:2.000000, executed if:(not inlined)
  690. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  691. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B) && (not inlined)
  692. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B)
  693. calls:
  694. IPA function summary for vTaskMissedYield/66 inlinable
  695. global time: 3.000000
  696. self size: 4
  697. global size: 4
  698. min size: 0
  699. self stack: 0
  700. global stack: 0
  701. size:1.000000, time:1.000000
  702. size:3.000000, time:2.000000, executed if:(not inlined)
  703. calls:
  704. IPA function summary for xTaskCheckForTimeOut/65 inlinable
  705. global time: 19.619846
  706. self size: 46
  707. global size: 46
  708. min size: 0
  709. self stack: 0
  710. global stack: 0
  711. size:0.000000, time:0.000000
  712. size:2.000000, time:0.000000, executed if:(not inlined)
  713. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  714. size:2.000000, time:1.400002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  715. size:22.000000, time:4.152264, executed if:(op1 != 0B) && (op0 != 0B)
  716. size:4.000000, time:1.152813, executed if:(op1 != 0B) && (op0 != 0B) && (not inlined)
  717. size:5.000000, time:1.628552, executed if:(op1 == 0B) && (op0 != 0B)
  718. size:5.000000, time:1.499995, executed if:(op0 == 0B)
  719. calls:
  720. vPortExitCritical/101 function body not available
  721. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  722. vTaskInternalSetTimeOutState/64 function not considered for inlining
  723. loop depth: 0 freq:0.03 size: 2 time: 11callee size: 3 stack: 0 predicate: (op1 != 0B) && (op0 != 0B)
  724. vPortEnterCritical/100 function body not available
  725. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  726. IPA function summary for vTaskInternalSetTimeOutState/64 inlinable
  727. global time: 6.000000
  728. self size: 7
  729. global size: 7
  730. min size: 0
  731. self stack: 0
  732. global stack: 0
  733. size:3.000000, time:3.000000
  734. size:4.000000, time:3.000000, executed if:(not inlined)
  735. calls:
  736. IPA function summary for vTaskSetTimeOutState/63 inlinable
  737. global time: 18.228702
  738. self size: 16
  739. global size: 16
  740. min size: 0
  741. self stack: 0
  742. global stack: 0
  743. size:0.000000, time:0.000000
  744. size:2.000000, time:0.000000, executed if:(not inlined)
  745. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  746. size:3.000000, time:1.604100, executed if:(op0 != 0B)
  747. size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined)
  748. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  749. calls:
  750. vPortExitCritical/101 function body not available
  751. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  752. vPortEnterCritical/100 function body not available
  753. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  754. IPA function summary for vTaskRemoveFromUnorderedEventList/62 inlinable
  755. global time: 25.410043
  756. self size: 69
  757. global size: 69
  758. min size: 0
  759. self stack: 0
  760. global stack: 0
  761. size:8.500000, time:5.750000
  762. size:2.500000, time:0.250000, executed if:(not inlined)
  763. size:1.000000, time:0.500000, nonconst if:(op1 changed)
  764. size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  765. size:2.500000, time:1.250000, nonconst if:(op0[ref offset: 96] changed)
  766. 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)
  767. 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)
  768. 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)
  769. 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)
  770. 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)
  771. 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)
  772. size:44.000000, time:14.560043, executed if:(op0[ref offset: 96] != 0B)
  773. size:2.000000, time:1.050003, executed if:(op0[ref offset: 96] != 0B) && (not inlined)
  774. size:5.000000, time:0.749995, executed if:(op0[ref offset: 96] == 0B)
  775. calls:
  776. IPA function summary for xTaskRemoveFromEventList/61 inlinable
  777. global time: 35.040046
  778. self size: 74
  779. global size: 74
  780. min size: 0
  781. self stack: 0
  782. global stack: 0
  783. size:70.000000, time:32.640046
  784. size:3.000000, time:1.399999, executed if:(not inlined)
  785. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  786. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 96] changed)
  787. calls:
  788. IPA function summary for vTaskPlaceOnEventListRestricted/60 inlinable
  789. global time: 25.899992
  790. self size: 31
  791. global size: 31
  792. min size: 0
  793. self stack: 0
  794. global stack: 0
  795. size:0.000000, time:0.000000
  796. size:2.000000, time:0.000000, executed if:(not inlined)
  797. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  798. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  799. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  800. size:12.500000, time:8.749997, executed if:(op0 != 0B)
  801. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  802. size:1.500000, time:1.050000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  803. size:1.500000, time:1.749999, executed if:(op0 != 0B) && (not inlined)
  804. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B)
  805. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  806. calls:
  807. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  808. loop depth: 0 freq:0.70 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  809. IPA function summary for vTaskPlaceOnUnorderedEventList/59 inlinable
  810. global time: 15.568078
  811. self size: 40
  812. global size: 40
  813. min size: 0
  814. self stack: 0
  815. global stack: 0
  816. size:0.000000, time:0.000000
  817. size:2.000000, time:0.000000, executed if:(not inlined)
  818. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  819. size:22.500000, time:7.794538, executed if:(op0 != 0B)
  820. size:1.000000, time:0.231002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  821. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  822. size:0.500000, time:0.115501, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  823. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  824. size:1.500000, time:0.346503, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  825. size:1.500000, time:0.577504, executed if:(op0 != 0B) && (not inlined)
  826. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  827. calls:
  828. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  829. loop depth: 0 freq:0.23 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  830. op1 is compile time invariant
  831. IPA function summary for vTaskPlaceOnEventList/58 inlinable
  832. global time: 18.763402
  833. self size: 17
  834. global size: 17
  835. min size: 0
  836. self stack: 0
  837. global stack: 0
  838. size:0.000000, time:0.000000
  839. size:2.000000, time:0.000000, executed if:(not inlined)
  840. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  841. size:1.000000, time:0.534700, executed if:(op0 != 0B)
  842. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  843. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  844. calls:
  845. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  846. loop depth: 0 freq:0.53 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B)
  847. op1 is compile time invariant
  848. vListInsert/105 function body not available
  849. loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B)
  850. IPA function summary for vTaskSwitchContext/57 inlinable
  851. global time: 37.941072
  852. self size: 27
  853. global size: 27
  854. min size: 2
  855. self stack: 0
  856. global stack: 0
  857. size:23.000000, time:33.997629
  858. size:3.000000, time:1.514139, executed if:(not inlined)
  859. calls:
  860. vTaskSwitchContext.part.0/146 function not considered for inlining
  861. loop depth: 0 freq:0.24 size: 1 time: 10callee size: 3 stack: 0
  862. IPA function summary for xTaskIncrementTick/56 inlinable
  863. global time: 11.665006
  864. self size: 11
  865. global size: 11
  866. min size: 4
  867. self stack: 0
  868. global stack: 0
  869. size:6.000000, time:4.499998
  870. size:3.000000, time:1.665000, executed if:(not inlined)
  871. calls:
  872. xTaskIncrementTick.part.0/135 function not considered for inlining
  873. loop depth: 0 freq:0.50 size: 2 time: 11callee size:48 stack: 0
  874. IPA function summary for xTaskAbortDelay/55 inlinable
  875. global time: 30.114204
  876. self size: 48
  877. global size: 48
  878. min size: 0
  879. self stack: 0
  880. global stack: 0
  881. size:0.000000, time:0.000000
  882. size:2.000000, time:0.000000, executed if:(not inlined)
  883. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  884. size:24.000000, time:3.316918, executed if:(op0 != 0B)
  885. size:4.000000, time:1.368894, executed if:(op0 != 0B) && (not inlined)
  886. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  887. calls:
  888. xTaskResumeAll/46 function not considered for inlining
  889. loop depth: 0 freq:0.53 size: 1 time: 10callee size: 6 stack: 0 predicate: (op0 != 0B)
  890. vPortExitCritical/101 function body not available
  891. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  892. uxListRemove/103 function body not available
  893. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  894. vPortEnterCritical/100 function body not available
  895. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  896. uxListRemove/103 function body not available
  897. loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op0 != 0B)
  898. eTaskGetState/35 function not considered for inlining
  899. loop depth: 0 freq:0.53 size: 3 time: 12callee size:17 stack: 0 predicate: (op0 != 0B)
  900. vTaskSuspendAll/45 function not considered for inlining
  901. loop depth: 0 freq:0.53 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0B)
  902. IPA function summary for xTaskCatchUpTicks/54 inlinable
  903. global time: 14.930026
  904. self size: 17
  905. global size: 17
  906. min size: 6
  907. self stack: 0
  908. global stack: 0
  909. size:11.000000, time:7.339998
  910. size:3.000000, time:0.660002, executed if:(not inlined)
  911. calls:
  912. xTaskResumeAll/46 function not considered for inlining
  913. loop depth: 0 freq:0.33 size: 2 time: 11callee size: 6 stack: 0
  914. vTaskSuspendAll/45 function not considered for inlining
  915. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 3 stack: 0
  916. IPA function summary for uxTaskGetSystemState/53 inlinable
  917. global time: 111.350001
  918. self size: 56
  919. global size: 56
  920. min size: 54
  921. self stack: 0
  922. global stack: 0
  923. size:23.000000, time:25.000000
  924. size:3.000000, time:2.000000, executed if:(not inlined)
  925. size:2.000000, time:1.000000, nonconst if:(op2 changed)
  926. size:0.500000, time:0.175000, executed if:(op2 != 0B) && (not inlined)
  927. size:0.500000, time:0.175000, executed if:(op2 != 0B)
  928. calls:
  929. xTaskResumeAll/46 function not considered for inlining
  930. loop depth: 0 freq:1.00 size: 1 time: 10callee size: 6 stack: 0
  931. prvListTasksWithinSingleList/73 function not considered for inlining
  932. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  933. op1 is compile time invariant
  934. op2 is compile time invariant
  935. prvListTasksWithinSingleList/73 function not considered for inlining
  936. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  937. op1 is compile time invariant
  938. op2 is compile time invariant
  939. prvListTasksWithinSingleList/73 function not considered for inlining
  940. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  941. op2 is compile time invariant
  942. prvListTasksWithinSingleList/73 function not considered for inlining
  943. loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0
  944. op2 is compile time invariant
  945. prvListTasksWithinSingleList/73 function not considered for inlining
  946. loop depth: 1 freq:2.50 size: 5 time: 14callee size: 5 stack: 0
  947. op2 is compile time invariant
  948. vTaskSuspendAll/45 function not considered for inlining
  949. loop depth: 0 freq:1.00 size: 1 time: 10callee size: 3 stack: 0
  950. IPA function summary for xTaskGetHandle/52 inlinable
  951. global time: 54.551541
  952. self size: 50
  953. global size: 50
  954. min size: 50
  955. self stack: 0
  956. global stack: 0
  957. size:22.000000, time:14.718564
  958. size:3.000000, time:0.660002, executed if:(not inlined)
  959. calls:
  960. xTaskResumeAll/46 function not considered for inlining
  961. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 6 stack: 0
  962. prvSearchForNameWithinSingleList/51 function not considered for inlining
  963. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  964. op0 is compile time invariant
  965. prvSearchForNameWithinSingleList/51 function not considered for inlining
  966. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  967. op0 is compile time invariant
  968. prvSearchForNameWithinSingleList/51 function not considered for inlining
  969. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  970. prvSearchForNameWithinSingleList/51 function not considered for inlining
  971. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  972. prvSearchForNameWithinSingleList/51 function not considered for inlining
  973. loop depth: 1 freq:1.35 size: 4 time: 13callee size:19 stack: 0
  974. op1 change 73.930000% of time
  975. vTaskSuspendAll/45 function not considered for inlining
  976. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 3 stack: 0
  977. strlen/110 function body not available
  978. loop depth: 0 freq:1.00 size: 3 time: 12
  979. IPA function summary for prvSearchForNameWithinSingleList/51 inlinable
  980. global time: 474.990788
  981. self size: 38
  982. global size: 38
  983. min size: 0
  984. self stack: 0
  985. global stack: 0
  986. size:0.000000, time:0.000000
  987. size:3.000000, time:2.000000, executed if:(not inlined)
  988. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
  989. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed)
  990. 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)
  991. 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)
  992. size:27.500000, time:457.513131, executed if:(op0[ref offset: 0] != 0)
  993. size:3.500000, time:11.767657, executed if:(op0[ref offset: 0] != 0) && (not inlined)
  994. calls:
  995. IPA function summary for pcTaskGetName/50 inlinable
  996. global time: 7.200001
  997. self size: 13
  998. global size: 13
  999. min size: 0
  1000. self stack: 0
  1001. global stack: 0
  1002. size:7.000000, time:3.500001
  1003. size:3.000000, time:1.399999, executed if:(not inlined)
  1004. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1005. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1006. calls:
  1007. IPA function summary for uxTaskGetNumberOfTasks/49 inlinable
  1008. global time: 3.000000
  1009. self size: 4
  1010. global size: 4
  1011. min size: 0
  1012. self stack: 0
  1013. global stack: 0
  1014. size:1.000000, time:1.000000
  1015. size:3.000000, time:2.000000, executed if:(not inlined)
  1016. calls:
  1017. IPA function summary for xTaskGetTickCountFromISR/48 inlinable
  1018. global time: 13.000000
  1019. self size: 5
  1020. global size: 5
  1021. min size: 2
  1022. self stack: 0
  1023. global stack: 0
  1024. size:1.000000, time:1.000000
  1025. size:3.000000, time:2.000000, executed if:(not inlined)
  1026. calls:
  1027. vPortValidateInterruptPriority/106 function body not available
  1028. loop depth: 0 freq:1.00 size: 1 time: 10
  1029. IPA function summary for xTaskGetTickCount/47 inlinable
  1030. global time: 3.000000
  1031. self size: 4
  1032. global size: 4
  1033. min size: 0
  1034. self stack: 0
  1035. global stack: 0
  1036. size:1.000000, time:1.000000
  1037. size:3.000000, time:2.000000, executed if:(not inlined)
  1038. calls:
  1039. IPA function summary for xTaskResumeAll/46 inlinable
  1040. global time: 10.640010
  1041. self size: 13
  1042. global size: 13
  1043. min size: 4
  1044. self stack: 0
  1045. global stack: 0
  1046. size:8.000000, time:6.349994
  1047. size:3.000000, time:0.660002, executed if:(not inlined)
  1048. calls:
  1049. xTaskResumeAll.part.0/137 function not considered for inlining
  1050. loop depth: 0 freq:0.33 size: 2 time: 11callee size:44 stack: 0
  1051. IPA function summary for vTaskSuspendAll/45 inlinable
  1052. global time: 6.000000
  1053. self size: 7
  1054. global size: 7
  1055. min size: 0
  1056. self stack: 0
  1057. global stack: 0
  1058. size:4.000000, time:4.000000
  1059. size:3.000000, time:2.000000, executed if:(not inlined)
  1060. calls:
  1061. IPA function summary for vTaskEndScheduler/44 inlinable
  1062. global time: 18.000000
  1063. self size: 10
  1064. global size: 10
  1065. min size: 2
  1066. self stack: 0
  1067. global stack: 0
  1068. size:6.000000, time:6.000000
  1069. size:3.000000, time:2.000000, executed if:(not inlined)
  1070. calls:
  1071. vPortEndScheduler/109 function body not available
  1072. loop depth: 0 freq:1.00 size: 1 time: 10
  1073. IPA function summary for vTaskStartScheduler/43 inlinable
  1074. global time: 32.007150
  1075. self size: 34
  1076. global size: 34
  1077. min size: 22
  1078. self stack: 0
  1079. global stack: 0
  1080. size:20.000000, time:9.299132
  1081. size:3.000000, time:1.457632, executed if:(not inlined)
  1082. calls:
  1083. xPortStartScheduler/108 function body not available
  1084. loop depth: 0 freq:0.20 size: 1 time: 10
  1085. xTimerCreateTimerTask/107 function body not available
  1086. loop depth: 0 freq:0.20 size: 2 time: 11
  1087. xTaskCreate/29 function not considered for inlining
  1088. loop depth: 0 freq:1.00 size: 8 time: 17callee size:14 stack: 0
  1089. op0 is compile time invariant
  1090. op1 is compile time invariant
  1091. op2 is compile time invariant
  1092. op3 is compile time invariant
  1093. op4 is compile time invariant
  1094. op5 is compile time invariant
  1095. IPA function summary for xTaskResumeFromISR/42 inlinable
  1096. global time: 29.564289
  1097. self size: 53
  1098. global size: 53
  1099. min size: 0
  1100. self stack: 0
  1101. global stack: 0
  1102. size:0.000000, time:0.000000
  1103. size:2.000000, time:0.000000, executed if:(not inlined)
  1104. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1105. size:31.500000, time:8.928128, executed if:(op0 != 0B)
  1106. size:3.500000, time:1.517208, executed if:(op0 != 0B) && (not inlined)
  1107. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1108. calls:
  1109. vListInsertEnd/104 function body not available
  1110. loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0 != 0B)
  1111. op0 is compile time invariant
  1112. uxListRemove/103 function body not available
  1113. loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B)
  1114. prvTaskIsTaskSuspended/40 function not considered for inlining
  1115. loop depth: 0 freq:0.53 size: 3 time: 12callee size: 8 stack: 0 predicate: (op0 != 0B)
  1116. vPortValidateInterruptPriority/106 function body not available
  1117. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1118. IPA function summary for vTaskResume/41 inlinable
  1119. global time: 23.678349
  1120. self size: 45
  1121. global size: 45
  1122. min size: 0
  1123. self stack: 0
  1124. global stack: 0
  1125. size:0.000000, time:0.000000
  1126. size:2.000000, time:0.000000, executed if:(not inlined)
  1127. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1128. size:26.000000, time:5.195383, executed if:(op0 != 0B)
  1129. size:3.000000, time:1.647032, executed if:(op0 != 0B) && (not inlined)
  1130. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1131. calls:
  1132. vPortExitCritical/101 function body not available
  1133. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  1134. uxListRemove/103 function body not available
  1135. loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op0 != 0B)
  1136. prvTaskIsTaskSuspended/40 function not considered for inlining
  1137. loop depth: 0 freq:0.37 size: 3 time: 12callee size: 8 stack: 0 predicate: (op0 != 0B)
  1138. vPortEnterCritical/100 function body not available
  1139. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  1140. IPA function summary for prvTaskIsTaskSuspended/40 inlinable
  1141. global time: 9.520009
  1142. self size: 16
  1143. global size: 16
  1144. min size: 0
  1145. self stack: 0
  1146. global stack: 0
  1147. size:0.000000, time:0.000000
  1148. size:2.000000, time:0.000000, executed if:(not inlined)
  1149. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1150. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  1151. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  1152. size:1.000000, time:1.399999, executed if:(op0[ref offset: 160] == &xSuspendedTaskList || op0[ref offset: 160] != &xSuspendedTaskList) && (op0 != 0B) && (not inlined)
  1153. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1154. calls:
  1155. prvTaskIsTaskSuspended.part.0/114 function not considered for inlining
  1156. loop depth: 0 freq:0.21 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B)
  1157. IPA function summary for vTaskSuspend/39 inlinable
  1158. global time: 174.712526
  1159. self size: 53
  1160. global size: 53
  1161. min size: 26
  1162. self stack: 0
  1163. global stack: 0
  1164. size:34.000000, time:111.047613
  1165. size:3.000000, time:1.850000, executed if:(not inlined)
  1166. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1167. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1168. calls:
  1169. vTaskSwitchContext/57 function not considered for inlining
  1170. loop depth: 0 freq:0.07 size: 1 time: 10callee size:13 stack: 0
  1171. vPortExitCritical/101 function body not available
  1172. loop depth: 0 freq:0.33 size: 1 time: 10
  1173. prvResetNextTaskUnblockTime/77 function not considered for inlining
  1174. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 4 stack: 0
  1175. vPortEnterCritical/100 function body not available
  1176. loop depth: 0 freq:0.33 size: 1 time: 10
  1177. vPortExitCritical/101 function body not available
  1178. loop depth: 0 freq:1.00 size: 1 time: 10
  1179. vListInsertEnd/104 function body not available
  1180. loop depth: 0 freq:1.00 size: 3 time: 12
  1181. op0 is compile time invariant
  1182. uxListRemove/103 function body not available
  1183. loop depth: 0 freq:0.53 size: 2 time: 11
  1184. uxListRemove/103 function body not available
  1185. loop depth: 0 freq:1.00 size: 2 time: 11
  1186. vPortEnterCritical/100 function body not available
  1187. loop depth: 0 freq:1.00 size: 1 time: 10
  1188. IPA function summary for vTaskPrioritySet/38 inlinable
  1189. global time: 20.030363
  1190. self size: 66
  1191. global size: 66
  1192. min size: 0
  1193. self stack: 0
  1194. global stack: 0
  1195. size:0.000000, time:0.000000
  1196. size:2.000000, time:0.000000, executed if:(not inlined)
  1197. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  1198. size:2.000000, time:0.660002, executed if:(op1 <= 4), nonconst if:(op0 changed) && (op1 <= 4)
  1199. size:1.000000, time:0.099002, executed if:(op0 == 0B) && (op1 <= 4)
  1200. size:48.000000, time:6.115238, executed if:(op1 <= 4)
  1201. size:1.000000, time:0.128504, executed if:(op1 <= 4), nonconst if:(op1 changed) && (op1 <= 4)
  1202. size:1.000000, time:0.660002, executed if:(op1 <= 4) && (not inlined)
  1203. size:5.000000, time:3.349994, executed if:(op1 > 4)
  1204. calls:
  1205. vPortExitCritical/101 function body not available
  1206. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  1207. uxListRemove/103 function body not available
  1208. loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 <= 4)
  1209. vPortEnterCritical/100 function body not available
  1210. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  1211. IPA function summary for uxTaskPriorityGetFromISR/37 inlinable
  1212. global time: 22.300000
  1213. self size: 15
  1214. global size: 15
  1215. min size: 2
  1216. self stack: 0
  1217. global stack: 0
  1218. size:8.000000, time:8.000000
  1219. size:3.000000, time:2.000000, executed if:(not inlined)
  1220. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1221. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1222. calls:
  1223. vPortValidateInterruptPriority/106 function body not available
  1224. loop depth: 0 freq:1.00 size: 1 time: 10
  1225. IPA function summary for uxTaskPriorityGet/36 inlinable
  1226. global time: 25.300000
  1227. self size: 9
  1228. global size: 9
  1229. min size: 4
  1230. self stack: 0
  1231. global stack: 0
  1232. size:1.000000, time:1.000000
  1233. size:3.000000, time:2.000000, executed if:(not inlined)
  1234. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1235. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1236. calls:
  1237. vPortExitCritical/101 function body not available
  1238. loop depth: 0 freq:1.00 size: 1 time: 10
  1239. vPortEnterCritical/100 function body not available
  1240. loop depth: 0 freq:1.00 size: 1 time: 10
  1241. IPA function summary for eTaskGetState/35 inlinable
  1242. global time: 18.703258
  1243. self size: 34
  1244. global size: 34
  1245. min size: 0
  1246. self stack: 0
  1247. global stack: 0
  1248. size:0.000000, time:0.000000
  1249. size:2.000000, time:0.000000, executed if:(not inlined)
  1250. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1251. size:18.000000, time:5.699011, executed if:(op0 != 0B)
  1252. size:2.000000, time:1.624208, executed if:(op0 != 0B) && (not inlined)
  1253. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1254. calls:
  1255. eTaskGetState.part.0/122 function not considered for inlining
  1256. loop depth: 0 freq:0.03 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0 != 0B)
  1257. vPortExitCritical/101 function body not available
  1258. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  1259. vPortEnterCritical/100 function body not available
  1260. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  1261. IPA function summary for vTaskDelay/34 inlinable
  1262. global time: 14.027552
  1263. self size: 24
  1264. global size: 24
  1265. min size: 0
  1266. self stack: 0
  1267. global stack: 0
  1268. size:3.000000, time:1.747506
  1269. size:3.000000, time:1.329999, executed if:(not inlined)
  1270. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1271. size:10.000000, time:3.505009, executed if:(op0 != 0)
  1272. calls:
  1273. xTaskResumeAll/46 function not considered for inlining
  1274. loop depth: 0 freq:0.17 size: 2 time: 11callee size: 6 stack: 0 predicate: (op0 != 0)
  1275. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  1276. loop depth: 0 freq:0.17 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0)
  1277. op1 is compile time invariant
  1278. vTaskSuspendAll/45 function not considered for inlining
  1279. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0)
  1280. IPA function summary for xTaskDelayUntil/33 inlinable
  1281. global time: 13.723476
  1282. self size: 55
  1283. global size: 55
  1284. min size: 0
  1285. self stack: 0
  1286. global stack: 0
  1287. size:0.000000, time:0.000000
  1288. size:2.000000, time:0.000000, executed if:(not inlined)
  1289. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1290. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1291. size:29.000000, time:3.608499, executed if:(op1 != 0) && (op0 != 0B)
  1292. size:4.000000, time:0.346496, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
  1293. size:5.000000, time:1.749999, executed if:(op1 == 0) && (op0 != 0B)
  1294. size:5.000000, time:1.500002, executed if:(op0 == 0B)
  1295. calls:
  1296. xTaskResumeAll/46 function not considered for inlining
  1297. loop depth: 0 freq:0.12 size: 2 time: 11callee size: 6 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  1298. prvAddCurrentTaskToDelayedList/94 function not considered for inlining
  1299. loop depth: 0 freq:0.06 size: 3 time: 12callee size:16 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  1300. op1 is compile time invariant
  1301. vTaskSuspendAll/45 function not considered for inlining
  1302. loop depth: 0 freq:0.12 size: 1 time: 10callee size: 3 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  1303. IPA function summary for vTaskDelete/32 inlinable
  1304. global time: 76.881702
  1305. self size: 50
  1306. global size: 50
  1307. min size: 24
  1308. self stack: 0
  1309. global stack: 0
  1310. size:32.000000, time:17.550001
  1311. size:3.000000, time:1.850000, executed if:(not inlined)
  1312. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1313. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1314. calls:
  1315. vPortExitCritical/101 function body not available
  1316. loop depth: 0 freq:1.00 size: 1 time: 10
  1317. prvResetNextTaskUnblockTime/77 function not considered for inlining
  1318. loop depth: 0 freq:0.70 size: 1 time: 10callee size: 4 stack: 0
  1319. prvDeleteTCB/76 function not considered for inlining
  1320. loop depth: 0 freq:0.70 size: 2 time: 11callee size: 4 stack: 0
  1321. vListInsertEnd/104 function body not available
  1322. loop depth: 0 freq:0.30 size: 3 time: 12
  1323. op0 is compile time invariant
  1324. uxListRemove/103 function body not available
  1325. loop depth: 0 freq:0.53 size: 2 time: 11
  1326. uxListRemove/103 function body not available
  1327. loop depth: 0 freq:1.00 size: 2 time: 11
  1328. vPortEnterCritical/100 function body not available
  1329. loop depth: 0 freq:1.00 size: 1 time: 10
  1330. IPA function summary for prvAddNewTaskToReadyList/31 inlinable
  1331. global time: 59.582200
  1332. self size: 56
  1333. global size: 56
  1334. min size: 6
  1335. self stack: 0
  1336. global stack: 0
  1337. size:46.500000, time:34.050000
  1338. size:6.500000, time:4.925000, executed if:(not inlined)
  1339. calls:
  1340. vPortExitCritical/101 function body not available
  1341. loop depth: 0 freq:1.00 size: 1 time: 10
  1342. prvInitialiseTaskLists/70 function not considered for inlining
  1343. loop depth: 0 freq:0.06 size: 1 time: 10callee size:10 stack: 0
  1344. vPortEnterCritical/100 function body not available
  1345. loop depth: 0 freq:1.00 size: 1 time: 10
  1346. IPA function summary for xTaskCreate/29 inlinable
  1347. global time: 35.027197
  1348. self size: 29
  1349. global size: 29
  1350. min size: 36
  1351. self stack: 0
  1352. global stack: 0
  1353. size:7.000000, time:4.580302
  1354. size:3.000000, time:2.000000, executed if:(not inlined)
  1355. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  1356. calls:
  1357. prvAddNewTaskToReadyList/31 function not considered for inlining
  1358. loop depth: 0 freq:0.29 size: 2 time: 11callee size:28 stack: 0
  1359. prvInitialiseNewTask.isra.0/118 function not considered for inlining
  1360. loop depth: 0 freq:0.29 size: 8 time: 17callee size:31 stack: 0
  1361. vPortFree/96 function body not available
  1362. loop depth: 0 freq:0.09 size: 2 time: 11
  1363. pvPortMalloc/95 function body not available
  1364. loop depth: 0 freq:0.53 size: 3 time: 12
  1365. op0 is compile time invariant
  1366. pvPortMalloc/95 function body not available
  1367. loop depth: 0 freq:1.00 size: 3 time: 12
  1368. Flattening functions:
  1369. Overall time estimate: 253884.874023 weighted by profile: 0.000000
  1370. Deciding on inlining of small functions. Starting with size 0.
  1371. Enqueueing calls in prvListTasksWithinSingleList.part.0/158.
  1372. Enqueueing calls in vTaskSwitchContext.part.0/146.
  1373. Enqueueing calls in xTaskResumeAll.part.0/137.
  1374. Enqueueing calls in xTaskIncrementTick.part.0/135.
  1375. Enqueueing calls in eTaskGetState.part.0/122.
  1376. Enqueueing calls in prvAddCurrentTaskToDelayedList.part.0/119.
  1377. Enqueueing calls in prvInitialiseNewTask.isra.0/118.
  1378. Enqueueing calls in prvResetNextTaskUnblockTime.part.0/115.
  1379. Enqueueing calls in prvTaskIsTaskSuspended.part.0/114.
  1380. Enqueueing calls in prvAddCurrentTaskToDelayedList/94.
  1381. Enqueueing calls in ulTaskGenericNotifyValueClear/93.
  1382. Enqueueing calls in xTaskGenericNotifyStateClear/92.
  1383. Enqueueing calls in vTaskGenericNotifyGiveFromISR/91.
  1384. Enqueueing calls in xTaskGenericNotifyFromISR/90.
  1385. Enqueueing calls in xTaskGenericNotify/89.
  1386. Enqueueing calls in xTaskGenericNotifyWait/88.
  1387. Enqueueing calls in ulTaskGenericNotifyTake/87.
  1388. Enqueueing calls in pvTaskIncrementMutexHeldCount/86.
  1389. Enqueueing calls in uxTaskResetEventItemValue/85.
  1390. Enqueueing calls in vTaskList/84.
  1391. Enqueueing calls in prvWriteNameToBuffer/83.
  1392. Enqueueing calls in vTaskPriorityDisinheritAfterTimeout/82.
  1393. Enqueueing calls in xTaskPriorityDisinherit/81.
  1394. Enqueueing calls in xTaskPriorityInherit/80.
  1395. Enqueueing calls in xTaskGetSchedulerState/79.
  1396. Enqueueing calls in xTaskGetCurrentTaskHandle/78.
  1397. Enqueueing calls in prvResetNextTaskUnblockTime/77.
  1398. Enqueueing calls in prvDeleteTCB/76.
  1399. Enqueueing calls in uxTaskGetStackHighWaterMark/75.
  1400. Enqueueing calls in prvTaskCheckFreeStackSpace/74.
  1401. Enqueueing calls in prvListTasksWithinSingleList/73.
  1402. Enqueueing calls in vTaskGetInfo/72.
  1403. Enqueueing calls in prvCheckTasksWaitingTermination/71.
  1404. Enqueueing calls in prvInitialiseTaskLists/70.
  1405. Enqueueing calls in prvIdleTask/69.
  1406. Enqueueing calls in vTaskSetTaskNumber/68.
  1407. Enqueueing calls in uxTaskGetTaskNumber/67.
  1408. Enqueueing calls in vTaskMissedYield/66.
  1409. Enqueueing calls in xTaskCheckForTimeOut/65.
  1410. Enqueueing calls in vTaskInternalSetTimeOutState/64.
  1411. Enqueueing calls in vTaskSetTimeOutState/63.
  1412. Enqueueing calls in vTaskRemoveFromUnorderedEventList/62.
  1413. Enqueueing calls in xTaskRemoveFromEventList/61.
  1414. Enqueueing calls in vTaskPlaceOnEventListRestricted/60.
  1415. Enqueueing calls in vTaskPlaceOnUnorderedEventList/59.
  1416. Enqueueing calls in vTaskPlaceOnEventList/58.
  1417. Enqueueing calls in vTaskSwitchContext/57.
  1418. Enqueueing calls in xTaskIncrementTick/56.
  1419. Enqueueing calls in xTaskAbortDelay/55.
  1420. Enqueueing calls in xTaskCatchUpTicks/54.
  1421. Enqueueing calls in uxTaskGetSystemState/53.
  1422. Enqueueing calls in xTaskGetHandle/52.
  1423. Enqueueing calls in prvSearchForNameWithinSingleList/51.
  1424. Enqueueing calls in pcTaskGetName/50.
  1425. Enqueueing calls in uxTaskGetNumberOfTasks/49.
  1426. Enqueueing calls in xTaskGetTickCountFromISR/48.
  1427. Enqueueing calls in xTaskGetTickCount/47.
  1428. Enqueueing calls in xTaskResumeAll/46.
  1429. Enqueueing calls in vTaskSuspendAll/45.
  1430. Enqueueing calls in vTaskEndScheduler/44.
  1431. Enqueueing calls in vTaskStartScheduler/43.
  1432. Enqueueing calls in xTaskResumeFromISR/42.
  1433. Enqueueing calls in vTaskResume/41.
  1434. Enqueueing calls in prvTaskIsTaskSuspended/40.
  1435. Enqueueing calls in vTaskSuspend/39.
  1436. Enqueueing calls in vTaskPrioritySet/38.
  1437. Enqueueing calls in uxTaskPriorityGetFromISR/37.
  1438. Enqueueing calls in uxTaskPriorityGet/36.
  1439. Enqueueing calls in eTaskGetState/35.
  1440. Enqueueing calls in vTaskDelay/34.
  1441. Enqueueing calls in xTaskDelayUntil/33.
  1442. Enqueueing calls in vTaskDelete/32.
  1443. Enqueueing calls in prvAddNewTaskToReadyList/31.
  1444. Enqueueing calls in xTaskCreate/29.
  1445. Considering prvCheckTasksWaitingTermination/71 with 20 size
  1446. to be inlined into prvIdleTask/69 in ../FreeRTOS/Source/tasks.c:3449
  1447. Estimated badness is -2033.890860, frequency 16949.09.
  1448. Considering prvDeleteTCB/76 with 8 size
  1449. to be inlined into prvCheckTasksWaitingTermination/71 in ../FreeRTOS/Source/tasks.c:3710
  1450. Estimated badness is -205700.324707, frequency 137133.55.
  1451. Considering prvTaskCheckFreeStackSpace/74 with 9 size
  1452. to be inlined into uxTaskGetStackHighWaterMark/75 in ../FreeRTOS/Source/tasks.c:3931
  1453. Estimated badness is -1.435897, frequency 1.00.
  1454. Considering prvWriteNameToBuffer/83 with 16 size
  1455. to be inlined into vTaskList/84 in ../FreeRTOS/Source/tasks.c:4515
  1456. Estimated badness is -0.515025, frequency 4.33.
  1457. Considering prvDeleteTCB/76 with 8 size
  1458. to be inlined into vTaskDelete/32 in ../FreeRTOS/Source/tasks.c:1220
  1459. Estimated badness is -0.237736, frequency 0.70.
  1460. Considering prvTaskCheckFreeStackSpace/74 with 9 size
  1461. to be inlined into vTaskGetInfo/72 in ../FreeRTOS/Source/tasks.c:3803
  1462. Estimated badness is -0.131064, frequency 0.33.
  1463. Considering vTaskSwitchContext.part.0/146 with 7 size
  1464. to be inlined into vTaskSwitchContext/57 in unknown:0
  1465. Estimated badness is -0.078365, frequency 0.24.
  1466. Considering eTaskGetState.part.0/122 with 8 size
  1467. to be inlined into eTaskGetState/35 in unknown:0
  1468. Estimated badness is -0.026418, frequency 0.03.
  1469. Considering prvTaskIsTaskSuspended.part.0/114 with 8 size
  1470. to be inlined into prvTaskIsTaskSuspended/40 in unknown:0
  1471. Estimated badness is -0.021146, frequency 0.21.
  1472. Considering prvAddCurrentTaskToDelayedList.part.0/119 with 19 size
  1473. to be inlined into prvAddCurrentTaskToDelayedList/94 in unknown:0
  1474. Estimated badness is -0.011333, frequency 0.17.
  1475. Considering prvInitialiseNewTask.isra.0/118 with 63 size
  1476. to be inlined into xTaskCreate/29 in ../FreeRTOS/Source/tasks.c:803
  1477. Estimated badness is -0.007849, frequency 0.29.
  1478. Considering prvListTasksWithinSingleList.part.0/158 with 31 size
  1479. to be inlined into prvListTasksWithinSingleList/73 in unknown:0
  1480. Estimated badness is -0.007160, frequency 0.50.
  1481. Considering prvResetNextTaskUnblockTime.part.0/115 with 7 size
  1482. to be inlined into prvResetNextTaskUnblockTime/77 in unknown:0
  1483. Estimated badness is -0.005510, frequency 0.50.
  1484. Considering prvAddNewTaskToReadyList/31 with 56 size
  1485. to be inlined into xTaskCreate/29 in ../FreeRTOS/Source/tasks.c:804
  1486. Estimated badness is -0.004928, frequency 0.29.
  1487. Considering xTaskIncrementTick.part.0/135 with 97 size
  1488. to be inlined into xTaskIncrementTick/56 in unknown:0
  1489. Estimated badness is -0.002602, frequency 0.50.
  1490. Considering prvInitialiseTaskLists/70 with 20 size
  1491. to be inlined into prvAddNewTaskToReadyList/31 in ../FreeRTOS/Source/tasks.c:1088
  1492. Estimated badness is -0.001157, frequency 0.02.
  1493. Considering xTaskResumeAll.part.0/137 with 88 size
  1494. to be inlined into xTaskResumeAll/46 in unknown:0
  1495. Estimated badness is -0.000001, frequency 0.33.
  1496. Reclaiming functions:
  1497. Reclaiming variables:
  1498. Clearing address taken flags:
  1499. Deciding on functions to be inlined into all callers and removing useless speculations:
  1500. Overall time estimate: 8979429.390625 weighted by profile: 0.000000
  1501. Why inlining failed?
  1502. function body not available : 94 calls, 685721.524414 freq, 0 count
  1503. --param max-inline-insns-auto limit reached : 12 calls, 3.855237 freq, 0 count
  1504. call is unlikely and code size would grow : 33 calls, 18.576983 freq, 0 count
  1505. IPA function summary for prvAddCurrentTaskToDelayedList/94 inlinable
  1506. global time: 39.622500
  1507. self size: 33
  1508. global size: 48
  1509. min size: 4
  1510. self stack: 0
  1511. global stack: 0
  1512. estimated growth:142
  1513. size:4.000000, time:4.000000
  1514. size:3.000000, time:2.000000, executed if:(not inlined)
  1515. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1516. size:2.000000, time:0.680000, executed if:(op0 == 4294967295), nonconst if:(op1 changed) && (op0 == 4294967295)
  1517. size:13.000000, time:7.262500, executed if:(op0 != 4294967295 || op1 == 0)
  1518. size:16.000000, time:2.720000, executed if:(op1 != 0) && (op0 == 4294967295)
  1519. calls:
  1520. vListInsert/105 function body not available
  1521. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  1522. vListInsert/105 function body not available
  1523. loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0)
  1524. prvAddCurrentTaskToDelayedList.part.0/119 inlined
  1525. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 9 stack: 0
  1526. Stack frame offset 0, callee self size 0, callee size 0
  1527. uxListRemove/103 function body not available
  1528. loop depth: 0 freq:1.00 size: 2 time: 11
  1529. IPA function summary for ulTaskGenericNotifyValueClear/93 inlinable
  1530. global time: 29.300000
  1531. self size: 13
  1532. global size: 13
  1533. min size: 4
  1534. self stack: 0
  1535. global stack: 0
  1536. size:4.000000, time:4.000000
  1537. size:3.000000, time:2.000000, executed if:(not inlined)
  1538. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1539. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1540. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  1541. calls:
  1542. vPortExitCritical/101 function body not available
  1543. loop depth: 0 freq:1.00 size: 1 time: 10
  1544. vPortEnterCritical/100 function body not available
  1545. loop depth: 0 freq:1.00 size: 1 time: 10
  1546. IPA function summary for xTaskGenericNotifyStateClear/92 inlinable
  1547. global time: 18.319998
  1548. self size: 19
  1549. global size: 19
  1550. min size: 0
  1551. self stack: 0
  1552. global stack: 0
  1553. size:0.000000, time:0.000000
  1554. size:2.000000, time:0.000000, executed if:(not inlined)
  1555. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  1556. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  1557. size:1.000000, time:0.149999, executed if:(op0 == 0B) && (op1 == 0)
  1558. size:4.000000, time:1.669999, executed if:(op1 == 0)
  1559. size:1.000000, time:1.000000, executed if:(op1 == 0) && (not inlined)
  1560. size:5.000000, time:2.500000, executed if:(op1 != 0)
  1561. calls:
  1562. vPortExitCritical/101 function body not available
  1563. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  1564. vPortEnterCritical/100 function body not available
  1565. loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0)
  1566. IPA function summary for vTaskGenericNotifyGiveFromISR/91 inlinable
  1567. global time: 14.285789
  1568. self size: 92
  1569. global size: 92
  1570. min size: 0
  1571. self stack: 0
  1572. global stack: 0
  1573. size:0.000000, time:0.000000
  1574. size:2.000000, time:0.000000, executed if:(not inlined)
  1575. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1576. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1577. size:62.500000, time:3.769055, executed if:(op1 == 0) && (op0 != 0B)
  1578. size:9.500000, time:0.929891, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  1579. size:2.000000, time:0.023561, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 == 0) && (op0 != 0B)
  1580. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1581. size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B)
  1582. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  1583. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  1584. calls:
  1585. vPortValidateInterruptPriority/106 function body not available
  1586. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  1587. IPA function summary for xTaskGenericNotifyFromISR/90 inlinable
  1588. global time: 15.703943
  1589. self size: 123
  1590. global size: 123
  1591. min size: 0
  1592. self stack: 0
  1593. global stack: 0
  1594. size:0.000000, time:0.000000
  1595. size:2.000000, time:0.000000, executed if:(not inlined)
  1596. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1597. size:2.000000, time:1.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1598. size:68.500000, time:3.378356, executed if:(op1 == 0) && (op0 != 0B)
  1599. size:2.000000, time:0.462003, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 == 0) && (op0 != 0B)
  1600. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1601. size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B)
  1602. size:8.500000, time:0.659990, executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
  1603. size:12.000000, time:0.924007, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 == 0) && (op0 != 0B)
  1604. size:2.500000, time:0.089724, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B)
  1605. size:0.500000, time:0.012708, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1606. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1607. size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B)
  1608. size:1.000000, time:0.038508, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1609. size:2.000000, time:0.077015, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B)
  1610. size:1.000000, time:0.038508, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1611. size:2.000000, time:0.077015, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B)
  1612. size:2.000000, time:0.021604, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op5 changed) && (op1 == 0) && (op0 != 0B)
  1613. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined)
  1614. size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B)
  1615. size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B)
  1616. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  1617. calls:
  1618. vPortValidateInterruptPriority/106 function body not available
  1619. loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B)
  1620. IPA function summary for xTaskGenericNotify/89 inlinable
  1621. global time: 19.409340
  1622. self size: 101
  1623. global size: 101
  1624. min size: 0
  1625. self stack: 0
  1626. global stack: 0
  1627. size:0.000000, time:0.000000
  1628. size:2.000000, time:0.000000, executed if:(not inlined)
  1629. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  1630. size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
  1631. size:2.000000, time:0.534701, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op4 changed) && (op0 != 0B) && (op1 == 0)
  1632. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0) && (not inlined)
  1633. size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0)
  1634. size:6.500000, time:1.146039, executed if:(op0 != 0B) && (op1 == 0) && (not inlined)
  1635. size:50.500000, time:4.943545, executed if:(op0 != 0B) && (op1 == 0)
  1636. size:12.000000, time:1.069402, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op3 changed) && (op0 != 0B) && (op1 == 0)
  1637. size:2.500000, time:0.103845, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0)
  1638. size:0.500000, time:0.014708, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0) && (not inlined)
  1639. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0) && (not inlined)
  1640. size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0)
  1641. size:1.000000, time:0.044569, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0) && (not inlined)
  1642. size:2.000000, time:0.089137, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0)
  1643. size:1.000000, time:0.044569, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0) && (not inlined)
  1644. size:2.000000, time:0.089137, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0)
  1645. size:5.000000, time:1.163247, executed if:(op0 == 0B) && (op1 == 0)
  1646. size:5.000000, time:2.500000, executed if:(op1 != 0)
  1647. calls:
  1648. vPortExitCritical/101 function body not available
  1649. loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  1650. vPortEnterCritical/100 function body not available
  1651. loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0)
  1652. IPA function summary for xTaskGenericNotifyWait/88 inlinable
  1653. global time: 27.462430
  1654. self size: 49
  1655. global size: 49
  1656. min size: 0
  1657. self stack: 0
  1658. global stack: 0
  1659. size:0.000000, time:0.000000
  1660. size:2.000000, time:0.000000, executed if:(not inlined)
  1661. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1662. size:20.000000, time:5.055622, executed if:(op0 == 0)
  1663. size:1.000000, time:0.217802, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  1664. size:2.000000, time:0.435605, executed if:(op0 == 0), nonconst if:(op4 changed) && (op0 == 0)
  1665. size:3.000000, time:0.215631, executed if:(op4 != 0) && (op0 == 0)
  1666. size:2.000000, time:0.660002, executed if:(op0 == 0), nonconst if:(op3 changed) && (op0 == 0)
  1667. size:2.500000, time:0.577499, executed if:(op3 != 0B) && (op0 == 0)
  1668. size:0.500000, time:0.115500, executed if:(op3 != 0B) && (op0 == 0) && (not inlined)
  1669. size:1.000000, time:0.112199, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  1670. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  1671. size:5.000000, time:3.349994, executed if:(op0 != 0)
  1672. calls:
  1673. vPortExitCritical/101 function body not available
  1674. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1675. vPortEnterCritical/100 function body not available
  1676. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1677. vPortExitCritical/101 function body not available
  1678. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1679. prvAddCurrentTaskToDelayedList/94 --param max-inline-insns-auto limit reached
  1680. loop depth: 0 freq:0.07 size: 3 time: 12callee size:24 stack: 0 predicate: (op4 != 0) && (op0 == 0)
  1681. op1 is compile time invariant
  1682. vPortEnterCritical/100 function body not available
  1683. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1684. IPA function summary for ulTaskGenericNotifyTake/87 inlinable
  1685. global time: 24.729284
  1686. self size: 41
  1687. global size: 41
  1688. min size: 0
  1689. self stack: 0
  1690. global stack: 0
  1691. size:0.000000, time:0.000000
  1692. size:2.000000, time:0.000000, executed if:(not inlined)
  1693. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1694. size:12.000000, time:3.630014, executed if:(op0 == 0)
  1695. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0)
  1696. size:3.000000, time:0.163347, executed if:(op2 != 0) && (op0 == 0)
  1697. size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0)
  1698. size:3.000000, time:0.247492, executed if:(op1 == 0) && (op0 == 0)
  1699. size:2.000000, time:0.164994, executed if:(op1 != 0) && (op0 == 0)
  1700. size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined)
  1701. size:5.000000, time:3.349994, executed if:(op0 != 0)
  1702. calls:
  1703. vPortExitCritical/101 function body not available
  1704. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1705. vPortEnterCritical/100 function body not available
  1706. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1707. vPortExitCritical/101 function body not available
  1708. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1709. prvAddCurrentTaskToDelayedList/94 --param max-inline-insns-auto limit reached
  1710. loop depth: 0 freq:0.05 size: 3 time: 12callee size:24 stack: 0 predicate: (op2 != 0) && (op0 == 0)
  1711. op1 is compile time invariant
  1712. vPortEnterCritical/100 function body not available
  1713. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0)
  1714. IPA function summary for pvTaskIncrementMutexHeldCount/86 inlinable
  1715. global time: 8.800000
  1716. self size: 11
  1717. global size: 11
  1718. min size: 0
  1719. self stack: 0
  1720. global stack: 0
  1721. size:8.000000, time:6.800000
  1722. size:3.000000, time:2.000000, executed if:(not inlined)
  1723. calls:
  1724. IPA function summary for uxTaskResetEventItemValue/85 inlinable
  1725. global time: 9.000000
  1726. self size: 10
  1727. global size: 10
  1728. min size: 0
  1729. self stack: 0
  1730. global stack: 0
  1731. size:7.000000, time:7.000000
  1732. size:3.000000, time:2.000000, executed if:(not inlined)
  1733. calls:
  1734. IPA function summary for vTaskList/84 inlinable
  1735. global time: 510.123258
  1736. self size: 47
  1737. global size: 56
  1738. min size: 100
  1739. self stack: 0
  1740. global stack: 0
  1741. size:26.500000, time:257.292884
  1742. size:3.500000, time:2.500000, executed if:(not inlined)
  1743. calls:
  1744. vPortFree/96 function body not available
  1745. loop depth: 0 freq:0.53 size: 2 time: 11
  1746. strlen/110 function body not available
  1747. loop depth: 1 freq:4.33 size: 3 time: 12
  1748. sprintf/111 function body not available
  1749. loop depth: 1 freq:4.33 size: 7 time: 16
  1750. op1 is compile time invariant
  1751. prvWriteNameToBuffer/83 inlined
  1752. loop depth: 1 freq:4.33 size: 4 time: 13callee size: 8 stack: 0
  1753. Stack frame offset 0, callee self size 0, callee size 0
  1754. strlen/110 function body not available
  1755. loop depth: 1 freq:4.33 size: 3 time: 12
  1756. strcpy/112 function body not available
  1757. loop depth: 1 freq:4.33 size: 3 time: 12
  1758. uxTaskGetSystemState/53 --param max-inline-insns-auto limit reached
  1759. loop depth: 0 freq:0.53 size: 5 time: 14callee size:28 stack: 0
  1760. op2 is compile time invariant
  1761. pvPortMalloc/95 function body not available
  1762. loop depth: 0 freq:1.00 size: 3 time: 12
  1763. IPA function summary for vTaskPriorityDisinheritAfterTimeout/82 inlinable
  1764. global time: 10.371966
  1765. self size: 55
  1766. global size: 55
  1767. min size: 0
  1768. self stack: 0
  1769. global stack: 0
  1770. size:0.000000, time:0.000000
  1771. size:2.000000, time:0.000000, executed if:(not inlined)
  1772. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1773. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  1774. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  1775. 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)
  1776. 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)
  1777. 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)
  1778. 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)
  1779. 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)
  1780. 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)
  1781. 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)
  1782. size:23.000000, time:0.526507, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1783. size:3.000000, time:0.062873, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1784. 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)
  1785. 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)
  1786. 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)
  1787. 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)
  1788. 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)
  1789. 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)
  1790. size:1.000000, time:1.252873, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  1791. size:5.000000, time:1.749999, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  1792. calls:
  1793. uxListRemove/103 function body not available
  1794. loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B)
  1795. IPA function summary for xTaskPriorityDisinherit/81 inlinable
  1796. global time: 9.958189
  1797. self size: 50
  1798. global size: 50
  1799. min size: 0
  1800. self stack: 0
  1801. global stack: 0
  1802. size:0.000000, time:0.000000
  1803. size:2.000000, time:0.000000, executed if:(not inlined)
  1804. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1805. size:8.000000, time:4.549986, executed if:(op0 != 0B)
  1806. size:0.500000, time:0.104999, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined)
  1807. size:2.500000, time:0.524994, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B)
  1808. 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)
  1809. size:3.500000, time:0.121103, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined)
  1810. size:16.500000, time:0.406951, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B)
  1811. 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)
  1812. 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)
  1813. 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)
  1814. 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)
  1815. 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)
  1816. size:1.000000, time:0.809999, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined)
  1817. size:5.000000, time:0.525006, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B)
  1818. calls:
  1819. uxListRemove/103 function body not available
  1820. loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op0[ref offset: 608] != 0) && (op0 != 0B)
  1821. IPA function summary for xTaskPriorityInherit/80 inlinable
  1822. global time: 14.781628
  1823. self size: 48
  1824. global size: 48
  1825. min size: 0
  1826. self stack: 0
  1827. global stack: 0
  1828. size:0.000000, time:0.000000
  1829. size:3.000000, time:2.000000, executed if:(not inlined)
  1830. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1831. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B) && (not inlined)
  1832. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B)
  1833. size:30.000000, time:6.590815, executed if:(op0 != 0B)
  1834. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B) && (not inlined)
  1835. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B)
  1836. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
  1837. size:2.500000, time:0.875000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
  1838. size:3.000000, time:0.369758, executed if:(op0 != 0B) && (not inlined)
  1839. size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  1840. size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  1841. size:2.000000, time:0.700000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0 != 0B)
  1842. calls:
  1843. uxListRemove/103 function body not available
  1844. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  1845. IPA function summary for xTaskGetSchedulerState/79 inlinable
  1846. global time: 6.500000
  1847. self size: 9
  1848. global size: 9
  1849. min size: 0
  1850. self stack: 0
  1851. global stack: 0
  1852. size:6.000000, time:4.500000
  1853. size:3.000000, time:2.000000, executed if:(not inlined)
  1854. calls:
  1855. IPA function summary for xTaskGetCurrentTaskHandle/78 inlinable
  1856. global time: 3.000000
  1857. self size: 4
  1858. global size: 4
  1859. min size: 0
  1860. self stack: 0
  1861. global stack: 0
  1862. size:1.000000, time:1.000000
  1863. size:3.000000, time:2.000000, executed if:(not inlined)
  1864. calls:
  1865. IPA function summary for prvResetNextTaskUnblockTime/77 inlinable
  1866. global time: 8.500000
  1867. self size: 9
  1868. global size: 12
  1869. min size: 9
  1870. self stack: 0
  1871. global stack: 0
  1872. estimated growth:11
  1873. size:9.000000, time:6.500000
  1874. size:3.000000, time:2.000000, executed if:(not inlined)
  1875. calls:
  1876. prvResetNextTaskUnblockTime.part.0/115 inlined
  1877. loop depth: 0 freq:0.50 size: 1 time: 10callee size: 3 stack: 0
  1878. Stack frame offset 0, callee self size 0, callee size 0
  1879. IPA function summary for uxTaskGetStackHighWaterMark/75 inlinable
  1880. global time: 49.754546
  1881. self size: 10
  1882. global size: 13
  1883. min size: 6
  1884. self stack: 0
  1885. global stack: 0
  1886. size:7.000000, time:45.454546
  1887. size:3.000000, time:2.000000, executed if:(not inlined)
  1888. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1889. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1890. calls:
  1891. prvTaskCheckFreeStackSpace/180 inlined
  1892. loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
  1893. Stack frame offset 0, callee self size 0, callee size 0
  1894. IPA function summary for prvListTasksWithinSingleList/73 inlinable
  1895. global time: 121.384091
  1896. self size: 11
  1897. global size: 30
  1898. min size: 0
  1899. self stack: 0
  1900. global stack: 0
  1901. estimated growth:4
  1902. size:0.000000, time:0.000000
  1903. size:3.000000, time:2.000000, executed if:(not inlined)
  1904. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
  1905. size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed)
  1906. size:18.500000, time:52.497728, executed if:(op1[ref offset: 0] != 0)
  1907. size:0.500000, time:0.250000, executed if:(op1[ref offset: 0] != 0), nonconst if:(op1[ref offset: 32] changed) && (op1[ref offset: 0] != 0)
  1908. calls:
  1909. prvListTasksWithinSingleList.part.0/158 inlined
  1910. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0
  1911. Stack frame offset 0, callee self size 0, callee size 0
  1912. vTaskGetInfo/72 call is unlikely and code size would grow
  1913. loop depth: 1 freq:4.55 size: 5 time: 14callee size:23 stack: 0 predicate: (op1[ref offset: 0] != 0)
  1914. op2 is compile time invariant
  1915. op3 change 10.990000% of time
  1916. IPA function summary for vTaskGetInfo/72 inlinable
  1917. global time: 44.916434
  1918. self size: 44
  1919. global size: 47
  1920. min size: 8
  1921. self stack: 0
  1922. global stack: 0
  1923. estimated growth:27
  1924. size:7.500000, time:7.500000
  1925. size:6.500000, time:5.500000, executed if:(not inlined)
  1926. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1927. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  1928. size:2.000000, time:2.000000, nonconst if:(op3 changed)
  1929. size:0.500000, time:0.101200, executed if:(op3 == 5) && (not inlined)
  1930. size:0.500000, time:0.101200, executed if:(op3 == 5)
  1931. size:4.000000, time:2.791600, executed if:(op3 != 5)
  1932. size:1.000000, time:0.398800, executed if:(op3 != 5) && (not inlined)
  1933. size:2.000000, time:1.116640, executed if:(op3 != 5), nonconst if:(op3 changed) && (op3 != 5)
  1934. size:3.500000, time:0.378563, executed if:(op3 == 3) && (op3 != 5)
  1935. size:0.500000, time:0.039551, executed if:(op3 == 3) && (op3 != 5) && (not inlined)
  1936. size:2.000000, time:2.000000, nonconst if:(op2 changed)
  1937. size:0.500000, time:0.335000, executed if:(op2 == 0) && (not inlined)
  1938. size:0.500000, time:0.335000, executed if:(op2 == 0)
  1939. size:7.500000, time:15.165000, executed if:(op2 != 0)
  1940. size:0.500000, time:0.165000, executed if:(op2 != 0) && (not inlined)
  1941. calls:
  1942. prvTaskCheckFreeStackSpace/74 inlined
  1943. loop depth: 0 freq:0.33 size: 3 time: 12callee size: 4 stack: 0
  1944. Stack frame offset 0, callee self size 0, callee size 0
  1945. eTaskGetState/35 call is unlikely and code size would grow
  1946. loop depth: 0 freq:0.20 size: 3 time: 12callee size:18 stack: 0 predicate: (op3 == 5)
  1947. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  1948. loop depth: 0 freq:0.11 size: 1 time: 10callee size:48 stack: 0 predicate: (op3 == 3) && (op3 != 5)
  1949. vTaskSuspendAll/45 call is unlikely and code size would grow
  1950. loop depth: 0 freq:0.11 size: 1 time: 10callee size: 3 stack: 0 predicate: (op3 == 3) && (op3 != 5)
  1951. IPA function summary for prvIdleTask/69 inlinable
  1952. global time: 8976808.421875
  1953. self size: 9
  1954. global size: 28
  1955. min size: 30
  1956. self stack: 0
  1957. global stack: 0
  1958. size:17.500000, time:1708730.259766
  1959. size:2.000000, time:0.000000, executed if:(not inlined)
  1960. calls:
  1961. prvCheckTasksWaitingTermination/71 inlined
  1962. loop depth: 2 freq:16949.09 size: 1 time: 10callee size:10 stack: 0
  1963. Stack frame offset 0, callee self size 0, callee size 0
  1964. prvDeleteTCB/179 inlined
  1965. loop depth: 3 freq:137133.55 size: 2 time: 11callee size: 4 stack: 0
  1966. Stack frame offset 0, callee self size 0, callee size 0
  1967. vPortFree/96 function body not available
  1968. loop depth: 3 freq:137133.55 size: 2 time: 11
  1969. vPortFree/96 function body not available
  1970. loop depth: 3 freq:137133.55 size: 2 time: 11
  1971. vPortExitCritical/101 function body not available
  1972. loop depth: 3 freq:137133.55 size: 1 time: 10
  1973. uxListRemove/103 function body not available
  1974. loop depth: 3 freq:137133.55 size: 2 time: 11
  1975. vPortEnterCritical/100 function body not available
  1976. loop depth: 3 freq:137133.55 size: 1 time: 10
  1977. IPA function summary for vTaskSetTaskNumber/68 inlinable
  1978. global time: 4.700000
  1979. self size: 6
  1980. global size: 6
  1981. min size: 0
  1982. self stack: 0
  1983. global stack: 0
  1984. size:0.000000, time:0.000000
  1985. size:3.000000, time:2.000000, executed if:(not inlined)
  1986. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1987. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined)
  1988. size:0.500000, time:0.350000, executed if:(op0 != 0B)
  1989. calls:
  1990. IPA function summary for uxTaskGetTaskNumber/67 inlinable
  1991. global time: 4.700000
  1992. self size: 6
  1993. global size: 6
  1994. min size: 0
  1995. self stack: 0
  1996. global stack: 0
  1997. size:0.000000, time:0.000000
  1998. size:3.000000, time:2.000000, executed if:(not inlined)
  1999. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2000. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B) && (not inlined)
  2001. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B)
  2002. calls:
  2003. IPA function summary for vTaskMissedYield/66 inlinable
  2004. global time: 3.000000
  2005. self size: 4
  2006. global size: 4
  2007. min size: 0
  2008. self stack: 0
  2009. global stack: 0
  2010. size:1.000000, time:1.000000
  2011. size:3.000000, time:2.000000, executed if:(not inlined)
  2012. calls:
  2013. IPA function summary for xTaskCheckForTimeOut/65 inlinable
  2014. global time: 19.619846
  2015. self size: 46
  2016. global size: 46
  2017. min size: 0
  2018. self stack: 0
  2019. global stack: 0
  2020. size:0.000000, time:0.000000
  2021. size:2.000000, time:0.000000, executed if:(not inlined)
  2022. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2023. size:2.000000, time:1.400002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  2024. size:22.000000, time:4.152264, executed if:(op1 != 0B) && (op0 != 0B)
  2025. size:4.000000, time:1.152813, executed if:(op1 != 0B) && (op0 != 0B) && (not inlined)
  2026. size:5.000000, time:1.628552, executed if:(op1 == 0B) && (op0 != 0B)
  2027. size:5.000000, time:1.499995, executed if:(op0 == 0B)
  2028. calls:
  2029. vPortExitCritical/101 function body not available
  2030. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  2031. vTaskInternalSetTimeOutState/64 call is unlikely and code size would grow
  2032. loop depth: 0 freq:0.03 size: 2 time: 11callee size: 3 stack: 0 predicate: (op1 != 0B) && (op0 != 0B)
  2033. vPortEnterCritical/100 function body not available
  2034. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B)
  2035. IPA function summary for vTaskInternalSetTimeOutState/64 inlinable
  2036. global time: 6.000000
  2037. self size: 7
  2038. global size: 7
  2039. min size: 3
  2040. self stack: 0
  2041. global stack: 0
  2042. estimated growth:1
  2043. size:3.000000, time:3.000000
  2044. size:4.000000, time:3.000000, executed if:(not inlined)
  2045. calls:
  2046. IPA function summary for vTaskSetTimeOutState/63 inlinable
  2047. global time: 18.228702
  2048. self size: 16
  2049. global size: 16
  2050. min size: 0
  2051. self stack: 0
  2052. global stack: 0
  2053. size:0.000000, time:0.000000
  2054. size:2.000000, time:0.000000, executed if:(not inlined)
  2055. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2056. size:3.000000, time:1.604100, executed if:(op0 != 0B)
  2057. size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined)
  2058. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  2059. calls:
  2060. vPortExitCritical/101 function body not available
  2061. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  2062. vPortEnterCritical/100 function body not available
  2063. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  2064. IPA function summary for vTaskRemoveFromUnorderedEventList/62 inlinable
  2065. global time: 25.410043
  2066. self size: 69
  2067. global size: 69
  2068. min size: 0
  2069. self stack: 0
  2070. global stack: 0
  2071. size:8.500000, time:5.750000
  2072. size:2.500000, time:0.250000, executed if:(not inlined)
  2073. size:1.000000, time:0.500000, nonconst if:(op1 changed)
  2074. size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  2075. size:2.500000, time:1.250000, nonconst if:(op0[ref offset: 96] changed)
  2076. 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)
  2077. 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)
  2078. 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)
  2079. 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)
  2080. 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)
  2081. 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)
  2082. size:44.000000, time:14.560043, executed if:(op0[ref offset: 96] != 0B)
  2083. size:2.000000, time:1.050003, executed if:(op0[ref offset: 96] != 0B) && (not inlined)
  2084. size:5.000000, time:0.749995, executed if:(op0[ref offset: 96] == 0B)
  2085. calls:
  2086. IPA function summary for xTaskRemoveFromEventList/61 inlinable
  2087. global time: 35.040046
  2088. self size: 74
  2089. global size: 74
  2090. min size: 0
  2091. self stack: 0
  2092. global stack: 0
  2093. size:70.000000, time:32.640046
  2094. size:3.000000, time:1.399999, executed if:(not inlined)
  2095. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
  2096. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 96] changed)
  2097. calls:
  2098. IPA function summary for vTaskPlaceOnEventListRestricted/60 inlinable
  2099. global time: 25.899992
  2100. self size: 31
  2101. global size: 31
  2102. min size: 0
  2103. self stack: 0
  2104. global stack: 0
  2105. size:0.000000, time:0.000000
  2106. size:2.000000, time:0.000000, executed if:(not inlined)
  2107. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2108. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  2109. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  2110. size:12.500000, time:8.749997, executed if:(op0 != 0B)
  2111. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  2112. size:1.500000, time:1.050000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  2113. size:1.500000, time:1.749999, executed if:(op0 != 0B) && (not inlined)
  2114. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B)
  2115. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2116. calls:
  2117. prvAddCurrentTaskToDelayedList/94 call is unlikely and code size would grow
  2118. loop depth: 0 freq:0.70 size: 3 time: 12callee size:24 stack: 0 predicate: (op0 != 0B)
  2119. IPA function summary for vTaskPlaceOnUnorderedEventList/59 inlinable
  2120. global time: 15.568078
  2121. self size: 40
  2122. global size: 40
  2123. min size: 0
  2124. self stack: 0
  2125. global stack: 0
  2126. size:0.000000, time:0.000000
  2127. size:2.000000, time:0.000000, executed if:(not inlined)
  2128. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2129. size:22.500000, time:7.794538, executed if:(op0 != 0B)
  2130. size:1.000000, time:0.231002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  2131. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
  2132. size:0.500000, time:0.115501, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
  2133. size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  2134. size:1.500000, time:0.346503, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  2135. size:1.500000, time:0.577504, executed if:(op0 != 0B) && (not inlined)
  2136. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  2137. calls:
  2138. prvAddCurrentTaskToDelayedList/94 --param max-inline-insns-auto limit reached
  2139. loop depth: 0 freq:0.23 size: 3 time: 12callee size:24 stack: 0 predicate: (op0 != 0B)
  2140. op1 is compile time invariant
  2141. IPA function summary for vTaskPlaceOnEventList/58 inlinable
  2142. global time: 18.763402
  2143. self size: 17
  2144. global size: 17
  2145. min size: 0
  2146. self stack: 0
  2147. global stack: 0
  2148. size:0.000000, time:0.000000
  2149. size:2.000000, time:0.000000, executed if:(not inlined)
  2150. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2151. size:1.000000, time:0.534700, executed if:(op0 != 0B)
  2152. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  2153. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  2154. calls:
  2155. prvAddCurrentTaskToDelayedList/94 call is unlikely and code size would grow
  2156. loop depth: 0 freq:0.53 size: 3 time: 12callee size:24 stack: 0 predicate: (op0 != 0B)
  2157. op1 is compile time invariant
  2158. vListInsert/105 function body not available
  2159. loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B)
  2160. IPA function summary for vTaskSwitchContext/57 inlinable
  2161. global time: 36.726420
  2162. self size: 27
  2163. global size: 31
  2164. min size: 28
  2165. self stack: 0
  2166. global stack: 0
  2167. estimated growth:23
  2168. size:28.000000, time:35.212281
  2169. size:3.000000, time:1.514139, executed if:(not inlined)
  2170. calls:
  2171. vTaskSwitchContext.part.0/146 inlined
  2172. loop depth: 0 freq:0.24 size: 1 time: 10callee size: 3 stack: 0
  2173. Stack frame offset 0, callee self size 0, callee size 0
  2174. IPA function summary for xTaskIncrementTick/56 inlinable
  2175. global time: 91.003798
  2176. self size: 11
  2177. global size: 103
  2178. min size: 99
  2179. self stack: 0
  2180. global stack: 0
  2181. estimated growth:6
  2182. size:99.000000, time:88.513794
  2183. size:3.000000, time:1.665000, executed if:(not inlined)
  2184. calls:
  2185. xTaskIncrementTick.part.0/135 inlined
  2186. loop depth: 0 freq:0.50 size: 2 time: 11callee size:48 stack: 0
  2187. Stack frame offset 0, callee self size 0, callee size 0
  2188. prvResetNextTaskUnblockTime/77 call is unlikely and code size would grow
  2189. loop depth: 0 freq:0.08 size: 1 time: 10callee size: 6 stack: 0
  2190. IPA function summary for xTaskAbortDelay/55 inlinable
  2191. global time: 30.114204
  2192. self size: 48
  2193. global size: 48
  2194. min size: 0
  2195. self stack: 0
  2196. global stack: 0
  2197. size:0.000000, time:0.000000
  2198. size:2.000000, time:0.000000, executed if:(not inlined)
  2199. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2200. size:24.000000, time:3.316918, executed if:(op0 != 0B)
  2201. size:4.000000, time:1.368894, executed if:(op0 != 0B) && (not inlined)
  2202. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  2203. calls:
  2204. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2205. loop depth: 0 freq:0.53 size: 1 time: 10callee size:48 stack: 0 predicate: (op0 != 0B)
  2206. vPortExitCritical/101 function body not available
  2207. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  2208. uxListRemove/103 function body not available
  2209. loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B)
  2210. vPortEnterCritical/100 function body not available
  2211. loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B)
  2212. uxListRemove/103 function body not available
  2213. loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op0 != 0B)
  2214. eTaskGetState/35 call is unlikely and code size would grow
  2215. loop depth: 0 freq:0.53 size: 3 time: 12callee size:18 stack: 0 predicate: (op0 != 0B)
  2216. vTaskSuspendAll/45 call is unlikely and code size would grow
  2217. loop depth: 0 freq:0.53 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0B)
  2218. IPA function summary for xTaskCatchUpTicks/54 inlinable
  2219. global time: 14.930026
  2220. self size: 17
  2221. global size: 17
  2222. min size: 6
  2223. self stack: 0
  2224. global stack: 0
  2225. size:11.000000, time:7.339998
  2226. size:3.000000, time:0.660002, executed if:(not inlined)
  2227. calls:
  2228. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2229. loop depth: 0 freq:0.33 size: 2 time: 11callee size:48 stack: 0
  2230. vTaskSuspendAll/45 call is unlikely and code size would grow
  2231. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 3 stack: 0
  2232. IPA function summary for uxTaskGetSystemState/53 inlinable
  2233. global time: 111.350001
  2234. self size: 56
  2235. global size: 56
  2236. min size: 23
  2237. self stack: 0
  2238. global stack: 0
  2239. estimated growth:45
  2240. size:23.000000, time:25.000000
  2241. size:3.000000, time:2.000000, executed if:(not inlined)
  2242. size:2.000000, time:1.000000, nonconst if:(op2 changed)
  2243. size:0.500000, time:0.175000, executed if:(op2 != 0B) && (not inlined)
  2244. size:0.500000, time:0.175000, executed if:(op2 != 0B)
  2245. calls:
  2246. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2247. loop depth: 0 freq:1.00 size: 1 time: 10callee size:48 stack: 0
  2248. prvListTasksWithinSingleList/73 call is unlikely and code size would grow
  2249. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0
  2250. op1 is compile time invariant
  2251. op2 is compile time invariant
  2252. prvListTasksWithinSingleList/73 call is unlikely and code size would grow
  2253. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0
  2254. op1 is compile time invariant
  2255. op2 is compile time invariant
  2256. prvListTasksWithinSingleList/73 call is unlikely and code size would grow
  2257. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0
  2258. op2 is compile time invariant
  2259. prvListTasksWithinSingleList/73 call is unlikely and code size would grow
  2260. loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0
  2261. op2 is compile time invariant
  2262. prvListTasksWithinSingleList/73 call is unlikely and code size would grow
  2263. loop depth: 1 freq:2.50 size: 5 time: 14callee size:15 stack: 0
  2264. op2 is compile time invariant
  2265. vTaskSuspendAll/45 call is unlikely and code size would grow
  2266. loop depth: 0 freq:1.00 size: 1 time: 10callee size: 3 stack: 0
  2267. IPA function summary for xTaskGetHandle/52 inlinable
  2268. global time: 54.551541
  2269. self size: 50
  2270. global size: 50
  2271. min size: 50
  2272. self stack: 0
  2273. global stack: 0
  2274. size:22.000000, time:14.718564
  2275. size:3.000000, time:0.660002, executed if:(not inlined)
  2276. calls:
  2277. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2278. loop depth: 0 freq:0.33 size: 1 time: 10callee size:48 stack: 0
  2279. prvSearchForNameWithinSingleList/51 call is unlikely and code size would grow
  2280. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  2281. op0 is compile time invariant
  2282. prvSearchForNameWithinSingleList/51 call is unlikely and code size would grow
  2283. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  2284. op0 is compile time invariant
  2285. prvSearchForNameWithinSingleList/51 call is unlikely and code size would grow
  2286. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  2287. prvSearchForNameWithinSingleList/51 call is unlikely and code size would grow
  2288. loop depth: 0 freq:0.06 size: 4 time: 13callee size:19 stack: 0
  2289. prvSearchForNameWithinSingleList/51 call is unlikely and code size would grow
  2290. loop depth: 1 freq:1.35 size: 4 time: 13callee size:19 stack: 0
  2291. op1 change 73.930000% of time
  2292. vTaskSuspendAll/45 call is unlikely and code size would grow
  2293. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 3 stack: 0
  2294. strlen/110 function body not available
  2295. loop depth: 0 freq:1.00 size: 3 time: 12
  2296. IPA function summary for prvSearchForNameWithinSingleList/51 inlinable
  2297. global time: 474.990788
  2298. self size: 38
  2299. global size: 38
  2300. min size: 0
  2301. self stack: 0
  2302. global stack: 0
  2303. estimated growth:97
  2304. size:0.000000, time:0.000000
  2305. size:3.000000, time:2.000000, executed if:(not inlined)
  2306. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
  2307. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed)
  2308. 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)
  2309. 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)
  2310. size:27.500000, time:457.513131, executed if:(op0[ref offset: 0] != 0)
  2311. size:3.500000, time:11.767657, executed if:(op0[ref offset: 0] != 0) && (not inlined)
  2312. calls:
  2313. IPA function summary for pcTaskGetName/50 inlinable
  2314. global time: 7.200001
  2315. self size: 13
  2316. global size: 13
  2317. min size: 0
  2318. self stack: 0
  2319. global stack: 0
  2320. size:7.000000, time:3.500001
  2321. size:3.000000, time:1.399999, executed if:(not inlined)
  2322. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2323. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2324. calls:
  2325. IPA function summary for uxTaskGetNumberOfTasks/49 inlinable
  2326. global time: 3.000000
  2327. self size: 4
  2328. global size: 4
  2329. min size: 0
  2330. self stack: 0
  2331. global stack: 0
  2332. size:1.000000, time:1.000000
  2333. size:3.000000, time:2.000000, executed if:(not inlined)
  2334. calls:
  2335. IPA function summary for xTaskGetTickCountFromISR/48 inlinable
  2336. global time: 13.000000
  2337. self size: 5
  2338. global size: 5
  2339. min size: 2
  2340. self stack: 0
  2341. global stack: 0
  2342. size:1.000000, time:1.000000
  2343. size:3.000000, time:2.000000, executed if:(not inlined)
  2344. calls:
  2345. vPortValidateInterruptPriority/106 function body not available
  2346. loop depth: 0 freq:1.00 size: 1 time: 10
  2347. IPA function summary for xTaskGetTickCount/47 inlinable
  2348. global time: 3.000000
  2349. self size: 4
  2350. global size: 4
  2351. min size: 0
  2352. self stack: 0
  2353. global stack: 0
  2354. size:1.000000, time:1.000000
  2355. size:3.000000, time:2.000000, executed if:(not inlined)
  2356. calls:
  2357. IPA function summary for xTaskResumeAll/46 inlinable
  2358. global time: 57.561863
  2359. self size: 13
  2360. global size: 96
  2361. min size: 88
  2362. self stack: 0
  2363. global stack: 0
  2364. estimated growth:60
  2365. size:88.000000, time:45.735643
  2366. size:3.000000, time:0.660002, executed if:(not inlined)
  2367. calls:
  2368. xTaskResumeAll.part.0/137 inlined
  2369. loop depth: 0 freq:0.33 size: 2 time: 11callee size:44 stack: 0
  2370. Stack frame offset 0, callee self size 0, callee size 0
  2371. vPortEnterCritical/100 function body not available
  2372. loop depth: 0 freq:0.33 size: 1 time: 10
  2373. prvResetNextTaskUnblockTime/77 call is unlikely and code size would grow
  2374. loop depth: 0 freq:0.04 size: 1 time: 10callee size: 6 stack: 0
  2375. xTaskIncrementTick/56 --param max-inline-insns-auto limit reached
  2376. loop depth: 1 freq:0.38 size: 2 time: 11callee size:51 stack: 0
  2377. vPortExitCritical/101 function body not available
  2378. loop depth: 0 freq:0.33 size: 1 time: 10
  2379. IPA function summary for vTaskSuspendAll/45 inlinable
  2380. global time: 6.000000
  2381. self size: 7
  2382. global size: 7
  2383. min size: 4
  2384. self stack: 0
  2385. global stack: 0
  2386. estimated growth:21
  2387. size:4.000000, time:4.000000
  2388. size:3.000000, time:2.000000, executed if:(not inlined)
  2389. calls:
  2390. IPA function summary for vTaskEndScheduler/44 inlinable
  2391. global time: 18.000000
  2392. self size: 10
  2393. global size: 10
  2394. min size: 2
  2395. self stack: 0
  2396. global stack: 0
  2397. size:6.000000, time:6.000000
  2398. size:3.000000, time:2.000000, executed if:(not inlined)
  2399. calls:
  2400. vPortEndScheduler/109 function body not available
  2401. loop depth: 0 freq:1.00 size: 1 time: 10
  2402. IPA function summary for vTaskStartScheduler/43 inlinable
  2403. global time: 32.007150
  2404. self size: 34
  2405. global size: 34
  2406. min size: 22
  2407. self stack: 0
  2408. global stack: 0
  2409. size:20.000000, time:9.299132
  2410. size:3.000000, time:1.457632, executed if:(not inlined)
  2411. calls:
  2412. xPortStartScheduler/108 function body not available
  2413. loop depth: 0 freq:0.20 size: 1 time: 10
  2414. xTimerCreateTimerTask/107 function body not available
  2415. loop depth: 0 freq:0.20 size: 2 time: 11
  2416. xTaskCreate/29 call is unlikely and code size would grow
  2417. loop depth: 0 freq:1.00 size: 8 time: 17callee size:69 stack: 0
  2418. op0 is compile time invariant
  2419. op1 is compile time invariant
  2420. op2 is compile time invariant
  2421. op3 is compile time invariant
  2422. op4 is compile time invariant
  2423. op5 is compile time invariant
  2424. IPA function summary for xTaskResumeFromISR/42 inlinable
  2425. global time: 29.564289
  2426. self size: 53
  2427. global size: 53
  2428. min size: 0
  2429. self stack: 0
  2430. global stack: 0
  2431. size:0.000000, time:0.000000
  2432. size:2.000000, time:0.000000, executed if:(not inlined)
  2433. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2434. size:31.500000, time:8.928128, executed if:(op0 != 0B)
  2435. size:3.500000, time:1.517208, executed if:(op0 != 0B) && (not inlined)
  2436. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  2437. calls:
  2438. vListInsertEnd/104 function body not available
  2439. loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0 != 0B)
  2440. op0 is compile time invariant
  2441. uxListRemove/103 function body not available
  2442. loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B)
  2443. prvTaskIsTaskSuspended/40 call is unlikely and code size would grow
  2444. loop depth: 0 freq:0.53 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0 != 0B)
  2445. vPortValidateInterruptPriority/106 function body not available
  2446. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  2447. IPA function summary for vTaskResume/41 inlinable
  2448. global time: 23.678349
  2449. self size: 45
  2450. global size: 45
  2451. min size: 0
  2452. self stack: 0
  2453. global stack: 0
  2454. size:0.000000, time:0.000000
  2455. size:2.000000, time:0.000000, executed if:(not inlined)
  2456. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2457. size:26.000000, time:5.195383, executed if:(op0 != 0B)
  2458. size:3.000000, time:1.647032, executed if:(op0 != 0B) && (not inlined)
  2459. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2460. calls:
  2461. vPortExitCritical/101 function body not available
  2462. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2463. uxListRemove/103 function body not available
  2464. loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op0 != 0B)
  2465. prvTaskIsTaskSuspended/40 call is unlikely and code size would grow
  2466. loop depth: 0 freq:0.37 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0 != 0B)
  2467. vPortEnterCritical/100 function body not available
  2468. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2469. IPA function summary for prvTaskIsTaskSuspended/40 inlinable
  2470. global time: 7.819003
  2471. self size: 16
  2472. global size: 18
  2473. min size: 0
  2474. self stack: 0
  2475. global stack: 0
  2476. estimated growth:4
  2477. size:0.000000, time:0.000000
  2478. size:2.000000, time:0.000000, executed if:(not inlined)
  2479. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2480. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined)
  2481. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B)
  2482. size:1.000000, time:1.399999, executed if:(op0[ref offset: 160] == &xSuspendedTaskList || op0[ref offset: 160] != &xSuspendedTaskList) && (op0 != 0B) && (not inlined)
  2483. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2484. size:2.500000, time:0.525002, executed if:(op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B), nonconst if:(op0[ref offset: 320] changed) && (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B)
  2485. size:2.000000, time:0.294001, executed if:(op0[ref offset: 320] != &xPendingReadyList) && (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B), nonconst if:(op0[ref offset: 320] != &xPendingReadyList) && (op0[ref offset: 320] changed) && (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B)
  2486. calls:
  2487. prvTaskIsTaskSuspended.part.0/114 inlined
  2488. loop depth: 0 freq:0.21 size: 3 time: 12callee size: 4 stack: 0
  2489. Stack frame offset 0, callee self size 0, callee size 0
  2490. IPA function summary for vTaskSuspend/39 inlinable
  2491. global time: 174.712526
  2492. self size: 53
  2493. global size: 53
  2494. min size: 26
  2495. self stack: 0
  2496. global stack: 0
  2497. size:34.000000, time:111.047613
  2498. size:3.000000, time:1.850000, executed if:(not inlined)
  2499. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2500. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2501. calls:
  2502. vTaskSwitchContext/57 call is unlikely and code size would grow
  2503. loop depth: 0 freq:0.07 size: 1 time: 10callee size:15 stack: 0
  2504. vPortExitCritical/101 function body not available
  2505. loop depth: 0 freq:0.33 size: 1 time: 10
  2506. prvResetNextTaskUnblockTime/77 call is unlikely and code size would grow
  2507. loop depth: 0 freq:0.33 size: 1 time: 10callee size: 6 stack: 0
  2508. vPortEnterCritical/100 function body not available
  2509. loop depth: 0 freq:0.33 size: 1 time: 10
  2510. vPortExitCritical/101 function body not available
  2511. loop depth: 0 freq:1.00 size: 1 time: 10
  2512. vListInsertEnd/104 function body not available
  2513. loop depth: 0 freq:1.00 size: 3 time: 12
  2514. op0 is compile time invariant
  2515. uxListRemove/103 function body not available
  2516. loop depth: 0 freq:0.53 size: 2 time: 11
  2517. uxListRemove/103 function body not available
  2518. loop depth: 0 freq:1.00 size: 2 time: 11
  2519. vPortEnterCritical/100 function body not available
  2520. loop depth: 0 freq:1.00 size: 1 time: 10
  2521. IPA function summary for vTaskPrioritySet/38 inlinable
  2522. global time: 20.030363
  2523. self size: 66
  2524. global size: 66
  2525. min size: 0
  2526. self stack: 0
  2527. global stack: 0
  2528. size:0.000000, time:0.000000
  2529. size:2.000000, time:0.000000, executed if:(not inlined)
  2530. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  2531. size:2.000000, time:0.660002, executed if:(op1 <= 4), nonconst if:(op0 changed) && (op1 <= 4)
  2532. size:1.000000, time:0.099002, executed if:(op0 == 0B) && (op1 <= 4)
  2533. size:48.000000, time:6.115238, executed if:(op1 <= 4)
  2534. size:1.000000, time:0.128504, executed if:(op1 <= 4), nonconst if:(op1 changed) && (op1 <= 4)
  2535. size:1.000000, time:0.660002, executed if:(op1 <= 4) && (not inlined)
  2536. size:5.000000, time:3.349994, executed if:(op1 > 4)
  2537. calls:
  2538. vPortExitCritical/101 function body not available
  2539. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  2540. uxListRemove/103 function body not available
  2541. loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 <= 4)
  2542. vPortEnterCritical/100 function body not available
  2543. loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4)
  2544. IPA function summary for uxTaskPriorityGetFromISR/37 inlinable
  2545. global time: 22.300000
  2546. self size: 15
  2547. global size: 15
  2548. min size: 2
  2549. self stack: 0
  2550. global stack: 0
  2551. size:8.000000, time:8.000000
  2552. size:3.000000, time:2.000000, executed if:(not inlined)
  2553. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2554. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2555. calls:
  2556. vPortValidateInterruptPriority/106 function body not available
  2557. loop depth: 0 freq:1.00 size: 1 time: 10
  2558. IPA function summary for uxTaskPriorityGet/36 inlinable
  2559. global time: 25.300000
  2560. self size: 9
  2561. global size: 9
  2562. min size: 4
  2563. self stack: 0
  2564. global stack: 0
  2565. size:1.000000, time:1.000000
  2566. size:3.000000, time:2.000000, executed if:(not inlined)
  2567. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2568. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2569. calls:
  2570. vPortExitCritical/101 function body not available
  2571. loop depth: 0 freq:1.00 size: 1 time: 10
  2572. vPortEnterCritical/100 function body not available
  2573. loop depth: 0 freq:1.00 size: 1 time: 10
  2574. IPA function summary for eTaskGetState/35 inlinable
  2575. global time: 18.511425
  2576. self size: 34
  2577. global size: 36
  2578. min size: 0
  2579. self stack: 0
  2580. global stack: 0
  2581. estimated growth:54
  2582. size:0.000000, time:0.000000
  2583. size:2.000000, time:0.000000, executed if:(not inlined)
  2584. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2585. size:22.500000, time:5.901431, executed if:(op0 != 0B)
  2586. size:2.000000, time:1.624208, executed if:(op0 != 0B) && (not inlined)
  2587. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  2588. calls:
  2589. eTaskGetState.part.0/122 inlined
  2590. loop depth: 0 freq:0.03 size: 3 time: 12callee size: 4 stack: 0
  2591. Stack frame offset 0, callee self size 0, callee size 0
  2592. vPortExitCritical/101 function body not available
  2593. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2594. vPortEnterCritical/100 function body not available
  2595. loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B)
  2596. IPA function summary for vTaskDelay/34 inlinable
  2597. global time: 14.027552
  2598. self size: 24
  2599. global size: 24
  2600. min size: 0
  2601. self stack: 0
  2602. global stack: 0
  2603. size:3.000000, time:1.747506
  2604. size:3.000000, time:1.329999, executed if:(not inlined)
  2605. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2606. size:10.000000, time:3.505009, executed if:(op0 != 0)
  2607. calls:
  2608. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2609. loop depth: 0 freq:0.17 size: 2 time: 11callee size:48 stack: 0 predicate: (op0 != 0)
  2610. prvAddCurrentTaskToDelayedList/94 call is unlikely and code size would grow
  2611. loop depth: 0 freq:0.17 size: 3 time: 12callee size:24 stack: 0 predicate: (op0 != 0)
  2612. op1 is compile time invariant
  2613. vTaskSuspendAll/45 call is unlikely and code size would grow
  2614. loop depth: 0 freq:0.17 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0)
  2615. IPA function summary for xTaskDelayUntil/33 inlinable
  2616. global time: 13.723476
  2617. self size: 55
  2618. global size: 55
  2619. min size: 0
  2620. self stack: 0
  2621. global stack: 0
  2622. size:0.000000, time:0.000000
  2623. size:2.000000, time:0.000000, executed if:(not inlined)
  2624. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2625. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  2626. size:29.000000, time:3.608499, executed if:(op1 != 0) && (op0 != 0B)
  2627. size:4.000000, time:0.346496, executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
  2628. size:5.000000, time:1.749999, executed if:(op1 == 0) && (op0 != 0B)
  2629. size:5.000000, time:1.500002, executed if:(op0 == 0B)
  2630. calls:
  2631. xTaskResumeAll/46 --param max-inline-insns-auto limit reached
  2632. loop depth: 0 freq:0.12 size: 2 time: 11callee size:48 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2633. prvAddCurrentTaskToDelayedList/94 call is unlikely and code size would grow
  2634. loop depth: 0 freq:0.06 size: 3 time: 12callee size:24 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2635. op1 is compile time invariant
  2636. vTaskSuspendAll/45 call is unlikely and code size would grow
  2637. loop depth: 0 freq:0.12 size: 1 time: 10callee size: 3 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
  2638. IPA function summary for vTaskDelete/32 inlinable
  2639. global time: 84.931701
  2640. self size: 50
  2641. global size: 53
  2642. min size: 52
  2643. self stack: 0
  2644. global stack: 0
  2645. size:32.500000, time:17.900001
  2646. size:3.000000, time:1.850000, executed if:(not inlined)
  2647. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  2648. size:1.000000, time:0.300000, executed if:(op0 == 0B)
  2649. calls:
  2650. vPortExitCritical/101 function body not available
  2651. loop depth: 0 freq:1.00 size: 1 time: 10
  2652. prvResetNextTaskUnblockTime/77 call is unlikely and code size would grow
  2653. loop depth: 0 freq:0.70 size: 1 time: 10callee size: 6 stack: 0
  2654. prvDeleteTCB/76 inlined
  2655. loop depth: 0 freq:0.70 size: 2 time: 11callee size: 4 stack: 0
  2656. Stack frame offset 0, callee self size 0, callee size 0
  2657. vPortFree/96 function body not available
  2658. loop depth: 0 freq:0.70 size: 2 time: 11
  2659. vPortFree/96 function body not available
  2660. loop depth: 0 freq:0.70 size: 2 time: 11
  2661. vListInsertEnd/104 function body not available
  2662. loop depth: 0 freq:0.30 size: 3 time: 12
  2663. op0 is compile time invariant
  2664. uxListRemove/103 function body not available
  2665. loop depth: 0 freq:0.53 size: 2 time: 11
  2666. uxListRemove/103 function body not available
  2667. loop depth: 0 freq:1.00 size: 2 time: 11
  2668. vPortEnterCritical/100 function body not available
  2669. loop depth: 0 freq:1.00 size: 1 time: 10
  2670. IPA function summary for xTaskCreate/29 inlinable
  2671. global time: 70.096758
  2672. self size: 29
  2673. global size: 138
  2674. min size: 65
  2675. self stack: 0
  2676. global stack: 0
  2677. estimated growth:17
  2678. size:64.500000, time:16.360540
  2679. size:3.000000, time:2.000000, executed if:(not inlined)
  2680. size:1.000000, time:1.000000, nonconst if:(op2 changed)
  2681. size:2.000000, time:0.571808, nonconst if:(op1 changed)
  2682. size:0.500000, time:0.042886, executed if:(op1 == 0B)
  2683. size:9.000000, time:11.263059, executed if:(op1 != 0B)
  2684. size:2.000000, time:0.571808, nonconst if:(op4 changed)
  2685. size:4.000000, time:0.377395, executed if:(op4 <= 4)
  2686. size:1.000000, time:0.094349, executed if:(op4 <= 4), nonconst if:(op4 <= 4) && (op4 changed)
  2687. size:2.000000, time:0.188697, executed if:(op4 <= 4), nonconst if:(op5 changed) && (op4 <= 4)
  2688. size:0.500000, time:0.033022, executed if:(op5 != 0B) && (op4 <= 4)
  2689. size:5.000000, time:0.957777, executed if:(op4 > 4)
  2690. calls:
  2691. prvAddNewTaskToReadyList/31 inlined
  2692. loop depth: 0 freq:0.29 size: 2 time: 11callee size:28 stack: 0
  2693. Stack frame offset 0, callee self size 0, callee size 0
  2694. vPortExitCritical/101 function body not available
  2695. loop depth: 0 freq:0.29 size: 1 time: 10
  2696. prvInitialiseTaskLists/70 inlined
  2697. loop depth: 0 freq:0.02 size: 1 time: 10callee size:10 stack: 0
  2698. Stack frame offset 0, callee self size 0, callee size 0
  2699. vListInitialise/102 function body not available
  2700. loop depth: 0 freq:0.02 size: 2 time: 11
  2701. op0 is compile time invariant
  2702. vListInitialise/102 function body not available
  2703. loop depth: 0 freq:0.02 size: 2 time: 11
  2704. op0 is compile time invariant
  2705. vListInitialise/102 function body not available
  2706. loop depth: 0 freq:0.02 size: 2 time: 11
  2707. op0 is compile time invariant
  2708. vListInitialise/102 function body not available
  2709. loop depth: 0 freq:0.02 size: 2 time: 11
  2710. op0 is compile time invariant
  2711. vListInitialise/102 function body not available
  2712. loop depth: 0 freq:0.02 size: 2 time: 11
  2713. op0 is compile time invariant
  2714. vListInitialise/102 function body not available
  2715. loop depth: 1 freq:0.09 size: 2 time: 11
  2716. vPortEnterCritical/100 function body not available
  2717. loop depth: 0 freq:0.29 size: 1 time: 10
  2718. prvInitialiseNewTask.isra.0/118 inlined
  2719. loop depth: 0 freq:0.29 size: 8 time: 17callee size:31 stack: 0
  2720. Stack frame offset 0, callee self size 0, callee size 0
  2721. pxPortInitialiseStack/99 function body not available
  2722. loop depth: 0 freq:0.09 size: 5 time: 14 predicate: (op4 <= 4)
  2723. memset/97 function body not available
  2724. loop depth: 0 freq:0.09 size: 4 time: 13 predicate: (op4 <= 4)
  2725. op1 is compile time invariant
  2726. op2 is compile time invariant
  2727. memset/97 function body not available
  2728. loop depth: 0 freq:0.09 size: 4 time: 13 predicate: (op4 <= 4)
  2729. op1 is compile time invariant
  2730. op2 is compile time invariant
  2731. vListInitialiseItem/98 function body not available
  2732. loop depth: 0 freq:0.09 size: 2 time: 11 predicate: (op4 <= 4)
  2733. vListInitialiseItem/98 function body not available
  2734. loop depth: 0 freq:0.09 size: 2 time: 11 predicate: (op4 <= 4)
  2735. memset/97 function body not available
  2736. loop depth: 0 freq:0.29 size: 4 time: 13
  2737. op1 is compile time invariant
  2738. vPortFree/96 function body not available
  2739. loop depth: 0 freq:0.09 size: 2 time: 11
  2740. pvPortMalloc/95 function body not available
  2741. loop depth: 0 freq:0.53 size: 3 time: 12
  2742. op0 is compile time invariant
  2743. pvPortMalloc/95 function body not available
  2744. loop depth: 0 freq:1.00 size: 3 time: 12
  2745. Symbol table:
  2746. prvTaskCheckFreeStackSpace/180 (prvTaskCheckFreeStackSpace) @05e54540
  2747. Type: function definition analyzed
  2748. Visibility:
  2749. next sharing asm name: 74
  2750. References:
  2751. Referring:
  2752. Function prvTaskCheckFreeStackSpace/180 is inline copy in uxTaskGetStackHighWaterMark/75
  2753. Clone of prvTaskCheckFreeStackSpace/74
  2754. Availability: local
  2755. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2756. Called by: uxTaskGetStackHighWaterMark/75 (inlined) (1073741824 (estimated locally),1.00 per call)
  2757. Calls:
  2758. prvDeleteTCB/179 (prvDeleteTCB) @05f36c40
  2759. Type: function definition analyzed
  2760. Visibility:
  2761. next sharing asm name: 76
  2762. References:
  2763. Referring:
  2764. Function prvDeleteTCB/179 is inline copy in prvIdleTask/69
  2765. Clone of prvDeleteTCB/76
  2766. Availability: local
  2767. Function flags: count:8687547529 (estimated locally) body local optimize_size
  2768. Called by: prvCheckTasksWaitingTermination/71 (inlined) (8687547529 (estimated locally),137133.55 per call)
  2769. Calls: vPortFree/96 (8687547529 (estimated locally),137133.55 per call) vPortFree/96 (8687547529 (estimated locally),137133.55 per call)
  2770. CSWTCH.225/163 (CSWTCH.225) @063c4798
  2771. Type: variable definition analyzed
  2772. Visibility: prevailing_def_ironly artificial
  2773. References:
  2774. Referring: vTaskList/84 (read)
  2775. Availability: available
  2776. Varpool flags: initialized read-only const-value-known
  2777. prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @061d3b60
  2778. Type: function definition analyzed
  2779. Visibility: prevailing_def_ironly artificial
  2780. References:
  2781. Referring:
  2782. Function prvListTasksWithinSingleList.part.0/158 is inline copy in prvListTasksWithinSingleList/73
  2783. Availability: local
  2784. Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  2785. Called by: prvListTasksWithinSingleList/73 (inlined) (118111600 (estimated locally),0.50 per call)
  2786. Calls: vTaskGetInfo/72 (1073741824 (estimated locally),4.55 per call)
  2787. vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @063282a0
  2788. Type: function definition analyzed
  2789. Visibility: prevailing_def_ironly artificial
  2790. References:
  2791. Referring:
  2792. Function vTaskSwitchContext.part.0/146 is inline copy in vTaskSwitchContext/57
  2793. Availability: local
  2794. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  2795. Called by: vTaskSwitchContext/57 (inlined) (107374 (estimated locally),0.24 per call)
  2796. Calls:
  2797. xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @06328620
  2798. Type: function definition analyzed
  2799. Visibility: prevailing_def_ironly artificial
  2800. 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)
  2801. Referring:
  2802. Function xTaskResumeAll.part.0/137 is inline copy in xTaskResumeAll/46
  2803. Availability: local
  2804. Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
  2805. Called by: xTaskResumeAll/46 (inlined) (52886 (estimated locally),0.33 per call)
  2806. Calls: vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) prvResetNextTaskUnblockTime/77 (7070 (estimated locally),0.04 per call) xTaskIncrementTick/56 (60098 (estimated locally),0.38 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call)
  2807. xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @06328540
  2808. Type: function definition analyzed
  2809. Visibility: prevailing_def_ironly artificial
  2810. 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)
  2811. Referring:
  2812. Function xTaskIncrementTick.part.0/135 is inline copy in xTaskIncrementTick/56
  2813. Availability: local
  2814. Function flags: count:320520 (estimated locally) first_run:1 body local split_part optimize_size
  2815. Called by: xTaskIncrementTick/56 (inlined) (320520 (estimated locally),0.50 per call)
  2816. Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.08 per call)
  2817. eTaskGetState.part.0/122 (eTaskGetState.part.0) @061d39a0
  2818. Type: function definition analyzed
  2819. Visibility: prevailing_def_ironly artificial
  2820. References:
  2821. Referring:
  2822. Function eTaskGetState.part.0/122 is inline copy in eTaskGetState/35
  2823. Availability: local
  2824. Function flags: count:11759 (estimated locally) first_run:1 body local split_part optimize_size
  2825. Called by: eTaskGetState/35 (inlined) (11759 (estimated locally),0.03 per call)
  2826. Calls:
  2827. prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @05f2a540
  2828. Type: function definition analyzed
  2829. Visibility: prevailing_def_ironly artificial
  2830. 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)
  2831. Referring:
  2832. Function prvAddCurrentTaskToDelayedList.part.0/119 is inline copy in prvAddCurrentTaskToDelayedList/94
  2833. Availability: local
  2834. Function flags: count:182536110 (estimated locally) first_run:1 body local split_part optimize_size
  2835. Called by: prvAddCurrentTaskToDelayedList/94 (inlined) (182536110 (estimated locally),0.17 per call)
  2836. Calls:
  2837. prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @05f2a2a0
  2838. Type: function definition analyzed
  2839. Visibility: prevailing_def_ironly artificial
  2840. References:
  2841. Referring:
  2842. Function prvInitialiseNewTask.isra.0/118 is inline copy in xTaskCreate/29
  2843. Availability: local
  2844. Function flags: count:306987179 (estimated locally) body local optimize_size
  2845. Called by: xTaskCreate/29 (inlined) (306987179 (estimated locally),0.29 per call)
  2846. Calls: pxPortInitialiseStack/99 (101306152 (estimated locally),0.09 per call) memset/97 (101306152 (estimated locally),0.09 per call) memset/97 (101306152 (estimated locally),0.09 per call) vListInitialiseItem/98 (101306152 (estimated locally),0.09 per call) vListInitialiseItem/98 (101306152 (estimated locally),0.09 per call) memset/97 (306987179 (estimated locally),0.29 per call)
  2847. prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @05f22e00
  2848. Type: function definition analyzed
  2849. Visibility: prevailing_def_ironly artificial
  2850. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  2851. Referring:
  2852. Function prvResetNextTaskUnblockTime.part.0/115 is inline copy in prvResetNextTaskUnblockTime/77
  2853. Availability: local
  2854. Function flags: count:536870912 (estimated locally) first_run:1 body local split_part optimize_size
  2855. Called by: prvResetNextTaskUnblockTime/77 (inlined) (536870912 (estimated locally),0.50 per call)
  2856. Calls:
  2857. prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05e542a0
  2858. Type: function definition analyzed
  2859. Visibility: prevailing_def_ironly artificial
  2860. References: xPendingReadyList/13 (addr)
  2861. Referring:
  2862. Function prvTaskIsTaskSuspended.part.0/114 is inline copy in prvTaskIsTaskSuspended/40
  2863. Availability: local
  2864. Function flags: count:75162 (estimated locally) first_run:1 body local split_part optimize_size
  2865. Called by: prvTaskIsTaskSuspended/40 (inlined) (75162 (estimated locally),0.21 per call)
  2866. Calls:
  2867. strcpy/112 (strcpy) @06161000
  2868. Type: function
  2869. Visibility: external public
  2870. References:
  2871. Referring:
  2872. Availability: not_available
  2873. Function flags: optimize_size
  2874. Called by: prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call)
  2875. Calls:
  2876. sprintf/111 (sprintf) @06141ee0
  2877. Type: function
  2878. Visibility: external public
  2879. References:
  2880. Referring:
  2881. Availability: not_available
  2882. Function flags: optimize_size
  2883. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
  2884. Calls:
  2885. strlen/110 (strlen) @060d49a0
  2886. Type: function
  2887. Visibility: external public
  2888. References:
  2889. Referring:
  2890. Availability: not_available
  2891. Function flags: optimize_size
  2892. Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) xTaskGetHandle/52 (160260 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call)
  2893. Calls:
  2894. vPortEndScheduler/109 (vPortEndScheduler) @060d4000
  2895. Type: function
  2896. Visibility: external public
  2897. References:
  2898. Referring:
  2899. Availability: not_available
  2900. Function flags: optimize_size
  2901. Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call)
  2902. Calls:
  2903. xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40
  2904. Type: function
  2905. Visibility: external public
  2906. References:
  2907. Referring:
  2908. Availability: not_available
  2909. Function flags: optimize_size
  2910. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  2911. Calls:
  2912. xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60
  2913. Type: function
  2914. Visibility: external public
  2915. References:
  2916. Referring:
  2917. Availability: not_available
  2918. Function flags: optimize_size
  2919. Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
  2920. Calls:
  2921. vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00
  2922. Type: function
  2923. Visibility: external public
  2924. References:
  2925. Referring:
  2926. Availability: not_available
  2927. Function flags: optimize_size
  2928. 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)
  2929. Calls:
  2930. vListInsert/105 (vListInsert) @05a837e0
  2931. Type: function
  2932. Visibility: external public
  2933. References:
  2934. Referring:
  2935. Availability: not_available
  2936. Function flags: optimize_size
  2937. 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)
  2938. Calls:
  2939. vListInsertEnd/104 (vListInsertEnd) @05a830e0
  2940. Type: function
  2941. Visibility: external public
  2942. References:
  2943. Referring:
  2944. Availability: not_available
  2945. Function flags: optimize_size
  2946. 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)
  2947. Calls:
  2948. uxListRemove/103 (uxListRemove) @05a83000
  2949. Type: function
  2950. Visibility: external public
  2951. References:
  2952. Referring:
  2953. Availability: not_available
  2954. Function flags: optimize_size
  2955. 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 (8687547529 (estimated locally),137133.55 per call)
  2956. Calls:
  2957. vListInitialise/102 (vListInitialise) @060b4ee0
  2958. Type: function
  2959. Visibility: external public
  2960. References:
  2961. Referring:
  2962. Availability: not_available
  2963. Function flags: optimize_size
  2964. Called by: prvInitialiseTaskLists/70 (18640261 (estimated locally),0.02 per call) prvInitialiseTaskLists/70 (18640261 (estimated locally),0.02 per call) prvInitialiseTaskLists/70 (18640261 (estimated locally),0.02 per call) prvInitialiseTaskLists/70 (18640261 (estimated locally),0.02 per call) prvInitialiseTaskLists/70 (18640261 (estimated locally),0.02 per call) prvInitialiseTaskLists/70 (93178941 (estimated locally),0.09 per call)
  2965. Calls:
  2966. vPortExitCritical/101 (vPortExitCritical) @060b4d20
  2967. Type: function
  2968. Visibility: external public
  2969. References:
  2970. Referring:
  2971. Availability: not_available
  2972. Function flags: optimize_size
  2973. 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 (52886 (estimated locally),0.33 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 (8687547529 (estimated locally),137133.55 per call) prvAddNewTaskToReadyList/31 (306987180 (estimated locally),0.29 per call)
  2974. Calls:
  2975. vPortEnterCritical/100 (vPortEnterCritical) @060b4b60
  2976. Type: function
  2977. Visibility: external public
  2978. References:
  2979. Referring:
  2980. Availability: not_available
  2981. Function flags: optimize_size
  2982. 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 (52886 (estimated locally),0.33 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 (8687547529 (estimated locally),137133.55 per call) prvAddNewTaskToReadyList/31 (306987179 (estimated locally),0.29 per call)
  2983. Calls:
  2984. pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0
  2985. Type: function
  2986. Visibility: external public
  2987. References:
  2988. Referring:
  2989. Availability: not_available
  2990. Function flags: optimize_size
  2991. Called by: prvInitialiseNewTask.isra.0/118 (101306152 (estimated locally),0.09 per call)
  2992. Calls:
  2993. vListInitialiseItem/98 (vListInitialiseItem) @060b47e0
  2994. Type: function
  2995. Visibility: external public
  2996. References:
  2997. Referring:
  2998. Availability: not_available
  2999. Function flags: optimize_size
  3000. Called by: prvInitialiseNewTask.isra.0/118 (101306152 (estimated locally),0.09 per call) prvInitialiseNewTask.isra.0/118 (101306152 (estimated locally),0.09 per call)
  3001. Calls:
  3002. memset/97 (memset) @060b4700
  3003. Type: function
  3004. Visibility: external public
  3005. References:
  3006. Referring:
  3007. Availability: not_available
  3008. Function flags: optimize_size
  3009. Called by: prvInitialiseNewTask.isra.0/118 (101306152 (estimated locally),0.09 per call) prvInitialiseNewTask.isra.0/118 (101306152 (estimated locally),0.09 per call) prvInitialiseNewTask.isra.0/118 (306987179 (estimated locally),0.29 per call)
  3010. Calls:
  3011. vPortFree/96 (vPortFree) @060b4540
  3012. Type: function
  3013. Visibility: external public
  3014. References:
  3015. Referring:
  3016. Availability: not_available
  3017. Function flags: optimize_size
  3018. Called by: prvDeleteTCB/179 (8687547529 (estimated locally),137133.55 per call) prvDeleteTCB/179 (8687547529 (estimated locally),137133.55 per call) vTaskList/84 (118111601 (estimated locally),0.53 per call) xTaskCreate/29 (100070816 (estimated locally),0.09 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call)
  3019. Calls:
  3020. pvPortMalloc/95 (pvPortMalloc) @060b4460
  3021. Type: function
  3022. Visibility: external public
  3023. References:
  3024. Referring:
  3025. Availability: not_available
  3026. Function flags: optimize_size
  3027. 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)
  3028. Calls:
  3029. prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000
  3030. Type: function definition analyzed
  3031. Visibility: prevailing_def_ironly
  3032. 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)
  3033. Referring:
  3034. Availability: local
  3035. Function flags: count:1073741823 (estimated locally) body local optimize_size
  3036. 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)
  3037. Calls: vListInsert/105 (445602856 (estimated locally),0.41 per call) vListInsert/105 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList.part.0/119 (inlined) (182536110 (estimated locally),0.17 per call) uxListRemove/103 (1073741823 (estimated locally),1.00 per call)
  3038. ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540
  3039. Type: function definition analyzed
  3040. Visibility: externally_visible public
  3041. References: pxCurrentTCB/7 (read)
  3042. Referring:
  3043. Availability: available
  3044. Function flags: count:1073741824 (estimated locally) body optimize_size
  3045. Called by:
  3046. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  3047. xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20
  3048. Type: function definition analyzed
  3049. Visibility: externally_visible public
  3050. References: pxCurrentTCB/7 (read)
  3051. Referring:
  3052. Availability: available
  3053. Function flags: count:214748 (estimated locally) body optimize_size
  3054. Called by:
  3055. Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call)
  3056. vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0
  3057. Type: function definition analyzed
  3058. Visibility: externally_visible public
  3059. 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)
  3060. Referring:
  3061. Availability: available
  3062. Function flags: count:228942 (estimated locally) body optimize_size
  3063. Called by:
  3064. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  3065. xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460
  3066. Type: function definition analyzed
  3067. Visibility: externally_visible public
  3068. 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)
  3069. Referring:
  3070. Availability: available
  3071. Function flags: count:228942 (estimated locally) body optimize_size
  3072. Called by:
  3073. Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
  3074. xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00
  3075. Type: function definition analyzed
  3076. Visibility: externally_visible public
  3077. 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)
  3078. Referring:
  3079. Availability: available
  3080. Function flags: count:214748 (estimated locally) body optimize_size
  3081. Called by:
  3082. Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call)
  3083. xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20
  3084. Type: function definition analyzed
  3085. Visibility: externally_visible public
  3086. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3087. Referring:
  3088. Availability: available
  3089. Function flags: count:160260 (estimated locally) body optimize_size
  3090. Called by:
  3091. 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)
  3092. ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0
  3093. Type: function definition analyzed
  3094. Visibility: externally_visible public
  3095. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3096. Referring:
  3097. Availability: available
  3098. Function flags: count:160260 (estimated locally) body optimize_size
  3099. Called by:
  3100. 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)
  3101. pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460
  3102. Type: function definition analyzed
  3103. Visibility: externally_visible public
  3104. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3105. Referring:
  3106. Availability: available
  3107. Function flags: count:1073741824 (estimated locally) body optimize_size
  3108. Called by:
  3109. Calls:
  3110. uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0
  3111. Type: function definition analyzed
  3112. Visibility: externally_visible public
  3113. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3114. Referring:
  3115. Availability: available
  3116. Function flags: count:1073741824 (estimated locally) body optimize_size
  3117. Called by:
  3118. Calls:
  3119. vTaskList/84 (vTaskList) @0604fc40
  3120. Type: function definition analyzed
  3121. Visibility: externally_visible public
  3122. References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read)
  3123. Referring:
  3124. Availability: available
  3125. Function flags: count:220893212 (estimated locally) body optimize_size
  3126. Called by:
  3127. 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 (inlined) (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)
  3128. prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540
  3129. Type: function definition analyzed
  3130. Visibility: prevailing_def_ironly
  3131. References:
  3132. Referring:
  3133. Function prvWriteNameToBuffer/83 is inline copy in vTaskList/84
  3134. Availability: local
  3135. Function flags: count:955630226 (estimated locally) body local optimize_size
  3136. Called by: vTaskList/84 (inlined) (955630226 (estimated locally),4.33 per call)
  3137. Calls: strlen/110 (955630226 (estimated locally),4.33 per call) strcpy/112 (955630226 (estimated locally),4.33 per call)
  3138. vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000
  3139. Type: function definition analyzed
  3140. Visibility: externally_visible public
  3141. 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)
  3142. Referring:
  3143. Availability: available
  3144. Function flags: count:306783 (estimated locally) body optimize_size
  3145. Called by:
  3146. Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call)
  3147. xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60
  3148. Type: function definition analyzed
  3149. Visibility: externally_visible public
  3150. References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
  3151. Referring:
  3152. Availability: available
  3153. Function flags: count:219131 (estimated locally) body optimize_size
  3154. Called by:
  3155. Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call)
  3156. xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700
  3157. Type: function definition analyzed
  3158. Visibility: externally_visible public
  3159. 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)
  3160. Referring:
  3161. Availability: available
  3162. Function flags: count:1073741824 (estimated locally) body optimize_size
  3163. Called by:
  3164. Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call)
  3165. xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460
  3166. Type: function definition analyzed
  3167. Visibility: externally_visible public
  3168. References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
  3169. Referring:
  3170. Availability: available
  3171. Function flags: count:1073741824 (estimated locally) body optimize_size
  3172. Called by:
  3173. Calls:
  3174. xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0
  3175. Type: function definition analyzed
  3176. Visibility: externally_visible public
  3177. References: pxCurrentTCB/7 (read)
  3178. Referring:
  3179. Availability: available
  3180. Function flags: count:1073741824 (estimated locally) body optimize_size
  3181. Called by:
  3182. Calls:
  3183. prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40
  3184. Type: function definition analyzed
  3185. Visibility: prevailing_def_ironly
  3186. References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
  3187. Referring:
  3188. Availability: local
  3189. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3190. Called by: vTaskSuspend/39 (472446 (estimated locally),0.33 per call) xTaskResumeAll.part.0/137 (7070 (estimated locally),0.04 per call) xTaskIncrementTick.part.0/135 (52886 (estimated locally),0.08 per call) vTaskDelete/32 (1002157 (estimated locally),0.70 per call)
  3191. Calls: prvResetNextTaskUnblockTime.part.0/115 (inlined) (536870912 (estimated locally),0.50 per call)
  3192. prvDeleteTCB/76 (prvDeleteTCB) @06043380
  3193. Type: function definition analyzed
  3194. Visibility: prevailing_def_ironly
  3195. previous sharing asm name: 179
  3196. References:
  3197. Referring:
  3198. Function prvDeleteTCB/76 is inline copy in vTaskDelete/32
  3199. Availability: local
  3200. Function flags: count:1002157 (estimated locally) body local optimize_size
  3201. Called by: vTaskDelete/32 (inlined) (1002157 (estimated locally),0.70 per call)
  3202. Calls: vPortFree/96 (1002157 (estimated locally),0.70 per call) vPortFree/96 (1002157 (estimated locally),0.70 per call)
  3203. uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0
  3204. Type: function definition analyzed
  3205. Visibility: externally_visible public
  3206. References: pxCurrentTCB/7 (read)
  3207. Referring:
  3208. Availability: available
  3209. Function flags: count:1073741824 (estimated locally) body optimize_size
  3210. Called by:
  3211. Calls: prvTaskCheckFreeStackSpace/180 (inlined) (1073741824 (estimated locally),1.00 per call)
  3212. prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60
  3213. Type: function definition analyzed
  3214. Visibility: prevailing_def_ironly
  3215. previous sharing asm name: 180
  3216. References:
  3217. Referring:
  3218. Function prvTaskCheckFreeStackSpace/74 is inline copy in vTaskGetInfo/72
  3219. Availability: local
  3220. Function flags: count:354334802 (estimated locally) body local optimize_size
  3221. Called by: vTaskGetInfo/72 (inlined) (354334802 (estimated locally),0.33 per call)
  3222. Calls:
  3223. prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0
  3224. Type: function definition analyzed
  3225. Visibility: prevailing_def_ironly
  3226. References:
  3227. Referring:
  3228. Availability: local
  3229. Function flags: count:236223200 (estimated locally) body local optimize_size
  3230. 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)
  3231. Calls: prvListTasksWithinSingleList.part.0/158 (inlined) (118111600 (estimated locally),0.50 per call)
  3232. vTaskGetInfo/72 (vTaskGetInfo) @06043620
  3233. Type: function definition analyzed
  3234. Visibility: externally_visible public
  3235. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3236. Referring:
  3237. Availability: available
  3238. Function flags: count:1073741823 (estimated locally) body optimize_size
  3239. Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),4.55 per call)
  3240. Calls: prvTaskCheckFreeStackSpace/74 (inlined) (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)
  3241. prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0
  3242. Type: function definition analyzed
  3243. Visibility: prevailing_def_ironly
  3244. References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
  3245. Referring:
  3246. Function prvCheckTasksWaitingTermination/71 is inline copy in prvIdleTask/69
  3247. Availability: local
  3248. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3249. Called by: prvIdleTask/69 (inlined) (1073741824 (estimated locally),16949.09 per call)
  3250. Calls: prvDeleteTCB/179 (inlined) (8687547529 (estimated locally),137133.55 per call) vPortExitCritical/101 (8687547529 (estimated locally),137133.55 per call) uxListRemove/103 (8687547529 (estimated locally),137133.55 per call) vPortEnterCritical/100 (8687547529 (estimated locally),137133.55 per call)
  3251. prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0
  3252. Type: function definition analyzed
  3253. Visibility: prevailing_def_ironly
  3254. 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)
  3255. Referring:
  3256. Function prvInitialiseTaskLists/70 is inline copy in xTaskCreate/29
  3257. Availability: local
  3258. Function flags: count:18640261 (estimated locally) body local optimize_size
  3259. Called by: prvAddNewTaskToReadyList/31 (inlined) (18640261 (estimated locally),0.02 per call)
  3260. Calls: vListInitialise/102 (18640261 (estimated locally),0.02 per call) vListInitialise/102 (18640261 (estimated locally),0.02 per call) vListInitialise/102 (18640261 (estimated locally),0.02 per call) vListInitialise/102 (18640261 (estimated locally),0.02 per call) vListInitialise/102 (18640261 (estimated locally),0.02 per call) vListInitialise/102 (93178941 (estimated locally),0.09 per call)
  3261. prvIdleTask/69 (prvIdleTask) @0603f9a0
  3262. Type: function definition analyzed
  3263. Visibility: prevailing_def_ironly
  3264. Address is taken.
  3265. References: pxReadyTasksLists/8 (read)
  3266. Referring: vTaskStartScheduler/43 (addr)
  3267. Availability: available
  3268. Function flags: count:63351 (estimated locally) body executed_once optimize_size
  3269. Called by:
  3270. Calls: prvCheckTasksWaitingTermination/71 (inlined) (1073741824 (estimated locally),16949.09 per call)
  3271. vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00
  3272. Type: function definition analyzed
  3273. Visibility: externally_visible public
  3274. References:
  3275. Referring:
  3276. Availability: available
  3277. Function flags: count:1073741824 (estimated locally) body optimize_size
  3278. Called by:
  3279. Calls:
  3280. uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60
  3281. Type: function definition analyzed
  3282. Visibility: externally_visible public
  3283. References:
  3284. Referring:
  3285. Availability: available
  3286. Function flags: count:1073741824 (estimated locally) body optimize_size
  3287. Called by:
  3288. Calls:
  3289. vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0
  3290. Type: function definition analyzed
  3291. Visibility: externally_visible public
  3292. References: xYieldPending/22 (write)
  3293. Referring:
  3294. Availability: available
  3295. Function flags: count:1073741824 (estimated locally) body optimize_size
  3296. Called by:
  3297. Calls:
  3298. xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620
  3299. Type: function definition analyzed
  3300. Visibility: externally_visible public
  3301. References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
  3302. Referring:
  3303. Availability: available
  3304. Function flags: count:329661 (estimated locally) body optimize_size
  3305. Called by:
  3306. 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)
  3307. vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0
  3308. Type: function definition analyzed
  3309. Visibility: externally_visible public
  3310. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  3311. Referring:
  3312. Availability: available
  3313. Function flags: count:1073741824 (estimated locally) body optimize_size
  3314. Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call)
  3315. Calls:
  3316. vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60
  3317. Type: function definition analyzed
  3318. Visibility: externally_visible public
  3319. References: xNumOfOverflows/23 (read)xTickCount/18 (read)
  3320. Referring:
  3321. Availability: available
  3322. Function flags: count:230763 (estimated locally) body optimize_size
  3323. Called by:
  3324. Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call)
  3325. vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0
  3326. Type: function definition analyzed
  3327. Visibility: externally_visible public
  3328. 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)
  3329. Referring:
  3330. Availability: available
  3331. Function flags: count:214748 (estimated locally) body optimize_size
  3332. Called by:
  3333. Calls:
  3334. xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80
  3335. Type: function definition analyzed
  3336. Visibility: externally_visible public
  3337. 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)
  3338. Referring:
  3339. Availability: available
  3340. Function flags: count:357913 (estimated locally) body optimize_size
  3341. Called by:
  3342. Calls:
  3343. vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620
  3344. Type: function definition analyzed
  3345. Visibility: externally_visible public
  3346. References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3347. Referring:
  3348. Availability: available
  3349. Function flags: count:357913 (estimated locally) body optimize_size
  3350. Called by:
  3351. Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call)
  3352. vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0
  3353. Type: function definition analyzed
  3354. Visibility: externally_visible public
  3355. References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
  3356. Referring:
  3357. Availability: available
  3358. Function flags: count:228942 (estimated locally) body optimize_size
  3359. Called by:
  3360. Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call)
  3361. vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80
  3362. Type: function definition analyzed
  3363. Visibility: externally_visible public
  3364. References: pxCurrentTCB/7 (read)
  3365. Referring:
  3366. Availability: available
  3367. Function flags: count:230763 (estimated locally) body optimize_size
  3368. Called by:
  3369. Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call)
  3370. vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00
  3371. Type: function definition analyzed
  3372. Visibility: force_output externally_visible public
  3373. 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)
  3374. Referring:
  3375. Availability: available
  3376. Function flags: count:441995 (estimated locally) body optimize_size
  3377. Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call)
  3378. Calls: vTaskSwitchContext.part.0/146 (inlined) (107374 (estimated locally),0.24 per call)
  3379. xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0
  3380. Type: function definition analyzed
  3381. Visibility: externally_visible public
  3382. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  3383. Referring:
  3384. Availability: available
  3385. Function flags: count:641039 (estimated locally) body optimize_size
  3386. Called by: xTaskResumeAll.part.0/137 (60098 (estimated locally),0.38 per call)
  3387. Calls: xTaskIncrementTick.part.0/135 (inlined) (320520 (estimated locally),0.50 per call)
  3388. xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380
  3389. Type: function definition analyzed
  3390. Visibility: externally_visible public
  3391. 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)
  3392. Referring:
  3393. Availability: available
  3394. Function flags: count:230763 (estimated locally) body optimize_size
  3395. Called by:
  3396. 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)
  3397. xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000
  3398. Type: function definition analyzed
  3399. Visibility: externally_visible public
  3400. References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
  3401. Referring:
  3402. Availability: available
  3403. Function flags: count:160260 (estimated locally) body optimize_size
  3404. Called by:
  3405. Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call)
  3406. uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0
  3407. Type: function definition analyzed
  3408. Visibility: externally_visible public
  3409. References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)
  3410. Referring:
  3411. Availability: available
  3412. Function flags: count:429496728 (estimated locally) body optimize_size
  3413. Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call)
  3414. 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)
  3415. xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0
  3416. Type: function definition analyzed
  3417. Visibility: externally_visible public
  3418. References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  3419. Referring:
  3420. Availability: available
  3421. Function flags: count:160260 (estimated locally) body optimize_size
  3422. Called by:
  3423. 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)
  3424. prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00
  3425. Type: function definition analyzed
  3426. Visibility: prevailing_def_ironly
  3427. References:
  3428. Referring:
  3429. Availability: local
  3430. Function flags: count:25274560 (estimated locally) body local optimize_size
  3431. 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)
  3432. Calls:
  3433. pcTaskGetName/50 (pcTaskGetName) @05f7fb60
  3434. Type: function definition analyzed
  3435. Visibility: externally_visible public
  3436. References: pxCurrentTCB/7 (read)
  3437. Referring:
  3438. Availability: available
  3439. Function flags: count:357913 (estimated locally) body optimize_size
  3440. Called by:
  3441. Calls:
  3442. uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700
  3443. Type: function definition analyzed
  3444. Visibility: externally_visible public
  3445. References: uxCurrentNumberOfTasks/17 (read)
  3446. Referring:
  3447. Availability: available
  3448. Function flags: count:1073741824 (estimated locally) body optimize_size
  3449. Called by:
  3450. Calls:
  3451. xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460
  3452. Type: function definition analyzed
  3453. Visibility: externally_visible public
  3454. References: xTickCount/18 (read)
  3455. Referring:
  3456. Availability: available
  3457. Function flags: count:1073741824 (estimated locally) body optimize_size
  3458. Called by:
  3459. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  3460. xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0
  3461. Type: function definition analyzed
  3462. Visibility: externally_visible public
  3463. References: xTickCount/18 (read)
  3464. Referring:
  3465. Availability: available
  3466. Function flags: count:1073741824 (estimated locally) body optimize_size
  3467. Called by:
  3468. Calls:
  3469. xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00
  3470. Type: function definition analyzed
  3471. Visibility: externally_visible public
  3472. References: uxSchedulerSuspended/28 (read)
  3473. Referring:
  3474. Availability: available
  3475. Function flags: count:160260 (estimated locally) body optimize_size
  3476. 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)
  3477. Calls: xTaskResumeAll.part.0/137 (inlined) (52886 (estimated locally),0.33 per call)
  3478. vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20
  3479. Type: function definition analyzed
  3480. Visibility: externally_visible public
  3481. References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
  3482. Referring:
  3483. Availability: available
  3484. Function flags: count:1073741824 (estimated locally) body optimize_size
  3485. 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)
  3486. Calls:
  3487. vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80
  3488. Type: function definition analyzed
  3489. Visibility: externally_visible public
  3490. References: xSchedulerRunning/20 (write)
  3491. Referring:
  3492. Availability: available
  3493. Function flags: count:1073741824 (estimated locally) body optimize_size
  3494. Called by:
  3495. Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call)
  3496. vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0
  3497. Type: function definition analyzed
  3498. Visibility: externally_visible public
  3499. References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read)
  3500. Referring:
  3501. Availability: available
  3502. Function flags: count:395945 (estimated locally) body optimize_size
  3503. Called by:
  3504. 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)
  3505. xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540
  3506. Type: function definition analyzed
  3507. Visibility: externally_visible public
  3508. 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)
  3509. Referring:
  3510. Availability: available
  3511. Function flags: count:230763 (estimated locally) body optimize_size
  3512. Called by:
  3513. 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)
  3514. vTaskResume/41 (vTaskResume) @05f6c1c0
  3515. Type: function definition analyzed
  3516. Visibility: externally_visible public
  3517. 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)
  3518. Referring:
  3519. Availability: available
  3520. Function flags: count:357913 (estimated locally) body optimize_size
  3521. Called by:
  3522. 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)
  3523. prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0
  3524. Type: function definition analyzed
  3525. Visibility: prevailing_def_ironly
  3526. References: xSuspendedTaskList/16 (addr)
  3527. Referring:
  3528. Availability: local
  3529. Function flags: count:357913 (estimated locally) body local optimize_size
  3530. Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call)
  3531. Calls: prvTaskIsTaskSuspended.part.0/114 (inlined) (75162 (estimated locally),0.21 per call)
  3532. vTaskSuspend/39 (vTaskSuspend) @05f5de00
  3533. Type: function definition analyzed
  3534. Visibility: externally_visible public
  3535. 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)
  3536. Referring:
  3537. Availability: available
  3538. Function flags: count:1431653 (estimated locally) body optimize_size
  3539. Called by:
  3540. 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)
  3541. vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0
  3542. Type: function definition analyzed
  3543. Visibility: externally_visible public
  3544. 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)
  3545. Referring:
  3546. Availability: available
  3547. Function flags: count:160260 (estimated locally) body optimize_size
  3548. Called by:
  3549. 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)
  3550. uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380
  3551. Type: function definition analyzed
  3552. Visibility: externally_visible public
  3553. References: pxCurrentTCB/7 (read)
  3554. Referring:
  3555. Availability: available
  3556. Function flags: count:1073741824 (estimated locally) body optimize_size
  3557. Called by:
  3558. Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
  3559. uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000
  3560. Type: function definition analyzed
  3561. Visibility: externally_visible public
  3562. References: pxCurrentTCB/7 (read)
  3563. Referring:
  3564. Availability: available
  3565. Function flags: count:1073741824 (estimated locally) body optimize_size
  3566. Called by:
  3567. Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
  3568. eTaskGetState/35 (eTaskGetState) @05f482a0
  3569. Type: function definition analyzed
  3570. Visibility: externally_visible public
  3571. References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
  3572. Referring:
  3573. Availability: available
  3574. Function flags: count:357913 (estimated locally) body optimize_size
  3575. Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call)
  3576. Calls: eTaskGetState.part.0/122 (inlined) (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)
  3577. vTaskDelay/34 (vTaskDelay) @05f48c40
  3578. Type: function definition analyzed
  3579. Visibility: externally_visible public
  3580. References: uxSchedulerSuspended/28 (read)
  3581. Referring:
  3582. Availability: available
  3583. Function flags: count:320519 (estimated locally) body optimize_size
  3584. Called by:
  3585. 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)
  3586. xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0
  3587. Type: function definition analyzed
  3588. Visibility: externally_visible public
  3589. References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
  3590. Referring:
  3591. Availability: available
  3592. Function flags: count:306783 (estimated locally) body optimize_size
  3593. Called by:
  3594. 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)
  3595. vTaskDelete/32 (vTaskDelete) @05f481c0
  3596. Type: function definition analyzed
  3597. Visibility: externally_visible public
  3598. 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)
  3599. Referring:
  3600. Availability: available
  3601. Function flags: count:1431653 (estimated locally) body optimize_size
  3602. Called by:
  3603. Calls: vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (inlined) (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)
  3604. prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540
  3605. Type: function definition analyzed
  3606. Visibility: prevailing_def_ironly
  3607. 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)
  3608. Referring:
  3609. Function prvAddNewTaskToReadyList/31 is inline copy in xTaskCreate/29
  3610. Availability: local
  3611. Function flags: count:306987179 (estimated locally) body local optimize_size
  3612. Called by: xTaskCreate/29 (inlined) (306987179 (estimated locally),0.29 per call)
  3613. Calls: vPortExitCritical/101 (306987180 (estimated locally),0.29 per call) prvInitialiseTaskLists/70 (inlined) (18640261 (estimated locally),0.02 per call) vPortEnterCritical/100 (306987179 (estimated locally),0.29 per call)
  3614. xTaskCreate/29 (xTaskCreate) @05f36700
  3615. Type: function definition analyzed
  3616. Visibility: externally_visible public
  3617. References:
  3618. Referring:
  3619. Availability: available
  3620. Function flags: count:1073741824 (estimated locally) body optimize_size
  3621. Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call)
  3622. Calls: prvAddNewTaskToReadyList/31 (inlined) (306987179 (estimated locally),0.29 per call) prvInitialiseNewTask.isra.0/118 (inlined) (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)
  3623. uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0
  3624. Type: variable definition analyzed
  3625. Visibility: force_output prevailing_def_ironly
  3626. References:
  3627. 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)
  3628. Availability: available
  3629. Varpool flags: initialized
  3630. uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510
  3631. Type: variable definition analyzed
  3632. Visibility: force_output externally_visible public
  3633. References:
  3634. Referring: vTaskStartScheduler/43 (read)
  3635. Availability: available
  3636. Varpool flags: initialized read-only
  3637. xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480
  3638. Type: variable definition analyzed
  3639. Visibility: prevailing_def_ironly
  3640. References:
  3641. Referring: vTaskStartScheduler/43 (addr)
  3642. Availability: available
  3643. Varpool flags: initialized
  3644. xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0
  3645. Type: variable definition analyzed
  3646. Visibility: force_output prevailing_def_ironly
  3647. References:
  3648. 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)
  3649. Availability: available
  3650. Varpool flags: initialized
  3651. uxTaskNumber/24 (uxTaskNumber) @05f30360
  3652. Type: variable definition analyzed
  3653. Visibility: prevailing_def_ironly
  3654. References:
  3655. Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  3656. Availability: available
  3657. Varpool flags: initialized
  3658. xNumOfOverflows/23 (xNumOfOverflows) @05f30318
  3659. Type: variable definition analyzed
  3660. Visibility: force_output prevailing_def_ironly
  3661. References:
  3662. Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read)
  3663. Availability: available
  3664. Varpool flags: initialized
  3665. xYieldPending/22 (xYieldPending) @05f302d0
  3666. Type: variable definition analyzed
  3667. Visibility: force_output prevailing_def_ironly
  3668. References:
  3669. 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)
  3670. Availability: available
  3671. Varpool flags: initialized
  3672. xPendedTicks/21 (xPendedTicks) @05f30240
  3673. Type: variable definition analyzed
  3674. Visibility: force_output prevailing_def_ironly
  3675. References:
  3676. Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)
  3677. Availability: available
  3678. Varpool flags: initialized
  3679. xSchedulerRunning/20 (xSchedulerRunning) @05f301b0
  3680. Type: variable definition analyzed
  3681. Visibility: force_output prevailing_def_ironly
  3682. References:
  3683. 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)
  3684. Availability: available
  3685. Varpool flags: initialized
  3686. uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120
  3687. Type: variable definition analyzed
  3688. Visibility: force_output prevailing_def_ironly
  3689. References:
  3690. 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)
  3691. Availability: available
  3692. Varpool flags: initialized
  3693. xTickCount/18 (xTickCount) @05f300d8
  3694. Type: variable definition analyzed
  3695. Visibility: force_output prevailing_def_ironly
  3696. References:
  3697. 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)
  3698. Availability: available
  3699. Varpool flags: initialized
  3700. uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090
  3701. Type: variable definition analyzed
  3702. Visibility: force_output prevailing_def_ironly
  3703. References:
  3704. 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)
  3705. Availability: available
  3706. Varpool flags: initialized
  3707. xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78
  3708. Type: variable definition analyzed
  3709. Visibility: prevailing_def_ironly
  3710. References:
  3711. 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)
  3712. Availability: available
  3713. Varpool flags:
  3714. uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8
  3715. Type: variable definition analyzed
  3716. Visibility: force_output prevailing_def_ironly
  3717. References:
  3718. Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
  3719. Availability: available
  3720. Varpool flags: initialized
  3721. xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58
  3722. Type: variable definition analyzed
  3723. Visibility: prevailing_def_ironly
  3724. References:
  3725. Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr)
  3726. Availability: available
  3727. Varpool flags:
  3728. xPendingReadyList/13 (xPendingReadyList) @05f2cdc8
  3729. Type: variable definition analyzed
  3730. Visibility: prevailing_def_ironly
  3731. References:
  3732. 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)
  3733. Availability: available
  3734. Varpool flags:
  3735. pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38
  3736. Type: variable definition analyzed
  3737. Visibility: force_output prevailing_def_ironly
  3738. References:
  3739. 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)
  3740. Availability: available
  3741. Varpool flags:
  3742. pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0
  3743. Type: variable definition analyzed
  3744. Visibility: force_output prevailing_def_ironly
  3745. References:
  3746. 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)
  3747. Availability: available
  3748. Varpool flags:
  3749. xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8
  3750. Type: variable definition analyzed
  3751. Visibility: prevailing_def_ironly
  3752. References:
  3753. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  3754. Availability: available
  3755. Varpool flags:
  3756. xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18
  3757. Type: variable definition analyzed
  3758. Visibility: prevailing_def_ironly
  3759. References:
  3760. Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
  3761. Availability: available
  3762. Varpool flags:
  3763. pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88
  3764. Type: variable definition analyzed
  3765. Visibility: prevailing_def_ironly
  3766. References:
  3767. 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)
  3768. Availability: available
  3769. Varpool flags:
  3770. pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40
  3771. Type: variable definition analyzed
  3772. Visibility: force_output externally_visible public
  3773. References:
  3774. 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)
  3775. Availability: available
  3776. Varpool flags: initialized
  3777. ;; Function prvSearchForNameWithinSingleList (prvSearchForNameWithinSingleList, funcdef_no=29, decl_uid=6957, cgraph_uid=30, symbol_order=51)
  3778. prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
  3779. {
  3780. char cNextChar;
  3781. UBaseType_t x;
  3782. struct TCB_t * pxReturn;
  3783. struct TCB_t * pxFirstTCB;
  3784. struct TCB_t * pxNextTCB;
  3785. long unsigned int _1;
  3786. struct ListItem_t * _2;
  3787. struct xLIST_ITEM * _3;
  3788. struct MiniListItem_t * _4;
  3789. struct xLIST_ITEM * _5;
  3790. struct ListItem_t * _6;
  3791. struct ListItem_t * _7;
  3792. struct xLIST_ITEM * _8;
  3793. struct xLIST_ITEM * _9;
  3794. struct ListItem_t * _10;
  3795. const char * _11;
  3796. char _12;
  3797. <bb 2> [local count: 25274560]:
  3798. # DEBUG BEGIN_STMT
  3799. # DEBUG pxReturn => 0B
  3800. # DEBUG BEGIN_STMT
  3801. # DEBUG BEGIN_STMT
  3802. # DEBUG BEGIN_STMT
  3803. # DEBUG BEGIN_STMT
  3804. _1 ={v} pxList_23(D)->uxNumberOfItems;
  3805. if (_1 != 0)
  3806. goto <bb 3>; [71.00%]
  3807. else
  3808. goto <bb 15>; [29.00%]
  3809. <bb 3> [local count: 17944938]:
  3810. # DEBUG BEGIN_STMT
  3811. # DEBUG pxConstList => pxList_23(D)
  3812. # DEBUG BEGIN_STMT
  3813. _2 = pxList_23(D)->pxIndex;
  3814. _3 = _2->pxNext;
  3815. pxList_23(D)->pxIndex = _3;
  3816. # DEBUG BEGIN_STMT
  3817. _4 = &pxList_23(D)->xListEnd;
  3818. if (_3 == _4)
  3819. goto <bb 4>; [30.00%]
  3820. else
  3821. goto <bb 5>; [70.00%]
  3822. <bb 4> [local count: 5383481]:
  3823. # DEBUG BEGIN_STMT
  3824. _5 = MEM[(struct ListItem_t *)_3].pxNext;
  3825. pxList_23(D)->pxIndex = _5;
  3826. <bb 5> [local count: 17944938]:
  3827. # DEBUG BEGIN_STMT
  3828. _6 = pxList_23(D)->pxIndex;
  3829. pxFirstTCB_26 = _6->pvOwner;
  3830. # DEBUG pxFirstTCB => pxFirstTCB_26
  3831. <bb 6> [local count: 167748888]:
  3832. # pxReturn_13 = PHI <0B(5), 0B(16)>
  3833. # DEBUG pxReturn => pxReturn_13
  3834. # DEBUG BEGIN_STMT
  3835. # DEBUG BEGIN_STMT
  3836. # DEBUG BEGIN_STMT
  3837. # DEBUG pxConstList => pxList_23(D)
  3838. # DEBUG BEGIN_STMT
  3839. _7 = pxList_23(D)->pxIndex;
  3840. _8 = _7->pxNext;
  3841. pxList_23(D)->pxIndex = _8;
  3842. # DEBUG BEGIN_STMT
  3843. if (_4 == _8)
  3844. goto <bb 7>; [30.00%]
  3845. else
  3846. goto <bb 8>; [70.00%]
  3847. <bb 7> [local count: 50324666]:
  3848. # DEBUG BEGIN_STMT
  3849. _9 = MEM[(struct ListItem_t *)_8].pxNext;
  3850. pxList_23(D)->pxIndex = _9;
  3851. <bb 8> [local count: 167748888]:
  3852. # DEBUG BEGIN_STMT
  3853. _10 = pxList_23(D)->pxIndex;
  3854. pxNextTCB_29 = _10->pvOwner;
  3855. # DEBUG pxNextTCB => pxNextTCB_29
  3856. # DEBUG BEGIN_STMT
  3857. # DEBUG BEGIN_STMT
  3858. # DEBUG xBreakLoop => 0
  3859. # DEBUG BEGIN_STMT
  3860. # DEBUG x => 0
  3861. goto <bb 12>; [100.00%]
  3862. <bb 9> [local count: 976138693]:
  3863. # DEBUG BEGIN_STMT
  3864. cNextChar_30 = pxNextTCB_29->pcTaskName[x_17];
  3865. # DEBUG cNextChar => cNextChar_30
  3866. # DEBUG BEGIN_STMT
  3867. _11 = pcNameToQuery_31(D) + x_17;
  3868. _12 = *_11;
  3869. if (_12 != cNextChar_30)
  3870. goto <bb 13>; [3.66%]
  3871. else
  3872. goto <bb 10>; [96.34%]
  3873. <bb 10> [local count: 940412017]:
  3874. # DEBUG BEGIN_STMT
  3875. if (cNextChar_30 == 0)
  3876. goto <bb 13>; [3.66%]
  3877. else
  3878. goto <bb 11>; [96.34%]
  3879. <bb 11> [local count: 905992937]:
  3880. # DEBUG xBreakLoop => 0
  3881. # DEBUG pxReturn => pxReturn_14
  3882. # DEBUG BEGIN_STMT
  3883. # DEBUG BEGIN_STMT
  3884. # DEBUG BEGIN_STMT
  3885. x_32 = x_17 + 1;
  3886. # DEBUG x => x_32
  3887. <bb 12> [local count: 1073741824]:
  3888. # pxReturn_14 = PHI <pxReturn_13(8), pxReturn_14(11)>
  3889. # x_17 = PHI <0(8), x_32(11)>
  3890. # DEBUG xBreakLoop => 0
  3891. # DEBUG x => x_17
  3892. # DEBUG pxReturn => pxReturn_14
  3893. # DEBUG BEGIN_STMT
  3894. if (x_17 != 10)
  3895. goto <bb 9>; [90.91%]
  3896. else
  3897. goto <bb 13>; [9.09%]
  3898. <bb 13> [local count: 167748888]:
  3899. # pxReturn_15 = PHI <pxNextTCB_29(10), pxReturn_14(12), pxReturn_14(9)>
  3900. # DEBUG xBreakLoop => NULL
  3901. # DEBUG pxReturn => pxReturn_15
  3902. # DEBUG BEGIN_STMT
  3903. if (pxReturn_15 != 0B)
  3904. goto <bb 15>; [5.50%]
  3905. else
  3906. goto <bb 14>; [94.50%]
  3907. <bb 14> [local count: 158522699]:
  3908. # DEBUG BEGIN_STMT
  3909. if (pxFirstTCB_26 != pxNextTCB_29)
  3910. goto <bb 16>; [94.50%]
  3911. else
  3912. goto <bb 15>; [5.50%]
  3913. <bb 16> [local count: 149803950]:
  3914. goto <bb 6>; [100.00%]
  3915. <bb 15> [local count: 25274560]:
  3916. # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)>
  3917. # DEBUG pxReturn => pxReturn_16
  3918. # DEBUG BEGIN_STMT
  3919. # DEBUG BEGIN_STMT
  3920. return pxReturn_16;
  3921. }
  3922. ;; Function prvTaskIsTaskSuspended (prvTaskIsTaskSuspended, funcdef_no=18, decl_uid=6939, cgraph_uid=19, symbol_order=40)
  3923. Symbols to be put in SSA form
  3924. { D.8238 D.8549 }
  3925. Incremental SSA update started at block: 0
  3926. Number of blocks in CFG: 15
  3927. Number of blocks to update: 14 ( 93%)
  3928. Merging blocks 4 and 8
  3929. Removing basic block 6
  3930. Removing basic block 10
  3931. Merging blocks 14 and 9
  3932. ;; 2 loops found
  3933. ;;
  3934. ;; Loop 0
  3935. ;; header 0, latch 1
  3936. ;; depth 0, outer -1
  3937. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10
  3938. ;;
  3939. ;; Loop 1
  3940. ;; header 4, latch 4
  3941. ;; depth 1, outer 0
  3942. ;; nodes: 4
  3943. ;; 2 succs { 3 5 }
  3944. ;; 3 succs { 4 }
  3945. ;; 4 succs { 4 }
  3946. ;; 5 succs { 6 10 }
  3947. ;; 6 succs { 7 9 }
  3948. ;; 7 succs { 8 9 }
  3949. ;; 8 succs { 9 }
  3950. ;; 9 succs { 10 }
  3951. ;; 10 succs { 1 }
  3952. prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
  3953. {
  3954. BaseType_t xReturn;
  3955. BaseType_t D.8549;
  3956. uint32_t ulNewBASEPRI;
  3957. BaseType_t xReturn;
  3958. struct xLIST * _1;
  3959. struct xLIST * _10;
  3960. <bb 2> [local count: 357913]:
  3961. # DEBUG BEGIN_STMT
  3962. # DEBUG xReturn => 0
  3963. # DEBUG BEGIN_STMT
  3964. # DEBUG pxTCB => xTask_5(D)
  3965. # DEBUG BEGIN_STMT
  3966. if (xTask_5(D) == 0B)
  3967. goto <bb 3>; [30.00%]
  3968. else
  3969. goto <bb 5>; [70.00%]
  3970. <bb 3> [local count: 107374]:
  3971. # DEBUG BEGIN_STMT
  3972. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3973. # DEBUG BEGIN_STMT
  3974. # DEBUG BEGIN_STMT
  3975. __asm__ __volatile__(" mov %0, %1
  3976. msr basepri, %0
  3977. isb
  3978. dsb
  3979. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  3980. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  3981. <bb 4> [local count: 1073741824]:
  3982. # DEBUG ulNewBASEPRI => NULL
  3983. # DEBUG BEGIN_STMT
  3984. # DEBUG BEGIN_STMT
  3985. # DEBUG BEGIN_STMT
  3986. goto <bb 4>; [100.00%]
  3987. <bb 5> [local count: 250539]:
  3988. # DEBUG BEGIN_STMT
  3989. # DEBUG BEGIN_STMT
  3990. _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  3991. if (_1 == &xSuspendedTaskList)
  3992. goto <bb 6>; [30.00%]
  3993. else
  3994. goto <bb 10>; [70.00%]
  3995. <bb 6> [local count: 75162]:
  3996. # DEBUG xTask => xTask_5(D)
  3997. # DEBUG INLINE_ENTRY prvTaskIsTaskSuspended
  3998. # DEBUG BEGIN_STMT
  3999. _10 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer;
  4000. if (_10 != &xPendingReadyList)
  4001. goto <bb 7>; [70.00%]
  4002. else
  4003. goto <bb 9>; [30.00%]
  4004. <bb 7> [local count: 52613]:
  4005. # DEBUG BEGIN_STMT
  4006. if (_10 == 0B)
  4007. goto <bb 8>; [30.00%]
  4008. else
  4009. goto <bb 9>; [70.00%]
  4010. <bb 8> [local count: 15784]:
  4011. # DEBUG BEGIN_STMT
  4012. # DEBUG xReturn => 1
  4013. <bb 9> [local count: 75162]:
  4014. # xReturn_11 = PHI <0(6), 0(7), 1(8)>
  4015. # DEBUG xReturn => xReturn_11
  4016. # DEBUG BEGIN_STMT
  4017. # DEBUG BEGIN_STMT
  4018. _12 = xReturn_11;
  4019. # DEBUG xTask => NULL
  4020. # DEBUG xReturn => NULL
  4021. # DEBUG pxTCB => NULL
  4022. # DEBUG ulNewBASEPRI => NULL
  4023. xReturn_2 = _12;
  4024. <bb 10> [local count: 250539]:
  4025. # xReturn_3 = PHI <0(5), xReturn_2(9)>
  4026. # DEBUG xReturn => xReturn_3
  4027. # DEBUG BEGIN_STMT
  4028. # DEBUG BEGIN_STMT
  4029. return xReturn_3;
  4030. }
  4031. ;; Function prvResetNextTaskUnblockTime (prvResetNextTaskUnblockTime, funcdef_no=55, decl_uid=6961, cgraph_uid=56, symbol_order=77)
  4032. Symbols to be put in SSA form
  4033. { D.8241 }
  4034. Incremental SSA update started at block: 0
  4035. Number of blocks in CFG: 10
  4036. Number of blocks to update: 9 ( 90%)
  4037. Removing basic block 4
  4038. Removing basic block 6
  4039. Removing basic block 7
  4040. Merging blocks 8 and 9
  4041. ;; 1 loops found
  4042. ;;
  4043. ;; Loop 0
  4044. ;; header 0, latch 1
  4045. ;; depth 0, outer -1
  4046. ;; nodes: 0 1 2 3 4 5
  4047. ;; 2 succs { 3 4 }
  4048. ;; 3 succs { 5 }
  4049. ;; 4 succs { 5 }
  4050. ;; 5 succs { 1 }
  4051. prvResetNextTaskUnblockTime ()
  4052. {
  4053. struct List_t * pxDelayedTaskList.20_1;
  4054. long unsigned int _2;
  4055. struct List_t * pxDelayedTaskList.21_7;
  4056. struct xLIST_ITEM * _8;
  4057. long unsigned int _9;
  4058. <bb 2> [local count: 1073741824]:
  4059. # DEBUG BEGIN_STMT
  4060. pxDelayedTaskList.20_1 ={v} pxDelayedTaskList;
  4061. _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems;
  4062. if (_2 == 0)
  4063. goto <bb 3>; [50.00%]
  4064. else
  4065. goto <bb 4>; [50.00%]
  4066. <bb 3> [local count: 536870913]:
  4067. # DEBUG BEGIN_STMT
  4068. xNextTaskUnblockTime ={v} 4294967295;
  4069. goto <bb 5>; [100.00%]
  4070. <bb 4> [local count: 536870913]:
  4071. # DEBUG INLINE_ENTRY prvResetNextTaskUnblockTime
  4072. # DEBUG BEGIN_STMT
  4073. pxDelayedTaskList.21_7 ={v} pxDelayedTaskList;
  4074. _8 = pxDelayedTaskList.21_7->xListEnd.pxNext;
  4075. _9 = _8->xItemValue;
  4076. xNextTaskUnblockTime ={v} _9;
  4077. <bb 5> [local count: 1073741824]:
  4078. return;
  4079. }
  4080. ;; Function prvAddCurrentTaskToDelayedList (prvAddCurrentTaskToDelayedList, funcdef_no=72, decl_uid=6950, cgraph_uid=73, symbol_order=94)
  4081. Symbols to be put in SSA form
  4082. { D.8248 }
  4083. Incremental SSA update started at block: 0
  4084. Number of blocks in CFG: 14
  4085. Number of blocks to update: 13 ( 93%)
  4086. Removing basic block 4
  4087. Removing basic block 10
  4088. Removing basic block 11
  4089. Merging blocks 12 and 13
  4090. ;; 1 loops found
  4091. ;;
  4092. ;; Loop 0
  4093. ;; header 0, latch 1
  4094. ;; depth 0, outer -1
  4095. ;; nodes: 0 1 2 3 4 5 6 7 8 9
  4096. ;; 2 succs { 3 5 }
  4097. ;; 3 succs { 4 5 }
  4098. ;; 4 succs { 9 }
  4099. ;; 5 succs { 6 7 }
  4100. ;; 6 succs { 9 }
  4101. ;; 7 succs { 8 9 }
  4102. ;; 8 succs { 9 }
  4103. ;; 9 succs { 1 }
  4104. prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
  4105. {
  4106. struct ListItem_t * const pxIndex;
  4107. const TickType_t xConstTickCount;
  4108. TickType_t xTimeToWake;
  4109. struct TCB_t * pxCurrentTCB.23_1;
  4110. struct TCB_t * pxCurrentTCB.24_2;
  4111. struct ListItem_t * _3;
  4112. struct TCB_t * pxCurrentTCB.30_5;
  4113. struct List_t * pxOverflowDelayedTaskList.31_6;
  4114. struct TCB_t * pxCurrentTCB.32_7;
  4115. struct ListItem_t * _8;
  4116. struct List_t * pxDelayedTaskList.33_9;
  4117. struct TCB_t * pxCurrentTCB.34_10;
  4118. struct ListItem_t * _11;
  4119. long unsigned int xNextTaskUnblockTime.35_12;
  4120. struct TCB_t * pxCurrentTCB.25_26;
  4121. struct TCB_t * pxCurrentTCB.26_27;
  4122. struct xLIST_ITEM * _28;
  4123. struct TCB_t * pxCurrentTCB.27_29;
  4124. struct xLIST_ITEM * _30;
  4125. struct ListItem_t * _31;
  4126. struct TCB_t * pxCurrentTCB.28_32;
  4127. struct ListItem_t * _33;
  4128. struct TCB_t * pxCurrentTCB.29_34;
  4129. long unsigned int _35;
  4130. long unsigned int _36;
  4131. <bb 2> [local count: 1073741823]:
  4132. # DEBUG BEGIN_STMT
  4133. # DEBUG BEGIN_STMT
  4134. xConstTickCount_14 ={v} xTickCount;
  4135. # DEBUG xConstTickCount => xConstTickCount_14
  4136. # DEBUG BEGIN_STMT
  4137. pxCurrentTCB.23_1 ={v} pxCurrentTCB;
  4138. pxCurrentTCB.23_1->ucDelayAborted = 0;
  4139. # DEBUG BEGIN_STMT
  4140. pxCurrentTCB.24_2 ={v} pxCurrentTCB;
  4141. _3 = &pxCurrentTCB.24_2->xStateListItem;
  4142. uxListRemove (_3);
  4143. # DEBUG BEGIN_STMT
  4144. # DEBUG BEGIN_STMT
  4145. if (xTicksToWait_17(D) == 4294967295)
  4146. goto <bb 3>; [34.00%]
  4147. else
  4148. goto <bb 5>; [66.00%]
  4149. <bb 3> [local count: 365072220]:
  4150. if (xCanBlockIndefinitely_18(D) != 0)
  4151. goto <bb 4>; [50.00%]
  4152. else
  4153. goto <bb 5>; [50.00%]
  4154. <bb 4> [local count: 182536110]:
  4155. # DEBUG D#2 => xTicksToWait_17(D)
  4156. # DEBUG D#3 => xCanBlockIndefinitely_18(D)
  4157. # DEBUG INLINE_ENTRY prvAddCurrentTaskToDelayedList
  4158. # DEBUG D#5 => D#2
  4159. # DEBUG xTicksToWait => D#5
  4160. # DEBUG D#4 => D#3
  4161. # DEBUG xCanBlockIndefinitely => D#4
  4162. # DEBUG BEGIN_STMT
  4163. pxIndex_25 = xSuspendedTaskList.pxIndex;
  4164. # DEBUG pxIndex => pxIndex_25
  4165. # DEBUG BEGIN_STMT
  4166. # DEBUG BEGIN_STMT
  4167. # DEBUG BEGIN_STMT
  4168. pxCurrentTCB.25_26 ={v} pxCurrentTCB;
  4169. pxCurrentTCB.25_26->xStateListItem.pxNext = pxIndex_25;
  4170. # DEBUG BEGIN_STMT
  4171. pxCurrentTCB.26_27 ={v} pxCurrentTCB;
  4172. _28 = pxIndex_25->pxPrevious;
  4173. pxCurrentTCB.26_27->xStateListItem.pxPrevious = _28;
  4174. # DEBUG BEGIN_STMT
  4175. pxCurrentTCB.27_29 ={v} pxCurrentTCB;
  4176. _30 = pxIndex_25->pxPrevious;
  4177. _31 = &pxCurrentTCB.27_29->xStateListItem;
  4178. _30->pxNext = _31;
  4179. # DEBUG BEGIN_STMT
  4180. pxCurrentTCB.28_32 ={v} pxCurrentTCB;
  4181. _33 = &pxCurrentTCB.28_32->xStateListItem;
  4182. pxIndex_25->pxPrevious = _33;
  4183. # DEBUG BEGIN_STMT
  4184. pxCurrentTCB.29_34 ={v} pxCurrentTCB;
  4185. pxCurrentTCB.29_34->xStateListItem.pvContainer = &xSuspendedTaskList;
  4186. # DEBUG BEGIN_STMT
  4187. _35 ={v} xSuspendedTaskList.uxNumberOfItems;
  4188. _36 = _35 + 1;
  4189. xSuspendedTaskList.uxNumberOfItems ={v} _36;
  4190. # DEBUG BEGIN_STMT
  4191. # DEBUG BEGIN_STMT
  4192. goto <bb 9>; [100.00%]
  4193. <bb 5> [local count: 891205713]:
  4194. # DEBUG BEGIN_STMT
  4195. xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D);
  4196. # DEBUG xTimeToWake => xTimeToWake_19
  4197. # DEBUG BEGIN_STMT
  4198. pxCurrentTCB.30_5 ={v} pxCurrentTCB;
  4199. pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19;
  4200. # DEBUG BEGIN_STMT
  4201. if (xConstTickCount_14 > xTimeToWake_19)
  4202. goto <bb 6>; [50.00%]
  4203. else
  4204. goto <bb 7>; [50.00%]
  4205. <bb 6> [local count: 445602856]:
  4206. # DEBUG BEGIN_STMT
  4207. pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList;
  4208. pxCurrentTCB.32_7 ={v} pxCurrentTCB;
  4209. _8 = &pxCurrentTCB.32_7->xStateListItem;
  4210. vListInsert (pxOverflowDelayedTaskList.31_6, _8);
  4211. goto <bb 9>; [100.00%]
  4212. <bb 7> [local count: 445602856]:
  4213. # DEBUG BEGIN_STMT
  4214. pxDelayedTaskList.33_9 ={v} pxDelayedTaskList;
  4215. pxCurrentTCB.34_10 ={v} pxCurrentTCB;
  4216. _11 = &pxCurrentTCB.34_10->xStateListItem;
  4217. vListInsert (pxDelayedTaskList.33_9, _11);
  4218. # DEBUG BEGIN_STMT
  4219. xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime;
  4220. if (xNextTaskUnblockTime.35_12 > xTimeToWake_19)
  4221. goto <bb 8>; [50.00%]
  4222. else
  4223. goto <bb 9>; [50.00%]
  4224. <bb 8> [local count: 222801428]:
  4225. # DEBUG BEGIN_STMT
  4226. xNextTaskUnblockTime ={v} xTimeToWake_19;
  4227. <bb 9> [local count: 1073741824]:
  4228. # DEBUG xTimeToWake => NULL
  4229. # DEBUG xConstTickCount => NULL
  4230. # DEBUG pxIndex => NULL
  4231. # DEBUG xTicksToWait => NULL
  4232. # DEBUG xCanBlockIndefinitely => NULL
  4233. # DEBUG BEGIN_STMT
  4234. return;
  4235. }
  4236. ;; Function prvIdleTask (prvIdleTask, funcdef_no=47, decl_uid=6943, cgraph_uid=48, symbol_order=69) (executed once)
  4237. Symbols to be put in SSA form
  4238. { D.8247 }
  4239. Incremental SSA update started at block: 0
  4240. Number of blocks in CFG: 14
  4241. Number of blocks to update: 13 ( 93%)
  4242. Merging blocks 4 and 8
  4243. Removing basic block 6
  4244. Merging blocks 9 and 13
  4245. Removing basic block 11
  4246. Removing basic block 12
  4247. ;; 4 loops found
  4248. ;;
  4249. ;; Loop 0
  4250. ;; header 0, latch 1
  4251. ;; depth 0, outer -1
  4252. ;; nodes: 0 1 2 3 4 5 6 7 8
  4253. ;;
  4254. ;; Loop 1
  4255. ;; header 3, latch 8
  4256. ;; depth 1, outer 0
  4257. ;; nodes: 3 8 7 6 4 5
  4258. ;;
  4259. ;; Loop 2
  4260. ;; header 4, latch 7
  4261. ;; depth 2, outer 1
  4262. ;; nodes: 4 7 6 5
  4263. ;;
  4264. ;; Loop 3
  4265. ;; header 6, latch 5
  4266. ;; depth 3, outer 2
  4267. ;; nodes: 6 5
  4268. ;; 2 succs { 3 }
  4269. ;; 3 succs { 4 }
  4270. ;; 4 succs { 6 }
  4271. ;; 5 succs { 6 }
  4272. ;; 6 succs { 5 7 }
  4273. ;; 7 succs { 8 4 }
  4274. ;; 8 succs { 3 }
  4275. prvIdleTask (void * pvParameters)
  4276. {
  4277. struct TCB_t * pxTCB;
  4278. long unsigned int _1;
  4279. struct xLIST_ITEM * _9;
  4280. struct ListItem_t * _11;
  4281. long unsigned int uxCurrentNumberOfTasks.58_12;
  4282. long unsigned int _13;
  4283. long unsigned int uxDeletedTasksWaitingCleanUp.59_14;
  4284. long unsigned int _15;
  4285. long unsigned int uxDeletedTasksWaitingCleanUp.60_16;
  4286. StackType_t * _17;
  4287. <bb 2> [local count: 6969]:
  4288. <bb 3> [local count: 69685844]:
  4289. <bb 4> [local count: 118111600]:
  4290. # DEBUG BEGIN_STMT
  4291. # DEBUG BEGIN_STMT
  4292. # DEBUG BEGIN_STMT
  4293. # DEBUG BEGIN_STMT
  4294. # DEBUG INLINE_ENTRY prvCheckTasksWaitingTermination
  4295. # DEBUG BEGIN_STMT
  4296. # DEBUG BEGIN_STMT
  4297. goto <bb 6>; [100.00%]
  4298. <bb 5> [local count: 955630225]:
  4299. # DEBUG BEGIN_STMT
  4300. vPortEnterCritical ();
  4301. # DEBUG BEGIN_STMT
  4302. _9 = xTasksWaitingTermination.xListEnd.pxNext;
  4303. pxTCB_10 = _9->pvOwner;
  4304. # DEBUG pxTCB => pxTCB_10
  4305. # DEBUG BEGIN_STMT
  4306. _11 = &pxTCB_10->xStateListItem;
  4307. uxListRemove (_11);
  4308. # DEBUG BEGIN_STMT
  4309. uxCurrentNumberOfTasks.58_12 ={v} uxCurrentNumberOfTasks;
  4310. _13 = uxCurrentNumberOfTasks.58_12 + 4294967295;
  4311. uxCurrentNumberOfTasks ={v} _13;
  4312. # DEBUG BEGIN_STMT
  4313. uxDeletedTasksWaitingCleanUp.59_14 ={v} uxDeletedTasksWaitingCleanUp;
  4314. _15 = uxDeletedTasksWaitingCleanUp.59_14 + 4294967295;
  4315. uxDeletedTasksWaitingCleanUp ={v} _15;
  4316. # DEBUG BEGIN_STMT
  4317. vPortExitCritical ();
  4318. # DEBUG BEGIN_STMT
  4319. # DEBUG pxTCB => pxTCB_10
  4320. # DEBUG INLINE_ENTRY prvDeleteTCB
  4321. # DEBUG BEGIN_STMT
  4322. # DEBUG BEGIN_STMT
  4323. _17 = pxTCB_10->pxStack;
  4324. vPortFree (_17);
  4325. # DEBUG BEGIN_STMT
  4326. vPortFree (pxTCB_10);
  4327. <bb 6> [local count: 1073741824]:
  4328. # DEBUG pxTCB => NULL
  4329. # DEBUG BEGIN_STMT
  4330. uxDeletedTasksWaitingCleanUp.60_16 ={v} uxDeletedTasksWaitingCleanUp;
  4331. if (uxDeletedTasksWaitingCleanUp.60_16 != 0)
  4332. goto <bb 5>; [89.00%]
  4333. else
  4334. goto <bb 7>; [11.00%]
  4335. <bb 7> [local count: 118111601]:
  4336. # DEBUG pxTCB => NULL
  4337. # DEBUG BEGIN_STMT
  4338. _1 ={v} pxReadyTasksLists[0].uxNumberOfItems;
  4339. if (_1 > 1)
  4340. goto <bb 8>; [59.00%]
  4341. else
  4342. goto <bb 4>; [41.00%]
  4343. <bb 8> [local count: 69685844]:
  4344. # DEBUG BEGIN_STMT
  4345. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4346. # DEBUG BEGIN_STMT
  4347. __asm__ __volatile__("dsb" : : : "memory");
  4348. # DEBUG BEGIN_STMT
  4349. __asm__ __volatile__("isb");
  4350. # DEBUG BEGIN_STMT
  4351. goto <bb 3>; [100.00%]
  4352. }
  4353. ;; Function xTaskCreate (xTaskCreate, funcdef_no=7, decl_uid=6139, cgraph_uid=8, symbol_order=29)
  4354. Symbols to be put in SSA form
  4355. { D.8250 }
  4356. Incremental SSA update started at block: 0
  4357. Number of blocks in CFG: 44
  4358. Number of blocks to update: 42 ( 95%)
  4359. Removing basic block 8
  4360. Removing basic block 10
  4361. Removing basic block 13
  4362. Removing basic block 23
  4363. Removing basic block 24
  4364. Removing basic block 26
  4365. Merging blocks 34 and 35
  4366. Merging blocks 38 and 11
  4367. Removing basic block 39
  4368. Removing basic block 40
  4369. ;; 4 loops found
  4370. ;;
  4371. ;; Loop 0
  4372. ;; header 0, latch 1
  4373. ;; depth 0, outer -1
  4374. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
  4375. ;;
  4376. ;; Loop 1
  4377. ;; header 15, latch 15
  4378. ;; depth 1, outer 0
  4379. ;; nodes: 15
  4380. ;;
  4381. ;; Loop 3
  4382. ;; header 21, latch 20
  4383. ;; depth 1, outer 0
  4384. ;; nodes: 21 20
  4385. ;;
  4386. ;; Loop 2
  4387. ;; header 10, latch 9
  4388. ;; depth 1, outer 0
  4389. ;; nodes: 10 9 8
  4390. ;; 2 succs { 3 32 }
  4391. ;; 3 succs { 4 5 }
  4392. ;; 4 succs { 6 }
  4393. ;; 5 succs { 6 }
  4394. ;; 6 succs { 7 32 }
  4395. ;; 7 succs { 10 12 }
  4396. ;; 8 succs { 11 9 }
  4397. ;; 9 succs { 10 }
  4398. ;; 10 succs { 8 11 }
  4399. ;; 11 succs { 13 }
  4400. ;; 12 succs { 13 }
  4401. ;; 13 succs { 14 16 }
  4402. ;; 14 succs { 15 }
  4403. ;; 15 succs { 15 }
  4404. ;; 16 succs { 17 18 }
  4405. ;; 17 succs { 18 }
  4406. ;; 18 succs { 19 23 }
  4407. ;; 19 succs { 21 26 }
  4408. ;; 20 succs { 21 }
  4409. ;; 21 succs { 20 22 }
  4410. ;; 22 succs { 26 }
  4411. ;; 23 succs { 24 26 }
  4412. ;; 24 succs { 25 26 }
  4413. ;; 25 succs { 26 }
  4414. ;; 26 succs { 27 28 }
  4415. ;; 27 succs { 28 }
  4416. ;; 28 succs { 29 31 }
  4417. ;; 29 succs { 30 31 }
  4418. ;; 30 succs { 31 }
  4419. ;; 31 succs { 32 }
  4420. ;; 32 succs { 1 }
  4421. xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask)
  4422. {
  4423. UBaseType_t uxPriority;
  4424. uint32_t ulNewBASEPRI;
  4425. UBaseType_t x;
  4426. StackType_t * pxTopOfStack;
  4427. struct ListItem_t * const pxIndex;
  4428. StackType_t * pxStack;
  4429. BaseType_t xReturn;
  4430. struct TCB_t * pxNewTCB;
  4431. unsigned int _1;
  4432. unsigned int _2;
  4433. long unsigned int uxCurrentNumberOfTasks.2_21;
  4434. long unsigned int _22;
  4435. struct TCB_t * pxCurrentTCB.3_23;
  4436. long unsigned int uxCurrentNumberOfTasks.4_24;
  4437. long int xSchedulerRunning.5_25;
  4438. struct TCB_t * pxCurrentTCB.6_26;
  4439. long unsigned int _27;
  4440. long unsigned int _28;
  4441. long unsigned int uxTaskNumber.7_29;
  4442. long unsigned int _30;
  4443. long unsigned int _31;
  4444. long unsigned int uxTopReadyPriority.9_32;
  4445. struct xLIST_ITEM * _34;
  4446. struct xLIST_ITEM * _35;
  4447. struct ListItem_t * _36;
  4448. struct List_t * _37;
  4449. long unsigned int _38;
  4450. long unsigned int _39;
  4451. long int xSchedulerRunning.10_40;
  4452. struct TCB_t * pxCurrentTCB.11_41;
  4453. long unsigned int _42;
  4454. long unsigned int _43;
  4455. StackType_t * _44;
  4456. unsigned int _45;
  4457. StackType_t * _46;
  4458. sizetype _47;
  4459. sizetype _48;
  4460. long unsigned int pxTopOfStack.0_50;
  4461. long unsigned int _51;
  4462. const char * _54;
  4463. char _55;
  4464. char _56;
  4465. struct ListItem_t * _59;
  4466. struct ListItem_t * _60;
  4467. long unsigned int _61;
  4468. volatile uint32_t * _62;
  4469. volatile uint8_t * _63;
  4470. StackType_t * _64;
  4471. struct List_t * _66;
  4472. <bb 2> [local count: 560537]:
  4473. # DEBUG BEGIN_STMT
  4474. # DEBUG BEGIN_STMT
  4475. # DEBUG BEGIN_STMT
  4476. # DEBUG BEGIN_STMT
  4477. _1 = (unsigned int) usStackDepth_6(D);
  4478. _2 = _1 * 4;
  4479. pxStack_9 = pvPortMalloc (_2);
  4480. # DEBUG pxStack => pxStack_9
  4481. # DEBUG BEGIN_STMT
  4482. if (pxStack_9 != 0B)
  4483. goto <bb 3>; [53.47%]
  4484. else
  4485. goto <bb 32>; [46.53%]
  4486. <bb 3> [local count: 299719]:
  4487. # DEBUG BEGIN_STMT
  4488. pxNewTCB_11 = pvPortMalloc (88);
  4489. # DEBUG pxNewTCB => pxNewTCB_11
  4490. # DEBUG BEGIN_STMT
  4491. if (pxNewTCB_11 != 0B)
  4492. goto <bb 4>; [82.57%]
  4493. else
  4494. goto <bb 5>; [17.43%]
  4495. <bb 4> [local count: 247478]:
  4496. # DEBUG BEGIN_STMT
  4497. pxNewTCB_11->pxStack = pxStack_9;
  4498. goto <bb 6>; [100.00%]
  4499. <bb 5> [local count: 52241]:
  4500. # DEBUG BEGIN_STMT
  4501. vPortFree (pxStack_9);
  4502. <bb 6> [local count: 299719]:
  4503. # DEBUG pxNewTCB => pxNewTCB_11
  4504. # DEBUG BEGIN_STMT
  4505. if (pxNewTCB_11 != 0B)
  4506. goto <bb 7>; [53.47%]
  4507. else
  4508. goto <bb 32>; [46.53%]
  4509. <bb 7> [local count: 160260]:
  4510. # DEBUG BEGIN_STMT
  4511. # DEBUG D#1 => 0B
  4512. # DEBUG pxTaskCode => pxTaskCode_14(D)
  4513. # DEBUG pcName => pcName_15(D)
  4514. # DEBUG ulStackDepth => _1
  4515. # DEBUG pvParameters => pvParameters_16(D)
  4516. # DEBUG uxPriority => uxPriority_17(D)
  4517. # DEBUG pxCreatedTask => pxCreatedTask_18(D)
  4518. # DEBUG pxNewTCB => pxNewTCB_11
  4519. # DEBUG INLINE_ENTRY prvInitialiseNewTask
  4520. # DEBUG xRegions => D#1
  4521. # DEBUG BEGIN_STMT
  4522. # DEBUG BEGIN_STMT
  4523. # DEBUG BEGIN_STMT
  4524. _44 = pxNewTCB_11->pxStack;
  4525. _45 = _1 * 4;
  4526. memset (_44, 165, _45);
  4527. # DEBUG BEGIN_STMT
  4528. _46 = pxNewTCB_11->pxStack;
  4529. _47 = _1 + 1073741823;
  4530. _48 = _47 * 4;
  4531. pxTopOfStack_49 = _46 + _48;
  4532. # DEBUG pxTopOfStack => pxTopOfStack_49
  4533. # DEBUG BEGIN_STMT
  4534. pxTopOfStack.0_50 = (long unsigned int) pxTopOfStack_49;
  4535. _51 = pxTopOfStack.0_50 & 4294967288;
  4536. pxTopOfStack_52 = (StackType_t *) _51;
  4537. # DEBUG pxTopOfStack => pxTopOfStack_52
  4538. # DEBUG BEGIN_STMT
  4539. # DEBUG BEGIN_STMT
  4540. # DEBUG BEGIN_STMT
  4541. if (pcName_15(D) != 0B)
  4542. goto <bb 10>; [70.00%]
  4543. else
  4544. goto <bb 12>; [30.00%]
  4545. <bb 8> [local count: 723805]:
  4546. # DEBUG BEGIN_STMT
  4547. _54 = pcName_15(D) + x_53;
  4548. _55 = *_54;
  4549. pxNewTCB_11->pcTaskName[x_53] = _55;
  4550. # DEBUG BEGIN_STMT
  4551. _56 = *_54;
  4552. if (_56 == 0)
  4553. goto <bb 11>; [5.50%]
  4554. else
  4555. goto <bb 9>; [94.50%]
  4556. <bb 9> [local count: 683996]:
  4557. # DEBUG BEGIN_STMT
  4558. # DEBUG BEGIN_STMT
  4559. x_57 = x_53 + 1;
  4560. # DEBUG x => x_57
  4561. <bb 10> [local count: 796177]:
  4562. # x_53 = PHI <0(7), x_57(9)>
  4563. # DEBUG x => x_53
  4564. # DEBUG BEGIN_STMT
  4565. if (x_53 != 10)
  4566. goto <bb 8>; [90.91%]
  4567. else
  4568. goto <bb 11>; [9.09%]
  4569. <bb 11> [local count: 112182]:
  4570. # DEBUG BEGIN_STMT
  4571. pxNewTCB_11->pcTaskName[9] = 0;
  4572. goto <bb 13>; [100.00%]
  4573. <bb 12> [local count: 48078]:
  4574. # DEBUG BEGIN_STMT
  4575. pxNewTCB_11->pcTaskName[0] = 0;
  4576. <bb 13> [local count: 160260]:
  4577. # DEBUG BEGIN_STMT
  4578. if (uxPriority_17(D) > 4)
  4579. goto <bb 14>; [67.00%]
  4580. else
  4581. goto <bb 16>; [33.00%]
  4582. <bb 14> [local count: 107374]:
  4583. # DEBUG BEGIN_STMT
  4584. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4585. # DEBUG BEGIN_STMT
  4586. # DEBUG BEGIN_STMT
  4587. __asm__ __volatile__(" mov %0, %1
  4588. msr basepri, %0
  4589. isb
  4590. dsb
  4591. " : "=r" ulNewBASEPRI_58 : "i" 16 : "memory");
  4592. # DEBUG ulNewBASEPRI => ulNewBASEPRI_58
  4593. <bb 15> [local count: 1073741824]:
  4594. # DEBUG ulNewBASEPRI => NULL
  4595. # DEBUG BEGIN_STMT
  4596. # DEBUG BEGIN_STMT
  4597. # DEBUG BEGIN_STMT
  4598. goto <bb 15>; [100.00%]
  4599. <bb 16> [local count: 52886]:
  4600. # DEBUG BEGIN_STMT
  4601. # DEBUG BEGIN_STMT
  4602. # DEBUG uxPriority => uxPriority_17(D)
  4603. # DEBUG BEGIN_STMT
  4604. # DEBUG BEGIN_STMT
  4605. pxNewTCB_11->uxPriority = uxPriority_17(D);
  4606. # DEBUG BEGIN_STMT
  4607. pxNewTCB_11->uxBasePriority = uxPriority_17(D);
  4608. # DEBUG BEGIN_STMT
  4609. pxNewTCB_11->uxMutexesHeld = 0;
  4610. # DEBUG BEGIN_STMT
  4611. _59 = &pxNewTCB_11->xStateListItem;
  4612. vListInitialiseItem (_59);
  4613. # DEBUG BEGIN_STMT
  4614. _60 = &pxNewTCB_11->xEventListItem;
  4615. vListInitialiseItem (_60);
  4616. # DEBUG BEGIN_STMT
  4617. pxNewTCB_11->xStateListItem.pvOwner = pxNewTCB_11;
  4618. # DEBUG BEGIN_STMT
  4619. _61 = 5 - uxPriority_17(D);
  4620. pxNewTCB_11->xEventListItem.xItemValue = _61;
  4621. # DEBUG BEGIN_STMT
  4622. pxNewTCB_11->xEventListItem.pvOwner = pxNewTCB_11;
  4623. # DEBUG BEGIN_STMT
  4624. # DEBUG BEGIN_STMT
  4625. _62 = &pxNewTCB_11->ulNotifiedValue[0];
  4626. memset (_62, 0, 4);
  4627. # DEBUG BEGIN_STMT
  4628. _63 = &pxNewTCB_11->ucNotifyState[0];
  4629. memset (_63, 0, 1);
  4630. # DEBUG BEGIN_STMT
  4631. pxNewTCB_11->ucDelayAborted = 0;
  4632. # DEBUG BEGIN_STMT
  4633. _64 = pxPortInitialiseStack (pxTopOfStack_52, pxTaskCode_14(D), pvParameters_16(D));
  4634. pxNewTCB_11->pxTopOfStack = _64;
  4635. # DEBUG BEGIN_STMT
  4636. if (pxCreatedTask_18(D) != 0B)
  4637. goto <bb 17>; [70.00%]
  4638. else
  4639. goto <bb 18>; [30.00%]
  4640. <bb 17> [local count: 37020]:
  4641. # DEBUG BEGIN_STMT
  4642. *pxCreatedTask_18(D) = pxNewTCB_11;
  4643. <bb 18> [local count: 52886]:
  4644. # DEBUG BEGIN_STMT
  4645. # DEBUG pxTaskCode => NULL
  4646. # DEBUG pcName => NULL
  4647. # DEBUG ulStackDepth => NULL
  4648. # DEBUG pvParameters => NULL
  4649. # DEBUG uxPriority => NULL
  4650. # DEBUG pxCreatedTask => NULL
  4651. # DEBUG pxNewTCB => NULL
  4652. # DEBUG pxTopOfStack => NULL
  4653. # DEBUG x => NULL
  4654. # DEBUG ulNewBASEPRI => NULL
  4655. # DEBUG BEGIN_STMT
  4656. # DEBUG pxNewTCB => pxNewTCB_11
  4657. # DEBUG INLINE_ENTRY prvAddNewTaskToReadyList
  4658. # DEBUG BEGIN_STMT
  4659. vPortEnterCritical ();
  4660. # DEBUG BEGIN_STMT
  4661. uxCurrentNumberOfTasks.2_21 ={v} uxCurrentNumberOfTasks;
  4662. _22 = uxCurrentNumberOfTasks.2_21 + 1;
  4663. uxCurrentNumberOfTasks ={v} _22;
  4664. # DEBUG BEGIN_STMT
  4665. pxCurrentTCB.3_23 ={v} pxCurrentTCB;
  4666. if (pxCurrentTCB.3_23 == 0B)
  4667. goto <bb 19>; [30.00%]
  4668. else
  4669. goto <bb 23>; [70.00%]
  4670. <bb 19> [local count: 15866]:
  4671. # DEBUG BEGIN_STMT
  4672. pxCurrentTCB ={v} pxNewTCB_11;
  4673. # DEBUG BEGIN_STMT
  4674. uxCurrentNumberOfTasks.4_24 ={v} uxCurrentNumberOfTasks;
  4675. if (uxCurrentNumberOfTasks.4_24 == 1)
  4676. goto <bb 21>; [20.24%]
  4677. else
  4678. goto <bb 26>; [79.76%]
  4679. <bb 20> [local count: 16052]:
  4680. # DEBUG BEGIN_STMT
  4681. _66 = &pxReadyTasksLists[uxPriority_65];
  4682. vListInitialise (_66);
  4683. # DEBUG BEGIN_STMT
  4684. uxPriority_67 = uxPriority_65 + 1;
  4685. # DEBUG uxPriority => uxPriority_67
  4686. <bb 21> [local count: 19263]:
  4687. # uxPriority_65 = PHI <0(19), uxPriority_67(20)>
  4688. # DEBUG uxPriority => NULL
  4689. # DEBUG uxPriority => uxPriority_65
  4690. # DEBUG BEGIN_STMT
  4691. if (uxPriority_65 != 5)
  4692. goto <bb 20>; [83.33%]
  4693. else
  4694. goto <bb 22>; [16.67%]
  4695. <bb 22> [local count: 3211]:
  4696. # DEBUG BEGIN_STMT
  4697. vListInitialise (&xDelayedTaskList1);
  4698. # DEBUG BEGIN_STMT
  4699. vListInitialise (&xDelayedTaskList2);
  4700. # DEBUG BEGIN_STMT
  4701. vListInitialise (&xPendingReadyList);
  4702. # DEBUG BEGIN_STMT
  4703. vListInitialise (&xTasksWaitingTermination);
  4704. # DEBUG BEGIN_STMT
  4705. vListInitialise (&xSuspendedTaskList);
  4706. # DEBUG BEGIN_STMT
  4707. pxDelayedTaskList ={v} &xDelayedTaskList1;
  4708. # DEBUG BEGIN_STMT
  4709. pxOverflowDelayedTaskList ={v} &xDelayedTaskList2;
  4710. goto <bb 26>; [100.00%]
  4711. <bb 23> [local count: 37020]:
  4712. # DEBUG BEGIN_STMT
  4713. xSchedulerRunning.5_25 ={v} xSchedulerRunning;
  4714. if (xSchedulerRunning.5_25 == 0)
  4715. goto <bb 24>; [50.00%]
  4716. else
  4717. goto <bb 26>; [50.00%]
  4718. <bb 24> [local count: 18510]:
  4719. # DEBUG BEGIN_STMT
  4720. pxCurrentTCB.6_26 ={v} pxCurrentTCB;
  4721. _27 = pxCurrentTCB.6_26->uxPriority;
  4722. _28 = pxNewTCB_11->uxPriority;
  4723. if (_27 <= _28)
  4724. goto <bb 25>; [50.00%]
  4725. else
  4726. goto <bb 26>; [50.00%]
  4727. <bb 25> [local count: 9255]:
  4728. # DEBUG BEGIN_STMT
  4729. pxCurrentTCB ={v} pxNewTCB_11;
  4730. <bb 26> [local count: 52886]:
  4731. # DEBUG uxPriority => NULL
  4732. # DEBUG BEGIN_STMT
  4733. # DEBUG BEGIN_STMT
  4734. uxTaskNumber.7_29 = uxTaskNumber;
  4735. _30 = uxTaskNumber.7_29 + 1;
  4736. uxTaskNumber = _30;
  4737. # DEBUG BEGIN_STMT
  4738. pxNewTCB_11->uxTCBNumber = _30;
  4739. # DEBUG BEGIN_STMT
  4740. # DEBUG BEGIN_STMT
  4741. # DEBUG BEGIN_STMT
  4742. _31 = pxNewTCB_11->uxPriority;
  4743. uxTopReadyPriority.9_32 ={v} uxTopReadyPriority;
  4744. if (_31 > uxTopReadyPriority.9_32)
  4745. goto <bb 27>; [50.00%]
  4746. else
  4747. goto <bb 28>; [50.00%]
  4748. <bb 27> [local count: 26443]:
  4749. # DEBUG BEGIN_STMT
  4750. uxTopReadyPriority ={v} _31;
  4751. <bb 28> [local count: 52886]:
  4752. # DEBUG BEGIN_STMT
  4753. # DEBUG BEGIN_STMT
  4754. pxIndex_33 = pxReadyTasksLists[_31].pxIndex;
  4755. # DEBUG pxIndex => pxIndex_33
  4756. # DEBUG BEGIN_STMT
  4757. # DEBUG BEGIN_STMT
  4758. # DEBUG BEGIN_STMT
  4759. pxNewTCB_11->xStateListItem.pxNext = pxIndex_33;
  4760. # DEBUG BEGIN_STMT
  4761. _34 = pxIndex_33->pxPrevious;
  4762. pxNewTCB_11->xStateListItem.pxPrevious = _34;
  4763. # DEBUG BEGIN_STMT
  4764. _35 = pxIndex_33->pxPrevious;
  4765. _36 = &pxNewTCB_11->xStateListItem;
  4766. _35->pxNext = _36;
  4767. # DEBUG BEGIN_STMT
  4768. pxIndex_33->pxPrevious = _36;
  4769. # DEBUG BEGIN_STMT
  4770. _37 = &pxReadyTasksLists[_31];
  4771. pxNewTCB_11->xStateListItem.pvContainer = _37;
  4772. # DEBUG BEGIN_STMT
  4773. _38 ={v} pxReadyTasksLists[_31].uxNumberOfItems;
  4774. _39 = _38 + 1;
  4775. pxReadyTasksLists[_31].uxNumberOfItems ={v} _39;
  4776. # DEBUG BEGIN_STMT
  4777. # DEBUG BEGIN_STMT
  4778. # DEBUG BEGIN_STMT
  4779. # DEBUG BEGIN_STMT
  4780. vPortExitCritical ();
  4781. # DEBUG BEGIN_STMT
  4782. xSchedulerRunning.10_40 ={v} xSchedulerRunning;
  4783. if (xSchedulerRunning.10_40 != 0)
  4784. goto <bb 29>; [50.00%]
  4785. else
  4786. goto <bb 31>; [50.00%]
  4787. <bb 29> [local count: 26443]:
  4788. # DEBUG BEGIN_STMT
  4789. pxCurrentTCB.11_41 ={v} pxCurrentTCB;
  4790. _42 = pxCurrentTCB.11_41->uxPriority;
  4791. _43 = pxNewTCB_11->uxPriority;
  4792. if (_42 < _43)
  4793. goto <bb 30>; [50.00%]
  4794. else
  4795. goto <bb 31>; [50.00%]
  4796. <bb 30> [local count: 13221]:
  4797. # DEBUG BEGIN_STMT
  4798. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4799. # DEBUG BEGIN_STMT
  4800. __asm__ __volatile__("dsb" : : : "memory");
  4801. # DEBUG BEGIN_STMT
  4802. __asm__ __volatile__("isb");
  4803. # DEBUG BEGIN_STMT
  4804. <bb 31> [local count: 52886]:
  4805. # DEBUG BEGIN_STMT
  4806. <bb 32> [local count: 453163]:
  4807. # xReturn_3 = PHI <1(31), -1(6), -1(2)>
  4808. # DEBUG pxNewTCB => NULL
  4809. # DEBUG pxIndex => NULL
  4810. # DEBUG xReturn => NULL
  4811. # DEBUG pxNewTCB => NULL
  4812. # DEBUG xReturn => xReturn_3
  4813. # DEBUG BEGIN_STMT
  4814. return xReturn_3;
  4815. }
  4816. ;; Function vTaskDelete (vTaskDelete, funcdef_no=10, decl_uid=6144, cgraph_uid=11, symbol_order=32)
  4817. Symbols to be put in SSA form
  4818. { D.8251 }
  4819. Incremental SSA update started at block: 0
  4820. Number of blocks in CFG: 19
  4821. Number of blocks to update: 18 ( 95%)
  4822. Merging blocks 8 and 18
  4823. Merging blocks 13 and 16
  4824. Merging blocks 8 and 17
  4825. ;; 2 loops found
  4826. ;;
  4827. ;; Loop 0
  4828. ;; header 0, latch 1
  4829. ;; depth 0, outer -1
  4830. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  4831. ;;
  4832. ;; Loop 1
  4833. ;; header 13, latch 13
  4834. ;; depth 1, outer 0
  4835. ;; nodes: 13
  4836. ;; 2 succs { 3 4 }
  4837. ;; 3 succs { 4 }
  4838. ;; 4 succs { 5 6 }
  4839. ;; 5 succs { 6 }
  4840. ;; 6 succs { 7 8 }
  4841. ;; 7 succs { 9 }
  4842. ;; 8 succs { 9 }
  4843. ;; 9 succs { 10 15 }
  4844. ;; 10 succs { 11 15 }
  4845. ;; 11 succs { 12 14 }
  4846. ;; 12 succs { 13 }
  4847. ;; 13 succs { 13 }
  4848. ;; 14 succs { 15 }
  4849. ;; 15 succs { 1 }
  4850. vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
  4851. {
  4852. uint32_t ulNewBASEPRI;
  4853. struct ListItem_t * _1;
  4854. struct xLIST * _2;
  4855. struct ListItem_t * _3;
  4856. long unsigned int uxTaskNumber.13_4;
  4857. long unsigned int _5;
  4858. struct TCB_t * pxCurrentTCB.14_6;
  4859. long unsigned int uxDeletedTasksWaitingCleanUp.15_7;
  4860. long unsigned int _8;
  4861. long unsigned int uxCurrentNumberOfTasks.16_9;
  4862. long unsigned int _10;
  4863. long int xSchedulerRunning.17_11;
  4864. struct TCB_t * pxCurrentTCB.18_12;
  4865. long unsigned int uxSchedulerSuspended.19_13;
  4866. struct TCB_t * iftmp.12_14;
  4867. struct TCB_t * iftmp.12_21;
  4868. StackType_t * _36;
  4869. <bb 2> [local count: 1431653]:
  4870. # DEBUG BEGIN_STMT
  4871. # DEBUG BEGIN_STMT
  4872. vPortEnterCritical ();
  4873. # DEBUG BEGIN_STMT
  4874. if (xTaskToDelete_20(D) == 0B)
  4875. goto <bb 3>; [30.00%]
  4876. else
  4877. goto <bb 4>; [70.00%]
  4878. <bb 3> [local count: 429496]:
  4879. iftmp.12_21 ={v} pxCurrentTCB;
  4880. <bb 4> [local count: 1431653]:
  4881. # iftmp.12_14 = PHI <iftmp.12_21(3), xTaskToDelete_20(D)(2)>
  4882. # DEBUG pxTCB => iftmp.12_14
  4883. # DEBUG BEGIN_STMT
  4884. _1 = &iftmp.12_14->xStateListItem;
  4885. uxListRemove (_1);
  4886. # DEBUG BEGIN_STMT
  4887. # DEBUG BEGIN_STMT
  4888. _2 = iftmp.12_14->xEventListItem.pvContainer;
  4889. if (_2 != 0B)
  4890. goto <bb 5>; [53.47%]
  4891. else
  4892. goto <bb 6>; [46.53%]
  4893. <bb 5> [local count: 765505]:
  4894. # DEBUG BEGIN_STMT
  4895. _3 = &iftmp.12_14->xEventListItem;
  4896. uxListRemove (_3);
  4897. <bb 6> [local count: 1431653]:
  4898. # DEBUG BEGIN_STMT
  4899. # DEBUG BEGIN_STMT
  4900. uxTaskNumber.13_4 = uxTaskNumber;
  4901. _5 = uxTaskNumber.13_4 + 1;
  4902. uxTaskNumber = _5;
  4903. # DEBUG BEGIN_STMT
  4904. pxCurrentTCB.14_6 ={v} pxCurrentTCB;
  4905. if (pxCurrentTCB.14_6 == iftmp.12_14)
  4906. goto <bb 7>; [30.00%]
  4907. else
  4908. goto <bb 8>; [70.00%]
  4909. <bb 7> [local count: 429496]:
  4910. # DEBUG BEGIN_STMT
  4911. vListInsertEnd (&xTasksWaitingTermination, _1);
  4912. # DEBUG BEGIN_STMT
  4913. uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp;
  4914. _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1;
  4915. uxDeletedTasksWaitingCleanUp ={v} _8;
  4916. # DEBUG BEGIN_STMT
  4917. # DEBUG BEGIN_STMT
  4918. goto <bb 9>; [100.00%]
  4919. <bb 8> [local count: 1002157]:
  4920. # DEBUG BEGIN_STMT
  4921. uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks;
  4922. _10 = uxCurrentNumberOfTasks.16_9 + 4294967295;
  4923. uxCurrentNumberOfTasks ={v} _10;
  4924. # DEBUG BEGIN_STMT
  4925. # DEBUG BEGIN_STMT
  4926. # DEBUG pxTCB => iftmp.12_14
  4927. # DEBUG INLINE_ENTRY prvDeleteTCB
  4928. # DEBUG BEGIN_STMT
  4929. # DEBUG BEGIN_STMT
  4930. _36 = iftmp.12_14->pxStack;
  4931. vPortFree (_36);
  4932. # DEBUG BEGIN_STMT
  4933. vPortFree (iftmp.12_14);
  4934. # DEBUG pxTCB => NULL
  4935. # DEBUG BEGIN_STMT
  4936. prvResetNextTaskUnblockTime ();
  4937. <bb 9> [local count: 1431653]:
  4938. # DEBUG BEGIN_STMT
  4939. vPortExitCritical ();
  4940. # DEBUG BEGIN_STMT
  4941. xSchedulerRunning.17_11 ={v} xSchedulerRunning;
  4942. if (xSchedulerRunning.17_11 != 0)
  4943. goto <bb 10>; [50.00%]
  4944. else
  4945. goto <bb 15>; [50.00%]
  4946. <bb 10> [local count: 715827]:
  4947. # DEBUG BEGIN_STMT
  4948. pxCurrentTCB.18_12 ={v} pxCurrentTCB;
  4949. if (pxCurrentTCB.18_12 == iftmp.12_14)
  4950. goto <bb 11>; [30.00%]
  4951. else
  4952. goto <bb 15>; [70.00%]
  4953. <bb 11> [local count: 214748]:
  4954. # DEBUG BEGIN_STMT
  4955. uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended;
  4956. if (uxSchedulerSuspended.19_13 != 0)
  4957. goto <bb 12>; [50.00%]
  4958. else
  4959. goto <bb 14>; [50.00%]
  4960. <bb 12> [local count: 107374]:
  4961. # DEBUG BEGIN_STMT
  4962. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4963. # DEBUG BEGIN_STMT
  4964. # DEBUG BEGIN_STMT
  4965. __asm__ __volatile__(" mov %0, %1
  4966. msr basepri, %0
  4967. isb
  4968. dsb
  4969. " : "=r" ulNewBASEPRI_34 : "i" 16 : "memory");
  4970. # DEBUG ulNewBASEPRI => ulNewBASEPRI_34
  4971. <bb 13> [local count: 1073741824]:
  4972. # DEBUG ulNewBASEPRI => NULL
  4973. # DEBUG BEGIN_STMT
  4974. # DEBUG BEGIN_STMT
  4975. # DEBUG BEGIN_STMT
  4976. goto <bb 13>; [100.00%]
  4977. <bb 14> [local count: 107374]:
  4978. # DEBUG BEGIN_STMT
  4979. # DEBUG BEGIN_STMT
  4980. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4981. # DEBUG BEGIN_STMT
  4982. __asm__ __volatile__("dsb" : : : "memory");
  4983. # DEBUG BEGIN_STMT
  4984. __asm__ __volatile__("isb");
  4985. # DEBUG BEGIN_STMT
  4986. <bb 15> [local count: 1324279]:
  4987. # DEBUG BEGIN_STMT
  4988. return;
  4989. }
  4990. ;; Function eTaskGetState (eTaskGetState, funcdef_no=13, decl_uid=6157, cgraph_uid=14, symbol_order=35)
  4991. Symbols to be put in SSA form
  4992. { D.8252 D.8609 }
  4993. Incremental SSA update started at block: 0
  4994. Number of blocks in CFG: 22
  4995. Number of blocks to update: 21 ( 95%)
  4996. Merging blocks 4 and 15
  4997. Merging blocks 10 and 17
  4998. Removing basic block 19
  4999. Merging blocks 21 and 16
  5000. ;; 4 loops found
  5001. ;;
  5002. ;; Loop 0
  5003. ;; header 0, latch 1
  5004. ;; depth 0, outer -1
  5005. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
  5006. ;;
  5007. ;; Loop 2
  5008. ;; header 4, latch 4
  5009. ;; depth 1, outer 0
  5010. ;; nodes: 4
  5011. ;;
  5012. ;; Loop 3
  5013. ;; header 12, latch 11
  5014. ;; depth 1, outer 0
  5015. ;; nodes: 12 11
  5016. ;; 2 succs { 3 5 }
  5017. ;; 3 succs { 4 }
  5018. ;; 4 succs { 4 }
  5019. ;; 5 succs { 17 6 }
  5020. ;; 6 succs { 17 7 }
  5021. ;; 7 succs { 17 8 }
  5022. ;; 8 succs { 9 14 }
  5023. ;; 9 succs { 10 17 }
  5024. ;; 10 succs { 12 }
  5025. ;; 11 succs { 13 12 }
  5026. ;; 12 succs { 11 13 }
  5027. ;; 13 succs { 17 }
  5028. ;; 14 succs { 17 15 }
  5029. ;; 15 succs { 17 16 }
  5030. ;; 16 succs { 17 }
  5031. ;; 17 succs { 1 }
  5032. eTaskGetState (struct tskTaskControlBlock * xTask)
  5033. {
  5034. BaseType_t x;
  5035. eTaskState eReturn;
  5036. eTaskState D.8609;
  5037. uint32_t ulNewBASEPRI;
  5038. BaseType_t x;
  5039. const struct List_t * pxOverflowedDelayedList;
  5040. const struct List_t * pxDelayedList;
  5041. const struct List_t * pxStateList;
  5042. eTaskState eReturn;
  5043. struct TCB_t * pxCurrentTCB.37_1;
  5044. struct xLIST * _2;
  5045. unsigned char _17;
  5046. <bb 2> [local count: 357913]:
  5047. # DEBUG BEGIN_STMT
  5048. # DEBUG BEGIN_STMT
  5049. # DEBUG BEGIN_STMT
  5050. # DEBUG pxTCB => xTask_5(D)
  5051. # DEBUG BEGIN_STMT
  5052. if (xTask_5(D) == 0B)
  5053. goto <bb 3>; [30.00%]
  5054. else
  5055. goto <bb 5>; [70.00%]
  5056. <bb 3> [local count: 107374]:
  5057. # DEBUG BEGIN_STMT
  5058. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5059. # DEBUG BEGIN_STMT
  5060. # DEBUG BEGIN_STMT
  5061. __asm__ __volatile__(" mov %0, %1
  5062. msr basepri, %0
  5063. isb
  5064. dsb
  5065. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  5066. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  5067. <bb 4> [local count: 1073741824]:
  5068. # DEBUG ulNewBASEPRI => NULL
  5069. # DEBUG BEGIN_STMT
  5070. # DEBUG BEGIN_STMT
  5071. # DEBUG BEGIN_STMT
  5072. goto <bb 4>; [100.00%]
  5073. <bb 5> [local count: 250539]:
  5074. # DEBUG BEGIN_STMT
  5075. # DEBUG BEGIN_STMT
  5076. pxCurrentTCB.37_1 ={v} pxCurrentTCB;
  5077. if (pxCurrentTCB.37_1 == xTask_5(D))
  5078. goto <bb 17>; [46.53%]
  5079. else
  5080. goto <bb 6>; [53.47%]
  5081. <bb 6> [local count: 133963]:
  5082. # DEBUG BEGIN_STMT
  5083. vPortEnterCritical ();
  5084. # DEBUG BEGIN_STMT
  5085. pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
  5086. # DEBUG pxStateList => pxStateList_9
  5087. # DEBUG BEGIN_STMT
  5088. pxDelayedList_10 ={v} pxDelayedTaskList;
  5089. # DEBUG pxDelayedList => pxDelayedList_10
  5090. # DEBUG BEGIN_STMT
  5091. pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList;
  5092. # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11
  5093. # DEBUG BEGIN_STMT
  5094. vPortExitCritical ();
  5095. # DEBUG BEGIN_STMT
  5096. if (pxStateList_9 == pxDelayedList_10)
  5097. goto <bb 17>; [18.75%]
  5098. else
  5099. goto <bb 7>; [81.25%]
  5100. <bb 7> [local count: 108845]:
  5101. if (pxStateList_9 == pxOverflowedDelayedList_11)
  5102. goto <bb 17>; [18.75%]
  5103. else
  5104. goto <bb 8>; [81.25%]
  5105. <bb 8> [local count: 88437]:
  5106. # DEBUG BEGIN_STMT
  5107. if (pxStateList_9 == &xSuspendedTaskList)
  5108. goto <bb 9>; [30.00%]
  5109. else
  5110. goto <bb 14>; [70.00%]
  5111. <bb 9> [local count: 26531]:
  5112. # DEBUG BEGIN_STMT
  5113. _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer;
  5114. if (_2 == 0B)
  5115. goto <bb 10>; [44.32%]
  5116. else
  5117. goto <bb 17>; [55.68%]
  5118. <bb 10> [local count: 11759]:
  5119. # x_4 = PHI <0(9)>
  5120. # DEBUG xTask => xTask_5(D)
  5121. # DEBUG INLINE_ENTRY eTaskGetState
  5122. goto <bb 12>; [100.00%]
  5123. <bb 11> [local count: 11146]:
  5124. # DEBUG BEGIN_STMT
  5125. _17 ={v} MEM[(const struct TCB_t *)xTask_5(D)].ucNotifyState[0];
  5126. if (_17 == 1)
  5127. goto <bb 13>; [5.50%]
  5128. else
  5129. goto <bb 12>; [94.50%]
  5130. <bb 12> [local count: 22291]:
  5131. # x_18 = PHI <0(10), 1(11)>
  5132. # DEBUG eReturn => NULL
  5133. # DEBUG x => x_18
  5134. # DEBUG BEGIN_STMT
  5135. if (x_18 == 0)
  5136. goto <bb 11>; [50.00%]
  5137. else
  5138. goto <bb 13>; [50.00%]
  5139. <bb 13> [local count: 11759]:
  5140. # eReturn_19 = PHI <2(11), 3(12)>
  5141. # DEBUG eReturn => eReturn_19
  5142. # DEBUG BEGIN_STMT
  5143. _20 = eReturn_19;
  5144. # DEBUG xTask => NULL
  5145. # DEBUG eReturn => NULL
  5146. # DEBUG pxStateList => NULL
  5147. # DEBUG pxDelayedList => NULL
  5148. # DEBUG pxOverflowedDelayedList => NULL
  5149. # DEBUG pxTCB => NULL
  5150. # DEBUG x => NULL
  5151. # DEBUG ulNewBASEPRI => NULL
  5152. eReturn_13 = _20;
  5153. goto <bb 17>; [100.00%]
  5154. <bb 14> [local count: 61906]:
  5155. # DEBUG BEGIN_STMT
  5156. if (pxStateList_9 == &xTasksWaitingTermination)
  5157. goto <bb 17>; [18.75%]
  5158. else
  5159. goto <bb 15>; [81.25%]
  5160. <bb 15> [local count: 50298]:
  5161. if (pxStateList_9 == 0B)
  5162. goto <bb 17>; [18.75%]
  5163. else
  5164. goto <bb 16>; [81.25%]
  5165. <bb 16> [local count: 40867]:
  5166. # DEBUG BEGIN_STMT
  5167. # DEBUG eReturn => 1
  5168. <bb 17> [local count: 250539]:
  5169. # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(15), 1(16), 4(14), eReturn_13(13), 2(6)>
  5170. # DEBUG eReturn => eReturn_3
  5171. # DEBUG BEGIN_STMT
  5172. return eReturn_3;
  5173. }
  5174. ;; Function uxTaskPriorityGet (uxTaskPriorityGet, funcdef_no=14, decl_uid=6153, cgraph_uid=15, symbol_order=36)
  5175. uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
  5176. {
  5177. UBaseType_t uxReturn;
  5178. const struct TCB_t * iftmp.38_1;
  5179. const struct TCB_t * iftmp.38_5;
  5180. <bb 2> [local count: 1073741824]:
  5181. # DEBUG BEGIN_STMT
  5182. # DEBUG BEGIN_STMT
  5183. # DEBUG BEGIN_STMT
  5184. vPortEnterCritical ();
  5185. # DEBUG BEGIN_STMT
  5186. if (xTask_4(D) == 0B)
  5187. goto <bb 3>; [30.00%]
  5188. else
  5189. goto <bb 4>; [70.00%]
  5190. <bb 3> [local count: 322122547]:
  5191. iftmp.38_5 ={v} pxCurrentTCB;
  5192. <bb 4> [local count: 1073741824]:
  5193. # iftmp.38_1 = PHI <iftmp.38_5(3), xTask_4(D)(2)>
  5194. # DEBUG pxTCB => iftmp.38_1
  5195. # DEBUG BEGIN_STMT
  5196. uxReturn_6 = iftmp.38_1->uxPriority;
  5197. # DEBUG uxReturn => uxReturn_6
  5198. # DEBUG BEGIN_STMT
  5199. vPortExitCritical ();
  5200. # DEBUG BEGIN_STMT
  5201. return uxReturn_6;
  5202. }
  5203. ;; Function uxTaskPriorityGetFromISR (uxTaskPriorityGetFromISR, funcdef_no=15, decl_uid=6155, cgraph_uid=16, symbol_order=37)
  5204. uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
  5205. {
  5206. uint32_t ulOriginalBASEPRI;
  5207. uint32_t ulNewBASEPRI;
  5208. UBaseType_t uxReturn;
  5209. const struct TCB_t * iftmp.39_1;
  5210. const struct TCB_t * iftmp.39_5;
  5211. <bb 2> [local count: 1073741824]:
  5212. # DEBUG BEGIN_STMT
  5213. # DEBUG BEGIN_STMT
  5214. # DEBUG BEGIN_STMT
  5215. vPortValidateInterruptPriority ();
  5216. # DEBUG BEGIN_STMT
  5217. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5218. # DEBUG BEGIN_STMT
  5219. # DEBUG BEGIN_STMT
  5220. __asm__ __volatile__(" mrs %0, basepri
  5221. mov %1, %2
  5222. msr basepri, %1
  5223. isb
  5224. dsb
  5225. " : "=r" ulOriginalBASEPRI_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  5226. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  5227. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7
  5228. # DEBUG BEGIN_STMT
  5229. # DEBUG ulNewBASEPRI => NULL
  5230. # DEBUG ulOriginalBASEPRI => NULL
  5231. # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7
  5232. # DEBUG BEGIN_STMT
  5233. if (xTask_4(D) == 0B)
  5234. goto <bb 3>; [30.00%]
  5235. else
  5236. goto <bb 4>; [70.00%]
  5237. <bb 3> [local count: 322122547]:
  5238. iftmp.39_5 ={v} pxCurrentTCB;
  5239. <bb 4> [local count: 1073741824]:
  5240. # iftmp.39_1 = PHI <iftmp.39_5(3), xTask_4(D)(2)>
  5241. # DEBUG pxTCB => iftmp.39_1
  5242. # DEBUG BEGIN_STMT
  5243. uxReturn_6 = iftmp.39_1->uxPriority;
  5244. # DEBUG uxReturn => uxReturn_6
  5245. # DEBUG BEGIN_STMT
  5246. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7
  5247. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5248. # DEBUG BEGIN_STMT
  5249. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory");
  5250. # DEBUG ulNewMaskValue => NULL
  5251. # DEBUG BEGIN_STMT
  5252. return uxReturn_6;
  5253. }
  5254. ;; Function vTaskPrioritySet (vTaskPrioritySet, funcdef_no=16, decl_uid=6165, cgraph_uid=17, symbol_order=38)
  5255. vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
  5256. {
  5257. uint32_t ulNewBASEPRI;
  5258. struct ListItem_t * const pxIndex;
  5259. BaseType_t xYieldRequired;
  5260. UBaseType_t uxPriorityUsedOnEntry;
  5261. UBaseType_t uxCurrentBasePriority;
  5262. struct TCB_t * pxCurrentTCB.41_1;
  5263. struct TCB_t * pxCurrentTCB.42_2;
  5264. long unsigned int _3;
  5265. struct TCB_t * pxCurrentTCB.43_4;
  5266. long unsigned int _5;
  5267. signed int _6;
  5268. long unsigned int _7;
  5269. struct xLIST * _8;
  5270. struct List_t * _9;
  5271. struct ListItem_t * _10;
  5272. long unsigned int _11;
  5273. long unsigned int uxTopReadyPriority.44_12;
  5274. struct xLIST_ITEM * _13;
  5275. struct xLIST_ITEM * _14;
  5276. struct List_t * _15;
  5277. long unsigned int _16;
  5278. long unsigned int _17;
  5279. struct TCB_t * iftmp.40_19;
  5280. struct TCB_t * iftmp.40_29;
  5281. <bb 2> [local count: 160260]:
  5282. # DEBUG BEGIN_STMT
  5283. # DEBUG BEGIN_STMT
  5284. # DEBUG BEGIN_STMT
  5285. # DEBUG xYieldRequired => 0
  5286. # DEBUG BEGIN_STMT
  5287. if (uxNewPriority_25(D) > 4)
  5288. goto <bb 3>; [67.00%]
  5289. else
  5290. goto <bb 5>; [33.00%]
  5291. <bb 3> [local count: 107374]:
  5292. # DEBUG BEGIN_STMT
  5293. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5294. # DEBUG BEGIN_STMT
  5295. # DEBUG BEGIN_STMT
  5296. __asm__ __volatile__(" mov %0, %1
  5297. msr basepri, %0
  5298. isb
  5299. dsb
  5300. " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  5301. # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
  5302. <bb 4> [local count: 1073741824]:
  5303. # DEBUG ulNewBASEPRI => NULL
  5304. # DEBUG BEGIN_STMT
  5305. # DEBUG BEGIN_STMT
  5306. # DEBUG BEGIN_STMT
  5307. <bb 25> [local count: 1073741824]:
  5308. goto <bb 4>; [100.00%]
  5309. <bb 5> [local count: 52886]:
  5310. # DEBUG BEGIN_STMT
  5311. # DEBUG BEGIN_STMT
  5312. # DEBUG uxNewPriority => uxNewPriority_25(D)
  5313. # DEBUG BEGIN_STMT
  5314. # DEBUG BEGIN_STMT
  5315. vPortEnterCritical ();
  5316. # DEBUG BEGIN_STMT
  5317. if (xTask_28(D) == 0B)
  5318. goto <bb 6>; [30.00%]
  5319. else
  5320. goto <bb 7>; [70.00%]
  5321. <bb 6> [local count: 15866]:
  5322. iftmp.40_29 ={v} pxCurrentTCB;
  5323. <bb 7> [local count: 52886]:
  5324. # iftmp.40_19 = PHI <iftmp.40_29(6), xTask_28(D)(5)>
  5325. # DEBUG pxTCB => iftmp.40_19
  5326. # DEBUG BEGIN_STMT
  5327. # DEBUG BEGIN_STMT
  5328. uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority;
  5329. # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30
  5330. # DEBUG BEGIN_STMT
  5331. if (uxNewPriority_25(D) != uxCurrentBasePriority_30)
  5332. goto <bb 8>; [66.00%]
  5333. else
  5334. goto <bb 24>; [34.00%]
  5335. <bb 8> [local count: 34905]:
  5336. # DEBUG BEGIN_STMT
  5337. if (uxNewPriority_25(D) > uxCurrentBasePriority_30)
  5338. goto <bb 9>; [50.00%]
  5339. else
  5340. goto <bb 12>; [50.00%]
  5341. <bb 9> [local count: 17452]:
  5342. # DEBUG BEGIN_STMT
  5343. pxCurrentTCB.41_1 ={v} pxCurrentTCB;
  5344. if (pxCurrentTCB.41_1 != iftmp.40_19)
  5345. goto <bb 10>; [70.00%]
  5346. else
  5347. goto <bb 14>; [30.00%]
  5348. <bb 10> [local count: 12217]:
  5349. # DEBUG BEGIN_STMT
  5350. pxCurrentTCB.42_2 ={v} pxCurrentTCB;
  5351. _3 = pxCurrentTCB.42_2->uxPriority;
  5352. if (_3 <= uxNewPriority_25(D))
  5353. goto <bb 11>; [50.00%]
  5354. else
  5355. goto <bb 14>; [50.00%]
  5356. <bb 11> [local count: 6108]:
  5357. # DEBUG BEGIN_STMT
  5358. # DEBUG xYieldRequired => 1
  5359. goto <bb 14>; [100.00%]
  5360. <bb 12> [local count: 17452]:
  5361. # DEBUG BEGIN_STMT
  5362. pxCurrentTCB.43_4 ={v} pxCurrentTCB;
  5363. if (pxCurrentTCB.43_4 == iftmp.40_19)
  5364. goto <bb 13>; [30.00%]
  5365. else
  5366. goto <bb 14>; [70.00%]
  5367. <bb 13> [local count: 5236]:
  5368. # DEBUG BEGIN_STMT
  5369. # DEBUG xYieldRequired => 1
  5370. <bb 14> [local count: 34905]:
  5371. # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)>
  5372. # DEBUG xYieldRequired => xYieldRequired_18
  5373. # DEBUG BEGIN_STMT
  5374. # DEBUG BEGIN_STMT
  5375. uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority;
  5376. # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31
  5377. # DEBUG BEGIN_STMT
  5378. if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31)
  5379. goto <bb 15>; [34.00%]
  5380. else
  5381. goto <bb 16>; [66.00%]
  5382. <bb 15> [local count: 11868]:
  5383. # DEBUG BEGIN_STMT
  5384. iftmp.40_19->uxPriority = uxNewPriority_25(D);
  5385. <bb 16> [local count: 34905]:
  5386. # DEBUG BEGIN_STMT
  5387. # DEBUG BEGIN_STMT
  5388. iftmp.40_19->uxBasePriority = uxNewPriority_25(D);
  5389. # DEBUG BEGIN_STMT
  5390. _5 = iftmp.40_19->xEventListItem.xItemValue;
  5391. _6 = (signed int) _5;
  5392. if (_6 >= 0)
  5393. goto <bb 17>; [59.00%]
  5394. else
  5395. goto <bb 18>; [41.00%]
  5396. <bb 17> [local count: 20594]:
  5397. # DEBUG BEGIN_STMT
  5398. _7 = 5 - uxNewPriority_25(D);
  5399. iftmp.40_19->xEventListItem.xItemValue = _7;
  5400. <bb 18> [local count: 34905]:
  5401. # DEBUG BEGIN_STMT
  5402. # DEBUG BEGIN_STMT
  5403. _8 = iftmp.40_19->xStateListItem.pvContainer;
  5404. _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31];
  5405. if (_8 == _9)
  5406. goto <bb 19>; [17.43%]
  5407. else
  5408. goto <bb 22>; [82.57%]
  5409. <bb 19> [local count: 6084]:
  5410. # DEBUG BEGIN_STMT
  5411. _10 = &iftmp.40_19->xStateListItem;
  5412. uxListRemove (_10);
  5413. # DEBUG BEGIN_STMT
  5414. # DEBUG BEGIN_STMT
  5415. # DEBUG BEGIN_STMT
  5416. _11 = iftmp.40_19->uxPriority;
  5417. uxTopReadyPriority.44_12 ={v} uxTopReadyPriority;
  5418. if (_11 > uxTopReadyPriority.44_12)
  5419. goto <bb 20>; [50.00%]
  5420. else
  5421. goto <bb 21>; [50.00%]
  5422. <bb 20> [local count: 3042]:
  5423. # DEBUG BEGIN_STMT
  5424. uxTopReadyPriority ={v} _11;
  5425. <bb 21> [local count: 6084]:
  5426. # DEBUG BEGIN_STMT
  5427. # DEBUG BEGIN_STMT
  5428. pxIndex_37 = pxReadyTasksLists[_11].pxIndex;
  5429. # DEBUG pxIndex => pxIndex_37
  5430. # DEBUG BEGIN_STMT
  5431. # DEBUG BEGIN_STMT
  5432. # DEBUG BEGIN_STMT
  5433. iftmp.40_19->xStateListItem.pxNext = pxIndex_37;
  5434. # DEBUG BEGIN_STMT
  5435. _13 = pxIndex_37->pxPrevious;
  5436. iftmp.40_19->xStateListItem.pxPrevious = _13;
  5437. # DEBUG BEGIN_STMT
  5438. _14 = pxIndex_37->pxPrevious;
  5439. _14->pxNext = _10;
  5440. # DEBUG BEGIN_STMT
  5441. pxIndex_37->pxPrevious = _10;
  5442. # DEBUG BEGIN_STMT
  5443. _15 = &pxReadyTasksLists[_11];
  5444. iftmp.40_19->xStateListItem.pvContainer = _15;
  5445. # DEBUG BEGIN_STMT
  5446. _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
  5447. _17 = _16 + 1;
  5448. pxReadyTasksLists[_11].uxNumberOfItems ={v} _17;
  5449. # DEBUG BEGIN_STMT
  5450. # DEBUG BEGIN_STMT
  5451. <bb 22> [local count: 34905]:
  5452. # DEBUG BEGIN_STMT
  5453. # DEBUG BEGIN_STMT
  5454. if (xYieldRequired_18 != 0)
  5455. goto <bb 23>; [50.00%]
  5456. else
  5457. goto <bb 24>; [50.00%]
  5458. <bb 23> [local count: 17452]:
  5459. # DEBUG BEGIN_STMT
  5460. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5461. # DEBUG BEGIN_STMT
  5462. __asm__ __volatile__("dsb" : : : "memory");
  5463. # DEBUG BEGIN_STMT
  5464. __asm__ __volatile__("isb");
  5465. # DEBUG BEGIN_STMT
  5466. <bb 24> [local count: 52886]:
  5467. # DEBUG BEGIN_STMT
  5468. # DEBUG BEGIN_STMT
  5469. # DEBUG BEGIN_STMT
  5470. vPortExitCritical ();
  5471. return;
  5472. }
  5473. ;; Function vTaskResume (vTaskResume, funcdef_no=19, decl_uid=6169, cgraph_uid=20, symbol_order=41)
  5474. vTaskResume (struct tskTaskControlBlock * xTaskToResume)
  5475. {
  5476. uint32_t ulNewBASEPRI;
  5477. struct ListItem_t * const pxIndex;
  5478. struct TCB_t * pxCurrentTCB.51_1;
  5479. long int _2;
  5480. struct ListItem_t * _3;
  5481. long unsigned int _4;
  5482. long unsigned int uxTopReadyPriority.52_5;
  5483. struct xLIST_ITEM * _6;
  5484. struct xLIST_ITEM * _7;
  5485. struct List_t * _8;
  5486. long unsigned int _9;
  5487. long unsigned int _10;
  5488. struct TCB_t * pxCurrentTCB.53_11;
  5489. long unsigned int _12;
  5490. <bb 2> [local count: 357913]:
  5491. # DEBUG BEGIN_STMT
  5492. # DEBUG pxTCB => xTaskToResume_16(D)
  5493. # DEBUG BEGIN_STMT
  5494. if (xTaskToResume_16(D) == 0B)
  5495. goto <bb 3>; [30.00%]
  5496. else
  5497. goto <bb 5>; [70.00%]
  5498. <bb 3> [local count: 107374]:
  5499. # DEBUG BEGIN_STMT
  5500. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5501. # DEBUG BEGIN_STMT
  5502. # DEBUG BEGIN_STMT
  5503. __asm__ __volatile__(" mov %0, %1
  5504. msr basepri, %0
  5505. isb
  5506. dsb
  5507. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  5508. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  5509. <bb 4> [local count: 1073741824]:
  5510. # DEBUG ulNewBASEPRI => NULL
  5511. # DEBUG BEGIN_STMT
  5512. # DEBUG BEGIN_STMT
  5513. # DEBUG BEGIN_STMT
  5514. <bb 13> [local count: 1073741824]:
  5515. goto <bb 4>; [100.00%]
  5516. <bb 5> [local count: 250539]:
  5517. # DEBUG BEGIN_STMT
  5518. # DEBUG BEGIN_STMT
  5519. pxCurrentTCB.51_1 ={v} pxCurrentTCB;
  5520. if (pxCurrentTCB.51_1 != xTaskToResume_16(D))
  5521. goto <bb 6>; [53.47%]
  5522. else
  5523. goto <bb 12>; [46.53%]
  5524. <bb 6> [local count: 133963]:
  5525. # DEBUG BEGIN_STMT
  5526. vPortEnterCritical ();
  5527. # DEBUG BEGIN_STMT
  5528. _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
  5529. if (_2 != 0)
  5530. goto <bb 7>; [33.00%]
  5531. else
  5532. goto <bb 11>; [67.00%]
  5533. <bb 7> [local count: 44208]:
  5534. # DEBUG BEGIN_STMT
  5535. # DEBUG BEGIN_STMT
  5536. _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem;
  5537. uxListRemove (_3);
  5538. # DEBUG BEGIN_STMT
  5539. # DEBUG BEGIN_STMT
  5540. _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority;
  5541. uxTopReadyPriority.52_5 ={v} uxTopReadyPriority;
  5542. if (_4 > uxTopReadyPriority.52_5)
  5543. goto <bb 8>; [50.00%]
  5544. else
  5545. goto <bb 9>; [50.00%]
  5546. <bb 8> [local count: 22104]:
  5547. # DEBUG BEGIN_STMT
  5548. uxTopReadyPriority ={v} _4;
  5549. <bb 9> [local count: 44208]:
  5550. # DEBUG BEGIN_STMT
  5551. # DEBUG BEGIN_STMT
  5552. pxIndex_22 = pxReadyTasksLists[_4].pxIndex;
  5553. # DEBUG pxIndex => pxIndex_22
  5554. # DEBUG BEGIN_STMT
  5555. # DEBUG BEGIN_STMT
  5556. # DEBUG BEGIN_STMT
  5557. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22;
  5558. # DEBUG BEGIN_STMT
  5559. _6 = pxIndex_22->pxPrevious;
  5560. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6;
  5561. # DEBUG BEGIN_STMT
  5562. _7 = pxIndex_22->pxPrevious;
  5563. _7->pxNext = _3;
  5564. # DEBUG BEGIN_STMT
  5565. pxIndex_22->pxPrevious = _3;
  5566. # DEBUG BEGIN_STMT
  5567. _8 = &pxReadyTasksLists[_4];
  5568. MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8;
  5569. # DEBUG BEGIN_STMT
  5570. _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems;
  5571. _10 = _9 + 1;
  5572. pxReadyTasksLists[_4].uxNumberOfItems ={v} _10;
  5573. # DEBUG BEGIN_STMT
  5574. # DEBUG BEGIN_STMT
  5575. # DEBUG BEGIN_STMT
  5576. pxCurrentTCB.53_11 ={v} pxCurrentTCB;
  5577. _12 = pxCurrentTCB.53_11->uxPriority;
  5578. if (_4 >= _12)
  5579. goto <bb 10>; [50.00%]
  5580. else
  5581. goto <bb 11>; [50.00%]
  5582. <bb 10> [local count: 22104]:
  5583. # DEBUG BEGIN_STMT
  5584. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5585. # DEBUG BEGIN_STMT
  5586. __asm__ __volatile__("dsb" : : : "memory");
  5587. # DEBUG BEGIN_STMT
  5588. __asm__ __volatile__("isb");
  5589. # DEBUG BEGIN_STMT
  5590. <bb 11> [local count: 133963]:
  5591. # DEBUG BEGIN_STMT
  5592. # DEBUG BEGIN_STMT
  5593. vPortExitCritical ();
  5594. <bb 12> [local count: 250539]:
  5595. # DEBUG BEGIN_STMT
  5596. return;
  5597. }
  5598. ;; Function xTaskResumeFromISR (xTaskResumeFromISR, funcdef_no=20, decl_uid=6171, cgraph_uid=21, symbol_order=42)
  5599. xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
  5600. {
  5601. uint32_t ulOriginalBASEPRI;
  5602. uint32_t ulNewBASEPRI;
  5603. uint32_t ulNewBASEPRI;
  5604. struct ListItem_t * const pxIndex;
  5605. BaseType_t xYieldRequired;
  5606. long int _1;
  5607. long unsigned int uxSchedulerSuspended.54_2;
  5608. long unsigned int _3;
  5609. struct TCB_t * pxCurrentTCB.55_4;
  5610. long unsigned int _5;
  5611. struct ListItem_t * _6;
  5612. long unsigned int _7;
  5613. long unsigned int uxTopReadyPriority.56_8;
  5614. struct xLIST_ITEM * _9;
  5615. struct xLIST_ITEM * _10;
  5616. struct List_t * _11;
  5617. long unsigned int _12;
  5618. long unsigned int _13;
  5619. struct ListItem_t * _14;
  5620. <bb 2> [local count: 230763]:
  5621. # DEBUG BEGIN_STMT
  5622. # DEBUG xYieldRequired => 0
  5623. # DEBUG BEGIN_STMT
  5624. # DEBUG pxTCB => xTaskToResume_20(D)
  5625. # DEBUG BEGIN_STMT
  5626. # DEBUG BEGIN_STMT
  5627. if (xTaskToResume_20(D) == 0B)
  5628. goto <bb 3>; [46.53%]
  5629. else
  5630. goto <bb 5>; [53.47%]
  5631. <bb 3> [local count: 107374]:
  5632. # DEBUG BEGIN_STMT
  5633. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5634. # DEBUG BEGIN_STMT
  5635. # DEBUG BEGIN_STMT
  5636. __asm__ __volatile__(" mov %0, %1
  5637. msr basepri, %0
  5638. isb
  5639. dsb
  5640. " : "=r" ulNewBASEPRI_35 : "i" 16 : "memory");
  5641. # DEBUG ulNewBASEPRI => ulNewBASEPRI_35
  5642. <bb 4> [local count: 1073741824]:
  5643. # DEBUG ulNewBASEPRI => NULL
  5644. # DEBUG BEGIN_STMT
  5645. # DEBUG BEGIN_STMT
  5646. # DEBUG BEGIN_STMT
  5647. <bb 14> [local count: 1073741824]:
  5648. goto <bb 4>; [100.00%]
  5649. <bb 5> [local count: 123389]:
  5650. # DEBUG BEGIN_STMT
  5651. # DEBUG BEGIN_STMT
  5652. vPortValidateInterruptPriority ();
  5653. # DEBUG BEGIN_STMT
  5654. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5655. # DEBUG BEGIN_STMT
  5656. # DEBUG BEGIN_STMT
  5657. __asm__ __volatile__(" mrs %0, basepri
  5658. mov %1, %2
  5659. msr basepri, %1
  5660. isb
  5661. dsb
  5662. " : "=r" ulOriginalBASEPRI_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  5663. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  5664. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36
  5665. # DEBUG BEGIN_STMT
  5666. # DEBUG ulNewBASEPRI => NULL
  5667. # DEBUG ulOriginalBASEPRI => NULL
  5668. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36
  5669. # DEBUG BEGIN_STMT
  5670. _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
  5671. if (_1 != 0)
  5672. goto <bb 6>; [50.00%]
  5673. else
  5674. goto <bb 13>; [50.00%]
  5675. <bb 6> [local count: 61694]:
  5676. # DEBUG BEGIN_STMT
  5677. # DEBUG BEGIN_STMT
  5678. uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended;
  5679. if (uxSchedulerSuspended.54_2 == 0)
  5680. goto <bb 7>; [67.00%]
  5681. else
  5682. goto <bb 12>; [33.00%]
  5683. <bb 7> [local count: 41335]:
  5684. # DEBUG BEGIN_STMT
  5685. _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  5686. pxCurrentTCB.55_4 ={v} pxCurrentTCB;
  5687. _5 = pxCurrentTCB.55_4->uxPriority;
  5688. if (_3 >= _5)
  5689. goto <bb 8>; [50.00%]
  5690. else
  5691. goto <bb 9>; [50.00%]
  5692. <bb 8> [local count: 20668]:
  5693. # DEBUG BEGIN_STMT
  5694. # DEBUG xYieldRequired => 1
  5695. # DEBUG BEGIN_STMT
  5696. xYieldPending ={v} 1;
  5697. <bb 9> [local count: 41335]:
  5698. # xYieldRequired_15 = PHI <0(7), 1(8)>
  5699. # DEBUG xYieldRequired => xYieldRequired_15
  5700. # DEBUG BEGIN_STMT
  5701. # DEBUG BEGIN_STMT
  5702. _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem;
  5703. uxListRemove (_6);
  5704. # DEBUG BEGIN_STMT
  5705. # DEBUG BEGIN_STMT
  5706. _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
  5707. uxTopReadyPriority.56_8 ={v} uxTopReadyPriority;
  5708. if (_7 > uxTopReadyPriority.56_8)
  5709. goto <bb 10>; [50.00%]
  5710. else
  5711. goto <bb 11>; [50.00%]
  5712. <bb 10> [local count: 20668]:
  5713. # DEBUG BEGIN_STMT
  5714. uxTopReadyPriority ={v} _7;
  5715. <bb 11> [local count: 41335]:
  5716. # DEBUG BEGIN_STMT
  5717. # DEBUG BEGIN_STMT
  5718. pxIndex_28 = pxReadyTasksLists[_7].pxIndex;
  5719. # DEBUG pxIndex => pxIndex_28
  5720. # DEBUG BEGIN_STMT
  5721. # DEBUG BEGIN_STMT
  5722. # DEBUG BEGIN_STMT
  5723. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28;
  5724. # DEBUG BEGIN_STMT
  5725. _9 = pxIndex_28->pxPrevious;
  5726. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9;
  5727. # DEBUG BEGIN_STMT
  5728. _10 = pxIndex_28->pxPrevious;
  5729. _10->pxNext = _6;
  5730. # DEBUG BEGIN_STMT
  5731. pxIndex_28->pxPrevious = _6;
  5732. # DEBUG BEGIN_STMT
  5733. _11 = &pxReadyTasksLists[_7];
  5734. MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11;
  5735. # DEBUG BEGIN_STMT
  5736. _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  5737. _13 = _12 + 1;
  5738. pxReadyTasksLists[_7].uxNumberOfItems ={v} _13;
  5739. # DEBUG BEGIN_STMT
  5740. # DEBUG BEGIN_STMT
  5741. goto <bb 13>; [100.00%]
  5742. <bb 12> [local count: 20359]:
  5743. # DEBUG BEGIN_STMT
  5744. _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem;
  5745. vListInsertEnd (&xPendingReadyList, _14);
  5746. <bb 13> [local count: 123389]:
  5747. # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)>
  5748. # DEBUG xYieldRequired => xYieldRequired_16
  5749. # DEBUG BEGIN_STMT
  5750. # DEBUG BEGIN_STMT
  5751. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36
  5752. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5753. # DEBUG BEGIN_STMT
  5754. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory");
  5755. # DEBUG ulNewMaskValue => NULL
  5756. # DEBUG BEGIN_STMT
  5757. return xYieldRequired_16;
  5758. }
  5759. ;; Function vTaskStartScheduler (vTaskStartScheduler, funcdef_no=21, decl_uid=6173, cgraph_uid=22, symbol_order=43)
  5760. vTaskStartScheduler ()
  5761. {
  5762. uint32_t ulNewBASEPRI;
  5763. uint32_t ulNewBASEPRI;
  5764. BaseType_t xReturn;
  5765. long unsigned int vol.57_13;
  5766. <bb 2> [local count: 395945]:
  5767. # DEBUG BEGIN_STMT
  5768. # DEBUG BEGIN_STMT
  5769. xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
  5770. # DEBUG xReturn => xReturn_6
  5771. # DEBUG BEGIN_STMT
  5772. if (xReturn_6 == 1)
  5773. goto <bb 3>; [20.24%]
  5774. else
  5775. goto <bb 4>; [79.76%]
  5776. <bb 3> [local count: 80139]:
  5777. # DEBUG BEGIN_STMT
  5778. xReturn_8 = xTimerCreateTimerTask ();
  5779. # DEBUG xReturn => xReturn_8
  5780. <bb 4> [local count: 395945]:
  5781. # xReturn_1 = PHI <xReturn_6(2), xReturn_8(3)>
  5782. # DEBUG xReturn => xReturn_1
  5783. # DEBUG BEGIN_STMT
  5784. # DEBUG BEGIN_STMT
  5785. if (xReturn_1 == 1)
  5786. goto <bb 5>; [20.24%]
  5787. else
  5788. goto <bb 6>; [79.76%]
  5789. <bb 5> [local count: 80139]:
  5790. # DEBUG BEGIN_STMT
  5791. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5792. # DEBUG BEGIN_STMT
  5793. # DEBUG BEGIN_STMT
  5794. __asm__ __volatile__(" mov %0, %1
  5795. msr basepri, %0
  5796. isb
  5797. dsb
  5798. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  5799. # DEBUG ulNewBASEPRI => NULL
  5800. # DEBUG BEGIN_STMT
  5801. xNextTaskUnblockTime ={v} 4294967295;
  5802. # DEBUG BEGIN_STMT
  5803. xSchedulerRunning ={v} 1;
  5804. # DEBUG BEGIN_STMT
  5805. xTickCount ={v} 0;
  5806. # DEBUG BEGIN_STMT
  5807. # DEBUG BEGIN_STMT
  5808. # DEBUG BEGIN_STMT
  5809. xPortStartScheduler ();
  5810. goto <bb 9>; [100.00%]
  5811. <bb 6> [local count: 315806]:
  5812. # DEBUG BEGIN_STMT
  5813. if (xReturn_1 == -1)
  5814. goto <bb 7>; [34.00%]
  5815. else
  5816. goto <bb 9>; [66.00%]
  5817. <bb 7> [local count: 107374]:
  5818. # DEBUG BEGIN_STMT
  5819. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5820. # DEBUG BEGIN_STMT
  5821. # DEBUG BEGIN_STMT
  5822. __asm__ __volatile__(" mov %0, %1
  5823. msr basepri, %0
  5824. isb
  5825. dsb
  5826. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  5827. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  5828. <bb 8> [local count: 1073741824]:
  5829. # DEBUG ulNewBASEPRI => NULL
  5830. # DEBUG BEGIN_STMT
  5831. # DEBUG BEGIN_STMT
  5832. # DEBUG BEGIN_STMT
  5833. <bb 10> [local count: 1073741824]:
  5834. goto <bb 8>; [100.00%]
  5835. <bb 9> [local count: 288571]:
  5836. # DEBUG BEGIN_STMT
  5837. # DEBUG BEGIN_STMT
  5838. # DEBUG BEGIN_STMT
  5839. vol.57_13 ={v} uxTopUsedPriority;
  5840. return;
  5841. }
  5842. ;; Function vTaskEndScheduler (vTaskEndScheduler, funcdef_no=22, decl_uid=6175, cgraph_uid=23, symbol_order=44)
  5843. vTaskEndScheduler ()
  5844. {
  5845. uint32_t ulNewBASEPRI;
  5846. <bb 2> [local count: 1073741824]:
  5847. # DEBUG BEGIN_STMT
  5848. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5849. # DEBUG BEGIN_STMT
  5850. # DEBUG BEGIN_STMT
  5851. __asm__ __volatile__(" mov %0, %1
  5852. msr basepri, %0
  5853. isb
  5854. dsb
  5855. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  5856. # DEBUG ulNewBASEPRI => NULL
  5857. # DEBUG BEGIN_STMT
  5858. xSchedulerRunning ={v} 0;
  5859. # DEBUG BEGIN_STMT
  5860. vPortEndScheduler ();
  5861. return;
  5862. }
  5863. ;; Function vTaskSuspendAll (vTaskSuspendAll, funcdef_no=23, decl_uid=6177, cgraph_uid=24, symbol_order=45)
  5864. vTaskSuspendAll ()
  5865. {
  5866. long unsigned int uxSchedulerSuspended.61_1;
  5867. long unsigned int _2;
  5868. <bb 2> [local count: 1073741824]:
  5869. # DEBUG BEGIN_STMT
  5870. # DEBUG BEGIN_STMT
  5871. uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended;
  5872. _2 = uxSchedulerSuspended.61_1 + 1;
  5873. uxSchedulerSuspended ={v} _2;
  5874. # DEBUG BEGIN_STMT
  5875. __asm__ __volatile__("" : : : "memory");
  5876. return;
  5877. }
  5878. ;; Function xTaskGetTickCount (xTaskGetTickCount, funcdef_no=25, decl_uid=6181, cgraph_uid=26, symbol_order=47)
  5879. xTaskGetTickCount ()
  5880. {
  5881. TickType_t xTicks;
  5882. <bb 2> [local count: 1073741824]:
  5883. # DEBUG BEGIN_STMT
  5884. # DEBUG BEGIN_STMT
  5885. # DEBUG BEGIN_STMT
  5886. xTicks_2 ={v} xTickCount;
  5887. # DEBUG xTicks => xTicks_2
  5888. # DEBUG BEGIN_STMT
  5889. # DEBUG BEGIN_STMT
  5890. return xTicks_2;
  5891. }
  5892. ;; Function xTaskGetTickCountFromISR (xTaskGetTickCountFromISR, funcdef_no=26, decl_uid=6183, cgraph_uid=27, symbol_order=48)
  5893. xTaskGetTickCountFromISR ()
  5894. {
  5895. TickType_t xReturn;
  5896. <bb 2> [local count: 1073741824]:
  5897. # DEBUG BEGIN_STMT
  5898. # DEBUG BEGIN_STMT
  5899. # DEBUG BEGIN_STMT
  5900. vPortValidateInterruptPriority ();
  5901. # DEBUG BEGIN_STMT
  5902. # DEBUG uxSavedInterruptStatus => 0
  5903. # DEBUG BEGIN_STMT
  5904. xReturn_3 ={v} xTickCount;
  5905. # DEBUG xReturn => xReturn_3
  5906. # DEBUG BEGIN_STMT
  5907. # DEBUG BEGIN_STMT
  5908. return xReturn_3;
  5909. }
  5910. ;; Function uxTaskGetNumberOfTasks (uxTaskGetNumberOfTasks, funcdef_no=27, decl_uid=6185, cgraph_uid=28, symbol_order=49)
  5911. uxTaskGetNumberOfTasks ()
  5912. {
  5913. UBaseType_t _2;
  5914. <bb 2> [local count: 1073741824]:
  5915. # DEBUG BEGIN_STMT
  5916. _2 ={v} uxCurrentNumberOfTasks;
  5917. return _2;
  5918. }
  5919. ;; Function pcTaskGetName (pcTaskGetName, funcdef_no=28, decl_uid=6187, cgraph_uid=29, symbol_order=50)
  5920. pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
  5921. {
  5922. uint32_t ulNewBASEPRI;
  5923. struct TCB_t * iftmp.69_1;
  5924. struct TCB_t * iftmp.69_4;
  5925. char * _5;
  5926. <bb 2> [local count: 357913]:
  5927. # DEBUG BEGIN_STMT
  5928. # DEBUG BEGIN_STMT
  5929. if (xTaskToQuery_2(D) == 0B)
  5930. goto <bb 3>; [30.00%]
  5931. else
  5932. goto <bb 4>; [70.00%]
  5933. <bb 3> [local count: 107374]:
  5934. iftmp.69_4 ={v} pxCurrentTCB;
  5935. <bb 4> [local count: 357913]:
  5936. # iftmp.69_1 = PHI <iftmp.69_4(3), xTaskToQuery_2(D)(2)>
  5937. # DEBUG pxTCB => iftmp.69_1
  5938. # DEBUG BEGIN_STMT
  5939. if (iftmp.69_1 == 0B)
  5940. goto <bb 5>; [30.00%]
  5941. else
  5942. goto <bb 7>; [70.00%]
  5943. <bb 5> [local count: 107374]:
  5944. # DEBUG BEGIN_STMT
  5945. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5946. # DEBUG BEGIN_STMT
  5947. # DEBUG BEGIN_STMT
  5948. __asm__ __volatile__(" mov %0, %1
  5949. msr basepri, %0
  5950. isb
  5951. dsb
  5952. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  5953. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  5954. <bb 6> [local count: 1073741824]:
  5955. # DEBUG ulNewBASEPRI => NULL
  5956. # DEBUG BEGIN_STMT
  5957. # DEBUG BEGIN_STMT
  5958. # DEBUG BEGIN_STMT
  5959. <bb 8> [local count: 1073741824]:
  5960. goto <bb 6>; [100.00%]
  5961. <bb 7> [local count: 250539]:
  5962. # DEBUG BEGIN_STMT
  5963. # DEBUG BEGIN_STMT
  5964. _5 = &iftmp.69_1->pcTaskName[0];
  5965. return _5;
  5966. }
  5967. ;; Function xTaskIncrementTick (xTaskIncrementTick, funcdef_no=34, decl_uid=6251, cgraph_uid=35, symbol_order=56)
  5968. Symbols to be put in SSA form
  5969. { D.8265 D.8659 }
  5970. Incremental SSA update started at block: 0
  5971. Number of blocks in CFG: 36
  5972. Number of blocks to update: 35 ( 97%)
  5973. Removing basic block 3
  5974. Removing basic block 7
  5975. Merging blocks 11 and 12
  5976. Removing basic block 15
  5977. Merging blocks 35 and 6
  5978. ;; 5 loops found
  5979. ;;
  5980. ;; Loop 0
  5981. ;; header 0, latch 1
  5982. ;; depth 0, outer -1
  5983. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  5984. ;;
  5985. ;; Loop 3
  5986. ;; header 6, latch 6
  5987. ;; depth 1, outer 0
  5988. ;; nodes: 6
  5989. ;;
  5990. ;; Loop 4
  5991. ;; header 10, latch 9
  5992. ;; depth 1, outer 0
  5993. ;; nodes: 10 9 22 23 20 21 16 19 17 18 14 15 12
  5994. ;; 2 succs { 3 29 }
  5995. ;; 3 succs { 4 8 }
  5996. ;; 4 succs { 5 7 }
  5997. ;; 5 succs { 6 }
  5998. ;; 6 succs { 6 }
  5999. ;; 7 succs { 8 }
  6000. ;; 8 succs { 10 24 }
  6001. ;; 9 succs { 10 }
  6002. ;; 10 succs { 11 12 }
  6003. ;; 11 succs { 24 }
  6004. ;; 12 succs { 13 14 }
  6005. ;; 13 succs { 24 }
  6006. ;; 14 succs { 15 16 }
  6007. ;; 15 succs { 16 }
  6008. ;; 16 succs { 17 20 }
  6009. ;; 17 succs { 18 19 }
  6010. ;; 18 succs { 19 }
  6011. ;; 19 succs { 20 }
  6012. ;; 20 succs { 21 22 }
  6013. ;; 21 succs { 22 }
  6014. ;; 22 succs { 23 9 }
  6015. ;; 23 succs { 9 }
  6016. ;; 24 succs { 25 26 }
  6017. ;; 25 succs { 26 }
  6018. ;; 26 succs { 27 28 }
  6019. ;; 27 succs { 28 }
  6020. ;; 28 succs { 30 }
  6021. ;; 29 succs { 30 }
  6022. ;; 30 succs { 1 }
  6023. xTaskIncrementTick ()
  6024. {
  6025. uint32_t ulNewBASEPRI;
  6026. struct ListItem_t * const pxIndex;
  6027. struct List_t * const pxList;
  6028. struct List_t * pxTemp;
  6029. const TickType_t xConstTickCount;
  6030. BaseType_t xSwitchRequired;
  6031. TickType_t xItemValue;
  6032. struct TCB_t * pxTCB;
  6033. BaseType_t D.8659;
  6034. BaseType_t xSwitchRequired;
  6035. long unsigned int uxSchedulerSuspended.79_1;
  6036. long unsigned int xPendedTicks.91_5;
  6037. long unsigned int _6;
  6038. long unsigned int xTickCount.80_10;
  6039. struct List_t * pxDelayedTaskList.81_12;
  6040. long unsigned int _13;
  6041. struct List_t * pxOverflowDelayedTaskList.82_16;
  6042. long int xNumOfOverflows.83_17;
  6043. long int _18;
  6044. long unsigned int xNextTaskUnblockTime.84_19;
  6045. struct List_t * pxDelayedTaskList.85_20;
  6046. long unsigned int _21;
  6047. struct List_t * pxDelayedTaskList.86_22;
  6048. struct xLIST_ITEM * _23;
  6049. struct xLIST_ITEM * _28;
  6050. struct xLIST_ITEM * _29;
  6051. struct ListItem_t * _30;
  6052. struct ListItem_t * _31;
  6053. long unsigned int _32;
  6054. long unsigned int _33;
  6055. struct xLIST * _34;
  6056. struct xLIST_ITEM * _35;
  6057. struct xLIST_ITEM * _36;
  6058. struct xLIST_ITEM * _37;
  6059. struct ListItem_t * _38;
  6060. struct ListItem_t * _39;
  6061. long unsigned int _40;
  6062. long unsigned int _41;
  6063. long unsigned int _42;
  6064. long unsigned int uxTopReadyPriority.87_43;
  6065. struct xLIST_ITEM * _45;
  6066. struct xLIST_ITEM * _46;
  6067. struct List_t * _47;
  6068. long unsigned int _48;
  6069. long unsigned int _49;
  6070. struct TCB_t * pxCurrentTCB.88_50;
  6071. long unsigned int _51;
  6072. struct TCB_t * pxCurrentTCB.89_52;
  6073. long unsigned int _53;
  6074. long unsigned int _54;
  6075. long int xYieldPending.90_55;
  6076. <bb 2> [local count: 641039]:
  6077. # DEBUG BEGIN_STMT
  6078. # DEBUG BEGIN_STMT
  6079. # DEBUG BEGIN_STMT
  6080. # DEBUG xSwitchRequired => 0
  6081. # DEBUG BEGIN_STMT
  6082. # DEBUG BEGIN_STMT
  6083. uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended;
  6084. if (uxSchedulerSuspended.79_1 == 0)
  6085. goto <bb 3>; [50.00%]
  6086. else
  6087. goto <bb 29>; [50.00%]
  6088. <bb 3> [local count: 320519]:
  6089. # DEBUG INLINE_ENTRY xTaskIncrementTick
  6090. # DEBUG BEGIN_STMT
  6091. xTickCount.80_10 ={v} xTickCount;
  6092. xConstTickCount_11 = xTickCount.80_10 + 1;
  6093. # DEBUG xConstTickCount => xConstTickCount_11
  6094. # DEBUG BEGIN_STMT
  6095. xTickCount ={v} xConstTickCount_11;
  6096. # DEBUG BEGIN_STMT
  6097. if (xConstTickCount_11 == 0)
  6098. goto <bb 4>; [50.00%]
  6099. else
  6100. goto <bb 8>; [50.00%]
  6101. <bb 4> [local count: 160260]:
  6102. # DEBUG BEGIN_STMT
  6103. # DEBUG BEGIN_STMT
  6104. pxDelayedTaskList.81_12 ={v} pxDelayedTaskList;
  6105. _13 ={v} pxDelayedTaskList.81_12->uxNumberOfItems;
  6106. if (_13 != 0)
  6107. goto <bb 5>; [67.00%]
  6108. else
  6109. goto <bb 7>; [33.00%]
  6110. <bb 5> [local count: 107374]:
  6111. # DEBUG BEGIN_STMT
  6112. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6113. # DEBUG BEGIN_STMT
  6114. # DEBUG BEGIN_STMT
  6115. __asm__ __volatile__(" mov %0, %1
  6116. msr basepri, %0
  6117. isb
  6118. dsb
  6119. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  6120. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  6121. <bb 6> [local count: 1073741824]:
  6122. # DEBUG ulNewBASEPRI => NULL
  6123. # DEBUG BEGIN_STMT
  6124. # DEBUG BEGIN_STMT
  6125. # DEBUG BEGIN_STMT
  6126. goto <bb 6>; [100.00%]
  6127. <bb 7> [local count: 52886]:
  6128. # DEBUG BEGIN_STMT
  6129. # DEBUG BEGIN_STMT
  6130. pxTemp_15 ={v} pxDelayedTaskList;
  6131. # DEBUG pxTemp => pxTemp_15
  6132. # DEBUG BEGIN_STMT
  6133. pxOverflowDelayedTaskList.82_16 ={v} pxOverflowDelayedTaskList;
  6134. pxDelayedTaskList ={v} pxOverflowDelayedTaskList.82_16;
  6135. # DEBUG BEGIN_STMT
  6136. pxOverflowDelayedTaskList ={v} pxTemp_15;
  6137. # DEBUG BEGIN_STMT
  6138. xNumOfOverflows.83_17 ={v} xNumOfOverflows;
  6139. _18 = xNumOfOverflows.83_17 + 1;
  6140. xNumOfOverflows ={v} _18;
  6141. # DEBUG BEGIN_STMT
  6142. prvResetNextTaskUnblockTime ();
  6143. # DEBUG BEGIN_STMT
  6144. <bb 8> [local count: 213145]:
  6145. # DEBUG BEGIN_STMT
  6146. # DEBUG BEGIN_STMT
  6147. xNextTaskUnblockTime.84_19 ={v} xNextTaskUnblockTime;
  6148. if (xConstTickCount_11 >= xNextTaskUnblockTime.84_19)
  6149. goto <bb 10>; [50.00%]
  6150. else
  6151. goto <bb 24>; [50.00%]
  6152. <bb 9> [local count: 889667]:
  6153. # xSwitchRequired_57 = PHI <xSwitchRequired_58(22), 1(23)>
  6154. <bb 10> [local count: 996239]:
  6155. # xSwitchRequired_58 = PHI <0(8), xSwitchRequired_57(9)>
  6156. # DEBUG xSwitchRequired => xSwitchRequired_58
  6157. # DEBUG BEGIN_STMT
  6158. # DEBUG BEGIN_STMT
  6159. pxDelayedTaskList.85_20 ={v} pxDelayedTaskList;
  6160. _21 ={v} pxDelayedTaskList.85_20->uxNumberOfItems;
  6161. if (_21 == 0)
  6162. goto <bb 11>; [5.50%]
  6163. else
  6164. goto <bb 12>; [94.50%]
  6165. <bb 11> [local count: 54793]:
  6166. # xSwitchRequired_59 = PHI <xSwitchRequired_58(10)>
  6167. # DEBUG BEGIN_STMT
  6168. xNextTaskUnblockTime ={v} 4294967295;
  6169. # DEBUG BEGIN_STMT
  6170. goto <bb 24>; [100.00%]
  6171. <bb 12> [local count: 941446]:
  6172. # DEBUG BEGIN_STMT
  6173. pxDelayedTaskList.86_22 ={v} pxDelayedTaskList;
  6174. _23 = pxDelayedTaskList.86_22->xListEnd.pxNext;
  6175. pxTCB_24 = _23->pvOwner;
  6176. # DEBUG pxTCB => pxTCB_24
  6177. # DEBUG BEGIN_STMT
  6178. xItemValue_25 = pxTCB_24->xStateListItem.xItemValue;
  6179. # DEBUG xItemValue => xItemValue_25
  6180. # DEBUG BEGIN_STMT
  6181. if (xConstTickCount_11 < xItemValue_25)
  6182. goto <bb 13>; [5.50%]
  6183. else
  6184. goto <bb 14>; [94.50%]
  6185. <bb 13> [local count: 51780]:
  6186. # xSwitchRequired_60 = PHI <xSwitchRequired_58(12)>
  6187. # xItemValue_26 = PHI <xItemValue_25(12)>
  6188. # DEBUG BEGIN_STMT
  6189. xNextTaskUnblockTime ={v} xItemValue_26;
  6190. # DEBUG BEGIN_STMT
  6191. goto <bb 24>; [100.00%]
  6192. <bb 14> [local count: 889667]:
  6193. # DEBUG BEGIN_STMT
  6194. # DEBUG BEGIN_STMT
  6195. pxList_27 = pxTCB_24->xStateListItem.pvContainer;
  6196. # DEBUG pxList => pxList_27
  6197. # DEBUG BEGIN_STMT
  6198. _28 = pxTCB_24->xStateListItem.pxNext;
  6199. _29 = pxTCB_24->xStateListItem.pxPrevious;
  6200. _28->pxPrevious = _29;
  6201. # DEBUG BEGIN_STMT
  6202. _29->pxNext = _28;
  6203. # DEBUG BEGIN_STMT
  6204. _30 = pxList_27->pxIndex;
  6205. _31 = &pxTCB_24->xStateListItem;
  6206. if (_30 == _31)
  6207. goto <bb 15>; [30.00%]
  6208. else
  6209. goto <bb 16>; [70.00%]
  6210. <bb 15> [local count: 266900]:
  6211. # DEBUG BEGIN_STMT
  6212. pxList_27->pxIndex = _29;
  6213. <bb 16> [local count: 889667]:
  6214. # DEBUG BEGIN_STMT
  6215. pxTCB_24->xStateListItem.pvContainer = 0B;
  6216. # DEBUG BEGIN_STMT
  6217. _32 ={v} pxList_27->uxNumberOfItems;
  6218. _33 = _32 + 4294967295;
  6219. pxList_27->uxNumberOfItems ={v} _33;
  6220. # DEBUG BEGIN_STMT
  6221. # DEBUG BEGIN_STMT
  6222. _34 = pxTCB_24->xEventListItem.pvContainer;
  6223. if (_34 != 0B)
  6224. goto <bb 17>; [70.00%]
  6225. else
  6226. goto <bb 20>; [30.00%]
  6227. <bb 17> [local count: 622767]:
  6228. # DEBUG BEGIN_STMT
  6229. # DEBUG pxList => _34
  6230. # DEBUG BEGIN_STMT
  6231. _35 = pxTCB_24->xEventListItem.pxNext;
  6232. _36 = pxTCB_24->xEventListItem.pxPrevious;
  6233. _35->pxPrevious = _36;
  6234. # DEBUG BEGIN_STMT
  6235. _37 = pxTCB_24->xEventListItem.pxPrevious;
  6236. _37->pxNext = _35;
  6237. # DEBUG BEGIN_STMT
  6238. _38 = MEM[(struct List_t *)_34].pxIndex;
  6239. _39 = &pxTCB_24->xEventListItem;
  6240. if (_38 == _39)
  6241. goto <bb 18>; [30.00%]
  6242. else
  6243. goto <bb 19>; [70.00%]
  6244. <bb 18> [local count: 186830]:
  6245. # DEBUG BEGIN_STMT
  6246. MEM[(struct List_t *)_34].pxIndex = _37;
  6247. <bb 19> [local count: 622767]:
  6248. # DEBUG BEGIN_STMT
  6249. pxTCB_24->xEventListItem.pvContainer = 0B;
  6250. # DEBUG BEGIN_STMT
  6251. _40 ={v} MEM[(struct List_t *)_34].uxNumberOfItems;
  6252. _41 = _40 + 4294967295;
  6253. MEM[(struct List_t *)_34].uxNumberOfItems ={v} _41;
  6254. # DEBUG BEGIN_STMT
  6255. <bb 20> [local count: 889667]:
  6256. # DEBUG BEGIN_STMT
  6257. # DEBUG BEGIN_STMT
  6258. # DEBUG BEGIN_STMT
  6259. _42 = pxTCB_24->uxPriority;
  6260. uxTopReadyPriority.87_43 ={v} uxTopReadyPriority;
  6261. if (_42 > uxTopReadyPriority.87_43)
  6262. goto <bb 21>; [50.00%]
  6263. else
  6264. goto <bb 22>; [50.00%]
  6265. <bb 21> [local count: 444833]:
  6266. # DEBUG BEGIN_STMT
  6267. uxTopReadyPriority ={v} _42;
  6268. <bb 22> [local count: 889667]:
  6269. # DEBUG BEGIN_STMT
  6270. # DEBUG BEGIN_STMT
  6271. pxIndex_44 = pxReadyTasksLists[_42].pxIndex;
  6272. # DEBUG pxIndex => pxIndex_44
  6273. # DEBUG BEGIN_STMT
  6274. # DEBUG BEGIN_STMT
  6275. # DEBUG BEGIN_STMT
  6276. pxTCB_24->xStateListItem.pxNext = pxIndex_44;
  6277. # DEBUG BEGIN_STMT
  6278. _45 = pxIndex_44->pxPrevious;
  6279. pxTCB_24->xStateListItem.pxPrevious = _45;
  6280. # DEBUG BEGIN_STMT
  6281. _46 = pxIndex_44->pxPrevious;
  6282. _46->pxNext = _31;
  6283. # DEBUG BEGIN_STMT
  6284. pxIndex_44->pxPrevious = _31;
  6285. # DEBUG BEGIN_STMT
  6286. _47 = &pxReadyTasksLists[_42];
  6287. pxTCB_24->xStateListItem.pvContainer = _47;
  6288. # DEBUG BEGIN_STMT
  6289. _48 ={v} pxReadyTasksLists[_42].uxNumberOfItems;
  6290. _49 = _48 + 1;
  6291. pxReadyTasksLists[_42].uxNumberOfItems ={v} _49;
  6292. # DEBUG BEGIN_STMT
  6293. # DEBUG BEGIN_STMT
  6294. # DEBUG BEGIN_STMT
  6295. pxCurrentTCB.88_50 ={v} pxCurrentTCB;
  6296. _51 = pxCurrentTCB.88_50->uxPriority;
  6297. if (_42 >= _51)
  6298. goto <bb 23>; [50.00%]
  6299. else
  6300. goto <bb 9>; [50.00%]
  6301. <bb 23> [local count: 444833]:
  6302. # DEBUG BEGIN_STMT
  6303. # DEBUG xSwitchRequired => 1
  6304. goto <bb 9>; [100.00%]
  6305. <bb 24> [local count: 213145]:
  6306. # xSwitchRequired_61 = PHI <0(8), xSwitchRequired_59(11), xSwitchRequired_60(13)>
  6307. # DEBUG xSwitchRequired => xSwitchRequired_61
  6308. # DEBUG BEGIN_STMT
  6309. pxCurrentTCB.89_52 ={v} pxCurrentTCB;
  6310. _53 = pxCurrentTCB.89_52->uxPriority;
  6311. _54 ={v} pxReadyTasksLists[_53].uxNumberOfItems;
  6312. if (_54 > 1)
  6313. goto <bb 25>; [59.00%]
  6314. else
  6315. goto <bb 26>; [41.00%]
  6316. <bb 25> [local count: 125756]:
  6317. # DEBUG BEGIN_STMT
  6318. # DEBUG xSwitchRequired => 1
  6319. <bb 26> [local count: 213145]:
  6320. # xSwitchRequired_62 = PHI <xSwitchRequired_61(24), 1(25)>
  6321. # DEBUG xSwitchRequired => xSwitchRequired_62
  6322. # DEBUG BEGIN_STMT
  6323. # DEBUG BEGIN_STMT
  6324. xYieldPending.90_55 ={v} xYieldPending;
  6325. if (xYieldPending.90_55 != 0)
  6326. goto <bb 27>; [50.00%]
  6327. else
  6328. goto <bb 28>; [50.00%]
  6329. <bb 27> [local count: 106573]:
  6330. # DEBUG BEGIN_STMT
  6331. # DEBUG xSwitchRequired => 1
  6332. <bb 28> [local count: 213145]:
  6333. # xSwitchRequired_56 = PHI <xSwitchRequired_62(26), 1(27)>
  6334. # DEBUG xSwitchRequired => xSwitchRequired_56
  6335. # DEBUG BEGIN_STMT
  6336. _95 = xSwitchRequired_56;
  6337. # DEBUG pxTCB => NULL
  6338. # DEBUG xItemValue => NULL
  6339. # DEBUG xSwitchRequired => NULL
  6340. # DEBUG xConstTickCount => NULL
  6341. # DEBUG pxTemp => NULL
  6342. # DEBUG pxList => NULL
  6343. # DEBUG pxList => NULL
  6344. # DEBUG pxIndex => NULL
  6345. # DEBUG ulNewBASEPRI => NULL
  6346. xSwitchRequired_2 = _95;
  6347. goto <bb 30>; [100.00%]
  6348. <bb 29> [local count: 320519]:
  6349. # DEBUG BEGIN_STMT
  6350. xPendedTicks.91_5 ={v} xPendedTicks;
  6351. _6 = xPendedTicks.91_5 + 1;
  6352. xPendedTicks ={v} _6;
  6353. <bb 30> [local count: 533665]:
  6354. # xSwitchRequired_7 = PHI <xSwitchRequired_2(28), 0(29)>
  6355. # DEBUG xSwitchRequired => xSwitchRequired_7
  6356. # DEBUG BEGIN_STMT
  6357. return xSwitchRequired_7;
  6358. }
  6359. ;; Function xTaskResumeAll (xTaskResumeAll, funcdef_no=24, decl_uid=6179, cgraph_uid=25, symbol_order=46)
  6360. Symbols to be put in SSA form
  6361. { D.8266 D.8670 }
  6362. Incremental SSA update started at block: 0
  6363. Number of blocks in CFG: 34
  6364. Number of blocks to update: 33 ( 97%)
  6365. Merging blocks 4 and 6
  6366. Removing basic block 5
  6367. Removing basic block 8
  6368. Removing basic block 11
  6369. Removing basic block 25
  6370. Removing basic block 29
  6371. Merging blocks 33 and 7
  6372. ;; 6 loops found
  6373. ;;
  6374. ;; Loop 0
  6375. ;; header 0, latch 1
  6376. ;; depth 0, outer -1
  6377. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  6378. ;;
  6379. ;; Loop 3
  6380. ;; header 4, latch 4
  6381. ;; depth 1, outer 0
  6382. ;; nodes: 4
  6383. ;;
  6384. ;; Loop 4
  6385. ;; header 20, latch 22
  6386. ;; depth 1, outer 0
  6387. ;; nodes: 20 22 21
  6388. ;;
  6389. ;; Loop 5
  6390. ;; header 16, latch 15
  6391. ;; depth 1, outer 0
  6392. ;; nodes: 16 15 13 14 11 12 9 10 7 8
  6393. ;; 2 succs { 3 5 }
  6394. ;; 3 succs { 4 }
  6395. ;; 4 succs { 4 }
  6396. ;; 5 succs { 6 26 }
  6397. ;; 6 succs { 16 26 }
  6398. ;; 7 succs { 8 9 }
  6399. ;; 8 succs { 9 }
  6400. ;; 9 succs { 10 11 }
  6401. ;; 10 succs { 11 }
  6402. ;; 11 succs { 12 13 }
  6403. ;; 12 succs { 13 }
  6404. ;; 13 succs { 14 15 }
  6405. ;; 14 succs { 15 }
  6406. ;; 15 succs { 16 }
  6407. ;; 16 succs { 7 17 }
  6408. ;; 17 succs { 18 19 }
  6409. ;; 18 succs { 19 }
  6410. ;; 19 succs { 20 24 }
  6411. ;; 20 succs { 21 22 }
  6412. ;; 21 succs { 22 }
  6413. ;; 22 succs { 20 23 }
  6414. ;; 23 succs { 24 }
  6415. ;; 24 succs { 25 26 }
  6416. ;; 25 succs { 26 }
  6417. ;; 26 succs { 1 }
  6418. xTaskResumeAll ()
  6419. {
  6420. TickType_t xPendedCounts;
  6421. struct ListItem_t * const pxIndex;
  6422. struct List_t * const pxList;
  6423. struct List_t * const pxList;
  6424. BaseType_t xAlreadyYielded;
  6425. struct TCB_t * pxTCB;
  6426. BaseType_t D.8670;
  6427. BaseType_t D.8425;
  6428. uint32_t ulNewBASEPRI;
  6429. long unsigned int uxSchedulerSuspended.62_1;
  6430. long unsigned int uxSchedulerSuspended.63_7;
  6431. long unsigned int _8;
  6432. long unsigned int uxSchedulerSuspended.64_9;
  6433. long unsigned int uxCurrentNumberOfTasks.65_10;
  6434. struct xLIST_ITEM * _11;
  6435. struct xLIST_ITEM * _14;
  6436. struct xLIST_ITEM * _15;
  6437. struct xLIST_ITEM * _16;
  6438. struct ListItem_t * _17;
  6439. struct ListItem_t * _18;
  6440. long unsigned int _19;
  6441. long unsigned int _20;
  6442. struct xLIST_ITEM * _22;
  6443. struct xLIST_ITEM * _23;
  6444. struct ListItem_t * _24;
  6445. struct ListItem_t * _25;
  6446. long unsigned int _26;
  6447. long unsigned int _27;
  6448. long unsigned int _28;
  6449. long unsigned int uxTopReadyPriority.66_29;
  6450. struct xLIST_ITEM * _31;
  6451. struct xLIST_ITEM * _32;
  6452. struct List_t * _33;
  6453. long unsigned int _34;
  6454. long unsigned int _35;
  6455. struct TCB_t * pxCurrentTCB.67_36;
  6456. long unsigned int _37;
  6457. long unsigned int _38;
  6458. long int _41;
  6459. long int xYieldPending.68_44;
  6460. <bb 2> [local count: 160260]:
  6461. # DEBUG BEGIN_STMT
  6462. # DEBUG pxTCB => 0B
  6463. # DEBUG BEGIN_STMT
  6464. # DEBUG xAlreadyYielded => 0
  6465. # DEBUG BEGIN_STMT
  6466. uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended;
  6467. if (uxSchedulerSuspended.62_1 == 0)
  6468. goto <bb 3>; [67.00%]
  6469. else
  6470. goto <bb 5>; [33.00%]
  6471. <bb 3> [local count: 107374]:
  6472. # DEBUG BEGIN_STMT
  6473. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6474. # DEBUG BEGIN_STMT
  6475. # DEBUG BEGIN_STMT
  6476. __asm__ __volatile__(" mov %0, %1
  6477. msr basepri, %0
  6478. isb
  6479. dsb
  6480. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  6481. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  6482. <bb 4> [local count: 1073741824]:
  6483. # DEBUG ulNewBASEPRI => NULL
  6484. # DEBUG BEGIN_STMT
  6485. # DEBUG BEGIN_STMT
  6486. # DEBUG BEGIN_STMT
  6487. goto <bb 4>; [100.00%]
  6488. <bb 5> [local count: 52886]:
  6489. # DEBUG INLINE_ENTRY xTaskResumeAll
  6490. # DEBUG BEGIN_STMT
  6491. # DEBUG BEGIN_STMT
  6492. vPortEnterCritical ();
  6493. # DEBUG BEGIN_STMT
  6494. uxSchedulerSuspended.63_7 ={v} uxSchedulerSuspended;
  6495. _8 = uxSchedulerSuspended.63_7 + 4294967295;
  6496. uxSchedulerSuspended ={v} _8;
  6497. # DEBUG BEGIN_STMT
  6498. uxSchedulerSuspended.64_9 ={v} uxSchedulerSuspended;
  6499. if (uxSchedulerSuspended.64_9 == 0)
  6500. goto <bb 6>; [50.00%]
  6501. else
  6502. goto <bb 26>; [50.00%]
  6503. <bb 6> [local count: 26443]:
  6504. # DEBUG BEGIN_STMT
  6505. uxCurrentNumberOfTasks.65_10 ={v} uxCurrentNumberOfTasks;
  6506. if (uxCurrentNumberOfTasks.65_10 != 0)
  6507. goto <bb 16>; [50.00%]
  6508. else
  6509. goto <bb 26>; [50.00%]
  6510. <bb 7> [local count: 106973]:
  6511. # DEBUG BEGIN_STMT
  6512. _11 = xPendingReadyList.xListEnd.pxNext;
  6513. pxTCB_12 = _11->pvOwner;
  6514. # DEBUG pxTCB => pxTCB_12
  6515. # DEBUG BEGIN_STMT
  6516. pxList_13 = pxTCB_12->xEventListItem.pvContainer;
  6517. # DEBUG pxList => pxList_13
  6518. # DEBUG BEGIN_STMT
  6519. _14 = pxTCB_12->xEventListItem.pxNext;
  6520. _15 = pxTCB_12->xEventListItem.pxPrevious;
  6521. _14->pxPrevious = _15;
  6522. # DEBUG BEGIN_STMT
  6523. _16 = pxTCB_12->xEventListItem.pxPrevious;
  6524. _16->pxNext = _14;
  6525. # DEBUG BEGIN_STMT
  6526. _17 = pxList_13->pxIndex;
  6527. _18 = &pxTCB_12->xEventListItem;
  6528. if (_17 == _18)
  6529. goto <bb 8>; [30.00%]
  6530. else
  6531. goto <bb 9>; [70.00%]
  6532. <bb 8> [local count: 32092]:
  6533. # DEBUG BEGIN_STMT
  6534. pxList_13->pxIndex = _15;
  6535. <bb 9> [local count: 106973]:
  6536. # DEBUG BEGIN_STMT
  6537. pxTCB_12->xEventListItem.pvContainer = 0B;
  6538. # DEBUG BEGIN_STMT
  6539. _19 ={v} pxList_13->uxNumberOfItems;
  6540. _20 = _19 + 4294967295;
  6541. pxList_13->uxNumberOfItems ={v} _20;
  6542. # DEBUG BEGIN_STMT
  6543. # DEBUG BEGIN_STMT
  6544. __asm__ __volatile__("" : : : "memory");
  6545. # DEBUG BEGIN_STMT
  6546. pxList_21 = pxTCB_12->xStateListItem.pvContainer;
  6547. # DEBUG pxList => pxList_21
  6548. # DEBUG BEGIN_STMT
  6549. _22 = pxTCB_12->xStateListItem.pxNext;
  6550. _23 = pxTCB_12->xStateListItem.pxPrevious;
  6551. _22->pxPrevious = _23;
  6552. # DEBUG BEGIN_STMT
  6553. _23->pxNext = _22;
  6554. # DEBUG BEGIN_STMT
  6555. _24 = pxList_21->pxIndex;
  6556. _25 = &pxTCB_12->xStateListItem;
  6557. if (_24 == _25)
  6558. goto <bb 10>; [30.00%]
  6559. else
  6560. goto <bb 11>; [70.00%]
  6561. <bb 10> [local count: 32092]:
  6562. # DEBUG BEGIN_STMT
  6563. pxList_21->pxIndex = _23;
  6564. <bb 11> [local count: 106973]:
  6565. # DEBUG BEGIN_STMT
  6566. # DEBUG BEGIN_STMT
  6567. _26 ={v} pxList_21->uxNumberOfItems;
  6568. _27 = _26 + 4294967295;
  6569. pxList_21->uxNumberOfItems ={v} _27;
  6570. # DEBUG BEGIN_STMT
  6571. # DEBUG BEGIN_STMT
  6572. # DEBUG BEGIN_STMT
  6573. _28 = pxTCB_12->uxPriority;
  6574. uxTopReadyPriority.66_29 ={v} uxTopReadyPriority;
  6575. if (_28 > uxTopReadyPriority.66_29)
  6576. goto <bb 12>; [50.00%]
  6577. else
  6578. goto <bb 13>; [50.00%]
  6579. <bb 12> [local count: 53487]:
  6580. # DEBUG BEGIN_STMT
  6581. uxTopReadyPriority ={v} _28;
  6582. <bb 13> [local count: 106973]:
  6583. # DEBUG BEGIN_STMT
  6584. # DEBUG BEGIN_STMT
  6585. pxIndex_30 = pxReadyTasksLists[_28].pxIndex;
  6586. # DEBUG pxIndex => pxIndex_30
  6587. # DEBUG BEGIN_STMT
  6588. # DEBUG BEGIN_STMT
  6589. # DEBUG BEGIN_STMT
  6590. pxTCB_12->xStateListItem.pxNext = pxIndex_30;
  6591. # DEBUG BEGIN_STMT
  6592. _31 = pxIndex_30->pxPrevious;
  6593. pxTCB_12->xStateListItem.pxPrevious = _31;
  6594. # DEBUG BEGIN_STMT
  6595. _32 = pxIndex_30->pxPrevious;
  6596. _32->pxNext = _25;
  6597. # DEBUG BEGIN_STMT
  6598. pxIndex_30->pxPrevious = _25;
  6599. # DEBUG BEGIN_STMT
  6600. _33 = &pxReadyTasksLists[_28];
  6601. pxTCB_12->xStateListItem.pvContainer = _33;
  6602. # DEBUG BEGIN_STMT
  6603. _34 ={v} pxReadyTasksLists[_28].uxNumberOfItems;
  6604. _35 = _34 + 1;
  6605. pxReadyTasksLists[_28].uxNumberOfItems ={v} _35;
  6606. # DEBUG BEGIN_STMT
  6607. # DEBUG BEGIN_STMT
  6608. # DEBUG BEGIN_STMT
  6609. pxCurrentTCB.67_36 ={v} pxCurrentTCB;
  6610. _37 = pxCurrentTCB.67_36->uxPriority;
  6611. if (_28 >= _37)
  6612. goto <bb 14>; [50.00%]
  6613. else
  6614. goto <bb 15>; [50.00%]
  6615. <bb 14> [local count: 53487]:
  6616. # DEBUG BEGIN_STMT
  6617. xYieldPending ={v} 1;
  6618. <bb 15> [local count: 106973]:
  6619. # pxTCB_46 = PHI <pxTCB_12(13), pxTCB_12(14)>
  6620. <bb 16> [local count: 120195]:
  6621. # pxTCB_47 = PHI <0B(6), pxTCB_46(15)>
  6622. # DEBUG pxTCB => pxTCB_47
  6623. # DEBUG BEGIN_STMT
  6624. # DEBUG BEGIN_STMT
  6625. _38 ={v} xPendingReadyList.uxNumberOfItems;
  6626. if (_38 != 0)
  6627. goto <bb 7>; [89.00%]
  6628. else
  6629. goto <bb 17>; [11.00%]
  6630. <bb 17> [local count: 13221]:
  6631. # pxTCB_39 = PHI <pxTCB_47(16)>
  6632. # DEBUG BEGIN_STMT
  6633. if (pxTCB_39 != 0B)
  6634. goto <bb 18>; [53.47%]
  6635. else
  6636. goto <bb 19>; [46.53%]
  6637. <bb 18> [local count: 7069]:
  6638. # DEBUG BEGIN_STMT
  6639. prvResetNextTaskUnblockTime ();
  6640. <bb 19> [local count: 13221]:
  6641. # DEBUG BEGIN_STMT
  6642. xPendedCounts_40 ={v} xPendedTicks;
  6643. # DEBUG xPendedCounts => xPendedCounts_40
  6644. # DEBUG BEGIN_STMT
  6645. if (xPendedCounts_40 != 0)
  6646. goto <bb 20>; [50.00%]
  6647. else
  6648. goto <bb 24>; [50.00%]
  6649. <bb 20> [local count: 60097]:
  6650. # xPendedCounts_42 = PHI <xPendedCounts_40(19), xPendedCounts_43(22)>
  6651. # DEBUG xPendedCounts => xPendedCounts_42
  6652. # DEBUG BEGIN_STMT
  6653. # DEBUG BEGIN_STMT
  6654. _41 = xTaskIncrementTick ();
  6655. if (_41 != 0)
  6656. goto <bb 21>; [50.00%]
  6657. else
  6658. goto <bb 22>; [50.00%]
  6659. <bb 21> [local count: 30049]:
  6660. # DEBUG BEGIN_STMT
  6661. xYieldPending ={v} 1;
  6662. <bb 22> [local count: 60097]:
  6663. # DEBUG BEGIN_STMT
  6664. # DEBUG BEGIN_STMT
  6665. xPendedCounts_43 = xPendedCounts_42 + 4294967295;
  6666. # DEBUG xPendedCounts => xPendedCounts_43
  6667. # DEBUG BEGIN_STMT
  6668. if (xPendedCounts_43 != 0)
  6669. goto <bb 20>; [89.00%]
  6670. else
  6671. goto <bb 23>; [11.00%]
  6672. <bb 23> [local count: 6611]:
  6673. # DEBUG BEGIN_STMT
  6674. xPendedTicks ={v} 0;
  6675. <bb 24> [local count: 13221]:
  6676. # DEBUG BEGIN_STMT
  6677. # DEBUG BEGIN_STMT
  6678. xYieldPending.68_44 ={v} xYieldPending;
  6679. if (xYieldPending.68_44 != 0)
  6680. goto <bb 25>; [50.00%]
  6681. else
  6682. goto <bb 26>; [50.00%]
  6683. <bb 25> [local count: 6611]:
  6684. # DEBUG BEGIN_STMT
  6685. # DEBUG xAlreadyYielded => 1
  6686. # DEBUG BEGIN_STMT
  6687. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6688. # DEBUG BEGIN_STMT
  6689. __asm__ __volatile__("dsb" : : : "memory");
  6690. # DEBUG BEGIN_STMT
  6691. __asm__ __volatile__("isb");
  6692. # DEBUG BEGIN_STMT
  6693. <bb 26> [local count: 52886]:
  6694. # xAlreadyYielded_45 = PHI <0(5), 0(6), 0(24), 1(25)>
  6695. # DEBUG xAlreadyYielded => xAlreadyYielded_45
  6696. # DEBUG BEGIN_STMT
  6697. # DEBUG BEGIN_STMT
  6698. vPortExitCritical ();
  6699. # DEBUG BEGIN_STMT
  6700. _86 = xAlreadyYielded_45;
  6701. # DEBUG pxTCB => NULL
  6702. # DEBUG xAlreadyYielded => NULL
  6703. # DEBUG pxList => NULL
  6704. # DEBUG pxList => NULL
  6705. # DEBUG pxIndex => NULL
  6706. # DEBUG xPendedCounts => NULL
  6707. # DEBUG ulNewBASEPRI => NULL
  6708. _2 = _86;
  6709. return _2;
  6710. }
  6711. ;; Function xTaskDelayUntil (xTaskDelayUntil, funcdef_no=11, decl_uid=6149, cgraph_uid=12, symbol_order=33)
  6712. xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
  6713. {
  6714. uint32_t ulNewBASEPRI;
  6715. uint32_t ulNewBASEPRI;
  6716. uint32_t ulNewBASEPRI;
  6717. const TickType_t xConstTickCount;
  6718. BaseType_t xShouldDelay;
  6719. BaseType_t xAlreadyYielded;
  6720. TickType_t xTimeToWake;
  6721. long unsigned int uxSchedulerSuspended.22_1;
  6722. long unsigned int _2;
  6723. long unsigned int _3;
  6724. <bb 2> [local count: 306783]:
  6725. # DEBUG BEGIN_STMT
  6726. # DEBUG BEGIN_STMT
  6727. # DEBUG xShouldDelay => 0
  6728. # DEBUG BEGIN_STMT
  6729. if (pxPreviousWakeTime_7(D) == 0B)
  6730. goto <bb 3>; [30.00%]
  6731. else
  6732. goto <bb 5>; [70.00%]
  6733. <bb 3> [local count: 92035]:
  6734. # DEBUG BEGIN_STMT
  6735. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6736. # DEBUG BEGIN_STMT
  6737. # DEBUG BEGIN_STMT
  6738. __asm__ __volatile__(" mov %0, %1
  6739. msr basepri, %0
  6740. isb
  6741. dsb
  6742. " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
  6743. # DEBUG ulNewBASEPRI => ulNewBASEPRI_21
  6744. <bb 4> [local count: 920350133]:
  6745. # DEBUG ulNewBASEPRI => NULL
  6746. # DEBUG BEGIN_STMT
  6747. # DEBUG BEGIN_STMT
  6748. # DEBUG BEGIN_STMT
  6749. <bb 25> [local count: 920350133]:
  6750. goto <bb 4>; [100.00%]
  6751. <bb 5> [local count: 214748]:
  6752. # DEBUG BEGIN_STMT
  6753. # DEBUG BEGIN_STMT
  6754. if (xTimeIncrement_8(D) == 0)
  6755. goto <bb 6>; [50.00%]
  6756. else
  6757. goto <bb 8>; [50.00%]
  6758. <bb 6> [local count: 107374]:
  6759. # DEBUG BEGIN_STMT
  6760. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6761. # DEBUG BEGIN_STMT
  6762. # DEBUG BEGIN_STMT
  6763. __asm__ __volatile__(" mov %0, %1
  6764. msr basepri, %0
  6765. isb
  6766. dsb
  6767. " : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
  6768. # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
  6769. <bb 7> [local count: 1073741823]:
  6770. # DEBUG ulNewBASEPRI => NULL
  6771. # DEBUG BEGIN_STMT
  6772. # DEBUG BEGIN_STMT
  6773. # DEBUG BEGIN_STMT
  6774. <bb 26> [local count: 1073741824]:
  6775. goto <bb 7>; [100.00%]
  6776. <bb 8> [local count: 107374]:
  6777. # DEBUG BEGIN_STMT
  6778. # DEBUG BEGIN_STMT
  6779. uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended;
  6780. if (uxSchedulerSuspended.22_1 != 0)
  6781. goto <bb 9>; [67.00%]
  6782. else
  6783. goto <bb 11>; [33.00%]
  6784. <bb 9> [local count: 71941]:
  6785. # DEBUG BEGIN_STMT
  6786. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6787. # DEBUG BEGIN_STMT
  6788. # DEBUG BEGIN_STMT
  6789. __asm__ __volatile__(" mov %0, %1
  6790. msr basepri, %0
  6791. isb
  6792. dsb
  6793. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  6794. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  6795. <bb 10> [local count: 719407021]:
  6796. # DEBUG ulNewBASEPRI => NULL
  6797. # DEBUG BEGIN_STMT
  6798. # DEBUG BEGIN_STMT
  6799. # DEBUG BEGIN_STMT
  6800. <bb 27> [local count: 719407021]:
  6801. goto <bb 10>; [100.00%]
  6802. <bb 11> [local count: 35433]:
  6803. # DEBUG BEGIN_STMT
  6804. # DEBUG BEGIN_STMT
  6805. vTaskSuspendAll ();
  6806. # DEBUG BEGIN_STMT
  6807. xConstTickCount_11 ={v} xTickCount;
  6808. # DEBUG xConstTickCount => xConstTickCount_11
  6809. # DEBUG BEGIN_STMT
  6810. _2 = *pxPreviousWakeTime_7(D);
  6811. xTimeToWake_12 = _2 + xTimeIncrement_8(D);
  6812. # DEBUG xTimeToWake => xTimeToWake_12
  6813. # DEBUG BEGIN_STMT
  6814. if (_2 > xConstTickCount_11)
  6815. goto <bb 12>; [50.00%]
  6816. else
  6817. goto <bb 17>; [50.00%]
  6818. <bb 12> [local count: 17717]:
  6819. # DEBUG BEGIN_STMT
  6820. if (_2 > xTimeToWake_12)
  6821. goto <bb 14>; [50.00%]
  6822. else
  6823. goto <bb 13>; [50.00%]
  6824. <bb 13> [local count: 8858]:
  6825. # DEBUG xShouldDelay => 0
  6826. # DEBUG BEGIN_STMT
  6827. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  6828. # DEBUG BEGIN_STMT
  6829. goto <bb 22>; [100.00%]
  6830. <bb 14> [local count: 8858]:
  6831. if (xConstTickCount_11 < xTimeToWake_12)
  6832. goto <bb 16>; [50.00%]
  6833. else
  6834. goto <bb 15>; [50.00%]
  6835. <bb 15> [local count: 4429]:
  6836. # DEBUG xShouldDelay => 0
  6837. # DEBUG BEGIN_STMT
  6838. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  6839. # DEBUG BEGIN_STMT
  6840. goto <bb 22>; [100.00%]
  6841. <bb 16> [local count: 4429]:
  6842. # DEBUG BEGIN_STMT
  6843. # DEBUG xShouldDelay => 1
  6844. # DEBUG BEGIN_STMT
  6845. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  6846. # DEBUG BEGIN_STMT
  6847. goto <bb 21>; [100.00%]
  6848. <bb 17> [local count: 17717]:
  6849. # DEBUG BEGIN_STMT
  6850. if (_2 > xTimeToWake_12)
  6851. goto <bb 19>; [50.00%]
  6852. else
  6853. goto <bb 18>; [50.00%]
  6854. <bb 18> [local count: 8858]:
  6855. if (xConstTickCount_11 < xTimeToWake_12)
  6856. goto <bb 19>; [50.00%]
  6857. else
  6858. goto <bb 20>; [50.00%]
  6859. <bb 19> [local count: 13288]:
  6860. # DEBUG BEGIN_STMT
  6861. # DEBUG xShouldDelay => 1
  6862. # DEBUG BEGIN_STMT
  6863. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  6864. # DEBUG BEGIN_STMT
  6865. goto <bb 21>; [100.00%]
  6866. <bb 20> [local count: 4429]:
  6867. # DEBUG xShouldDelay => 0
  6868. # DEBUG BEGIN_STMT
  6869. *pxPreviousWakeTime_7(D) = xTimeToWake_12;
  6870. # DEBUG BEGIN_STMT
  6871. goto <bb 22>; [100.00%]
  6872. <bb 21> [local count: 17717]:
  6873. # DEBUG BEGIN_STMT
  6874. # DEBUG BEGIN_STMT
  6875. _3 = xTimeToWake_12 - xConstTickCount_11;
  6876. prvAddCurrentTaskToDelayedList (_3, 0);
  6877. <bb 22> [local count: 35433]:
  6878. # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)>
  6879. # DEBUG BEGIN_STMT
  6880. # DEBUG BEGIN_STMT
  6881. xAlreadyYielded_16 = xTaskResumeAll ();
  6882. # DEBUG xAlreadyYielded => xAlreadyYielded_16
  6883. # DEBUG BEGIN_STMT
  6884. if (xAlreadyYielded_16 == 0)
  6885. goto <bb 23>; [50.00%]
  6886. else
  6887. goto <bb 24>; [50.00%]
  6888. <bb 23> [local count: 17717]:
  6889. # DEBUG BEGIN_STMT
  6890. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6891. # DEBUG BEGIN_STMT
  6892. __asm__ __volatile__("dsb" : : : "memory");
  6893. # DEBUG BEGIN_STMT
  6894. __asm__ __volatile__("isb");
  6895. # DEBUG BEGIN_STMT
  6896. <bb 24> [local count: 35433]:
  6897. # DEBUG BEGIN_STMT
  6898. # DEBUG BEGIN_STMT
  6899. return xShouldDelay_29;
  6900. }
  6901. ;; Function vTaskDelay (vTaskDelay, funcdef_no=12, decl_uid=6146, cgraph_uid=13, symbol_order=34)
  6902. vTaskDelay (const TickType_t xTicksToDelay)
  6903. {
  6904. uint32_t ulNewBASEPRI;
  6905. BaseType_t xAlreadyYielded;
  6906. long unsigned int uxSchedulerSuspended.36_1;
  6907. <bb 2> [local count: 320519]:
  6908. # DEBUG BEGIN_STMT
  6909. # DEBUG xAlreadyYielded => 0
  6910. # DEBUG BEGIN_STMT
  6911. if (xTicksToDelay_3(D) != 0)
  6912. goto <bb 4>; [50.00%]
  6913. else
  6914. goto <bb 8>; [50.00%]
  6915. <bb 4> [local count: 160260]:
  6916. # DEBUG BEGIN_STMT
  6917. uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended;
  6918. if (uxSchedulerSuspended.36_1 != 0)
  6919. goto <bb 5>; [67.00%]
  6920. else
  6921. goto <bb 7>; [33.00%]
  6922. <bb 5> [local count: 107374]:
  6923. # DEBUG BEGIN_STMT
  6924. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6925. # DEBUG BEGIN_STMT
  6926. # DEBUG BEGIN_STMT
  6927. __asm__ __volatile__(" mov %0, %1
  6928. msr basepri, %0
  6929. isb
  6930. dsb
  6931. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  6932. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  6933. <bb 6> [local count: 1073741824]:
  6934. # DEBUG ulNewBASEPRI => NULL
  6935. # DEBUG BEGIN_STMT
  6936. # DEBUG BEGIN_STMT
  6937. # DEBUG BEGIN_STMT
  6938. <bb 10> [local count: 1073741824]:
  6939. goto <bb 6>; [100.00%]
  6940. <bb 7> [local count: 52886]:
  6941. # DEBUG BEGIN_STMT
  6942. # DEBUG BEGIN_STMT
  6943. vTaskSuspendAll ();
  6944. # DEBUG BEGIN_STMT
  6945. # DEBUG BEGIN_STMT
  6946. prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0);
  6947. # DEBUG BEGIN_STMT
  6948. xAlreadyYielded_8 = xTaskResumeAll ();
  6949. # DEBUG xAlreadyYielded => xAlreadyYielded_8
  6950. # DEBUG BEGIN_STMT
  6951. # DEBUG BEGIN_STMT
  6952. if (xAlreadyYielded_8 == 0)
  6953. goto <bb 8>; [50.00%]
  6954. else
  6955. goto <bb 9>; [50.00%]
  6956. <bb 8> [local count: 186703]:
  6957. # DEBUG xAlreadyYielded => NULL
  6958. # DEBUG BEGIN_STMT
  6959. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6960. # DEBUG BEGIN_STMT
  6961. __asm__ __volatile__("dsb" : : : "memory");
  6962. # DEBUG BEGIN_STMT
  6963. __asm__ __volatile__("isb");
  6964. # DEBUG BEGIN_STMT
  6965. <bb 9> [local count: 213145]:
  6966. # DEBUG BEGIN_STMT
  6967. return;
  6968. }
  6969. ;; Function xTaskGetHandle (xTaskGetHandle, funcdef_no=30, decl_uid=6189, cgraph_uid=31, symbol_order=52)
  6970. Merging blocks 4 and 17
  6971. Removing basic block 18
  6972. xTaskGetHandle (const char * pcNameToQuery)
  6973. {
  6974. uint32_t ulNewBASEPRI;
  6975. struct TCB_t * pxTCB;
  6976. UBaseType_t uxQueue;
  6977. unsigned int _1;
  6978. struct List_t * _2;
  6979. struct List_t * pxDelayedTaskList.70_3;
  6980. struct List_t * pxOverflowDelayedTaskList.71_4;
  6981. <bb 2> [local count: 160260]:
  6982. # DEBUG BEGIN_STMT
  6983. # DEBUG uxQueue => 5
  6984. # DEBUG BEGIN_STMT
  6985. # DEBUG BEGIN_STMT
  6986. _1 = strlen (pcNameToQuery_17(D));
  6987. if (_1 > 9)
  6988. goto <bb 3>; [67.00%]
  6989. else
  6990. goto <bb 5>; [33.00%]
  6991. <bb 3> [local count: 107374]:
  6992. # DEBUG BEGIN_STMT
  6993. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6994. # DEBUG BEGIN_STMT
  6995. # DEBUG BEGIN_STMT
  6996. __asm__ __volatile__(" mov %0, %1
  6997. msr basepri, %0
  6998. isb
  6999. dsb
  7000. " : "=r" ulNewBASEPRI_31 : "i" 16 : "memory");
  7001. # DEBUG ulNewBASEPRI => ulNewBASEPRI_31
  7002. <bb 4> [local count: 1073741824]:
  7003. # DEBUG ulNewBASEPRI => NULL
  7004. # DEBUG BEGIN_STMT
  7005. # DEBUG BEGIN_STMT
  7006. # DEBUG BEGIN_STMT
  7007. goto <bb 4>; [100.00%]
  7008. <bb 5> [local count: 52886]:
  7009. # DEBUG BEGIN_STMT
  7010. # DEBUG BEGIN_STMT
  7011. vTaskSuspendAll ();
  7012. <bb 6> [local count: 216745]:
  7013. # uxQueue_5 = PHI <5(5), uxQueue_19(7)>
  7014. # DEBUG uxQueue => uxQueue_5
  7015. # DEBUG BEGIN_STMT
  7016. # DEBUG BEGIN_STMT
  7017. uxQueue_19 = uxQueue_5 + 4294967295;
  7018. # DEBUG uxQueue => uxQueue_19
  7019. # DEBUG BEGIN_STMT
  7020. _2 = &pxReadyTasksLists[uxQueue_19];
  7021. pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
  7022. # DEBUG pxTCB => pxTCB_21
  7023. # DEBUG BEGIN_STMT
  7024. if (pxTCB_21 != 0B)
  7025. goto <bb 8>; [5.50%]
  7026. else
  7027. goto <bb 7>; [94.50%]
  7028. <bb 7> [local count: 204824]:
  7029. # DEBUG BEGIN_STMT
  7030. if (uxQueue_19 != 0)
  7031. goto <bb 6>; [80.00%]
  7032. else
  7033. goto <bb 8>; [20.00%]
  7034. <bb 8> [local count: 52886]:
  7035. # pxTCB_15 = PHI <pxTCB_21(6), 0B(7)>
  7036. # DEBUG BEGIN_STMT
  7037. if (pxTCB_15 == 0B)
  7038. goto <bb 9>; [17.43%]
  7039. else
  7040. goto <bb 10>; [82.57%]
  7041. <bb 9> [local count: 9218]:
  7042. # DEBUG BEGIN_STMT
  7043. pxDelayedTaskList.70_3 ={v} pxDelayedTaskList;
  7044. pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
  7045. # DEBUG pxTCB => pxTCB_23
  7046. <bb 10> [local count: 52886]:
  7047. # pxTCB_6 = PHI <pxTCB_15(8), pxTCB_23(9)>
  7048. # DEBUG pxTCB => pxTCB_6
  7049. # DEBUG BEGIN_STMT
  7050. if (pxTCB_6 == 0B)
  7051. goto <bb 11>; [17.43%]
  7052. else
  7053. goto <bb 12>; [82.57%]
  7054. <bb 11> [local count: 9218]:
  7055. # DEBUG BEGIN_STMT
  7056. pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList;
  7057. pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
  7058. # DEBUG pxTCB => pxTCB_25
  7059. <bb 12> [local count: 52886]:
  7060. # pxTCB_7 = PHI <pxTCB_6(10), pxTCB_25(11)>
  7061. # DEBUG pxTCB => pxTCB_7
  7062. # DEBUG BEGIN_STMT
  7063. if (pxTCB_7 == 0B)
  7064. goto <bb 13>; [17.43%]
  7065. else
  7066. goto <bb 14>; [82.57%]
  7067. <bb 13> [local count: 9218]:
  7068. # DEBUG BEGIN_STMT
  7069. pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
  7070. # DEBUG pxTCB => pxTCB_27
  7071. <bb 14> [local count: 52886]:
  7072. # pxTCB_8 = PHI <pxTCB_7(12), pxTCB_27(13)>
  7073. # DEBUG pxTCB => pxTCB_8
  7074. # DEBUG BEGIN_STMT
  7075. if (pxTCB_8 == 0B)
  7076. goto <bb 15>; [17.43%]
  7077. else
  7078. goto <bb 16>; [82.57%]
  7079. <bb 15> [local count: 9218]:
  7080. # DEBUG BEGIN_STMT
  7081. pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
  7082. # DEBUG pxTCB => pxTCB_29
  7083. <bb 16> [local count: 52886]:
  7084. # pxTCB_9 = PHI <pxTCB_8(14), pxTCB_29(15)>
  7085. # DEBUG pxTCB => pxTCB_9
  7086. # DEBUG BEGIN_STMT
  7087. xTaskResumeAll ();
  7088. # DEBUG BEGIN_STMT
  7089. return pxTCB_9;
  7090. }
  7091. ;; Function xTaskCatchUpTicks (xTaskCatchUpTicks, funcdef_no=32, decl_uid=6249, cgraph_uid=33, symbol_order=54)
  7092. xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
  7093. {
  7094. uint32_t ulNewBASEPRI;
  7095. BaseType_t xYieldOccurred;
  7096. long unsigned int uxSchedulerSuspended.75_1;
  7097. long unsigned int xPendedTicks.76_2;
  7098. long unsigned int _3;
  7099. <bb 2> [local count: 160260]:
  7100. # DEBUG BEGIN_STMT
  7101. # DEBUG BEGIN_STMT
  7102. uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended;
  7103. if (uxSchedulerSuspended.75_1 != 0)
  7104. goto <bb 3>; [67.00%]
  7105. else
  7106. goto <bb 5>; [33.00%]
  7107. <bb 3> [local count: 107374]:
  7108. # DEBUG BEGIN_STMT
  7109. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7110. # DEBUG BEGIN_STMT
  7111. # DEBUG BEGIN_STMT
  7112. __asm__ __volatile__(" mov %0, %1
  7113. msr basepri, %0
  7114. isb
  7115. dsb
  7116. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  7117. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  7118. <bb 4> [local count: 1073741824]:
  7119. # DEBUG ulNewBASEPRI => NULL
  7120. # DEBUG BEGIN_STMT
  7121. # DEBUG BEGIN_STMT
  7122. # DEBUG BEGIN_STMT
  7123. <bb 6> [local count: 1073741824]:
  7124. goto <bb 4>; [100.00%]
  7125. <bb 5> [local count: 52886]:
  7126. # DEBUG BEGIN_STMT
  7127. # DEBUG BEGIN_STMT
  7128. vTaskSuspendAll ();
  7129. # DEBUG BEGIN_STMT
  7130. xPendedTicks.76_2 ={v} xPendedTicks;
  7131. _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D);
  7132. xPendedTicks ={v} _3;
  7133. # DEBUG BEGIN_STMT
  7134. xYieldOccurred_9 = xTaskResumeAll ();
  7135. # DEBUG xYieldOccurred => xYieldOccurred_9
  7136. # DEBUG BEGIN_STMT
  7137. return xYieldOccurred_9;
  7138. }
  7139. ;; Function xTaskAbortDelay (xTaskAbortDelay, funcdef_no=33, decl_uid=6151, cgraph_uid=34, symbol_order=55)
  7140. xTaskAbortDelay (struct tskTaskControlBlock * xTask)
  7141. {
  7142. uint32_t ulNewBASEPRI;
  7143. struct ListItem_t * const pxIndex;
  7144. BaseType_t xReturn;
  7145. <unnamed type> _1;
  7146. struct ListItem_t * _2;
  7147. struct xLIST * _3;
  7148. struct ListItem_t * _4;
  7149. long unsigned int _5;
  7150. long unsigned int uxTopReadyPriority.77_6;
  7151. struct xLIST_ITEM * _7;
  7152. struct xLIST_ITEM * _8;
  7153. struct List_t * _9;
  7154. long unsigned int _10;
  7155. long unsigned int _11;
  7156. struct TCB_t * pxCurrentTCB.78_12;
  7157. long unsigned int _13;
  7158. <bb 2> [local count: 230763]:
  7159. # DEBUG BEGIN_STMT
  7160. # DEBUG pxTCB => xTask_18(D)
  7161. # DEBUG BEGIN_STMT
  7162. # DEBUG BEGIN_STMT
  7163. if (xTask_18(D) == 0B)
  7164. goto <bb 3>; [46.53%]
  7165. else
  7166. goto <bb 5>; [53.47%]
  7167. <bb 3> [local count: 107374]:
  7168. # DEBUG BEGIN_STMT
  7169. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7170. # DEBUG BEGIN_STMT
  7171. # DEBUG BEGIN_STMT
  7172. __asm__ __volatile__(" mov %0, %1
  7173. msr basepri, %0
  7174. isb
  7175. dsb
  7176. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  7177. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  7178. <bb 4> [local count: 1073741824]:
  7179. # DEBUG ulNewBASEPRI => NULL
  7180. # DEBUG BEGIN_STMT
  7181. # DEBUG BEGIN_STMT
  7182. # DEBUG BEGIN_STMT
  7183. <bb 13> [local count: 1073741824]:
  7184. goto <bb 4>; [100.00%]
  7185. <bb 5> [local count: 123389]:
  7186. # DEBUG BEGIN_STMT
  7187. # DEBUG BEGIN_STMT
  7188. vTaskSuspendAll ();
  7189. # DEBUG BEGIN_STMT
  7190. _1 = eTaskGetState (xTask_18(D));
  7191. if (_1 == 2)
  7192. goto <bb 6>; [20.24%]
  7193. else
  7194. goto <bb 12>; [79.76%]
  7195. <bb 6> [local count: 24974]:
  7196. # DEBUG BEGIN_STMT
  7197. # DEBUG xReturn => 1
  7198. # DEBUG BEGIN_STMT
  7199. _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem;
  7200. uxListRemove (_2);
  7201. # DEBUG BEGIN_STMT
  7202. vPortEnterCritical ();
  7203. # DEBUG BEGIN_STMT
  7204. _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer;
  7205. if (_3 != 0B)
  7206. goto <bb 7>; [53.47%]
  7207. else
  7208. goto <bb 8>; [46.53%]
  7209. <bb 7> [local count: 13354]:
  7210. # DEBUG BEGIN_STMT
  7211. _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem;
  7212. uxListRemove (_4);
  7213. # DEBUG BEGIN_STMT
  7214. MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1;
  7215. <bb 8> [local count: 24974]:
  7216. # DEBUG BEGIN_STMT
  7217. # DEBUG BEGIN_STMT
  7218. vPortExitCritical ();
  7219. # DEBUG BEGIN_STMT
  7220. # DEBUG BEGIN_STMT
  7221. _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority;
  7222. uxTopReadyPriority.77_6 ={v} uxTopReadyPriority;
  7223. if (_5 > uxTopReadyPriority.77_6)
  7224. goto <bb 9>; [50.00%]
  7225. else
  7226. goto <bb 10>; [50.00%]
  7227. <bb 9> [local count: 12487]:
  7228. # DEBUG BEGIN_STMT
  7229. uxTopReadyPriority ={v} _5;
  7230. <bb 10> [local count: 24974]:
  7231. # DEBUG BEGIN_STMT
  7232. # DEBUG BEGIN_STMT
  7233. pxIndex_28 = pxReadyTasksLists[_5].pxIndex;
  7234. # DEBUG pxIndex => pxIndex_28
  7235. # DEBUG BEGIN_STMT
  7236. # DEBUG BEGIN_STMT
  7237. # DEBUG BEGIN_STMT
  7238. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28;
  7239. # DEBUG BEGIN_STMT
  7240. _7 = pxIndex_28->pxPrevious;
  7241. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7;
  7242. # DEBUG BEGIN_STMT
  7243. _8 = pxIndex_28->pxPrevious;
  7244. _8->pxNext = _2;
  7245. # DEBUG BEGIN_STMT
  7246. pxIndex_28->pxPrevious = _2;
  7247. # DEBUG BEGIN_STMT
  7248. _9 = &pxReadyTasksLists[_5];
  7249. MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9;
  7250. # DEBUG BEGIN_STMT
  7251. _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems;
  7252. _11 = _10 + 1;
  7253. pxReadyTasksLists[_5].uxNumberOfItems ={v} _11;
  7254. # DEBUG BEGIN_STMT
  7255. # DEBUG BEGIN_STMT
  7256. # DEBUG BEGIN_STMT
  7257. pxCurrentTCB.78_12 ={v} pxCurrentTCB;
  7258. _13 = pxCurrentTCB.78_12->uxPriority;
  7259. if (_5 > _13)
  7260. goto <bb 11>; [50.00%]
  7261. else
  7262. goto <bb 12>; [50.00%]
  7263. <bb 11> [local count: 12487]:
  7264. # DEBUG BEGIN_STMT
  7265. xYieldPending ={v} 1;
  7266. <bb 12> [local count: 123389]:
  7267. # xReturn_14 = PHI <1(11), 0(5), 1(10)>
  7268. # DEBUG xReturn => xReturn_14
  7269. # DEBUG BEGIN_STMT
  7270. xTaskResumeAll ();
  7271. # DEBUG BEGIN_STMT
  7272. return xReturn_14;
  7273. }
  7274. ;; Function vTaskSwitchContext (vTaskSwitchContext, funcdef_no=35, decl_uid=6269, cgraph_uid=36, symbol_order=57)
  7275. Removing basic block 13
  7276. Symbols to be put in SSA form
  7277. { D.8272 }
  7278. Incremental SSA update started at block: 0
  7279. Number of blocks in CFG: 18
  7280. Number of blocks to update: 16 ( 89%)
  7281. Removing basic block 6
  7282. Removing basic block 14
  7283. Merging blocks 16 and 17
  7284. ;; 4 loops found
  7285. ;;
  7286. ;; Loop 0
  7287. ;; header 0, latch 1
  7288. ;; depth 0, outer -1
  7289. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  7290. ;;
  7291. ;; Loop 3
  7292. ;; header 7, latch 7
  7293. ;; depth 1, outer 0
  7294. ;; nodes: 7
  7295. ;;
  7296. ;; Loop 1
  7297. ;; header 9, latch 8
  7298. ;; depth 1, outer 0
  7299. ;; nodes: 9 8 5
  7300. ;; 2 succs { 3 4 }
  7301. ;; 3 succs { 13 }
  7302. ;; 4 succs { 9 }
  7303. ;; 5 succs { 6 8 }
  7304. ;; 6 succs { 7 }
  7305. ;; 7 succs { 7 }
  7306. ;; 8 succs { 9 }
  7307. ;; 9 succs { 5 10 }
  7308. ;; 10 succs { 11 12 }
  7309. ;; 11 succs { 12 }
  7310. ;; 12 succs { 13 }
  7311. ;; 13 succs { 1 }
  7312. __attribute__((used))
  7313. vTaskSwitchContext ()
  7314. {
  7315. uint32_t ulNewBASEPRI;
  7316. UBaseType_t uxTopPriority;
  7317. long unsigned int uxSchedulerSuspended.92_1;
  7318. long unsigned int _2;
  7319. struct ListItem_t * _3;
  7320. struct xLIST_ITEM * _4;
  7321. struct MiniListItem_t * _6;
  7322. struct xLIST_ITEM * _8;
  7323. struct ListItem_t * _9;
  7324. void * _10;
  7325. <bb 2> [local count: 441995]:
  7326. # DEBUG BEGIN_STMT
  7327. uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended;
  7328. if (uxSchedulerSuspended.92_1 != 0)
  7329. goto <bb 3>; [50.00%]
  7330. else
  7331. goto <bb 4>; [50.00%]
  7332. <bb 3> [local count: 220997]:
  7333. # DEBUG BEGIN_STMT
  7334. xYieldPending ={v} 1;
  7335. goto <bb 13>; [100.00%]
  7336. <bb 4> [local count: 220997]:
  7337. # DEBUG BEGIN_STMT
  7338. xYieldPending ={v} 0;
  7339. # DEBUG BEGIN_STMT
  7340. # DEBUG BEGIN_STMT
  7341. # DEBUG BEGIN_STMT
  7342. uxTopPriority_15 ={v} uxTopReadyPriority;
  7343. # DEBUG uxTopPriority => uxTopPriority_15
  7344. # DEBUG BEGIN_STMT
  7345. goto <bb 9>; [100.00%]
  7346. <bb 5> [local count: 1952255]:
  7347. # DEBUG BEGIN_STMT
  7348. if (uxTopPriority_11 == 0)
  7349. goto <bb 6>; [5.50%]
  7350. else
  7351. goto <bb 8>; [94.50%]
  7352. <bb 6> [local count: 107374]:
  7353. # DEBUG INLINE_ENTRY vTaskSwitchContext
  7354. # DEBUG BEGIN_STMT
  7355. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7356. # DEBUG BEGIN_STMT
  7357. # DEBUG BEGIN_STMT
  7358. __asm__ __volatile__(" mov %0, %1
  7359. msr basepri, %0
  7360. isb
  7361. dsb
  7362. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  7363. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  7364. <bb 7> [local count: 1073741824]:
  7365. # DEBUG ulNewBASEPRI => NULL
  7366. # DEBUG BEGIN_STMT
  7367. # DEBUG BEGIN_STMT
  7368. # DEBUG BEGIN_STMT
  7369. goto <bb 7>; [100.00%]
  7370. <bb 8> [local count: 1844881]:
  7371. # DEBUG BEGIN_STMT
  7372. # DEBUG BEGIN_STMT
  7373. uxTopPriority_21 = uxTopPriority_11 + 4294967295;
  7374. # DEBUG uxTopPriority => uxTopPriority_21
  7375. <bb 9> [local count: 2065878]:
  7376. # uxTopPriority_11 = PHI <uxTopPriority_15(4), uxTopPriority_21(8)>
  7377. # DEBUG uxTopPriority => uxTopPriority_11
  7378. # DEBUG BEGIN_STMT
  7379. _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems;
  7380. if (_2 == 0)
  7381. goto <bb 5>; [94.50%]
  7382. else
  7383. goto <bb 10>; [5.50%]
  7384. <bb 10> [local count: 113623]:
  7385. # uxTopPriority_5 = PHI <uxTopPriority_11(9)>
  7386. # DEBUG BEGIN_STMT
  7387. # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5]
  7388. # DEBUG pxConstList => D#6
  7389. # DEBUG BEGIN_STMT
  7390. _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  7391. _4 = _3->pxNext;
  7392. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4;
  7393. # DEBUG BEGIN_STMT
  7394. _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd;
  7395. if (_4 == _6)
  7396. goto <bb 11>; [30.00%]
  7397. else
  7398. goto <bb 12>; [70.00%]
  7399. <bb 11> [local count: 34087]:
  7400. # DEBUG BEGIN_STMT
  7401. _8 = MEM[(struct ListItem_t *)_4].pxNext;
  7402. MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8;
  7403. <bb 12> [local count: 113623]:
  7404. # DEBUG BEGIN_STMT
  7405. _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
  7406. _10 = _9->pvOwner;
  7407. pxCurrentTCB ={v} _10;
  7408. # DEBUG BEGIN_STMT
  7409. # DEBUG BEGIN_STMT
  7410. uxTopReadyPriority ={v} uxTopPriority_5;
  7411. <bb 13> [local count: 334621]:
  7412. # DEBUG BEGIN_STMT
  7413. # DEBUG BEGIN_STMT
  7414. return;
  7415. }
  7416. ;; Function vTaskSuspend (vTaskSuspend, funcdef_no=17, decl_uid=6167, cgraph_uid=18, symbol_order=39)
  7417. vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
  7418. {
  7419. uint32_t ulNewBASEPRI;
  7420. BaseType_t x;
  7421. struct ListItem_t * _1;
  7422. struct xLIST * _2;
  7423. struct ListItem_t * _3;
  7424. unsigned char _4;
  7425. long int xSchedulerRunning.46_5;
  7426. struct TCB_t * pxCurrentTCB.47_6;
  7427. long int xSchedulerRunning.48_7;
  7428. long unsigned int uxSchedulerSuspended.49_8;
  7429. long unsigned int _9;
  7430. long unsigned int uxCurrentNumberOfTasks.50_10;
  7431. struct TCB_t * iftmp.45_12;
  7432. struct TCB_t * iftmp.45_21;
  7433. <bb 2> [local count: 1431653]:
  7434. # DEBUG BEGIN_STMT
  7435. # DEBUG BEGIN_STMT
  7436. vPortEnterCritical ();
  7437. # DEBUG BEGIN_STMT
  7438. if (xTaskToSuspend_20(D) == 0B)
  7439. goto <bb 3>; [30.00%]
  7440. else
  7441. goto <bb 4>; [70.00%]
  7442. <bb 3> [local count: 429496]:
  7443. iftmp.45_21 ={v} pxCurrentTCB;
  7444. <bb 4> [local count: 1431653]:
  7445. # iftmp.45_12 = PHI <iftmp.45_21(3), xTaskToSuspend_20(D)(2)>
  7446. # DEBUG pxTCB => iftmp.45_12
  7447. # DEBUG BEGIN_STMT
  7448. # DEBUG BEGIN_STMT
  7449. _1 = &iftmp.45_12->xStateListItem;
  7450. uxListRemove (_1);
  7451. # DEBUG BEGIN_STMT
  7452. # DEBUG BEGIN_STMT
  7453. _2 = iftmp.45_12->xEventListItem.pvContainer;
  7454. if (_2 != 0B)
  7455. goto <bb 5>; [53.47%]
  7456. else
  7457. goto <bb 6>; [46.53%]
  7458. <bb 5> [local count: 765505]:
  7459. # DEBUG BEGIN_STMT
  7460. _3 = &iftmp.45_12->xEventListItem;
  7461. uxListRemove (_3);
  7462. <bb 6> [local count: 1431653]:
  7463. # DEBUG BEGIN_STMT
  7464. # DEBUG BEGIN_STMT
  7465. vListInsertEnd (&xSuspendedTaskList, _1);
  7466. # DEBUG BEGIN_STMT
  7467. # DEBUG BEGIN_STMT
  7468. # DEBUG x => 0
  7469. goto <bb 9>; [100.00%]
  7470. <bb 7> [local count: 24598407]:
  7471. # DEBUG BEGIN_STMT
  7472. _4 ={v} iftmp.45_12->ucNotifyState[0];
  7473. if (_4 == 1)
  7474. goto <bb 8>; [67.00%]
  7475. else
  7476. goto <bb 24>; [33.00%]
  7477. <bb 24> [local count: 8117474]:
  7478. goto <bb 10>; [100.00%]
  7479. <bb 8> [local count: 16480933]:
  7480. # DEBUG BEGIN_STMT
  7481. iftmp.45_12->ucNotifyState[0] ={v} 0;
  7482. <bb 9> [local count: 17912586]:
  7483. # x_14 = PHI <0(6), 1(8)>
  7484. <bb 10> [local count: 26030061]:
  7485. # x_11 = PHI <x_14(9), 1(24)>
  7486. # DEBUG x => x_11
  7487. # DEBUG BEGIN_STMT
  7488. if (x_11 == 0)
  7489. goto <bb 7>; [94.50%]
  7490. else
  7491. goto <bb 11>; [5.50%]
  7492. <bb 11> [local count: 1431653]:
  7493. # DEBUG BEGIN_STMT
  7494. vPortExitCritical ();
  7495. # DEBUG BEGIN_STMT
  7496. xSchedulerRunning.46_5 ={v} xSchedulerRunning;
  7497. if (xSchedulerRunning.46_5 != 0)
  7498. goto <bb 12>; [33.00%]
  7499. else
  7500. goto <bb 13>; [67.00%]
  7501. <bb 12> [local count: 472446]:
  7502. # DEBUG BEGIN_STMT
  7503. vPortEnterCritical ();
  7504. # DEBUG BEGIN_STMT
  7505. prvResetNextTaskUnblockTime ();
  7506. # DEBUG BEGIN_STMT
  7507. vPortExitCritical ();
  7508. <bb 13> [local count: 1431653]:
  7509. # DEBUG BEGIN_STMT
  7510. # DEBUG BEGIN_STMT
  7511. pxCurrentTCB.47_6 ={v} pxCurrentTCB;
  7512. if (pxCurrentTCB.47_6 == iftmp.45_12)
  7513. goto <bb 14>; [30.00%]
  7514. else
  7515. goto <bb 22>; [70.00%]
  7516. <bb 14> [local count: 429496]:
  7517. # DEBUG BEGIN_STMT
  7518. xSchedulerRunning.48_7 ={v} xSchedulerRunning;
  7519. if (xSchedulerRunning.48_7 != 0)
  7520. goto <bb 15>; [50.00%]
  7521. else
  7522. goto <bb 19>; [50.00%]
  7523. <bb 15> [local count: 214748]:
  7524. # DEBUG BEGIN_STMT
  7525. uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended;
  7526. if (uxSchedulerSuspended.49_8 != 0)
  7527. goto <bb 16>; [50.00%]
  7528. else
  7529. goto <bb 18>; [50.00%]
  7530. <bb 16> [local count: 107374]:
  7531. # DEBUG BEGIN_STMT
  7532. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7533. # DEBUG BEGIN_STMT
  7534. # DEBUG BEGIN_STMT
  7535. __asm__ __volatile__(" mov %0, %1
  7536. msr basepri, %0
  7537. isb
  7538. dsb
  7539. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  7540. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  7541. <bb 17> [local count: 1073741824]:
  7542. # DEBUG ulNewBASEPRI => NULL
  7543. # DEBUG BEGIN_STMT
  7544. # DEBUG BEGIN_STMT
  7545. # DEBUG BEGIN_STMT
  7546. <bb 23> [local count: 1073741824]:
  7547. goto <bb 17>; [100.00%]
  7548. <bb 18> [local count: 107374]:
  7549. # DEBUG BEGIN_STMT
  7550. # DEBUG BEGIN_STMT
  7551. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  7552. # DEBUG BEGIN_STMT
  7553. __asm__ __volatile__("dsb" : : : "memory");
  7554. # DEBUG BEGIN_STMT
  7555. __asm__ __volatile__("isb");
  7556. # DEBUG BEGIN_STMT
  7557. goto <bb 22>; [100.00%]
  7558. <bb 19> [local count: 214748]:
  7559. # DEBUG BEGIN_STMT
  7560. _9 ={v} xSuspendedTaskList.uxNumberOfItems;
  7561. uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks;
  7562. if (_9 == uxCurrentNumberOfTasks.50_10)
  7563. goto <bb 20>; [51.12%]
  7564. else
  7565. goto <bb 21>; [48.88%]
  7566. <bb 20> [local count: 109779]:
  7567. # DEBUG BEGIN_STMT
  7568. pxCurrentTCB ={v} 0B;
  7569. goto <bb 22>; [100.00%]
  7570. <bb 21> [local count: 104969]:
  7571. # DEBUG BEGIN_STMT
  7572. vTaskSwitchContext ();
  7573. <bb 22> [local count: 1324279]:
  7574. # DEBUG BEGIN_STMT
  7575. return;
  7576. }
  7577. ;; Function vTaskPlaceOnEventList (vTaskPlaceOnEventList, funcdef_no=36, decl_uid=6254, cgraph_uid=37, symbol_order=58)
  7578. vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
  7579. {
  7580. uint32_t ulNewBASEPRI;
  7581. struct TCB_t * pxCurrentTCB.93_1;
  7582. struct ListItem_t * _2;
  7583. <bb 2> [local count: 230763]:
  7584. # DEBUG BEGIN_STMT
  7585. if (pxEventList_3(D) == 0B)
  7586. goto <bb 3>; [46.53%]
  7587. else
  7588. goto <bb 5>; [53.47%]
  7589. <bb 3> [local count: 107374]:
  7590. # DEBUG BEGIN_STMT
  7591. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7592. # DEBUG BEGIN_STMT
  7593. # DEBUG BEGIN_STMT
  7594. __asm__ __volatile__(" mov %0, %1
  7595. msr basepri, %0
  7596. isb
  7597. dsb
  7598. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  7599. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  7600. <bb 4> [local count: 1073741824]:
  7601. # DEBUG ulNewBASEPRI => NULL
  7602. # DEBUG BEGIN_STMT
  7603. # DEBUG BEGIN_STMT
  7604. # DEBUG BEGIN_STMT
  7605. <bb 6> [local count: 1073741824]:
  7606. goto <bb 4>; [100.00%]
  7607. <bb 5> [local count: 123389]:
  7608. # DEBUG BEGIN_STMT
  7609. # DEBUG BEGIN_STMT
  7610. pxCurrentTCB.93_1 ={v} pxCurrentTCB;
  7611. _2 = &pxCurrentTCB.93_1->xEventListItem;
  7612. vListInsert (pxEventList_3(D), _2);
  7613. # DEBUG BEGIN_STMT
  7614. prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1);
  7615. return;
  7616. }
  7617. ;; Function vTaskPlaceOnUnorderedEventList (vTaskPlaceOnUnorderedEventList, funcdef_no=37, decl_uid=6258, cgraph_uid=38, symbol_order=59)
  7618. vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
  7619. {
  7620. uint32_t ulNewBASEPRI;
  7621. uint32_t ulNewBASEPRI;
  7622. struct ListItem_t * const pxIndex;
  7623. long unsigned int uxSchedulerSuspended.94_1;
  7624. struct TCB_t * pxCurrentTCB.95_2;
  7625. long unsigned int _3;
  7626. struct TCB_t * pxCurrentTCB.96_4;
  7627. struct TCB_t * pxCurrentTCB.97_5;
  7628. struct xLIST_ITEM * _6;
  7629. struct TCB_t * pxCurrentTCB.98_7;
  7630. struct xLIST_ITEM * _8;
  7631. struct ListItem_t * _9;
  7632. struct TCB_t * pxCurrentTCB.99_10;
  7633. struct ListItem_t * _11;
  7634. struct TCB_t * pxCurrentTCB.100_12;
  7635. long unsigned int _13;
  7636. long unsigned int _14;
  7637. <bb 2> [local count: 228942]:
  7638. # DEBUG BEGIN_STMT
  7639. if (pxEventList_15(D) == 0B)
  7640. goto <bb 3>; [30.00%]
  7641. else
  7642. goto <bb 5>; [70.00%]
  7643. <bb 3> [local count: 68683]:
  7644. # DEBUG BEGIN_STMT
  7645. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7646. # DEBUG BEGIN_STMT
  7647. # DEBUG BEGIN_STMT
  7648. __asm__ __volatile__(" mov %0, %1
  7649. msr basepri, %0
  7650. isb
  7651. dsb
  7652. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  7653. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  7654. <bb 4> [local count: 686828460]:
  7655. # DEBUG ulNewBASEPRI => NULL
  7656. # DEBUG BEGIN_STMT
  7657. # DEBUG BEGIN_STMT
  7658. # DEBUG BEGIN_STMT
  7659. <bb 9> [local count: 686828460]:
  7660. goto <bb 4>; [100.00%]
  7661. <bb 5> [local count: 160260]:
  7662. # DEBUG BEGIN_STMT
  7663. # DEBUG BEGIN_STMT
  7664. uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended;
  7665. if (uxSchedulerSuspended.94_1 == 0)
  7666. goto <bb 6>; [67.00%]
  7667. else
  7668. goto <bb 8>; [33.00%]
  7669. <bb 6> [local count: 107374]:
  7670. # DEBUG BEGIN_STMT
  7671. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7672. # DEBUG BEGIN_STMT
  7673. # DEBUG BEGIN_STMT
  7674. __asm__ __volatile__(" mov %0, %1
  7675. msr basepri, %0
  7676. isb
  7677. dsb
  7678. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  7679. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  7680. <bb 7> [local count: 1073741824]:
  7681. # DEBUG ulNewBASEPRI => NULL
  7682. # DEBUG BEGIN_STMT
  7683. # DEBUG BEGIN_STMT
  7684. # DEBUG BEGIN_STMT
  7685. <bb 10> [local count: 1073741824]:
  7686. goto <bb 7>; [100.00%]
  7687. <bb 8> [local count: 52886]:
  7688. # DEBUG BEGIN_STMT
  7689. # DEBUG BEGIN_STMT
  7690. pxCurrentTCB.95_2 ={v} pxCurrentTCB;
  7691. _3 = xItemValue_17(D) | 2147483648;
  7692. pxCurrentTCB.95_2->xEventListItem.xItemValue = _3;
  7693. # DEBUG BEGIN_STMT
  7694. pxIndex_19 = pxEventList_15(D)->pxIndex;
  7695. # DEBUG pxIndex => pxIndex_19
  7696. # DEBUG BEGIN_STMT
  7697. # DEBUG BEGIN_STMT
  7698. # DEBUG BEGIN_STMT
  7699. pxCurrentTCB.96_4 ={v} pxCurrentTCB;
  7700. pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19;
  7701. # DEBUG BEGIN_STMT
  7702. pxCurrentTCB.97_5 ={v} pxCurrentTCB;
  7703. _6 = pxIndex_19->pxPrevious;
  7704. pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6;
  7705. # DEBUG BEGIN_STMT
  7706. pxCurrentTCB.98_7 ={v} pxCurrentTCB;
  7707. _8 = pxIndex_19->pxPrevious;
  7708. _9 = &pxCurrentTCB.98_7->xEventListItem;
  7709. _8->pxNext = _9;
  7710. # DEBUG BEGIN_STMT
  7711. pxCurrentTCB.99_10 ={v} pxCurrentTCB;
  7712. _11 = &pxCurrentTCB.99_10->xEventListItem;
  7713. pxIndex_19->pxPrevious = _11;
  7714. # DEBUG BEGIN_STMT
  7715. pxCurrentTCB.100_12 ={v} pxCurrentTCB;
  7716. pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D);
  7717. # DEBUG BEGIN_STMT
  7718. _13 ={v} pxEventList_15(D)->uxNumberOfItems;
  7719. _14 = _13 + 1;
  7720. pxEventList_15(D)->uxNumberOfItems ={v} _14;
  7721. # DEBUG BEGIN_STMT
  7722. # DEBUG BEGIN_STMT
  7723. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  7724. return;
  7725. }
  7726. ;; Function vTaskPlaceOnEventListRestricted (vTaskPlaceOnEventListRestricted, funcdef_no=38, decl_uid=6262, cgraph_uid=39, symbol_order=60)
  7727. vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  7728. {
  7729. uint32_t ulNewBASEPRI;
  7730. struct ListItem_t * const pxIndex;
  7731. struct TCB_t * pxCurrentTCB.101_1;
  7732. struct TCB_t * pxCurrentTCB.102_2;
  7733. struct xLIST_ITEM * _3;
  7734. struct TCB_t * pxCurrentTCB.103_4;
  7735. struct xLIST_ITEM * _5;
  7736. struct ListItem_t * _6;
  7737. struct TCB_t * pxCurrentTCB.104_7;
  7738. struct ListItem_t * _8;
  7739. struct TCB_t * pxCurrentTCB.105_9;
  7740. long unsigned int _10;
  7741. long unsigned int _11;
  7742. <bb 2> [local count: 357913]:
  7743. # DEBUG BEGIN_STMT
  7744. if (pxEventList_13(D) == 0B)
  7745. goto <bb 3>; [30.00%]
  7746. else
  7747. goto <bb 5>; [70.00%]
  7748. <bb 3> [local count: 107374]:
  7749. # DEBUG BEGIN_STMT
  7750. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7751. # DEBUG BEGIN_STMT
  7752. # DEBUG BEGIN_STMT
  7753. __asm__ __volatile__(" mov %0, %1
  7754. msr basepri, %0
  7755. isb
  7756. dsb
  7757. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  7758. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  7759. <bb 4> [local count: 1073741824]:
  7760. # DEBUG ulNewBASEPRI => NULL
  7761. # DEBUG BEGIN_STMT
  7762. # DEBUG BEGIN_STMT
  7763. # DEBUG BEGIN_STMT
  7764. <bb 8> [local count: 1073741824]:
  7765. goto <bb 4>; [100.00%]
  7766. <bb 5> [local count: 250539]:
  7767. # DEBUG BEGIN_STMT
  7768. # DEBUG BEGIN_STMT
  7769. pxIndex_15 = pxEventList_13(D)->pxIndex;
  7770. # DEBUG pxIndex => pxIndex_15
  7771. # DEBUG BEGIN_STMT
  7772. # DEBUG BEGIN_STMT
  7773. # DEBUG BEGIN_STMT
  7774. pxCurrentTCB.101_1 ={v} pxCurrentTCB;
  7775. pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15;
  7776. # DEBUG BEGIN_STMT
  7777. pxCurrentTCB.102_2 ={v} pxCurrentTCB;
  7778. _3 = pxIndex_15->pxPrevious;
  7779. pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3;
  7780. # DEBUG BEGIN_STMT
  7781. pxCurrentTCB.103_4 ={v} pxCurrentTCB;
  7782. _5 = pxIndex_15->pxPrevious;
  7783. _6 = &pxCurrentTCB.103_4->xEventListItem;
  7784. _5->pxNext = _6;
  7785. # DEBUG BEGIN_STMT
  7786. pxCurrentTCB.104_7 ={v} pxCurrentTCB;
  7787. _8 = &pxCurrentTCB.104_7->xEventListItem;
  7788. pxIndex_15->pxPrevious = _8;
  7789. # DEBUG BEGIN_STMT
  7790. pxCurrentTCB.105_9 ={v} pxCurrentTCB;
  7791. pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D);
  7792. # DEBUG BEGIN_STMT
  7793. _10 ={v} pxEventList_13(D)->uxNumberOfItems;
  7794. _11 = _10 + 1;
  7795. pxEventList_13(D)->uxNumberOfItems ={v} _11;
  7796. # DEBUG BEGIN_STMT
  7797. # DEBUG BEGIN_STMT
  7798. if (xWaitIndefinitely_22(D) != 0)
  7799. goto <bb 6>; [50.00%]
  7800. else
  7801. goto <bb 7>; [50.00%]
  7802. <bb 6> [local count: 125270]:
  7803. # DEBUG BEGIN_STMT
  7804. # DEBUG xTicksToWait => 4294967295
  7805. <bb 7> [local count: 250539]:
  7806. # xTicksToWait_12 = PHI <xTicksToWait_23(D)(5), 4294967295(6)>
  7807. # DEBUG xTicksToWait => xTicksToWait_12
  7808. # DEBUG BEGIN_STMT
  7809. # DEBUG BEGIN_STMT
  7810. prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D));
  7811. return;
  7812. }
  7813. ;; Function xTaskRemoveFromEventList (xTaskRemoveFromEventList, funcdef_no=39, decl_uid=6264, cgraph_uid=40, symbol_order=61)
  7814. xTaskRemoveFromEventList (const struct List_t * const pxEventList)
  7815. {
  7816. uint32_t ulNewBASEPRI;
  7817. struct ListItem_t * const pxIndex;
  7818. struct ListItem_t * const pxIndex;
  7819. struct List_t * const pxList;
  7820. struct List_t * const pxList;
  7821. BaseType_t xReturn;
  7822. struct TCB_t * pxUnblockedTCB;
  7823. struct xLIST_ITEM * _1;
  7824. struct xLIST_ITEM * _2;
  7825. struct xLIST_ITEM * _3;
  7826. struct ListItem_t * _4;
  7827. struct ListItem_t * _5;
  7828. long unsigned int _6;
  7829. long unsigned int _7;
  7830. long unsigned int uxSchedulerSuspended.106_8;
  7831. struct xLIST_ITEM * _9;
  7832. struct xLIST_ITEM * _10;
  7833. struct xLIST_ITEM * _11;
  7834. struct ListItem_t * _12;
  7835. struct ListItem_t * _13;
  7836. long unsigned int _14;
  7837. long unsigned int _15;
  7838. long unsigned int _16;
  7839. long unsigned int uxTopReadyPriority.107_17;
  7840. struct xLIST_ITEM * _18;
  7841. struct xLIST_ITEM * _19;
  7842. struct List_t * _20;
  7843. long unsigned int _21;
  7844. long unsigned int _22;
  7845. struct xLIST_ITEM * _23;
  7846. struct xLIST_ITEM * _24;
  7847. long unsigned int _25;
  7848. long unsigned int _26;
  7849. long unsigned int _27;
  7850. struct TCB_t * pxCurrentTCB.108_28;
  7851. long unsigned int _29;
  7852. <bb 2> [local count: 357913]:
  7853. # DEBUG BEGIN_STMT
  7854. # DEBUG BEGIN_STMT
  7855. # DEBUG BEGIN_STMT
  7856. _1 = pxEventList_37(D)->xListEnd.pxNext;
  7857. pxUnblockedTCB_38 = _1->pvOwner;
  7858. # DEBUG pxUnblockedTCB => pxUnblockedTCB_38
  7859. # DEBUG BEGIN_STMT
  7860. if (pxUnblockedTCB_38 == 0B)
  7861. goto <bb 3>; [30.00%]
  7862. else
  7863. goto <bb 5>; [70.00%]
  7864. <bb 3> [local count: 107374]:
  7865. # DEBUG BEGIN_STMT
  7866. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7867. # DEBUG BEGIN_STMT
  7868. # DEBUG BEGIN_STMT
  7869. __asm__ __volatile__(" mov %0, %1
  7870. msr basepri, %0
  7871. isb
  7872. dsb
  7873. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  7874. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  7875. <bb 4> [local count: 1073741824]:
  7876. # DEBUG ulNewBASEPRI => NULL
  7877. # DEBUG BEGIN_STMT
  7878. # DEBUG BEGIN_STMT
  7879. # DEBUG BEGIN_STMT
  7880. <bb 17> [local count: 1073741824]:
  7881. goto <bb 4>; [100.00%]
  7882. <bb 5> [local count: 250539]:
  7883. # DEBUG BEGIN_STMT
  7884. # DEBUG BEGIN_STMT
  7885. pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer;
  7886. # DEBUG pxList => pxList_39
  7887. # DEBUG BEGIN_STMT
  7888. _2 = pxUnblockedTCB_38->xEventListItem.pxNext;
  7889. _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious;
  7890. _2->pxPrevious = _3;
  7891. # DEBUG BEGIN_STMT
  7892. _3->pxNext = _2;
  7893. # DEBUG BEGIN_STMT
  7894. _4 = pxList_39->pxIndex;
  7895. _5 = &pxUnblockedTCB_38->xEventListItem;
  7896. if (_4 == _5)
  7897. goto <bb 6>; [30.00%]
  7898. else
  7899. goto <bb 7>; [70.00%]
  7900. <bb 6> [local count: 75162]:
  7901. # DEBUG BEGIN_STMT
  7902. pxList_39->pxIndex = _3;
  7903. <bb 7> [local count: 250539]:
  7904. # DEBUG BEGIN_STMT
  7905. pxUnblockedTCB_38->xEventListItem.pvContainer = 0B;
  7906. # DEBUG BEGIN_STMT
  7907. _6 ={v} pxList_39->uxNumberOfItems;
  7908. _7 = _6 + 4294967295;
  7909. pxList_39->uxNumberOfItems ={v} _7;
  7910. # DEBUG BEGIN_STMT
  7911. # DEBUG BEGIN_STMT
  7912. uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended;
  7913. if (uxSchedulerSuspended.106_8 == 0)
  7914. goto <bb 8>; [50.00%]
  7915. else
  7916. goto <bb 13>; [50.00%]
  7917. <bb 8> [local count: 125270]:
  7918. # DEBUG BEGIN_STMT
  7919. pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer;
  7920. # DEBUG pxList => pxList_52
  7921. # DEBUG BEGIN_STMT
  7922. _9 = pxUnblockedTCB_38->xStateListItem.pxNext;
  7923. _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  7924. _9->pxPrevious = _10;
  7925. # DEBUG BEGIN_STMT
  7926. _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
  7927. _11->pxNext = _9;
  7928. # DEBUG BEGIN_STMT
  7929. _12 = pxList_52->pxIndex;
  7930. _13 = &pxUnblockedTCB_38->xStateListItem;
  7931. if (_12 == _13)
  7932. goto <bb 9>; [30.00%]
  7933. else
  7934. goto <bb 10>; [70.00%]
  7935. <bb 9> [local count: 37581]:
  7936. # DEBUG BEGIN_STMT
  7937. pxList_52->pxIndex = _11;
  7938. <bb 10> [local count: 125270]:
  7939. # DEBUG BEGIN_STMT
  7940. # DEBUG BEGIN_STMT
  7941. _14 ={v} pxList_52->uxNumberOfItems;
  7942. _15 = _14 + 4294967295;
  7943. pxList_52->uxNumberOfItems ={v} _15;
  7944. # DEBUG BEGIN_STMT
  7945. # DEBUG BEGIN_STMT
  7946. # DEBUG BEGIN_STMT
  7947. _16 = pxUnblockedTCB_38->uxPriority;
  7948. uxTopReadyPriority.107_17 ={v} uxTopReadyPriority;
  7949. if (_16 > uxTopReadyPriority.107_17)
  7950. goto <bb 11>; [50.00%]
  7951. else
  7952. goto <bb 12>; [50.00%]
  7953. <bb 11> [local count: 62635]:
  7954. # DEBUG BEGIN_STMT
  7955. uxTopReadyPriority ={v} _16;
  7956. <bb 12> [local count: 125270]:
  7957. # DEBUG BEGIN_STMT
  7958. # DEBUG BEGIN_STMT
  7959. pxIndex_58 = pxReadyTasksLists[_16].pxIndex;
  7960. # DEBUG pxIndex => pxIndex_58
  7961. # DEBUG BEGIN_STMT
  7962. # DEBUG BEGIN_STMT
  7963. # DEBUG BEGIN_STMT
  7964. pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58;
  7965. # DEBUG BEGIN_STMT
  7966. _18 = pxIndex_58->pxPrevious;
  7967. pxUnblockedTCB_38->xStateListItem.pxPrevious = _18;
  7968. # DEBUG BEGIN_STMT
  7969. _19 = pxIndex_58->pxPrevious;
  7970. _19->pxNext = _13;
  7971. # DEBUG BEGIN_STMT
  7972. pxIndex_58->pxPrevious = _13;
  7973. # DEBUG BEGIN_STMT
  7974. _20 = &pxReadyTasksLists[_16];
  7975. pxUnblockedTCB_38->xStateListItem.pvContainer = _20;
  7976. # DEBUG BEGIN_STMT
  7977. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  7978. _22 = _21 + 1;
  7979. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  7980. # DEBUG BEGIN_STMT
  7981. # DEBUG BEGIN_STMT
  7982. goto <bb 14>; [100.00%]
  7983. <bb 13> [local count: 125270]:
  7984. # DEBUG BEGIN_STMT
  7985. pxIndex_45 = xPendingReadyList.pxIndex;
  7986. # DEBUG pxIndex => pxIndex_45
  7987. # DEBUG BEGIN_STMT
  7988. # DEBUG BEGIN_STMT
  7989. # DEBUG BEGIN_STMT
  7990. pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45;
  7991. # DEBUG BEGIN_STMT
  7992. _23 = pxIndex_45->pxPrevious;
  7993. pxUnblockedTCB_38->xEventListItem.pxPrevious = _23;
  7994. # DEBUG BEGIN_STMT
  7995. _24 = pxIndex_45->pxPrevious;
  7996. _24->pxNext = _5;
  7997. # DEBUG BEGIN_STMT
  7998. pxIndex_45->pxPrevious = _5;
  7999. # DEBUG BEGIN_STMT
  8000. pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList;
  8001. # DEBUG BEGIN_STMT
  8002. _25 ={v} xPendingReadyList.uxNumberOfItems;
  8003. _26 = _25 + 1;
  8004. xPendingReadyList.uxNumberOfItems ={v} _26;
  8005. <bb 14> [local count: 250539]:
  8006. # DEBUG BEGIN_STMT
  8007. # DEBUG BEGIN_STMT
  8008. _27 = pxUnblockedTCB_38->uxPriority;
  8009. pxCurrentTCB.108_28 ={v} pxCurrentTCB;
  8010. _29 = pxCurrentTCB.108_28->uxPriority;
  8011. if (_27 > _29)
  8012. goto <bb 15>; [50.00%]
  8013. else
  8014. goto <bb 16>; [50.00%]
  8015. <bb 15> [local count: 125270]:
  8016. # DEBUG BEGIN_STMT
  8017. # DEBUG xReturn => 1
  8018. # DEBUG BEGIN_STMT
  8019. xYieldPending ={v} 1;
  8020. <bb 16> [local count: 250539]:
  8021. # xReturn_30 = PHI <1(15), 0(14)>
  8022. # DEBUG xReturn => xReturn_30
  8023. # DEBUG BEGIN_STMT
  8024. return xReturn_30;
  8025. }
  8026. ;; Function vTaskRemoveFromUnorderedEventList (vTaskRemoveFromUnorderedEventList, funcdef_no=40, decl_uid=6267, cgraph_uid=41, symbol_order=62)
  8027. vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
  8028. {
  8029. uint32_t ulNewBASEPRI;
  8030. uint32_t ulNewBASEPRI;
  8031. struct ListItem_t * const pxIndex;
  8032. struct List_t * const pxList;
  8033. struct List_t * const pxList;
  8034. struct TCB_t * pxUnblockedTCB;
  8035. long unsigned int uxSchedulerSuspended.109_1;
  8036. long unsigned int _2;
  8037. struct xLIST_ITEM * _3;
  8038. struct xLIST_ITEM * _4;
  8039. struct xLIST_ITEM * _5;
  8040. struct ListItem_t * _6;
  8041. long unsigned int _7;
  8042. long unsigned int _8;
  8043. struct xLIST_ITEM * _9;
  8044. struct xLIST_ITEM * _10;
  8045. struct xLIST_ITEM * _11;
  8046. struct ListItem_t * _12;
  8047. struct ListItem_t * _13;
  8048. long unsigned int _14;
  8049. long unsigned int _15;
  8050. long unsigned int _16;
  8051. long unsigned int uxTopReadyPriority.110_17;
  8052. struct xLIST_ITEM * _18;
  8053. struct xLIST_ITEM * _19;
  8054. struct List_t * _20;
  8055. long unsigned int _21;
  8056. long unsigned int _22;
  8057. struct TCB_t * pxCurrentTCB.111_23;
  8058. long unsigned int _24;
  8059. <bb 2> [local count: 214748]:
  8060. # DEBUG BEGIN_STMT
  8061. # DEBUG BEGIN_STMT
  8062. uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended;
  8063. if (uxSchedulerSuspended.109_1 == 0)
  8064. goto <bb 3>; [50.00%]
  8065. else
  8066. goto <bb 5>; [50.00%]
  8067. <bb 3> [local count: 107374]:
  8068. # DEBUG BEGIN_STMT
  8069. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8070. # DEBUG BEGIN_STMT
  8071. # DEBUG BEGIN_STMT
  8072. __asm__ __volatile__(" mov %0, %1
  8073. msr basepri, %0
  8074. isb
  8075. dsb
  8076. " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
  8077. # DEBUG ulNewBASEPRI => ulNewBASEPRI_54
  8078. <bb 4> [local count: 1073741824]:
  8079. # DEBUG ulNewBASEPRI => NULL
  8080. # DEBUG BEGIN_STMT
  8081. # DEBUG BEGIN_STMT
  8082. # DEBUG BEGIN_STMT
  8083. <bb 17> [local count: 1073741824]:
  8084. goto <bb 4>; [100.00%]
  8085. <bb 5> [local count: 107374]:
  8086. # DEBUG BEGIN_STMT
  8087. # DEBUG BEGIN_STMT
  8088. _2 = xItemValue_30(D) | 2147483648;
  8089. pxEventListItem_31(D)->xItemValue = _2;
  8090. # DEBUG BEGIN_STMT
  8091. pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner;
  8092. # DEBUG pxUnblockedTCB => pxUnblockedTCB_33
  8093. # DEBUG BEGIN_STMT
  8094. if (pxUnblockedTCB_33 == 0B)
  8095. goto <bb 6>; [30.00%]
  8096. else
  8097. goto <bb 8>; [70.00%]
  8098. <bb 6> [local count: 32212]:
  8099. # DEBUG BEGIN_STMT
  8100. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8101. # DEBUG BEGIN_STMT
  8102. # DEBUG BEGIN_STMT
  8103. __asm__ __volatile__(" mov %0, %1
  8104. msr basepri, %0
  8105. isb
  8106. dsb
  8107. " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
  8108. # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
  8109. <bb 7> [local count: 322122547]:
  8110. # DEBUG ulNewBASEPRI => NULL
  8111. # DEBUG BEGIN_STMT
  8112. # DEBUG BEGIN_STMT
  8113. # DEBUG BEGIN_STMT
  8114. <bb 18> [local count: 322122547]:
  8115. goto <bb 7>; [100.00%]
  8116. <bb 8> [local count: 75162]:
  8117. # DEBUG BEGIN_STMT
  8118. # DEBUG BEGIN_STMT
  8119. pxList_34 = pxEventListItem_31(D)->pvContainer;
  8120. # DEBUG pxList => pxList_34
  8121. # DEBUG BEGIN_STMT
  8122. _3 = pxEventListItem_31(D)->pxNext;
  8123. _4 = pxEventListItem_31(D)->pxPrevious;
  8124. _3->pxPrevious = _4;
  8125. # DEBUG BEGIN_STMT
  8126. _5 = pxEventListItem_31(D)->pxPrevious;
  8127. _5->pxNext = _3;
  8128. # DEBUG BEGIN_STMT
  8129. _6 = pxList_34->pxIndex;
  8130. if (_6 == pxEventListItem_31(D))
  8131. goto <bb 9>; [30.00%]
  8132. else
  8133. goto <bb 10>; [70.00%]
  8134. <bb 9> [local count: 22549]:
  8135. # DEBUG BEGIN_STMT
  8136. pxList_34->pxIndex = _5;
  8137. <bb 10> [local count: 75162]:
  8138. # DEBUG BEGIN_STMT
  8139. pxEventListItem_31(D)->pvContainer = 0B;
  8140. # DEBUG BEGIN_STMT
  8141. _7 ={v} pxList_34->uxNumberOfItems;
  8142. _8 = _7 + 4294967295;
  8143. pxList_34->uxNumberOfItems ={v} _8;
  8144. # DEBUG BEGIN_STMT
  8145. # DEBUG BEGIN_STMT
  8146. pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer;
  8147. # DEBUG pxList => pxList_40
  8148. # DEBUG BEGIN_STMT
  8149. _9 = pxUnblockedTCB_33->xStateListItem.pxNext;
  8150. _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  8151. _9->pxPrevious = _10;
  8152. # DEBUG BEGIN_STMT
  8153. _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
  8154. _11->pxNext = _9;
  8155. # DEBUG BEGIN_STMT
  8156. _12 = pxList_40->pxIndex;
  8157. _13 = &pxUnblockedTCB_33->xStateListItem;
  8158. if (_12 == _13)
  8159. goto <bb 11>; [30.00%]
  8160. else
  8161. goto <bb 12>; [70.00%]
  8162. <bb 11> [local count: 22549]:
  8163. # DEBUG BEGIN_STMT
  8164. pxList_40->pxIndex = _11;
  8165. <bb 12> [local count: 75162]:
  8166. # DEBUG BEGIN_STMT
  8167. # DEBUG BEGIN_STMT
  8168. _14 ={v} pxList_40->uxNumberOfItems;
  8169. _15 = _14 + 4294967295;
  8170. pxList_40->uxNumberOfItems ={v} _15;
  8171. # DEBUG BEGIN_STMT
  8172. # DEBUG BEGIN_STMT
  8173. # DEBUG BEGIN_STMT
  8174. _16 = pxUnblockedTCB_33->uxPriority;
  8175. uxTopReadyPriority.110_17 ={v} uxTopReadyPriority;
  8176. if (_16 > uxTopReadyPriority.110_17)
  8177. goto <bb 13>; [50.00%]
  8178. else
  8179. goto <bb 14>; [50.00%]
  8180. <bb 13> [local count: 37581]:
  8181. # DEBUG BEGIN_STMT
  8182. uxTopReadyPriority ={v} _16;
  8183. <bb 14> [local count: 75162]:
  8184. # DEBUG BEGIN_STMT
  8185. # DEBUG BEGIN_STMT
  8186. pxIndex_46 = pxReadyTasksLists[_16].pxIndex;
  8187. # DEBUG pxIndex => pxIndex_46
  8188. # DEBUG BEGIN_STMT
  8189. # DEBUG BEGIN_STMT
  8190. # DEBUG BEGIN_STMT
  8191. pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46;
  8192. # DEBUG BEGIN_STMT
  8193. _18 = pxIndex_46->pxPrevious;
  8194. pxUnblockedTCB_33->xStateListItem.pxPrevious = _18;
  8195. # DEBUG BEGIN_STMT
  8196. _19 = pxIndex_46->pxPrevious;
  8197. _19->pxNext = _13;
  8198. # DEBUG BEGIN_STMT
  8199. pxIndex_46->pxPrevious = _13;
  8200. # DEBUG BEGIN_STMT
  8201. _20 = &pxReadyTasksLists[_16];
  8202. pxUnblockedTCB_33->xStateListItem.pvContainer = _20;
  8203. # DEBUG BEGIN_STMT
  8204. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  8205. _22 = _21 + 1;
  8206. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  8207. # DEBUG BEGIN_STMT
  8208. # DEBUG BEGIN_STMT
  8209. # DEBUG BEGIN_STMT
  8210. pxCurrentTCB.111_23 ={v} pxCurrentTCB;
  8211. _24 = pxCurrentTCB.111_23->uxPriority;
  8212. if (_16 > _24)
  8213. goto <bb 15>; [50.00%]
  8214. else
  8215. goto <bb 16>; [50.00%]
  8216. <bb 15> [local count: 37581]:
  8217. # DEBUG BEGIN_STMT
  8218. xYieldPending ={v} 1;
  8219. <bb 16> [local count: 75162]:
  8220. return;
  8221. }
  8222. ;; Function vTaskSetTimeOutState (vTaskSetTimeOutState, funcdef_no=41, decl_uid=6244, cgraph_uid=42, symbol_order=63)
  8223. vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  8224. {
  8225. uint32_t ulNewBASEPRI;
  8226. long int xNumOfOverflows.112_1;
  8227. long unsigned int xTickCount.113_2;
  8228. <bb 2> [local count: 230763]:
  8229. # DEBUG BEGIN_STMT
  8230. if (pxTimeOut_3(D) == 0B)
  8231. goto <bb 3>; [46.53%]
  8232. else
  8233. goto <bb 5>; [53.47%]
  8234. <bb 3> [local count: 107374]:
  8235. # DEBUG BEGIN_STMT
  8236. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8237. # DEBUG BEGIN_STMT
  8238. # DEBUG BEGIN_STMT
  8239. __asm__ __volatile__(" mov %0, %1
  8240. msr basepri, %0
  8241. isb
  8242. dsb
  8243. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  8244. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  8245. <bb 4> [local count: 1073741824]:
  8246. # DEBUG ulNewBASEPRI => NULL
  8247. # DEBUG BEGIN_STMT
  8248. # DEBUG BEGIN_STMT
  8249. # DEBUG BEGIN_STMT
  8250. <bb 6> [local count: 1073741824]:
  8251. goto <bb 4>; [100.00%]
  8252. <bb 5> [local count: 123389]:
  8253. # DEBUG BEGIN_STMT
  8254. # DEBUG BEGIN_STMT
  8255. vPortEnterCritical ();
  8256. # DEBUG BEGIN_STMT
  8257. xNumOfOverflows.112_1 ={v} xNumOfOverflows;
  8258. pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1;
  8259. # DEBUG BEGIN_STMT
  8260. xTickCount.113_2 ={v} xTickCount;
  8261. pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2;
  8262. # DEBUG BEGIN_STMT
  8263. vPortExitCritical ();
  8264. return;
  8265. }
  8266. ;; Function vTaskInternalSetTimeOutState (vTaskInternalSetTimeOutState, funcdef_no=42, decl_uid=6297, cgraph_uid=43, symbol_order=64)
  8267. vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
  8268. {
  8269. long int xNumOfOverflows.114_1;
  8270. long unsigned int xTickCount.115_2;
  8271. <bb 2> [local count: 1073741824]:
  8272. # DEBUG BEGIN_STMT
  8273. xNumOfOverflows.114_1 ={v} xNumOfOverflows;
  8274. pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1;
  8275. # DEBUG BEGIN_STMT
  8276. xTickCount.115_2 ={v} xTickCount;
  8277. pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2;
  8278. return;
  8279. }
  8280. ;; Function xTaskCheckForTimeOut (xTaskCheckForTimeOut, funcdef_no=43, decl_uid=6247, cgraph_uid=44, symbol_order=65)
  8281. xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
  8282. {
  8283. uint32_t ulNewBASEPRI;
  8284. uint32_t ulNewBASEPRI;
  8285. const TickType_t xElapsedTime;
  8286. const TickType_t xConstTickCount;
  8287. BaseType_t xReturn;
  8288. long unsigned int _1;
  8289. struct TCB_t * pxCurrentTCB.116_2;
  8290. unsigned char _3;
  8291. struct TCB_t * pxCurrentTCB.117_4;
  8292. long unsigned int _5;
  8293. long int _6;
  8294. long int xNumOfOverflows.118_7;
  8295. long unsigned int _8;
  8296. long unsigned int _17;
  8297. <bb 2> [local count: 329661]:
  8298. # DEBUG BEGIN_STMT
  8299. # DEBUG BEGIN_STMT
  8300. if (pxTimeOut_11(D) == 0B)
  8301. goto <bb 3>; [30.00%]
  8302. else
  8303. goto <bb 5>; [70.00%]
  8304. <bb 3> [local count: 98898]:
  8305. # DEBUG BEGIN_STMT
  8306. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8307. # DEBUG BEGIN_STMT
  8308. # DEBUG BEGIN_STMT
  8309. __asm__ __volatile__(" mov %0, %1
  8310. msr basepri, %0
  8311. isb
  8312. dsb
  8313. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  8314. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  8315. <bb 4> [local count: 988985746]:
  8316. # DEBUG ulNewBASEPRI => NULL
  8317. # DEBUG BEGIN_STMT
  8318. # DEBUG BEGIN_STMT
  8319. # DEBUG BEGIN_STMT
  8320. <bb 18> [local count: 988985746]:
  8321. goto <bb 4>; [100.00%]
  8322. <bb 5> [local count: 230763]:
  8323. # DEBUG BEGIN_STMT
  8324. # DEBUG BEGIN_STMT
  8325. if (pxTicksToWait_12(D) == 0B)
  8326. goto <bb 6>; [46.53%]
  8327. else
  8328. goto <bb 8>; [53.47%]
  8329. <bb 6> [local count: 107374]:
  8330. # DEBUG BEGIN_STMT
  8331. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  8332. # DEBUG BEGIN_STMT
  8333. # DEBUG BEGIN_STMT
  8334. __asm__ __volatile__(" mov %0, %1
  8335. msr basepri, %0
  8336. isb
  8337. dsb
  8338. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  8339. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  8340. <bb 7> [local count: 1073741824]:
  8341. # DEBUG ulNewBASEPRI => NULL
  8342. # DEBUG BEGIN_STMT
  8343. # DEBUG BEGIN_STMT
  8344. # DEBUG BEGIN_STMT
  8345. <bb 19> [local count: 1073741824]:
  8346. goto <bb 7>; [100.00%]
  8347. <bb 8> [local count: 123389]:
  8348. # DEBUG BEGIN_STMT
  8349. # DEBUG BEGIN_STMT
  8350. vPortEnterCritical ();
  8351. # DEBUG BEGIN_STMT
  8352. xConstTickCount_15 ={v} xTickCount;
  8353. # DEBUG xConstTickCount => xConstTickCount_15
  8354. # DEBUG BEGIN_STMT
  8355. _1 = pxTimeOut_11(D)->xTimeOnEntering;
  8356. xElapsedTime_16 = xConstTickCount_15 - _1;
  8357. # DEBUG xElapsedTime => xElapsedTime_16
  8358. # DEBUG BEGIN_STMT
  8359. pxCurrentTCB.116_2 ={v} pxCurrentTCB;
  8360. _3 = pxCurrentTCB.116_2->ucDelayAborted;
  8361. if (_3 != 0)
  8362. goto <bb 9>; [50.00%]
  8363. else
  8364. goto <bb 10>; [50.00%]
  8365. <bb 9> [local count: 61694]:
  8366. # DEBUG BEGIN_STMT
  8367. pxCurrentTCB.117_4 ={v} pxCurrentTCB;
  8368. pxCurrentTCB.117_4->ucDelayAborted = 0;
  8369. # DEBUG BEGIN_STMT
  8370. # DEBUG xReturn => 1
  8371. goto <bb 17>; [100.00%]
  8372. <bb 10> [local count: 61694]:
  8373. # DEBUG BEGIN_STMT
  8374. _5 = *pxTicksToWait_12(D);
  8375. if (_5 == 4294967295)
  8376. goto <bb 17>; [34.00%]
  8377. else
  8378. goto <bb 11>; [66.00%]
  8379. <bb 11> [local count: 40718]:
  8380. # DEBUG BEGIN_STMT
  8381. _6 = pxTimeOut_11(D)->xOverflowCount;
  8382. xNumOfOverflows.118_7 ={v} xNumOfOverflows;
  8383. if (_6 != xNumOfOverflows.118_7)
  8384. goto <bb 12>; [66.00%]
  8385. else
  8386. goto <bb 14>; [34.00%]
  8387. <bb 12> [local count: 26874]:
  8388. if (_1 <= xConstTickCount_15)
  8389. goto <bb 13>; [50.00%]
  8390. else
  8391. goto <bb 14>; [50.00%]
  8392. <bb 13> [local count: 13437]:
  8393. # DEBUG BEGIN_STMT
  8394. # DEBUG xReturn => 1
  8395. # DEBUG BEGIN_STMT
  8396. *pxTicksToWait_12(D) = 0;
  8397. goto <bb 17>; [100.00%]
  8398. <bb 14> [local count: 27281]:
  8399. # DEBUG BEGIN_STMT
  8400. if (_5 > xElapsedTime_16)
  8401. goto <bb 15>; [33.00%]
  8402. else
  8403. goto <bb 16>; [67.00%]
  8404. <bb 15> [local count: 9003]:
  8405. # DEBUG BEGIN_STMT
  8406. _17 = _1 - xConstTickCount_15;
  8407. _8 = _5 + _17;
  8408. *pxTicksToWait_12(D) = _8;
  8409. # DEBUG BEGIN_STMT
  8410. vTaskInternalSetTimeOutState (pxTimeOut_11(D));
  8411. # DEBUG BEGIN_STMT
  8412. # DEBUG xReturn => 0
  8413. goto <bb 17>; [100.00%]
  8414. <bb 16> [local count: 18278]:
  8415. # DEBUG BEGIN_STMT
  8416. *pxTicksToWait_12(D) = 0;
  8417. # DEBUG BEGIN_STMT
  8418. # DEBUG xReturn => 1
  8419. <bb 17> [local count: 123389]:
  8420. # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)>
  8421. # DEBUG xReturn => xReturn_9
  8422. # DEBUG BEGIN_STMT
  8423. vPortExitCritical ();
  8424. # DEBUG BEGIN_STMT
  8425. return xReturn_9;
  8426. }
  8427. ;; Function vTaskMissedYield (vTaskMissedYield, funcdef_no=44, decl_uid=6275, cgraph_uid=45, symbol_order=66)
  8428. vTaskMissedYield ()
  8429. {
  8430. <bb 2> [local count: 1073741824]:
  8431. # DEBUG BEGIN_STMT
  8432. xYieldPending ={v} 1;
  8433. return;
  8434. }
  8435. ;; Function uxTaskGetTaskNumber (uxTaskGetTaskNumber, funcdef_no=45, decl_uid=6286, cgraph_uid=46, symbol_order=67)
  8436. uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
  8437. {
  8438. UBaseType_t uxReturn;
  8439. <bb 2> [local count: 1073741824]:
  8440. # DEBUG BEGIN_STMT
  8441. # DEBUG BEGIN_STMT
  8442. # DEBUG BEGIN_STMT
  8443. if (xTask_2(D) != 0B)
  8444. goto <bb 3>; [70.00%]
  8445. else
  8446. goto <bb 4>; [30.00%]
  8447. <bb 3> [local count: 751619278]:
  8448. # DEBUG BEGIN_STMT
  8449. # DEBUG pxTCB => xTask_2(D)
  8450. # DEBUG BEGIN_STMT
  8451. uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber;
  8452. # DEBUG uxReturn => uxReturn_4
  8453. <bb 4> [local count: 1073741824]:
  8454. # uxReturn_1 = PHI <uxReturn_4(3), 0(2)>
  8455. # DEBUG uxReturn => uxReturn_1
  8456. # DEBUG BEGIN_STMT
  8457. return uxReturn_1;
  8458. }
  8459. ;; Function vTaskSetTaskNumber (vTaskSetTaskNumber, funcdef_no=46, decl_uid=6289, cgraph_uid=47, symbol_order=68)
  8460. vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
  8461. {
  8462. <bb 2> [local count: 1073741824]:
  8463. # DEBUG BEGIN_STMT
  8464. # DEBUG BEGIN_STMT
  8465. if (xTask_2(D) != 0B)
  8466. goto <bb 3>; [70.00%]
  8467. else
  8468. goto <bb 4>; [30.00%]
  8469. <bb 3> [local count: 751619278]:
  8470. # DEBUG BEGIN_STMT
  8471. # DEBUG pxTCB => xTask_2(D)
  8472. # DEBUG BEGIN_STMT
  8473. MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D);
  8474. <bb 4> [local count: 1073741824]:
  8475. return;
  8476. }
  8477. ;; Function vTaskGetInfo (vTaskGetInfo, funcdef_no=50, decl_uid=6162, cgraph_uid=51, symbol_order=72)
  8478. Symbols to be put in SSA form
  8479. { D.8285 D.8753 }
  8480. Incremental SSA update started at block: 0
  8481. Number of blocks in CFG: 21
  8482. Number of blocks to update: 20 ( 95%)
  8483. Merging blocks 13 and 17
  8484. Merging blocks 20 and 16
  8485. ;; 2 loops found
  8486. ;;
  8487. ;; Loop 0
  8488. ;; header 0, latch 1
  8489. ;; depth 0, outer -1
  8490. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  8491. ;;
  8492. ;; Loop 1
  8493. ;; header 15, latch 14
  8494. ;; depth 1, outer 0
  8495. ;; nodes: 15 14
  8496. ;; 2 succs { 3 4 }
  8497. ;; 3 succs { 4 }
  8498. ;; 4 succs { 5 11 }
  8499. ;; 5 succs { 6 7 }
  8500. ;; 6 succs { 12 }
  8501. ;; 7 succs { 8 12 }
  8502. ;; 8 succs { 9 10 }
  8503. ;; 9 succs { 10 }
  8504. ;; 10 succs { 12 }
  8505. ;; 11 succs { 12 }
  8506. ;; 12 succs { 13 17 }
  8507. ;; 13 succs { 15 }
  8508. ;; 14 succs { 15 }
  8509. ;; 15 succs { 14 16 }
  8510. ;; 16 succs { 18 }
  8511. ;; 17 succs { 18 }
  8512. ;; 18 succs { 1 }
  8513. vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
  8514. {
  8515. uint32_t ulCount;
  8516. uint16_t D.8753;
  8517. const uint8_t * pucStackByte;
  8518. char * _1;
  8519. long unsigned int _2;
  8520. StackType_t * _3;
  8521. long unsigned int _4;
  8522. long unsigned int _5;
  8523. struct TCB_t * pxCurrentTCB.120_6;
  8524. struct xLIST * _7;
  8525. <unnamed type> _8;
  8526. StackType_t * _9;
  8527. short unsigned int _10;
  8528. struct TCB_t * iftmp.119_11;
  8529. struct TCB_t * iftmp.119_17;
  8530. unsigned char _41;
  8531. short unsigned int _44;
  8532. <bb 2> [local count: 357913939]:
  8533. # DEBUG BEGIN_STMT
  8534. # DEBUG BEGIN_STMT
  8535. if (xTask_15(D) == 0B)
  8536. goto <bb 3>; [30.00%]
  8537. else
  8538. goto <bb 4>; [70.00%]
  8539. <bb 3> [local count: 107374182]:
  8540. iftmp.119_17 ={v} pxCurrentTCB;
  8541. <bb 4> [local count: 357913939]:
  8542. # iftmp.119_11 = PHI <iftmp.119_17(3), xTask_15(D)(2)>
  8543. # DEBUG pxTCB => iftmp.119_11
  8544. # DEBUG BEGIN_STMT
  8545. pxTaskStatus_18(D)->xHandle = iftmp.119_11;
  8546. # DEBUG BEGIN_STMT
  8547. _1 = &iftmp.119_11->pcTaskName[0];
  8548. pxTaskStatus_18(D)->pcTaskName = _1;
  8549. # DEBUG BEGIN_STMT
  8550. _2 = iftmp.119_11->uxPriority;
  8551. pxTaskStatus_18(D)->uxCurrentPriority = _2;
  8552. # DEBUG BEGIN_STMT
  8553. _3 = iftmp.119_11->pxStack;
  8554. pxTaskStatus_18(D)->pxStackBase = _3;
  8555. # DEBUG BEGIN_STMT
  8556. _4 = iftmp.119_11->uxTCBNumber;
  8557. pxTaskStatus_18(D)->xTaskNumber = _4;
  8558. # DEBUG BEGIN_STMT
  8559. _5 = iftmp.119_11->uxBasePriority;
  8560. pxTaskStatus_18(D)->uxBasePriority = _5;
  8561. # DEBUG BEGIN_STMT
  8562. pxTaskStatus_18(D)->ulRunTimeCounter = 0;
  8563. # DEBUG BEGIN_STMT
  8564. if (eState_26(D) != 5)
  8565. goto <bb 5>; [79.76%]
  8566. else
  8567. goto <bb 11>; [20.24%]
  8568. <bb 5> [local count: 285472158]:
  8569. # DEBUG BEGIN_STMT
  8570. pxCurrentTCB.120_6 ={v} pxCurrentTCB;
  8571. if (pxCurrentTCB.120_6 == iftmp.119_11)
  8572. goto <bb 6>; [30.00%]
  8573. else
  8574. goto <bb 7>; [70.00%]
  8575. <bb 6> [local count: 85641647]:
  8576. # DEBUG BEGIN_STMT
  8577. pxTaskStatus_18(D)->eCurrentState = 0;
  8578. goto <bb 12>; [100.00%]
  8579. <bb 7> [local count: 199830511]:
  8580. # DEBUG BEGIN_STMT
  8581. pxTaskStatus_18(D)->eCurrentState = eState_26(D);
  8582. # DEBUG BEGIN_STMT
  8583. if (eState_26(D) == 3)
  8584. goto <bb 8>; [20.24%]
  8585. else
  8586. goto <bb 12>; [79.76%]
  8587. <bb 8> [local count: 40445695]:
  8588. # DEBUG BEGIN_STMT
  8589. vTaskSuspendAll ();
  8590. # DEBUG BEGIN_STMT
  8591. _7 = iftmp.119_11->xEventListItem.pvContainer;
  8592. if (_7 != 0B)
  8593. goto <bb 9>; [70.00%]
  8594. else
  8595. goto <bb 10>; [30.00%]
  8596. <bb 9> [local count: 28311987]:
  8597. # DEBUG BEGIN_STMT
  8598. pxTaskStatus_18(D)->eCurrentState = 2;
  8599. <bb 10> [local count: 40445695]:
  8600. # DEBUG BEGIN_STMT
  8601. xTaskResumeAll ();
  8602. goto <bb 12>; [100.00%]
  8603. <bb 11> [local count: 72441781]:
  8604. # DEBUG BEGIN_STMT
  8605. _8 = eTaskGetState (iftmp.119_11);
  8606. pxTaskStatus_18(D)->eCurrentState = _8;
  8607. <bb 12> [local count: 357913940]:
  8608. # DEBUG BEGIN_STMT
  8609. if (xGetFreeStackSpace_34(D) != 0)
  8610. goto <bb 13>; [33.00%]
  8611. else
  8612. goto <bb 17>; [67.00%]
  8613. <bb 13> [local count: 118111600]:
  8614. # DEBUG BEGIN_STMT
  8615. _9 = iftmp.119_11->pxStack;
  8616. # DEBUG pucStackByte => _9
  8617. # DEBUG INLINE_ENTRY prvTaskCheckFreeStackSpace
  8618. # DEBUG BEGIN_STMT
  8619. # DEBUG ulCount => 0
  8620. # DEBUG BEGIN_STMT
  8621. goto <bb 15>; [100.00%]
  8622. <bb 14> [local count: 955630223]:
  8623. # DEBUG BEGIN_STMT
  8624. pucStackByte_38 = pucStackByte_37 + 1;
  8625. # DEBUG pucStackByte => pucStackByte_38
  8626. # DEBUG BEGIN_STMT
  8627. ulCount_40 = ulCount_39 + 1;
  8628. # DEBUG ulCount => ulCount_40
  8629. <bb 15> [local count: 1073741824]:
  8630. # pucStackByte_37 = PHI <_9(13), pucStackByte_38(14)>
  8631. # ulCount_39 = PHI <0(13), ulCount_40(14)>
  8632. # DEBUG ulCount => ulCount_39
  8633. # DEBUG pucStackByte => pucStackByte_37
  8634. # DEBUG BEGIN_STMT
  8635. _41 = *pucStackByte_37;
  8636. if (_41 == 165)
  8637. goto <bb 14>; [89.00%]
  8638. else
  8639. goto <bb 16>; [11.00%]
  8640. <bb 16> [local count: 118111601]:
  8641. # ulCount_42 = PHI <ulCount_39(15)>
  8642. # DEBUG BEGIN_STMT
  8643. ulCount_43 = ulCount_42 >> 2;
  8644. # DEBUG ulCount => ulCount_43
  8645. # DEBUG BEGIN_STMT
  8646. _44 = (short unsigned int) ulCount_43;
  8647. _45 = _44;
  8648. # DEBUG pucStackByte => NULL
  8649. # DEBUG ulCount => NULL
  8650. _10 = _45;
  8651. pxTaskStatus_18(D)->usStackHighWaterMark = _10;
  8652. goto <bb 18>; [100.00%]
  8653. <bb 17> [local count: 239802340]:
  8654. # DEBUG BEGIN_STMT
  8655. pxTaskStatus_18(D)->usStackHighWaterMark = 0;
  8656. <bb 18> [local count: 357913941]:
  8657. return;
  8658. }
  8659. ;; Function prvListTasksWithinSingleList (prvListTasksWithinSingleList, funcdef_no=51, decl_uid=6954, cgraph_uid=52, symbol_order=73)
  8660. Symbols to be put in SSA form
  8661. { D.8286 D.8774 }
  8662. Incremental SSA update started at block: 0
  8663. Number of blocks in CFG: 15
  8664. Number of blocks to update: 14 ( 93%)
  8665. Removing basic block 3
  8666. Removing basic block 6
  8667. Removing basic block 13
  8668. Merging blocks 14 and 5
  8669. ;; 3 loops found
  8670. ;;
  8671. ;; Loop 0
  8672. ;; header 0, latch 1
  8673. ;; depth 0, outer -1
  8674. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10
  8675. ;;
  8676. ;; Loop 2
  8677. ;; header 6, latch 8
  8678. ;; depth 1, outer 0
  8679. ;; nodes: 6 8 7
  8680. ;; 2 succs { 3 10 }
  8681. ;; 3 succs { 4 5 }
  8682. ;; 4 succs { 5 }
  8683. ;; 5 succs { 6 }
  8684. ;; 6 succs { 7 8 }
  8685. ;; 7 succs { 8 }
  8686. ;; 8 succs { 6 9 }
  8687. ;; 9 succs { 10 }
  8688. ;; 10 succs { 1 }
  8689. prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
  8690. {
  8691. UBaseType_t uxTask;
  8692. struct TCB_t * pxFirstTCB;
  8693. struct TCB_t * pxNextTCB;
  8694. UBaseType_t D.8774;
  8695. UBaseType_t uxTask;
  8696. long unsigned int _1;
  8697. struct ListItem_t * _10;
  8698. struct xLIST_ITEM * _11;
  8699. struct MiniListItem_t * _12;
  8700. struct xLIST_ITEM * _13;
  8701. struct ListItem_t * _14;
  8702. struct ListItem_t * _16;
  8703. struct xLIST_ITEM * _17;
  8704. struct xLIST_ITEM * _18;
  8705. struct ListItem_t * _19;
  8706. long unsigned int _22;
  8707. struct TaskStatus_t * _23;
  8708. <bb 2> [local count: 236223200]:
  8709. # DEBUG BEGIN_STMT
  8710. # DEBUG BEGIN_STMT
  8711. # DEBUG uxTask => 0
  8712. # DEBUG BEGIN_STMT
  8713. _1 ={v} pxList_7(D)->uxNumberOfItems;
  8714. if (_1 != 0)
  8715. goto <bb 3>; [50.00%]
  8716. else
  8717. goto <bb 10>; [50.00%]
  8718. <bb 3> [local count: 118111600]:
  8719. # DEBUG pxTaskStatusArray => pxTaskStatusArray_8(D)
  8720. # DEBUG pxList => pxList_7(D)
  8721. # DEBUG eState => eState_9(D)
  8722. # DEBUG INLINE_ENTRY prvListTasksWithinSingleList
  8723. # DEBUG BEGIN_STMT
  8724. # DEBUG pxConstList => pxList_7(D)
  8725. # DEBUG BEGIN_STMT
  8726. _10 = pxList_7(D)->pxIndex;
  8727. _11 = _10->pxNext;
  8728. pxList_7(D)->pxIndex = _11;
  8729. # DEBUG BEGIN_STMT
  8730. _12 = &pxList_7(D)->xListEnd;
  8731. if (_11 == _12)
  8732. goto <bb 4>; [30.00%]
  8733. else
  8734. goto <bb 5>; [70.00%]
  8735. <bb 4> [local count: 35433480]:
  8736. # DEBUG BEGIN_STMT
  8737. _13 = MEM[(struct ListItem_t *)_11].pxNext;
  8738. pxList_7(D)->pxIndex = _13;
  8739. <bb 5> [local count: 118111600]:
  8740. # DEBUG BEGIN_STMT
  8741. _14 = pxList_7(D)->pxIndex;
  8742. pxFirstTCB_15 = _14->pvOwner;
  8743. # DEBUG pxFirstTCB => pxFirstTCB_15
  8744. <bb 6> [local count: 1073741824]:
  8745. # uxTask_21 = PHI <0(5), uxTask_24(8)>
  8746. # DEBUG uxTask => uxTask_21
  8747. # DEBUG BEGIN_STMT
  8748. # DEBUG BEGIN_STMT
  8749. # DEBUG BEGIN_STMT
  8750. # DEBUG pxConstList => pxList_7(D)
  8751. # DEBUG BEGIN_STMT
  8752. _16 = pxList_7(D)->pxIndex;
  8753. _17 = _16->pxNext;
  8754. pxList_7(D)->pxIndex = _17;
  8755. # DEBUG BEGIN_STMT
  8756. if (_12 == _17)
  8757. goto <bb 7>; [30.00%]
  8758. else
  8759. goto <bb 8>; [70.00%]
  8760. <bb 7> [local count: 322122547]:
  8761. # DEBUG BEGIN_STMT
  8762. _18 = MEM[(struct ListItem_t *)_17].pxNext;
  8763. pxList_7(D)->pxIndex = _18;
  8764. <bb 8> [local count: 1073741824]:
  8765. # DEBUG BEGIN_STMT
  8766. _19 = pxList_7(D)->pxIndex;
  8767. pxNextTCB_20 = _19->pvOwner;
  8768. # DEBUG pxNextTCB => pxNextTCB_20
  8769. # DEBUG BEGIN_STMT
  8770. # DEBUG BEGIN_STMT
  8771. _22 = uxTask_21 * 36;
  8772. _23 = pxTaskStatusArray_8(D) + _22;
  8773. vTaskGetInfo (pxNextTCB_20, _23, 1, eState_9(D));
  8774. # DEBUG BEGIN_STMT
  8775. uxTask_24 = uxTask_21 + 1;
  8776. # DEBUG uxTask => uxTask_24
  8777. # DEBUG BEGIN_STMT
  8778. if (pxFirstTCB_15 != pxNextTCB_20)
  8779. goto <bb 6>; [89.00%]
  8780. else
  8781. goto <bb 9>; [11.00%]
  8782. <bb 9> [local count: 118111601]:
  8783. # uxTask_25 = PHI <uxTask_24(8)>
  8784. # DEBUG uxTask => uxTask_25
  8785. # DEBUG BEGIN_STMT
  8786. # DEBUG BEGIN_STMT
  8787. _34 = uxTask_25;
  8788. # DEBUG pxTaskStatusArray => NULL
  8789. # DEBUG pxList => NULL
  8790. # DEBUG eState => NULL
  8791. # DEBUG pxNextTCB => NULL
  8792. # DEBUG pxFirstTCB => NULL
  8793. # DEBUG uxTask => NULL
  8794. # DEBUG pxConstList => NULL
  8795. # DEBUG pxConstList => NULL
  8796. uxTask_2 = _34;
  8797. <bb 10> [local count: 236223201]:
  8798. # uxTask_5 = PHI <0(2), uxTask_2(9)>
  8799. # DEBUG uxTask => uxTask_5
  8800. # DEBUG BEGIN_STMT
  8801. # DEBUG BEGIN_STMT
  8802. return uxTask_5;
  8803. }
  8804. ;; Function uxTaskGetSystemState (uxTaskGetSystemState, funcdef_no=31, decl_uid=6202, cgraph_uid=32, symbol_order=53)
  8805. uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
  8806. {
  8807. UBaseType_t uxQueue;
  8808. UBaseType_t uxTask;
  8809. long unsigned int uxCurrentNumberOfTasks.72_1;
  8810. long unsigned int _2;
  8811. struct TaskStatus_t * _3;
  8812. struct List_t * _4;
  8813. long unsigned int _5;
  8814. struct TaskStatus_t * _6;
  8815. struct List_t * pxDelayedTaskList.73_7;
  8816. long unsigned int _8;
  8817. struct TaskStatus_t * _9;
  8818. struct List_t * pxOverflowDelayedTaskList.74_10;
  8819. long unsigned int _11;
  8820. struct TaskStatus_t * _12;
  8821. long unsigned int _13;
  8822. struct TaskStatus_t * _14;
  8823. long unsigned int _27;
  8824. long unsigned int _30;
  8825. long unsigned int _33;
  8826. long unsigned int _36;
  8827. long unsigned int _39;
  8828. <bb 2> [local count: 429496728]:
  8829. # DEBUG BEGIN_STMT
  8830. # DEBUG uxTask => 0
  8831. # DEBUG uxQueue => 5
  8832. # DEBUG BEGIN_STMT
  8833. vTaskSuspendAll ();
  8834. # DEBUG BEGIN_STMT
  8835. uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks;
  8836. if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D))
  8837. goto <bb 7>; [50.00%]
  8838. else
  8839. goto <bb 6>; [50.00%]
  8840. <bb 7> [local count: 214748364]:
  8841. <bb 3> [local count: 1073741824]:
  8842. # uxTask_15 = PHI <0(7), uxTask_28(8)>
  8843. # uxQueue_17 = PHI <5(7), uxQueue_24(8)>
  8844. # DEBUG uxQueue => uxQueue_17
  8845. # DEBUG uxTask => uxTask_15
  8846. # DEBUG BEGIN_STMT
  8847. # DEBUG BEGIN_STMT
  8848. uxQueue_24 = uxQueue_17 + 4294967295;
  8849. # DEBUG uxQueue => uxQueue_24
  8850. # DEBUG BEGIN_STMT
  8851. _2 = uxTask_15 * 36;
  8852. _3 = pxTaskStatusArray_25(D) + _2;
  8853. _4 = &pxReadyTasksLists[uxQueue_24];
  8854. _27 = prvListTasksWithinSingleList (_3, _4, 1);
  8855. uxTask_28 = uxTask_15 + _27;
  8856. # DEBUG uxTask => uxTask_28
  8857. # DEBUG BEGIN_STMT
  8858. if (uxQueue_24 != 0)
  8859. goto <bb 8>; [80.00%]
  8860. else
  8861. goto <bb 4>; [20.00%]
  8862. <bb 8> [local count: 858993459]:
  8863. goto <bb 3>; [100.00%]
  8864. <bb 4> [local count: 214748365]:
  8865. # uxTask_20 = PHI <uxTask_28(3)>
  8866. # DEBUG BEGIN_STMT
  8867. _5 = uxTask_20 * 36;
  8868. _6 = pxTaskStatusArray_25(D) + _5;
  8869. pxDelayedTaskList.73_7 ={v} pxDelayedTaskList;
  8870. _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
  8871. uxTask_31 = uxTask_20 + _30;
  8872. # DEBUG uxTask => uxTask_31
  8873. # DEBUG BEGIN_STMT
  8874. _8 = uxTask_31 * 36;
  8875. _9 = pxTaskStatusArray_25(D) + _8;
  8876. pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList;
  8877. _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
  8878. uxTask_34 = uxTask_31 + _33;
  8879. # DEBUG uxTask => uxTask_34
  8880. # DEBUG BEGIN_STMT
  8881. _11 = uxTask_34 * 36;
  8882. _12 = pxTaskStatusArray_25(D) + _11;
  8883. _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
  8884. uxTask_37 = uxTask_34 + _36;
  8885. # DEBUG uxTask => uxTask_37
  8886. # DEBUG BEGIN_STMT
  8887. _13 = uxTask_37 * 36;
  8888. _14 = pxTaskStatusArray_25(D) + _13;
  8889. _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
  8890. uxTask_40 = uxTask_37 + _39;
  8891. # DEBUG uxTask => uxTask_40
  8892. # DEBUG BEGIN_STMT
  8893. if (pulTotalRunTime_41(D) != 0B)
  8894. goto <bb 5>; [70.00%]
  8895. else
  8896. goto <bb 6>; [30.00%]
  8897. <bb 5> [local count: 150323855]:
  8898. # DEBUG BEGIN_STMT
  8899. *pulTotalRunTime_41(D) = 0;
  8900. <bb 6> [local count: 429496729]:
  8901. # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)>
  8902. # DEBUG uxTask => uxTask_16
  8903. # DEBUG BEGIN_STMT
  8904. # DEBUG BEGIN_STMT
  8905. xTaskResumeAll ();
  8906. # DEBUG BEGIN_STMT
  8907. return uxTask_16;
  8908. }
  8909. ;; Function uxTaskGetStackHighWaterMark (uxTaskGetStackHighWaterMark, funcdef_no=53, decl_uid=6191, cgraph_uid=54, symbol_order=75)
  8910. Symbols to be put in SSA form
  8911. { D.8288 D.8791 }
  8912. Incremental SSA update started at block: 0
  8913. Number of blocks in CFG: 10
  8914. Number of blocks to update: 9 ( 90%)
  8915. Merging blocks 4 and 6
  8916. Merging blocks 9 and 5
  8917. ;; 2 loops found
  8918. ;;
  8919. ;; Loop 0
  8920. ;; header 0, latch 1
  8921. ;; depth 0, outer -1
  8922. ;; nodes: 0 1 2 3 4 5 6 7
  8923. ;;
  8924. ;; Loop 1
  8925. ;; header 6, latch 5
  8926. ;; depth 1, outer 0
  8927. ;; nodes: 6 5
  8928. ;; 2 succs { 3 4 }
  8929. ;; 3 succs { 4 }
  8930. ;; 4 succs { 6 }
  8931. ;; 5 succs { 6 }
  8932. ;; 6 succs { 5 7 }
  8933. ;; 7 succs { 1 }
  8934. uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
  8935. {
  8936. uint32_t ulCount;
  8937. uint16_t D.8791;
  8938. const uint8_t * pucStackByte;
  8939. UBaseType_t uxReturn;
  8940. uint8_t * pucEndOfStack;
  8941. short unsigned int _1;
  8942. struct TCB_t * iftmp.121_2;
  8943. struct TCB_t * iftmp.121_5;
  8944. unsigned char _12;
  8945. short unsigned int _15;
  8946. <bb 2> [local count: 118111600]:
  8947. # DEBUG BEGIN_STMT
  8948. # DEBUG BEGIN_STMT
  8949. # DEBUG BEGIN_STMT
  8950. # DEBUG BEGIN_STMT
  8951. if (xTask_3(D) == 0B)
  8952. goto <bb 3>; [30.00%]
  8953. else
  8954. goto <bb 4>; [70.00%]
  8955. <bb 3> [local count: 35433480]:
  8956. iftmp.121_5 ={v} pxCurrentTCB;
  8957. <bb 4> [local count: 118111600]:
  8958. # iftmp.121_2 = PHI <iftmp.121_5(3), xTask_3(D)(2)>
  8959. # DEBUG pxTCB => iftmp.121_2
  8960. # DEBUG BEGIN_STMT
  8961. pucEndOfStack_6 = iftmp.121_2->pxStack;
  8962. # DEBUG pucEndOfStack => pucEndOfStack_6
  8963. # DEBUG BEGIN_STMT
  8964. # DEBUG pucStackByte => pucEndOfStack_6
  8965. # DEBUG INLINE_ENTRY prvTaskCheckFreeStackSpace
  8966. # DEBUG BEGIN_STMT
  8967. # DEBUG ulCount => 0
  8968. # DEBUG BEGIN_STMT
  8969. goto <bb 6>; [100.00%]
  8970. <bb 5> [local count: 955630223]:
  8971. # DEBUG BEGIN_STMT
  8972. pucStackByte_9 = pucStackByte_8 + 1;
  8973. # DEBUG pucStackByte => pucStackByte_9
  8974. # DEBUG BEGIN_STMT
  8975. ulCount_11 = ulCount_10 + 1;
  8976. # DEBUG ulCount => ulCount_11
  8977. <bb 6> [local count: 1073741824]:
  8978. # pucStackByte_8 = PHI <pucEndOfStack_6(4), pucStackByte_9(5)>
  8979. # ulCount_10 = PHI <0(4), ulCount_11(5)>
  8980. # DEBUG ulCount => ulCount_10
  8981. # DEBUG pucStackByte => pucStackByte_8
  8982. # DEBUG BEGIN_STMT
  8983. _12 = *pucStackByte_8;
  8984. if (_12 == 165)
  8985. goto <bb 5>; [89.00%]
  8986. else
  8987. goto <bb 7>; [11.00%]
  8988. <bb 7> [local count: 118111601]:
  8989. # ulCount_13 = PHI <ulCount_10(6)>
  8990. # DEBUG BEGIN_STMT
  8991. ulCount_14 = ulCount_13 >> 2;
  8992. # DEBUG ulCount => ulCount_14
  8993. # DEBUG BEGIN_STMT
  8994. _15 = (short unsigned int) ulCount_14;
  8995. _16 = _15;
  8996. # DEBUG pucStackByte => NULL
  8997. # DEBUG ulCount => NULL
  8998. _1 = _16;
  8999. uxReturn_7 = (UBaseType_t) _1;
  9000. # DEBUG uxReturn => uxReturn_7
  9001. # DEBUG BEGIN_STMT
  9002. return uxReturn_7;
  9003. }
  9004. ;; Function xTaskGetCurrentTaskHandle (xTaskGetCurrentTaskHandle, funcdef_no=56, decl_uid=6273, cgraph_uid=57, symbol_order=78)
  9005. xTaskGetCurrentTaskHandle ()
  9006. {
  9007. struct tskTaskControlBlock * xReturn;
  9008. <bb 2> [local count: 1073741824]:
  9009. # DEBUG BEGIN_STMT
  9010. # DEBUG BEGIN_STMT
  9011. xReturn_2 ={v} pxCurrentTCB;
  9012. # DEBUG xReturn => xReturn_2
  9013. # DEBUG BEGIN_STMT
  9014. return xReturn_2;
  9015. }
  9016. ;; Function xTaskGetSchedulerState (xTaskGetSchedulerState, funcdef_no=57, decl_uid=6277, cgraph_uid=58, symbol_order=79)
  9017. xTaskGetSchedulerState ()
  9018. {
  9019. BaseType_t xReturn;
  9020. long int xSchedulerRunning.122_1;
  9021. long unsigned int uxSchedulerSuspended.123_2;
  9022. <bb 2> [local count: 1073741824]:
  9023. # DEBUG BEGIN_STMT
  9024. # DEBUG BEGIN_STMT
  9025. xSchedulerRunning.122_1 ={v} xSchedulerRunning;
  9026. if (xSchedulerRunning.122_1 == 0)
  9027. goto <bb 5>; [50.00%]
  9028. else
  9029. goto <bb 3>; [50.00%]
  9030. <bb 3> [local count: 536870913]:
  9031. # DEBUG BEGIN_STMT
  9032. uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended;
  9033. if (uxSchedulerSuspended.123_2 == 0)
  9034. goto <bb 5>; [35.00%]
  9035. else
  9036. goto <bb 4>; [65.00%]
  9037. <bb 4> [local count: 348966093]:
  9038. # DEBUG BEGIN_STMT
  9039. # DEBUG xReturn => 0
  9040. <bb 5> [local count: 1073741824]:
  9041. # xReturn_3 = PHI <1(2), 2(3), 0(4)>
  9042. # DEBUG xReturn => xReturn_3
  9043. # DEBUG BEGIN_STMT
  9044. return xReturn_3;
  9045. }
  9046. ;; Function xTaskPriorityInherit (xTaskPriorityInherit, funcdef_no=58, decl_uid=6279, cgraph_uid=59, symbol_order=80)
  9047. xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
  9048. {
  9049. struct ListItem_t * const pxIndex;
  9050. BaseType_t xReturn;
  9051. long unsigned int _1;
  9052. struct TCB_t * pxCurrentTCB.124_2;
  9053. long unsigned int _3;
  9054. long unsigned int _4;
  9055. signed int _5;
  9056. struct TCB_t * pxCurrentTCB.125_6;
  9057. long unsigned int _7;
  9058. long unsigned int _8;
  9059. struct xLIST * _9;
  9060. struct List_t * _10;
  9061. struct ListItem_t * _11;
  9062. struct TCB_t * pxCurrentTCB.126_12;
  9063. long unsigned int _13;
  9064. long unsigned int uxTopReadyPriority.127_14;
  9065. struct xLIST_ITEM * _15;
  9066. struct xLIST_ITEM * _16;
  9067. struct List_t * _17;
  9068. long unsigned int _18;
  9069. long unsigned int _19;
  9070. struct TCB_t * pxCurrentTCB.128_20;
  9071. long unsigned int _21;
  9072. long unsigned int _22;
  9073. struct TCB_t * pxCurrentTCB.129_23;
  9074. long unsigned int _24;
  9075. <bb 2> [local count: 1073741824]:
  9076. # DEBUG BEGIN_STMT
  9077. # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D)
  9078. # DEBUG BEGIN_STMT
  9079. # DEBUG xReturn => 0
  9080. # DEBUG BEGIN_STMT
  9081. if (pxMutexHolder_29(D) != 0B)
  9082. goto <bb 3>; [70.00%]
  9083. else
  9084. goto <bb 13>; [30.00%]
  9085. <bb 3> [local count: 751619278]:
  9086. # DEBUG BEGIN_STMT
  9087. _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority;
  9088. pxCurrentTCB.124_2 ={v} pxCurrentTCB;
  9089. _3 = pxCurrentTCB.124_2->uxPriority;
  9090. if (_1 < _3)
  9091. goto <bb 4>; [50.00%]
  9092. else
  9093. goto <bb 11>; [50.00%]
  9094. <bb 4> [local count: 375809639]:
  9095. # DEBUG BEGIN_STMT
  9096. _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue;
  9097. _5 = (signed int) _4;
  9098. if (_5 >= 0)
  9099. goto <bb 5>; [59.00%]
  9100. else
  9101. goto <bb 6>; [41.00%]
  9102. <bb 5> [local count: 221727687]:
  9103. # DEBUG BEGIN_STMT
  9104. pxCurrentTCB.125_6 ={v} pxCurrentTCB;
  9105. _7 = pxCurrentTCB.125_6->uxPriority;
  9106. _8 = 5 - _7;
  9107. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8;
  9108. <bb 6> [local count: 375809639]:
  9109. # DEBUG BEGIN_STMT
  9110. # DEBUG BEGIN_STMT
  9111. _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer;
  9112. _10 = &pxReadyTasksLists[_1];
  9113. if (_9 == _10)
  9114. goto <bb 7>; [17.43%]
  9115. else
  9116. goto <bb 10>; [82.57%]
  9117. <bb 7> [local count: 65503620]:
  9118. # DEBUG BEGIN_STMT
  9119. _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem;
  9120. uxListRemove (_11);
  9121. # DEBUG BEGIN_STMT
  9122. # DEBUG BEGIN_STMT
  9123. pxCurrentTCB.126_12 ={v} pxCurrentTCB;
  9124. _13 = pxCurrentTCB.126_12->uxPriority;
  9125. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13;
  9126. # DEBUG BEGIN_STMT
  9127. # DEBUG BEGIN_STMT
  9128. uxTopReadyPriority.127_14 ={v} uxTopReadyPriority;
  9129. if (_13 > uxTopReadyPriority.127_14)
  9130. goto <bb 8>; [50.00%]
  9131. else
  9132. goto <bb 9>; [50.00%]
  9133. <bb 8> [local count: 32751810]:
  9134. # DEBUG BEGIN_STMT
  9135. uxTopReadyPriority ={v} _13;
  9136. <bb 9> [local count: 65503620]:
  9137. # DEBUG BEGIN_STMT
  9138. # DEBUG BEGIN_STMT
  9139. pxIndex_36 = pxReadyTasksLists[_13].pxIndex;
  9140. # DEBUG pxIndex => pxIndex_36
  9141. # DEBUG BEGIN_STMT
  9142. # DEBUG BEGIN_STMT
  9143. # DEBUG BEGIN_STMT
  9144. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36;
  9145. # DEBUG BEGIN_STMT
  9146. _15 = pxIndex_36->pxPrevious;
  9147. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15;
  9148. # DEBUG BEGIN_STMT
  9149. _16 = pxIndex_36->pxPrevious;
  9150. _16->pxNext = _11;
  9151. # DEBUG BEGIN_STMT
  9152. pxIndex_36->pxPrevious = _11;
  9153. # DEBUG BEGIN_STMT
  9154. _17 = &pxReadyTasksLists[_13];
  9155. MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17;
  9156. # DEBUG BEGIN_STMT
  9157. _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems;
  9158. _19 = _18 + 1;
  9159. pxReadyTasksLists[_13].uxNumberOfItems ={v} _19;
  9160. # DEBUG BEGIN_STMT
  9161. # DEBUG BEGIN_STMT
  9162. goto <bb 13>; [100.00%]
  9163. <bb 10> [local count: 310306019]:
  9164. # DEBUG BEGIN_STMT
  9165. pxCurrentTCB.128_20 ={v} pxCurrentTCB;
  9166. _21 = pxCurrentTCB.128_20->uxPriority;
  9167. MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21;
  9168. goto <bb 13>; [100.00%]
  9169. <bb 11> [local count: 375809639]:
  9170. # DEBUG BEGIN_STMT
  9171. _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority;
  9172. pxCurrentTCB.129_23 ={v} pxCurrentTCB;
  9173. _24 = pxCurrentTCB.129_23->uxPriority;
  9174. if (_22 < _24)
  9175. goto <bb 12>; [50.00%]
  9176. else
  9177. goto <bb 13>; [50.00%]
  9178. <bb 12> [local count: 187904819]:
  9179. # DEBUG BEGIN_STMT
  9180. # DEBUG xReturn => 1
  9181. <bb 13> [local count: 1073741824]:
  9182. # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)>
  9183. # DEBUG xReturn => xReturn_25
  9184. # DEBUG BEGIN_STMT
  9185. # DEBUG BEGIN_STMT
  9186. return xReturn_25;
  9187. }
  9188. ;; Function xTaskPriorityDisinherit (xTaskPriorityDisinherit, funcdef_no=59, decl_uid=6281, cgraph_uid=60, symbol_order=81)
  9189. xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
  9190. {
  9191. uint32_t ulNewBASEPRI;
  9192. uint32_t ulNewBASEPRI;
  9193. struct ListItem_t * const pxIndex;
  9194. BaseType_t xReturn;
  9195. struct TCB_t * pxCurrentTCB.130_1;
  9196. long unsigned int _2;
  9197. long unsigned int _3;
  9198. long unsigned int _4;
  9199. long unsigned int _5;
  9200. struct ListItem_t * _6;
  9201. long unsigned int _7;
  9202. long unsigned int _8;
  9203. long unsigned int uxTopReadyPriority.131_9;
  9204. struct xLIST_ITEM * _10;
  9205. struct xLIST_ITEM * _11;
  9206. struct List_t * _12;
  9207. long unsigned int _13;
  9208. long unsigned int _14;
  9209. <bb 2> [local count: 219131]:
  9210. # DEBUG BEGIN_STMT
  9211. # DEBUG pxTCB => pxMutexHolder_18(D)
  9212. # DEBUG BEGIN_STMT
  9213. # DEBUG xReturn => 0
  9214. # DEBUG BEGIN_STMT
  9215. if (pxMutexHolder_18(D) != 0B)
  9216. goto <bb 3>; [70.00%]
  9217. else
  9218. goto <bb 14>; [30.00%]
  9219. <bb 3> [local count: 153391]:
  9220. # DEBUG BEGIN_STMT
  9221. pxCurrentTCB.130_1 ={v} pxCurrentTCB;
  9222. if (pxCurrentTCB.130_1 != pxMutexHolder_18(D))
  9223. goto <bb 4>; [70.00%]
  9224. else
  9225. goto <bb 6>; [30.00%]
  9226. <bb 4> [local count: 107374]:
  9227. # DEBUG BEGIN_STMT
  9228. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9229. # DEBUG BEGIN_STMT
  9230. # DEBUG BEGIN_STMT
  9231. __asm__ __volatile__(" mov %0, %1
  9232. msr basepri, %0
  9233. isb
  9234. dsb
  9235. " : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
  9236. # DEBUG ulNewBASEPRI => ulNewBASEPRI_32
  9237. <bb 5> [local count: 1073741824]:
  9238. # DEBUG ulNewBASEPRI => NULL
  9239. # DEBUG BEGIN_STMT
  9240. # DEBUG BEGIN_STMT
  9241. # DEBUG BEGIN_STMT
  9242. <bb 15> [local count: 1073741824]:
  9243. goto <bb 5>; [100.00%]
  9244. <bb 6> [local count: 46017]:
  9245. # DEBUG BEGIN_STMT
  9246. # DEBUG BEGIN_STMT
  9247. _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld;
  9248. if (_2 == 0)
  9249. goto <bb 7>; [50.00%]
  9250. else
  9251. goto <bb 9>; [50.00%]
  9252. <bb 7> [local count: 23009]:
  9253. # DEBUG BEGIN_STMT
  9254. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9255. # DEBUG BEGIN_STMT
  9256. # DEBUG BEGIN_STMT
  9257. __asm__ __volatile__(" mov %0, %1
  9258. msr basepri, %0
  9259. isb
  9260. dsb
  9261. " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
  9262. # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
  9263. <bb 8> [local count: 230087534]:
  9264. # DEBUG ulNewBASEPRI => NULL
  9265. # DEBUG BEGIN_STMT
  9266. # DEBUG BEGIN_STMT
  9267. # DEBUG BEGIN_STMT
  9268. <bb 16> [local count: 230087534]:
  9269. goto <bb 8>; [100.00%]
  9270. <bb 9> [local count: 23009]:
  9271. # DEBUG BEGIN_STMT
  9272. # DEBUG BEGIN_STMT
  9273. _3 = _2 + 4294967295;
  9274. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3;
  9275. # DEBUG BEGIN_STMT
  9276. _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority;
  9277. _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  9278. if (_4 != _5)
  9279. goto <bb 10>; [66.00%]
  9280. else
  9281. goto <bb 14>; [34.00%]
  9282. <bb 10> [local count: 15186]:
  9283. # DEBUG BEGIN_STMT
  9284. if (_3 == 0)
  9285. goto <bb 11>; [33.00%]
  9286. else
  9287. goto <bb 14>; [67.00%]
  9288. <bb 11> [local count: 5011]:
  9289. # DEBUG BEGIN_STMT
  9290. _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem;
  9291. uxListRemove (_6);
  9292. # DEBUG BEGIN_STMT
  9293. # DEBUG BEGIN_STMT
  9294. # DEBUG BEGIN_STMT
  9295. _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
  9296. MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7;
  9297. # DEBUG BEGIN_STMT
  9298. _8 = 5 - _7;
  9299. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8;
  9300. # DEBUG BEGIN_STMT
  9301. # DEBUG BEGIN_STMT
  9302. uxTopReadyPriority.131_9 ={v} uxTopReadyPriority;
  9303. if (_7 > uxTopReadyPriority.131_9)
  9304. goto <bb 12>; [50.00%]
  9305. else
  9306. goto <bb 13>; [50.00%]
  9307. <bb 12> [local count: 2506]:
  9308. # DEBUG BEGIN_STMT
  9309. uxTopReadyPriority ={v} _7;
  9310. <bb 13> [local count: 5011]:
  9311. # DEBUG BEGIN_STMT
  9312. # DEBUG BEGIN_STMT
  9313. pxIndex_25 = pxReadyTasksLists[_7].pxIndex;
  9314. # DEBUG pxIndex => pxIndex_25
  9315. # DEBUG BEGIN_STMT
  9316. # DEBUG BEGIN_STMT
  9317. # DEBUG BEGIN_STMT
  9318. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25;
  9319. # DEBUG BEGIN_STMT
  9320. _10 = pxIndex_25->pxPrevious;
  9321. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10;
  9322. # DEBUG BEGIN_STMT
  9323. _11 = pxIndex_25->pxPrevious;
  9324. _11->pxNext = _6;
  9325. # DEBUG BEGIN_STMT
  9326. pxIndex_25->pxPrevious = _6;
  9327. # DEBUG BEGIN_STMT
  9328. _12 = &pxReadyTasksLists[_7];
  9329. MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12;
  9330. # DEBUG BEGIN_STMT
  9331. _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
  9332. _14 = _13 + 1;
  9333. pxReadyTasksLists[_7].uxNumberOfItems ={v} _14;
  9334. # DEBUG BEGIN_STMT
  9335. # DEBUG BEGIN_STMT
  9336. # DEBUG BEGIN_STMT
  9337. # DEBUG xReturn => 1
  9338. <bb 14> [local count: 88748]:
  9339. # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)>
  9340. # DEBUG xReturn => xReturn_15
  9341. # DEBUG BEGIN_STMT
  9342. # DEBUG BEGIN_STMT
  9343. return xReturn_15;
  9344. }
  9345. ;; Function vTaskPriorityDisinheritAfterTimeout (vTaskPriorityDisinheritAfterTimeout, funcdef_no=60, decl_uid=6284, cgraph_uid=61, symbol_order=82)
  9346. vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
  9347. {
  9348. uint32_t ulNewBASEPRI;
  9349. uint32_t ulNewBASEPRI;
  9350. struct ListItem_t * const pxIndex;
  9351. UBaseType_t uxPriorityToUse;
  9352. long unsigned int _1;
  9353. long unsigned int _2;
  9354. long unsigned int _3;
  9355. struct TCB_t * pxCurrentTCB.132_4;
  9356. long unsigned int _5;
  9357. signed int _6;
  9358. long unsigned int _7;
  9359. struct xLIST * _8;
  9360. struct List_t * _9;
  9361. struct ListItem_t * _10;
  9362. long unsigned int _12;
  9363. long unsigned int uxTopReadyPriority.133_13;
  9364. struct xLIST_ITEM * _14;
  9365. struct xLIST_ITEM * _15;
  9366. struct List_t * _16;
  9367. long unsigned int _17;
  9368. long unsigned int _18;
  9369. <bb 2> [local count: 306783]:
  9370. # DEBUG BEGIN_STMT
  9371. # DEBUG pxTCB => pxMutexHolder_22(D)
  9372. # DEBUG BEGIN_STMT
  9373. # DEBUG BEGIN_STMT
  9374. # DEBUG uxOnlyOneMutexHeld => 1
  9375. # DEBUG BEGIN_STMT
  9376. if (pxMutexHolder_22(D) != 0B)
  9377. goto <bb 3>; [70.00%]
  9378. else
  9379. goto <bb 17>; [30.00%]
  9380. <bb 3> [local count: 214748]:
  9381. # DEBUG BEGIN_STMT
  9382. _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld;
  9383. if (_1 == 0)
  9384. goto <bb 4>; [50.00%]
  9385. else
  9386. goto <bb 6>; [50.00%]
  9387. <bb 4> [local count: 107374]:
  9388. # DEBUG BEGIN_STMT
  9389. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9390. # DEBUG BEGIN_STMT
  9391. # DEBUG BEGIN_STMT
  9392. __asm__ __volatile__(" mov %0, %1
  9393. msr basepri, %0
  9394. isb
  9395. dsb
  9396. " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
  9397. # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
  9398. <bb 5> [local count: 1073741823]:
  9399. # DEBUG ulNewBASEPRI => NULL
  9400. # DEBUG BEGIN_STMT
  9401. # DEBUG BEGIN_STMT
  9402. # DEBUG BEGIN_STMT
  9403. <bb 18> [local count: 1073741824]:
  9404. goto <bb 5>; [100.00%]
  9405. <bb 6> [local count: 107374]:
  9406. # DEBUG BEGIN_STMT
  9407. # DEBUG BEGIN_STMT
  9408. _2 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxBasePriority;
  9409. uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>;
  9410. # DEBUG uxPriorityToUse => uxPriorityToUse_11
  9411. # DEBUG BEGIN_STMT
  9412. _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  9413. if (_3 != uxPriorityToUse_11)
  9414. goto <bb 7>; [66.00%]
  9415. else
  9416. goto <bb 17>; [34.00%]
  9417. <bb 7> [local count: 70867]:
  9418. # DEBUG BEGIN_STMT
  9419. if (_1 == 1)
  9420. goto <bb 8>; [34.00%]
  9421. else
  9422. goto <bb 17>; [66.00%]
  9423. <bb 8> [local count: 24095]:
  9424. # DEBUG BEGIN_STMT
  9425. pxCurrentTCB.132_4 ={v} pxCurrentTCB;
  9426. if (pxCurrentTCB.132_4 == pxMutexHolder_22(D))
  9427. goto <bb 9>; [30.00%]
  9428. else
  9429. goto <bb 11>; [70.00%]
  9430. <bb 9> [local count: 7228]:
  9431. # DEBUG BEGIN_STMT
  9432. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9433. # DEBUG BEGIN_STMT
  9434. # DEBUG BEGIN_STMT
  9435. __asm__ __volatile__(" mov %0, %1
  9436. msr basepri, %0
  9437. isb
  9438. dsb
  9439. " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
  9440. # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
  9441. <bb 10> [local count: 72284299]:
  9442. # DEBUG ulNewBASEPRI => NULL
  9443. # DEBUG BEGIN_STMT
  9444. # DEBUG BEGIN_STMT
  9445. # DEBUG BEGIN_STMT
  9446. <bb 19> [local count: 72284299]:
  9447. goto <bb 10>; [100.00%]
  9448. <bb 11> [local count: 16866]:
  9449. # DEBUG BEGIN_STMT
  9450. # DEBUG BEGIN_STMT
  9451. # DEBUG BEGIN_STMT
  9452. # DEBUG uxPriorityUsedOnEntry => _3
  9453. # DEBUG BEGIN_STMT
  9454. MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11;
  9455. # DEBUG BEGIN_STMT
  9456. _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue;
  9457. _6 = (signed int) _5;
  9458. if (_6 >= 0)
  9459. goto <bb 12>; [59.00%]
  9460. else
  9461. goto <bb 13>; [41.00%]
  9462. <bb 12> [local count: 9951]:
  9463. # DEBUG BEGIN_STMT
  9464. _7 = 5 - uxPriorityToUse_11;
  9465. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7;
  9466. <bb 13> [local count: 16866]:
  9467. # DEBUG BEGIN_STMT
  9468. # DEBUG BEGIN_STMT
  9469. _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer;
  9470. _9 = &pxReadyTasksLists[_3];
  9471. if (_8 == _9)
  9472. goto <bb 14>; [17.43%]
  9473. else
  9474. goto <bb 17>; [82.57%]
  9475. <bb 14> [local count: 2940]:
  9476. # DEBUG BEGIN_STMT
  9477. _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem;
  9478. uxListRemove (_10);
  9479. # DEBUG BEGIN_STMT
  9480. # DEBUG BEGIN_STMT
  9481. # DEBUG BEGIN_STMT
  9482. _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
  9483. uxTopReadyPriority.133_13 ={v} uxTopReadyPriority;
  9484. if (_12 > uxTopReadyPriority.133_13)
  9485. goto <bb 15>; [50.00%]
  9486. else
  9487. goto <bb 16>; [50.00%]
  9488. <bb 15> [local count: 1470]:
  9489. # DEBUG BEGIN_STMT
  9490. uxTopReadyPriority ={v} _12;
  9491. <bb 16> [local count: 2940]:
  9492. # DEBUG BEGIN_STMT
  9493. # DEBUG BEGIN_STMT
  9494. pxIndex_29 = pxReadyTasksLists[_12].pxIndex;
  9495. # DEBUG pxIndex => pxIndex_29
  9496. # DEBUG BEGIN_STMT
  9497. # DEBUG BEGIN_STMT
  9498. # DEBUG BEGIN_STMT
  9499. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29;
  9500. # DEBUG BEGIN_STMT
  9501. _14 = pxIndex_29->pxPrevious;
  9502. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14;
  9503. # DEBUG BEGIN_STMT
  9504. _15 = pxIndex_29->pxPrevious;
  9505. _15->pxNext = _10;
  9506. # DEBUG BEGIN_STMT
  9507. pxIndex_29->pxPrevious = _10;
  9508. # DEBUG BEGIN_STMT
  9509. _16 = &pxReadyTasksLists[_12];
  9510. MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16;
  9511. # DEBUG BEGIN_STMT
  9512. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  9513. _18 = _17 + 1;
  9514. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  9515. # DEBUG BEGIN_STMT
  9516. # DEBUG BEGIN_STMT
  9517. <bb 17> [local count: 192180]:
  9518. # DEBUG BEGIN_STMT
  9519. return;
  9520. }
  9521. ;; Function vTaskList (vTaskList, funcdef_no=62, decl_uid=6204, cgraph_uid=63, symbol_order=84)
  9522. Symbols to be put in SSA form
  9523. { D.8294 D.8821 }
  9524. Incremental SSA update started at block: 0
  9525. Number of blocks in CFG: 16
  9526. Number of blocks to update: 15 ( 94%)
  9527. Merging blocks 7 and 12
  9528. Merging blocks 15 and 11
  9529. ;; 3 loops found
  9530. ;;
  9531. ;; Loop 0
  9532. ;; header 0, latch 1
  9533. ;; depth 0, outer -1
  9534. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  9535. ;;
  9536. ;; Loop 1
  9537. ;; header 11, latch 10
  9538. ;; depth 1, outer 0
  9539. ;; nodes: 11 10 9 7 8 6 5 4
  9540. ;;
  9541. ;; Loop 2
  9542. ;; header 9, latch 8
  9543. ;; depth 2, outer 1
  9544. ;; nodes: 9 8
  9545. ;; 2 succs { 3 13 }
  9546. ;; 3 succs { 11 }
  9547. ;; 4 succs { 5 6 }
  9548. ;; 5 succs { 7 }
  9549. ;; 6 succs { 7 }
  9550. ;; 7 succs { 9 }
  9551. ;; 8 succs { 9 }
  9552. ;; 9 succs { 8 10 }
  9553. ;; 10 succs { 11 }
  9554. ;; 11 succs { 4 12 }
  9555. ;; 12 succs { 13 }
  9556. ;; 13 succs { 1 }
  9557. vTaskList (char * pcWriteBuffer)
  9558. {
  9559. size_t x;
  9560. char * D.8821;
  9561. char cStatus;
  9562. UBaseType_t x;
  9563. UBaseType_t uxArraySize;
  9564. struct TaskStatus_t * pxTaskStatusArray;
  9565. long unsigned int uxCurrentNumberOfTasks.134_1;
  9566. long unsigned int _2;
  9567. long unsigned int _3;
  9568. struct TaskStatus_t * _4;
  9569. <unnamed type> _5;
  9570. unsigned int _6;
  9571. const char * _8;
  9572. int _9;
  9573. long unsigned int _11;
  9574. short unsigned int _12;
  9575. unsigned int _13;
  9576. long unsigned int _14;
  9577. unsigned int _15;
  9578. char * _37;
  9579. char * _40;
  9580. <bb 2> [local count: 27301407]:
  9581. # DEBUG BEGIN_STMT
  9582. # DEBUG BEGIN_STMT
  9583. # DEBUG BEGIN_STMT
  9584. # DEBUG BEGIN_STMT
  9585. *pcWriteBuffer_22(D) = 0;
  9586. # DEBUG BEGIN_STMT
  9587. uxArraySize_24 ={v} uxCurrentNumberOfTasks;
  9588. # DEBUG uxArraySize => uxArraySize_24
  9589. # DEBUG BEGIN_STMT
  9590. uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks;
  9591. _2 = uxCurrentNumberOfTasks.134_1 * 36;
  9592. pxTaskStatusArray_26 = pvPortMalloc (_2);
  9593. # DEBUG pxTaskStatusArray => pxTaskStatusArray_26
  9594. # DEBUG BEGIN_STMT
  9595. if (pxTaskStatusArray_26 != 0B)
  9596. goto <bb 3>; [53.47%]
  9597. else
  9598. goto <bb 13>; [46.53%]
  9599. <bb 3> [local count: 14598062]:
  9600. # DEBUG BEGIN_STMT
  9601. uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
  9602. # DEBUG uxArraySize => uxArraySize_28
  9603. # DEBUG BEGIN_STMT
  9604. # DEBUG x => 0
  9605. goto <bb 11>; [100.00%]
  9606. <bb 4> [local count: 118111600]:
  9607. # DEBUG BEGIN_STMT
  9608. _3 = x_17 * 36;
  9609. _4 = pxTaskStatusArray_26 + _3;
  9610. _5 = _4->eCurrentState;
  9611. _6 = _5;
  9612. if (_6 <= 4)
  9613. goto <bb 6>; [50.00%]
  9614. else
  9615. goto <bb 5>; [50.00%]
  9616. <bb 5> [local count: 59055800]:
  9617. <L15>:
  9618. cStatus_10 = 0;
  9619. goto <bb 7>; [100.00%]
  9620. <bb 6> [local count: 59055800]:
  9621. <L16>:
  9622. cStatus_7 = CSWTCH.225[_6];
  9623. <bb 7> [local count: 118111600]:
  9624. # cStatus_18 = PHI <cStatus_7(6), cStatus_10(5)>
  9625. <L17>:
  9626. <L14>:
  9627. # DEBUG cStatus => cStatus_18
  9628. # DEBUG BEGIN_STMT
  9629. _8 = _4->pcTaskName;
  9630. # DEBUG pcBuffer => pcWriteBuffer_16
  9631. # DEBUG pcTaskName => _8
  9632. # DEBUG INLINE_ENTRY prvWriteNameToBuffer
  9633. # DEBUG BEGIN_STMT
  9634. # DEBUG BEGIN_STMT
  9635. strcpy (pcWriteBuffer_16, _8);
  9636. # DEBUG BEGIN_STMT
  9637. x_35 = strlen (pcWriteBuffer_16);
  9638. # DEBUG x => x_35
  9639. goto <bb 9>; [100.00%]
  9640. <bb 8> [local count: 955630225]:
  9641. # DEBUG BEGIN_STMT
  9642. _37 = pcWriteBuffer_16 + x_36;
  9643. *_37 = 32;
  9644. # DEBUG BEGIN_STMT
  9645. x_38 = x_36 + 1;
  9646. # DEBUG x => x_38
  9647. <bb 9> [local count: 1073741824]:
  9648. # x_36 = PHI <x_35(7), x_38(8)>
  9649. # DEBUG x => x_36
  9650. # DEBUG BEGIN_STMT
  9651. if (x_36 <= 8)
  9652. goto <bb 8>; [89.00%]
  9653. else
  9654. goto <bb 10>; [11.00%]
  9655. <bb 10> [local count: 118111601]:
  9656. # x_39 = PHI <x_36(9)>
  9657. # DEBUG BEGIN_STMT
  9658. _40 = pcWriteBuffer_16 + x_39;
  9659. *_40 = 0;
  9660. # DEBUG BEGIN_STMT
  9661. _44 = _40;
  9662. # DEBUG pcBuffer => NULL
  9663. # DEBUG pcTaskName => NULL
  9664. # DEBUG x => NULL
  9665. pcWriteBuffer_31 = _44;
  9666. # DEBUG pcWriteBuffer => pcWriteBuffer_31
  9667. # DEBUG BEGIN_STMT
  9668. _9 = (int) cStatus_18;
  9669. _11 = _4->uxCurrentPriority;
  9670. _12 = _4->usStackHighWaterMark;
  9671. _13 = (unsigned int) _12;
  9672. _14 = _4->xTaskNumber;
  9673. sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
  9674. # DEBUG BEGIN_STMT
  9675. _15 = strlen (pcWriteBuffer_31);
  9676. pcWriteBuffer_33 = pcWriteBuffer_31 + _15;
  9677. # DEBUG pcWriteBuffer => pcWriteBuffer_33
  9678. # DEBUG BEGIN_STMT
  9679. x_34 = x_17 + 1;
  9680. # DEBUG x => x_34
  9681. <bb 11> [local count: 132709663]:
  9682. # pcWriteBuffer_16 = PHI <pcWriteBuffer_22(D)(3), pcWriteBuffer_33(10)>
  9683. # x_17 = PHI <0(3), x_34(10)>
  9684. # DEBUG x => x_17
  9685. # DEBUG pcWriteBuffer => pcWriteBuffer_16
  9686. # DEBUG BEGIN_STMT
  9687. if (x_17 < uxArraySize_28)
  9688. goto <bb 4>; [89.00%]
  9689. else
  9690. goto <bb 12>; [11.00%]
  9691. <bb 12> [local count: 14598063]:
  9692. # DEBUG BEGIN_STMT
  9693. vPortFree (pxTaskStatusArray_26);
  9694. <bb 13> [local count: 27301408]:
  9695. # DEBUG BEGIN_STMT
  9696. return;
  9697. }
  9698. ;; Function uxTaskResetEventItemValue (uxTaskResetEventItemValue, funcdef_no=63, decl_uid=6271, cgraph_uid=64, symbol_order=85)
  9699. uxTaskResetEventItemValue ()
  9700. {
  9701. TickType_t uxReturn;
  9702. struct TCB_t * pxCurrentTCB.135_1;
  9703. struct TCB_t * pxCurrentTCB.136_2;
  9704. long unsigned int _3;
  9705. struct TCB_t * pxCurrentTCB.137_4;
  9706. long unsigned int _5;
  9707. <bb 2> [local count: 1073741824]:
  9708. # DEBUG BEGIN_STMT
  9709. # DEBUG BEGIN_STMT
  9710. pxCurrentTCB.135_1 ={v} pxCurrentTCB;
  9711. uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue;
  9712. # DEBUG uxReturn => uxReturn_7
  9713. # DEBUG BEGIN_STMT
  9714. pxCurrentTCB.136_2 ={v} pxCurrentTCB;
  9715. _3 = pxCurrentTCB.136_2->uxPriority;
  9716. pxCurrentTCB.137_4 ={v} pxCurrentTCB;
  9717. _5 = 5 - _3;
  9718. pxCurrentTCB.137_4->xEventListItem.xItemValue = _5;
  9719. # DEBUG BEGIN_STMT
  9720. return uxReturn_7;
  9721. }
  9722. ;; Function pvTaskIncrementMutexHeldCount (pvTaskIncrementMutexHeldCount, funcdef_no=64, decl_uid=6295, cgraph_uid=65, symbol_order=86)
  9723. pvTaskIncrementMutexHeldCount ()
  9724. {
  9725. struct TCB_t * pxCurrentTCB.138_1;
  9726. struct TCB_t * pxCurrentTCB.139_2;
  9727. long unsigned int _3;
  9728. long unsigned int _4;
  9729. struct tskTaskControlBlock * _8;
  9730. <bb 2> [local count: 1073741824]:
  9731. # DEBUG BEGIN_STMT
  9732. pxCurrentTCB.138_1 ={v} pxCurrentTCB;
  9733. if (pxCurrentTCB.138_1 != 0B)
  9734. goto <bb 3>; [70.00%]
  9735. else
  9736. goto <bb 4>; [30.00%]
  9737. <bb 3> [local count: 751619278]:
  9738. # DEBUG BEGIN_STMT
  9739. pxCurrentTCB.139_2 ={v} pxCurrentTCB;
  9740. _3 = pxCurrentTCB.139_2->uxMutexesHeld;
  9741. _4 = _3 + 1;
  9742. pxCurrentTCB.139_2->uxMutexesHeld = _4;
  9743. <bb 4> [local count: 1073741824]:
  9744. # DEBUG BEGIN_STMT
  9745. _8 ={v} pxCurrentTCB;
  9746. return _8;
  9747. }
  9748. ;; Function ulTaskGenericNotifyTake (ulTaskGenericNotifyTake, funcdef_no=65, decl_uid=6235, cgraph_uid=66, symbol_order=87)
  9749. ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
  9750. {
  9751. uint32_t ulNewBASEPRI;
  9752. uint32_t ulReturn;
  9753. struct TCB_t * pxCurrentTCB.140_1;
  9754. long unsigned int _2;
  9755. struct TCB_t * pxCurrentTCB.141_3;
  9756. struct TCB_t * pxCurrentTCB.142_4;
  9757. struct TCB_t * pxCurrentTCB.143_5;
  9758. struct TCB_t * pxCurrentTCB.144_6;
  9759. long unsigned int _7;
  9760. struct TCB_t * pxCurrentTCB.145_8;
  9761. <bb 2> [local count: 160260]:
  9762. # DEBUG BEGIN_STMT
  9763. # DEBUG BEGIN_STMT
  9764. if (uxIndexToWait_11(D) != 0)
  9765. goto <bb 3>; [67.00%]
  9766. else
  9767. goto <bb 5>; [33.00%]
  9768. <bb 3> [local count: 107374]:
  9769. # DEBUG BEGIN_STMT
  9770. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9771. # DEBUG BEGIN_STMT
  9772. # DEBUG BEGIN_STMT
  9773. __asm__ __volatile__(" mov %0, %1
  9774. msr basepri, %0
  9775. isb
  9776. dsb
  9777. " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  9778. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  9779. <bb 4> [local count: 1073741824]:
  9780. # DEBUG ulNewBASEPRI => NULL
  9781. # DEBUG BEGIN_STMT
  9782. # DEBUG BEGIN_STMT
  9783. # DEBUG BEGIN_STMT
  9784. <bb 13> [local count: 1073741824]:
  9785. goto <bb 4>; [100.00%]
  9786. <bb 5> [local count: 52886]:
  9787. # DEBUG BEGIN_STMT
  9788. # DEBUG BEGIN_STMT
  9789. vPortEnterCritical ();
  9790. # DEBUG BEGIN_STMT
  9791. pxCurrentTCB.140_1 ={v} pxCurrentTCB;
  9792. _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0];
  9793. if (_2 == 0)
  9794. goto <bb 6>; [50.00%]
  9795. else
  9796. goto <bb 8>; [50.00%]
  9797. <bb 6> [local count: 26443]:
  9798. # DEBUG BEGIN_STMT
  9799. pxCurrentTCB.141_3 ={v} pxCurrentTCB;
  9800. pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1;
  9801. # DEBUG BEGIN_STMT
  9802. if (xTicksToWait_15(D) != 0)
  9803. goto <bb 7>; [33.00%]
  9804. else
  9805. goto <bb 8>; [67.00%]
  9806. <bb 7> [local count: 8726]:
  9807. # DEBUG BEGIN_STMT
  9808. prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1);
  9809. # DEBUG BEGIN_STMT
  9810. # DEBUG BEGIN_STMT
  9811. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  9812. # DEBUG BEGIN_STMT
  9813. __asm__ __volatile__("dsb" : : : "memory");
  9814. # DEBUG BEGIN_STMT
  9815. __asm__ __volatile__("isb");
  9816. # DEBUG BEGIN_STMT
  9817. <bb 8> [local count: 52886]:
  9818. # DEBUG BEGIN_STMT
  9819. # DEBUG BEGIN_STMT
  9820. vPortExitCritical ();
  9821. # DEBUG BEGIN_STMT
  9822. vPortEnterCritical ();
  9823. # DEBUG BEGIN_STMT
  9824. # DEBUG BEGIN_STMT
  9825. pxCurrentTCB.142_4 ={v} pxCurrentTCB;
  9826. ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0];
  9827. # DEBUG ulReturn => ulReturn_22
  9828. # DEBUG BEGIN_STMT
  9829. if (ulReturn_22 != 0)
  9830. goto <bb 9>; [50.00%]
  9831. else
  9832. goto <bb 12>; [50.00%]
  9833. <bb 9> [local count: 26443]:
  9834. # DEBUG BEGIN_STMT
  9835. if (xClearCountOnExit_23(D) != 0)
  9836. goto <bb 10>; [50.00%]
  9837. else
  9838. goto <bb 11>; [50.00%]
  9839. <bb 10> [local count: 13221]:
  9840. # DEBUG BEGIN_STMT
  9841. pxCurrentTCB.143_5 ={v} pxCurrentTCB;
  9842. pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0;
  9843. goto <bb 12>; [100.00%]
  9844. <bb 11> [local count: 13221]:
  9845. # DEBUG BEGIN_STMT
  9846. pxCurrentTCB.144_6 ={v} pxCurrentTCB;
  9847. _7 = ulReturn_22 + 4294967295;
  9848. pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7;
  9849. <bb 12> [local count: 52886]:
  9850. # DEBUG BEGIN_STMT
  9851. # DEBUG BEGIN_STMT
  9852. pxCurrentTCB.145_8 ={v} pxCurrentTCB;
  9853. pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0;
  9854. # DEBUG BEGIN_STMT
  9855. vPortExitCritical ();
  9856. # DEBUG BEGIN_STMT
  9857. return ulReturn_22;
  9858. }
  9859. ;; Function xTaskGenericNotifyWait (xTaskGenericNotifyWait, funcdef_no=66, decl_uid=6227, cgraph_uid=67, symbol_order=88)
  9860. xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
  9861. {
  9862. uint32_t ulNewBASEPRI;
  9863. BaseType_t xReturn;
  9864. struct TCB_t * pxCurrentTCB.146_1;
  9865. unsigned char _2;
  9866. long unsigned int _3;
  9867. long unsigned int _4;
  9868. long unsigned int _5;
  9869. struct TCB_t * pxCurrentTCB.148_6;
  9870. struct TCB_t * pxCurrentTCB.149_7;
  9871. long unsigned int _8;
  9872. struct TCB_t * pxCurrentTCB.150_9;
  9873. unsigned char _10;
  9874. long unsigned int _11;
  9875. long unsigned int _12;
  9876. long unsigned int _13;
  9877. struct TCB_t * pxCurrentTCB.152_14;
  9878. struct TCB_t * pxCurrentTCB.147_22;
  9879. struct TCB_t * pxCurrentTCB.151_35;
  9880. <bb 2> [local count: 160260]:
  9881. # DEBUG BEGIN_STMT
  9882. # DEBUG BEGIN_STMT
  9883. if (uxIndexToWait_19(D) != 0)
  9884. goto <bb 3>; [67.00%]
  9885. else
  9886. goto <bb 5>; [33.00%]
  9887. <bb 3> [local count: 107374]:
  9888. # DEBUG BEGIN_STMT
  9889. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  9890. # DEBUG BEGIN_STMT
  9891. # DEBUG BEGIN_STMT
  9892. __asm__ __volatile__(" mov %0, %1
  9893. msr basepri, %0
  9894. isb
  9895. dsb
  9896. " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  9897. # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
  9898. <bb 4> [local count: 1073741824]:
  9899. # DEBUG ulNewBASEPRI => NULL
  9900. # DEBUG BEGIN_STMT
  9901. # DEBUG BEGIN_STMT
  9902. # DEBUG BEGIN_STMT
  9903. <bb 13> [local count: 1073741824]:
  9904. goto <bb 4>; [100.00%]
  9905. <bb 5> [local count: 52886]:
  9906. # DEBUG BEGIN_STMT
  9907. # DEBUG BEGIN_STMT
  9908. vPortEnterCritical ();
  9909. # DEBUG BEGIN_STMT
  9910. pxCurrentTCB.146_1 ={v} pxCurrentTCB;
  9911. _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0];
  9912. if (_2 != 2)
  9913. goto <bb 6>; [66.00%]
  9914. else
  9915. goto <bb 8>; [34.00%]
  9916. <bb 6> [local count: 34905]:
  9917. # DEBUG BEGIN_STMT
  9918. pxCurrentTCB.147_22 ={v} pxCurrentTCB;
  9919. _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0];
  9920. _4 = ~ulBitsToClearOnEntry_23(D);
  9921. _5 = _3 & _4;
  9922. pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5;
  9923. # DEBUG BEGIN_STMT
  9924. pxCurrentTCB.148_6 ={v} pxCurrentTCB;
  9925. pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1;
  9926. # DEBUG BEGIN_STMT
  9927. if (xTicksToWait_26(D) != 0)
  9928. goto <bb 7>; [33.00%]
  9929. else
  9930. goto <bb 8>; [67.00%]
  9931. <bb 7> [local count: 11519]:
  9932. # DEBUG BEGIN_STMT
  9933. prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
  9934. # DEBUG BEGIN_STMT
  9935. # DEBUG BEGIN_STMT
  9936. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  9937. # DEBUG BEGIN_STMT
  9938. __asm__ __volatile__("dsb" : : : "memory");
  9939. # DEBUG BEGIN_STMT
  9940. __asm__ __volatile__("isb");
  9941. # DEBUG BEGIN_STMT
  9942. <bb 8> [local count: 52886]:
  9943. # DEBUG BEGIN_STMT
  9944. # DEBUG BEGIN_STMT
  9945. vPortExitCritical ();
  9946. # DEBUG BEGIN_STMT
  9947. vPortEnterCritical ();
  9948. # DEBUG BEGIN_STMT
  9949. # DEBUG BEGIN_STMT
  9950. if (pulNotificationValue_33(D) != 0B)
  9951. goto <bb 9>; [70.00%]
  9952. else
  9953. goto <bb 10>; [30.00%]
  9954. <bb 9> [local count: 37020]:
  9955. # DEBUG BEGIN_STMT
  9956. pxCurrentTCB.149_7 ={v} pxCurrentTCB;
  9957. _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0];
  9958. *pulNotificationValue_33(D) = _8;
  9959. <bb 10> [local count: 52886]:
  9960. # DEBUG BEGIN_STMT
  9961. pxCurrentTCB.150_9 ={v} pxCurrentTCB;
  9962. _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0];
  9963. if (_10 != 2)
  9964. goto <bb 12>; [66.00%]
  9965. else
  9966. goto <bb 11>; [34.00%]
  9967. <bb 11> [local count: 17981]:
  9968. # DEBUG BEGIN_STMT
  9969. pxCurrentTCB.151_35 ={v} pxCurrentTCB;
  9970. _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0];
  9971. _12 = ~ulBitsToClearOnExit_36(D);
  9972. _13 = _11 & _12;
  9973. pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13;
  9974. # DEBUG BEGIN_STMT
  9975. # DEBUG xReturn => 1
  9976. <bb 12> [local count: 52886]:
  9977. # xReturn_15 = PHI <0(10), 1(11)>
  9978. # DEBUG xReturn => xReturn_15
  9979. # DEBUG BEGIN_STMT
  9980. pxCurrentTCB.152_14 ={v} pxCurrentTCB;
  9981. pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0;
  9982. # DEBUG BEGIN_STMT
  9983. vPortExitCritical ();
  9984. # DEBUG BEGIN_STMT
  9985. return xReturn_15;
  9986. }
  9987. ;; Function xTaskGenericNotify (xTaskGenericNotify, funcdef_no=67, decl_uid=6214, cgraph_uid=68, symbol_order=89)
  9988. xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
  9989. {
  9990. uint32_t ulNewBASEPRI;
  9991. uint32_t ulNewBASEPRI;
  9992. uint32_t ulNewBASEPRI;
  9993. uint32_t ulNewBASEPRI;
  9994. struct ListItem_t * const pxIndex;
  9995. struct List_t * const pxList;
  9996. uint8_t ucOriginalNotifyState;
  9997. BaseType_t xReturn;
  9998. long unsigned int _1;
  9999. long unsigned int _2;
  10000. long unsigned int _3;
  10001. long unsigned int _4;
  10002. long unsigned int _5;
  10003. long unsigned int xTickCount.153_6;
  10004. struct xLIST_ITEM * _7;
  10005. struct xLIST_ITEM * _8;
  10006. struct xLIST_ITEM * _9;
  10007. struct ListItem_t * _10;
  10008. struct ListItem_t * _11;
  10009. long unsigned int _12;
  10010. long unsigned int _13;
  10011. long unsigned int _14;
  10012. long unsigned int uxTopReadyPriority.154_15;
  10013. struct xLIST_ITEM * _16;
  10014. struct xLIST_ITEM * _17;
  10015. struct List_t * _18;
  10016. long unsigned int _19;
  10017. long unsigned int _20;
  10018. struct xLIST * _21;
  10019. struct TCB_t * pxCurrentTCB.155_22;
  10020. long unsigned int _23;
  10021. <bb 2> [local count: 214748]:
  10022. # DEBUG BEGIN_STMT
  10023. # DEBUG BEGIN_STMT
  10024. # DEBUG xReturn => 1
  10025. # DEBUG BEGIN_STMT
  10026. # DEBUG BEGIN_STMT
  10027. if (uxIndexToNotify_30(D) != 0)
  10028. goto <bb 3>; [50.00%]
  10029. else
  10030. goto <bb 5>; [50.00%]
  10031. <bb 3> [local count: 107374]:
  10032. # DEBUG BEGIN_STMT
  10033. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10034. # DEBUG BEGIN_STMT
  10035. # DEBUG BEGIN_STMT
  10036. __asm__ __volatile__(" mov %0, %1
  10037. msr basepri, %0
  10038. isb
  10039. dsb
  10040. " : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
  10041. # DEBUG ulNewBASEPRI => ulNewBASEPRI_61
  10042. <bb 4> [local count: 1073741824]:
  10043. # DEBUG ulNewBASEPRI => NULL
  10044. # DEBUG BEGIN_STMT
  10045. # DEBUG BEGIN_STMT
  10046. # DEBUG BEGIN_STMT
  10047. <bb 30> [local count: 1073741824]:
  10048. goto <bb 4>; [100.00%]
  10049. <bb 5> [local count: 107374]:
  10050. # DEBUG BEGIN_STMT
  10051. # DEBUG BEGIN_STMT
  10052. if (xTaskToNotify_31(D) == 0B)
  10053. goto <bb 6>; [46.53%]
  10054. else
  10055. goto <bb 8>; [53.47%]
  10056. <bb 6> [local count: 49961]:
  10057. # DEBUG BEGIN_STMT
  10058. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10059. # DEBUG BEGIN_STMT
  10060. # DEBUG BEGIN_STMT
  10061. __asm__ __volatile__(" mov %0, %1
  10062. msr basepri, %0
  10063. isb
  10064. dsb
  10065. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  10066. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  10067. <bb 7> [local count: 499612071]:
  10068. # DEBUG ulNewBASEPRI => NULL
  10069. # DEBUG BEGIN_STMT
  10070. # DEBUG BEGIN_STMT
  10071. # DEBUG BEGIN_STMT
  10072. <bb 31> [local count: 499612071]:
  10073. goto <bb 7>; [100.00%]
  10074. <bb 8> [local count: 57413]:
  10075. # DEBUG BEGIN_STMT
  10076. # DEBUG BEGIN_STMT
  10077. # DEBUG pxTCB => xTaskToNotify_31(D)
  10078. # DEBUG BEGIN_STMT
  10079. vPortEnterCritical ();
  10080. # DEBUG BEGIN_STMT
  10081. if (pulPreviousNotificationValue_34(D) != 0B)
  10082. goto <bb 9>; [70.00%]
  10083. else
  10084. goto <bb 10>; [30.00%]
  10085. <bb 9> [local count: 40189]:
  10086. # DEBUG BEGIN_STMT
  10087. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  10088. *pulPreviousNotificationValue_34(D) = _1;
  10089. <bb 10> [local count: 57413]:
  10090. # DEBUG BEGIN_STMT
  10091. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0];
  10092. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  10093. # DEBUG BEGIN_STMT
  10094. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2;
  10095. # DEBUG BEGIN_STMT
  10096. 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%]>
  10097. <bb 11> [local count: 9571]:
  10098. <L8>:
  10099. # DEBUG BEGIN_STMT
  10100. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  10101. _3 = _2 | ulValue_39(D);
  10102. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3;
  10103. # DEBUG BEGIN_STMT
  10104. goto <bb 19>; [100.00%]
  10105. <bb 12> [local count: 9571]:
  10106. <L9>:
  10107. # DEBUG BEGIN_STMT
  10108. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
  10109. _5 = _4 + 1;
  10110. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5;
  10111. # DEBUG BEGIN_STMT
  10112. goto <bb 19>; [100.00%]
  10113. <bb 13> [local count: 9571]:
  10114. <L10>:
  10115. # DEBUG BEGIN_STMT
  10116. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  10117. # DEBUG BEGIN_STMT
  10118. goto <bb 19>; [100.00%]
  10119. <bb 14> [local count: 9571]:
  10120. <L11>:
  10121. # DEBUG BEGIN_STMT
  10122. if (ucOriginalNotifyState_36 != 2)
  10123. goto <bb 15>; [66.00%]
  10124. else
  10125. goto <bb 19>; [34.00%]
  10126. <bb 15> [local count: 6317]:
  10127. # DEBUG BEGIN_STMT
  10128. MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
  10129. goto <bb 19>; [100.00%]
  10130. <bb 16> [local count: 9571]:
  10131. <L16>:
  10132. # DEBUG BEGIN_STMT
  10133. xTickCount.153_6 ={v} xTickCount;
  10134. if (xTickCount.153_6 != 0)
  10135. goto <bb 17>; [50.00%]
  10136. else
  10137. goto <bb 19>; [50.00%]
  10138. <bb 17> [local count: 4785]:
  10139. # DEBUG BEGIN_STMT
  10140. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10141. # DEBUG BEGIN_STMT
  10142. # DEBUG BEGIN_STMT
  10143. __asm__ __volatile__(" mov %0, %1
  10144. msr basepri, %0
  10145. isb
  10146. dsb
  10147. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  10148. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  10149. <bb 18> [local count: 47853715]:
  10150. # DEBUG ulNewBASEPRI => NULL
  10151. # DEBUG BEGIN_STMT
  10152. # DEBUG BEGIN_STMT
  10153. # DEBUG BEGIN_STMT
  10154. <bb 32> [local count: 47853715]:
  10155. goto <bb 18>; [100.00%]
  10156. <bb 19> [local count: 52639]:
  10157. # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  10158. <L35>:
  10159. # DEBUG xReturn => xReturn_24
  10160. # DEBUG BEGIN_STMT
  10161. # DEBUG BEGIN_STMT
  10162. if (ucOriginalNotifyState_36 == 1)
  10163. goto <bb 20>; [51.12%]
  10164. else
  10165. goto <bb 29>; [48.88%]
  10166. <bb 20> [local count: 26909]:
  10167. # DEBUG BEGIN_STMT
  10168. pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer;
  10169. # DEBUG pxList => pxList_44
  10170. # DEBUG BEGIN_STMT
  10171. _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext;
  10172. _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  10173. _7->pxPrevious = _8;
  10174. # DEBUG BEGIN_STMT
  10175. _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
  10176. _9->pxNext = _7;
  10177. # DEBUG BEGIN_STMT
  10178. _10 = pxList_44->pxIndex;
  10179. _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem;
  10180. if (_10 == _11)
  10181. goto <bb 21>; [30.00%]
  10182. else
  10183. goto <bb 22>; [70.00%]
  10184. <bb 21> [local count: 8073]:
  10185. # DEBUG BEGIN_STMT
  10186. pxList_44->pxIndex = _9;
  10187. <bb 22> [local count: 26909]:
  10188. # DEBUG BEGIN_STMT
  10189. # DEBUG BEGIN_STMT
  10190. _12 ={v} pxList_44->uxNumberOfItems;
  10191. _13 = _12 + 4294967295;
  10192. pxList_44->uxNumberOfItems ={v} _13;
  10193. # DEBUG BEGIN_STMT
  10194. # DEBUG BEGIN_STMT
  10195. # DEBUG BEGIN_STMT
  10196. _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority;
  10197. uxTopReadyPriority.154_15 ={v} uxTopReadyPriority;
  10198. if (_14 > uxTopReadyPriority.154_15)
  10199. goto <bb 23>; [50.00%]
  10200. else
  10201. goto <bb 24>; [50.00%]
  10202. <bb 23> [local count: 13455]:
  10203. # DEBUG BEGIN_STMT
  10204. uxTopReadyPriority ={v} _14;
  10205. <bb 24> [local count: 26909]:
  10206. # DEBUG BEGIN_STMT
  10207. # DEBUG BEGIN_STMT
  10208. pxIndex_50 = pxReadyTasksLists[_14].pxIndex;
  10209. # DEBUG pxIndex => pxIndex_50
  10210. # DEBUG BEGIN_STMT
  10211. # DEBUG BEGIN_STMT
  10212. # DEBUG BEGIN_STMT
  10213. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50;
  10214. # DEBUG BEGIN_STMT
  10215. _16 = pxIndex_50->pxPrevious;
  10216. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16;
  10217. # DEBUG BEGIN_STMT
  10218. _17 = pxIndex_50->pxPrevious;
  10219. _17->pxNext = _11;
  10220. # DEBUG BEGIN_STMT
  10221. pxIndex_50->pxPrevious = _11;
  10222. # DEBUG BEGIN_STMT
  10223. _18 = &pxReadyTasksLists[_14];
  10224. MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18;
  10225. # DEBUG BEGIN_STMT
  10226. _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems;
  10227. _20 = _19 + 1;
  10228. pxReadyTasksLists[_14].uxNumberOfItems ={v} _20;
  10229. # DEBUG BEGIN_STMT
  10230. # DEBUG BEGIN_STMT
  10231. # DEBUG BEGIN_STMT
  10232. _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer;
  10233. if (_21 != 0B)
  10234. goto <bb 25>; [70.00%]
  10235. else
  10236. goto <bb 27>; [30.00%]
  10237. <bb 25> [local count: 18836]:
  10238. # DEBUG BEGIN_STMT
  10239. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10240. # DEBUG BEGIN_STMT
  10241. # DEBUG BEGIN_STMT
  10242. __asm__ __volatile__(" mov %0, %1
  10243. msr basepri, %0
  10244. isb
  10245. dsb
  10246. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  10247. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  10248. <bb 26> [local count: 188363707]:
  10249. # DEBUG ulNewBASEPRI => NULL
  10250. # DEBUG BEGIN_STMT
  10251. # DEBUG BEGIN_STMT
  10252. # DEBUG BEGIN_STMT
  10253. <bb 33> [local count: 188363706]:
  10254. goto <bb 26>; [100.00%]
  10255. <bb 27> [local count: 8073]:
  10256. # DEBUG BEGIN_STMT
  10257. # DEBUG BEGIN_STMT
  10258. pxCurrentTCB.155_22 ={v} pxCurrentTCB;
  10259. _23 = pxCurrentTCB.155_22->uxPriority;
  10260. if (_14 > _23)
  10261. goto <bb 28>; [50.00%]
  10262. else
  10263. goto <bb 29>; [50.00%]
  10264. <bb 28> [local count: 4036]:
  10265. # DEBUG BEGIN_STMT
  10266. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  10267. # DEBUG BEGIN_STMT
  10268. __asm__ __volatile__("dsb" : : : "memory");
  10269. # DEBUG BEGIN_STMT
  10270. __asm__ __volatile__("isb");
  10271. # DEBUG BEGIN_STMT
  10272. <bb 29> [local count: 33803]:
  10273. # DEBUG BEGIN_STMT
  10274. # DEBUG BEGIN_STMT
  10275. vPortExitCritical ();
  10276. # DEBUG BEGIN_STMT
  10277. return xReturn_24;
  10278. }
  10279. ;; Function xTaskGenericNotifyFromISR (xTaskGenericNotifyFromISR, funcdef_no=68, decl_uid=6221, cgraph_uid=69, symbol_order=90)
  10280. xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
  10281. {
  10282. uint32_t ulNewBASEPRI;
  10283. uint32_t ulNewBASEPRI;
  10284. uint32_t ulOriginalBASEPRI;
  10285. uint32_t ulNewBASEPRI;
  10286. uint32_t ulNewBASEPRI;
  10287. uint32_t ulNewBASEPRI;
  10288. struct ListItem_t * const pxIndex;
  10289. struct ListItem_t * const pxIndex;
  10290. struct List_t * const pxList;
  10291. BaseType_t xReturn;
  10292. uint8_t ucOriginalNotifyState;
  10293. long unsigned int _1;
  10294. long unsigned int _2;
  10295. long unsigned int _3;
  10296. long unsigned int _4;
  10297. long unsigned int _5;
  10298. long unsigned int xTickCount.156_6;
  10299. struct xLIST * _7;
  10300. long unsigned int uxSchedulerSuspended.157_8;
  10301. struct xLIST_ITEM * _9;
  10302. struct xLIST_ITEM * _10;
  10303. struct xLIST_ITEM * _11;
  10304. struct ListItem_t * _12;
  10305. struct ListItem_t * _13;
  10306. long unsigned int _14;
  10307. long unsigned int _15;
  10308. long unsigned int _16;
  10309. long unsigned int uxTopReadyPriority.158_17;
  10310. struct xLIST_ITEM * _18;
  10311. struct xLIST_ITEM * _19;
  10312. struct List_t * _20;
  10313. long unsigned int _21;
  10314. long unsigned int _22;
  10315. struct xLIST_ITEM * _23;
  10316. struct xLIST_ITEM * _24;
  10317. struct ListItem_t * _25;
  10318. long unsigned int _26;
  10319. long unsigned int _27;
  10320. long unsigned int _28;
  10321. struct TCB_t * pxCurrentTCB.159_29;
  10322. long unsigned int _30;
  10323. <bb 2> [local count: 228942]:
  10324. # DEBUG BEGIN_STMT
  10325. # DEBUG BEGIN_STMT
  10326. # DEBUG BEGIN_STMT
  10327. # DEBUG xReturn => 1
  10328. # DEBUG BEGIN_STMT
  10329. # DEBUG BEGIN_STMT
  10330. if (xTaskToNotify_39(D) == 0B)
  10331. goto <bb 3>; [30.00%]
  10332. else
  10333. goto <bb 5>; [70.00%]
  10334. <bb 3> [local count: 68683]:
  10335. # DEBUG BEGIN_STMT
  10336. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10337. # DEBUG BEGIN_STMT
  10338. # DEBUG BEGIN_STMT
  10339. __asm__ __volatile__(" mov %0, %1
  10340. msr basepri, %0
  10341. isb
  10342. dsb
  10343. " : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
  10344. # DEBUG ulNewBASEPRI => ulNewBASEPRI_76
  10345. <bb 4> [local count: 686828460]:
  10346. # DEBUG ulNewBASEPRI => NULL
  10347. # DEBUG BEGIN_STMT
  10348. # DEBUG BEGIN_STMT
  10349. # DEBUG BEGIN_STMT
  10350. <bb 35> [local count: 686828460]:
  10351. goto <bb 4>; [100.00%]
  10352. <bb 5> [local count: 160260]:
  10353. # DEBUG BEGIN_STMT
  10354. # DEBUG BEGIN_STMT
  10355. if (uxIndexToNotify_40(D) != 0)
  10356. goto <bb 6>; [67.00%]
  10357. else
  10358. goto <bb 8>; [33.00%]
  10359. <bb 6> [local count: 107374]:
  10360. # DEBUG BEGIN_STMT
  10361. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10362. # DEBUG BEGIN_STMT
  10363. # DEBUG BEGIN_STMT
  10364. __asm__ __volatile__(" mov %0, %1
  10365. msr basepri, %0
  10366. isb
  10367. dsb
  10368. " : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
  10369. # DEBUG ulNewBASEPRI => ulNewBASEPRI_77
  10370. <bb 7> [local count: 1073741824]:
  10371. # DEBUG ulNewBASEPRI => NULL
  10372. # DEBUG BEGIN_STMT
  10373. # DEBUG BEGIN_STMT
  10374. # DEBUG BEGIN_STMT
  10375. <bb 36> [local count: 1073741824]:
  10376. goto <bb 7>; [100.00%]
  10377. <bb 8> [local count: 52886]:
  10378. # DEBUG BEGIN_STMT
  10379. # DEBUG BEGIN_STMT
  10380. vPortValidateInterruptPriority ();
  10381. # DEBUG BEGIN_STMT
  10382. # DEBUG pxTCB => xTaskToNotify_39(D)
  10383. # DEBUG BEGIN_STMT
  10384. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  10385. # DEBUG BEGIN_STMT
  10386. # DEBUG BEGIN_STMT
  10387. __asm__ __volatile__(" mrs %0, basepri
  10388. mov %1, %2
  10389. msr basepri, %1
  10390. isb
  10391. dsb
  10392. " : "=r" ulOriginalBASEPRI_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory");
  10393. # DEBUG ulNewBASEPRI => ulNewBASEPRI_79
  10394. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78
  10395. # DEBUG BEGIN_STMT
  10396. # DEBUG ulNewBASEPRI => NULL
  10397. # DEBUG ulOriginalBASEPRI => NULL
  10398. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78
  10399. # DEBUG BEGIN_STMT
  10400. if (pulPreviousNotificationValue_43(D) != 0B)
  10401. goto <bb 9>; [70.00%]
  10402. else
  10403. goto <bb 10>; [30.00%]
  10404. <bb 9> [local count: 37020]:
  10405. # DEBUG BEGIN_STMT
  10406. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  10407. *pulPreviousNotificationValue_43(D) = _1;
  10408. <bb 10> [local count: 52886]:
  10409. # DEBUG BEGIN_STMT
  10410. ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0];
  10411. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45
  10412. # DEBUG BEGIN_STMT
  10413. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2;
  10414. # DEBUG BEGIN_STMT
  10415. 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%]>
  10416. <bb 11> [local count: 8816]:
  10417. <L8>:
  10418. # DEBUG BEGIN_STMT
  10419. _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  10420. _3 = _2 | ulValue_48(D);
  10421. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3;
  10422. # DEBUG BEGIN_STMT
  10423. goto <bb 19>; [100.00%]
  10424. <bb 12> [local count: 8816]:
  10425. <L9>:
  10426. # DEBUG BEGIN_STMT
  10427. _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
  10428. _5 = _4 + 1;
  10429. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5;
  10430. # DEBUG BEGIN_STMT
  10431. goto <bb 19>; [100.00%]
  10432. <bb 13> [local count: 8816]:
  10433. <L10>:
  10434. # DEBUG BEGIN_STMT
  10435. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  10436. # DEBUG BEGIN_STMT
  10437. goto <bb 19>; [100.00%]
  10438. <bb 14> [local count: 8816]:
  10439. <L11>:
  10440. # DEBUG BEGIN_STMT
  10441. if (ucOriginalNotifyState_45 != 2)
  10442. goto <bb 15>; [66.00%]
  10443. else
  10444. goto <bb 19>; [34.00%]
  10445. <bb 15> [local count: 5819]:
  10446. # DEBUG BEGIN_STMT
  10447. MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
  10448. goto <bb 19>; [100.00%]
  10449. <bb 16> [local count: 8816]:
  10450. <L16>:
  10451. # DEBUG BEGIN_STMT
  10452. xTickCount.156_6 ={v} xTickCount;
  10453. if (xTickCount.156_6 != 0)
  10454. goto <bb 17>; [50.00%]
  10455. else
  10456. goto <bb 19>; [50.00%]
  10457. <bb 17> [local count: 4408]:
  10458. # DEBUG BEGIN_STMT
  10459. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10460. # DEBUG BEGIN_STMT
  10461. # DEBUG BEGIN_STMT
  10462. __asm__ __volatile__(" mov %0, %1
  10463. msr basepri, %0
  10464. isb
  10465. dsb
  10466. " : "=r" ulNewBASEPRI_80 : "i" 16 : "memory");
  10467. # DEBUG ulNewBASEPRI => ulNewBASEPRI_80
  10468. <bb 18> [local count: 44080307]:
  10469. # DEBUG ulNewBASEPRI => NULL
  10470. # DEBUG BEGIN_STMT
  10471. # DEBUG BEGIN_STMT
  10472. # DEBUG BEGIN_STMT
  10473. <bb 37> [local count: 44080307]:
  10474. goto <bb 18>; [100.00%]
  10475. <bb 19> [local count: 48488]:
  10476. # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
  10477. <L39>:
  10478. # DEBUG xReturn => xReturn_31
  10479. # DEBUG BEGIN_STMT
  10480. # DEBUG BEGIN_STMT
  10481. if (ucOriginalNotifyState_45 == 1)
  10482. goto <bb 20>; [34.00%]
  10483. else
  10484. goto <bb 34>; [66.00%]
  10485. <bb 20> [local count: 16486]:
  10486. # DEBUG BEGIN_STMT
  10487. _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer;
  10488. if (_7 != 0B)
  10489. goto <bb 21>; [70.00%]
  10490. else
  10491. goto <bb 23>; [30.00%]
  10492. <bb 21> [local count: 11540]:
  10493. # DEBUG BEGIN_STMT
  10494. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10495. # DEBUG BEGIN_STMT
  10496. # DEBUG BEGIN_STMT
  10497. __asm__ __volatile__(" mov %0, %1
  10498. msr basepri, %0
  10499. isb
  10500. dsb
  10501. " : "=r" ulNewBASEPRI_81 : "i" 16 : "memory");
  10502. # DEBUG ulNewBASEPRI => ulNewBASEPRI_81
  10503. <bb 22> [local count: 115402244]:
  10504. # DEBUG ulNewBASEPRI => NULL
  10505. # DEBUG BEGIN_STMT
  10506. # DEBUG BEGIN_STMT
  10507. # DEBUG BEGIN_STMT
  10508. <bb 38> [local count: 115402244]:
  10509. goto <bb 22>; [100.00%]
  10510. <bb 23> [local count: 4946]:
  10511. # DEBUG BEGIN_STMT
  10512. # DEBUG BEGIN_STMT
  10513. uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended;
  10514. if (uxSchedulerSuspended.157_8 == 0)
  10515. goto <bb 24>; [50.00%]
  10516. else
  10517. goto <bb 29>; [50.00%]
  10518. <bb 24> [local count: 2473]:
  10519. # DEBUG BEGIN_STMT
  10520. pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer;
  10521. # DEBUG pxList => pxList_60
  10522. # DEBUG BEGIN_STMT
  10523. _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext;
  10524. _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  10525. _9->pxPrevious = _10;
  10526. # DEBUG BEGIN_STMT
  10527. _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
  10528. _11->pxNext = _9;
  10529. # DEBUG BEGIN_STMT
  10530. _12 = pxList_60->pxIndex;
  10531. _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem;
  10532. if (_12 == _13)
  10533. goto <bb 25>; [30.00%]
  10534. else
  10535. goto <bb 26>; [70.00%]
  10536. <bb 25> [local count: 742]:
  10537. # DEBUG BEGIN_STMT
  10538. pxList_60->pxIndex = _11;
  10539. <bb 26> [local count: 2473]:
  10540. # DEBUG BEGIN_STMT
  10541. # DEBUG BEGIN_STMT
  10542. _14 ={v} pxList_60->uxNumberOfItems;
  10543. _15 = _14 + 4294967295;
  10544. pxList_60->uxNumberOfItems ={v} _15;
  10545. # DEBUG BEGIN_STMT
  10546. # DEBUG BEGIN_STMT
  10547. # DEBUG BEGIN_STMT
  10548. _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  10549. uxTopReadyPriority.158_17 ={v} uxTopReadyPriority;
  10550. if (_16 > uxTopReadyPriority.158_17)
  10551. goto <bb 27>; [50.00%]
  10552. else
  10553. goto <bb 28>; [50.00%]
  10554. <bb 27> [local count: 1236]:
  10555. # DEBUG BEGIN_STMT
  10556. uxTopReadyPriority ={v} _16;
  10557. <bb 28> [local count: 2473]:
  10558. # DEBUG BEGIN_STMT
  10559. # DEBUG BEGIN_STMT
  10560. pxIndex_66 = pxReadyTasksLists[_16].pxIndex;
  10561. # DEBUG pxIndex => pxIndex_66
  10562. # DEBUG BEGIN_STMT
  10563. # DEBUG BEGIN_STMT
  10564. # DEBUG BEGIN_STMT
  10565. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66;
  10566. # DEBUG BEGIN_STMT
  10567. _18 = pxIndex_66->pxPrevious;
  10568. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18;
  10569. # DEBUG BEGIN_STMT
  10570. _19 = pxIndex_66->pxPrevious;
  10571. _19->pxNext = _13;
  10572. # DEBUG BEGIN_STMT
  10573. pxIndex_66->pxPrevious = _13;
  10574. # DEBUG BEGIN_STMT
  10575. _20 = &pxReadyTasksLists[_16];
  10576. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20;
  10577. # DEBUG BEGIN_STMT
  10578. _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
  10579. _22 = _21 + 1;
  10580. pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
  10581. # DEBUG BEGIN_STMT
  10582. # DEBUG BEGIN_STMT
  10583. goto <bb 30>; [100.00%]
  10584. <bb 29> [local count: 2473]:
  10585. # DEBUG BEGIN_STMT
  10586. pxIndex_53 = xPendingReadyList.pxIndex;
  10587. # DEBUG pxIndex => pxIndex_53
  10588. # DEBUG BEGIN_STMT
  10589. # DEBUG BEGIN_STMT
  10590. # DEBUG BEGIN_STMT
  10591. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53;
  10592. # DEBUG BEGIN_STMT
  10593. _23 = pxIndex_53->pxPrevious;
  10594. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23;
  10595. # DEBUG BEGIN_STMT
  10596. _24 = pxIndex_53->pxPrevious;
  10597. _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem;
  10598. _24->pxNext = _25;
  10599. # DEBUG BEGIN_STMT
  10600. pxIndex_53->pxPrevious = _25;
  10601. # DEBUG BEGIN_STMT
  10602. MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList;
  10603. # DEBUG BEGIN_STMT
  10604. _26 ={v} xPendingReadyList.uxNumberOfItems;
  10605. _27 = _26 + 1;
  10606. xPendingReadyList.uxNumberOfItems ={v} _27;
  10607. <bb 30> [local count: 4946]:
  10608. # DEBUG BEGIN_STMT
  10609. # DEBUG BEGIN_STMT
  10610. _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
  10611. pxCurrentTCB.159_29 ={v} pxCurrentTCB;
  10612. _30 = pxCurrentTCB.159_29->uxPriority;
  10613. if (_28 > _30)
  10614. goto <bb 31>; [50.00%]
  10615. else
  10616. goto <bb 34>; [50.00%]
  10617. <bb 31> [local count: 2473]:
  10618. # DEBUG BEGIN_STMT
  10619. if (pxHigherPriorityTaskWoken_73(D) != 0B)
  10620. goto <bb 32>; [70.00%]
  10621. else
  10622. goto <bb 33>; [30.00%]
  10623. <bb 32> [local count: 1731]:
  10624. # DEBUG BEGIN_STMT
  10625. *pxHigherPriorityTaskWoken_73(D) = 1;
  10626. <bb 33> [local count: 2473]:
  10627. # DEBUG BEGIN_STMT
  10628. xYieldPending ={v} 1;
  10629. <bb 34> [local count: 36948]:
  10630. # DEBUG BEGIN_STMT
  10631. # DEBUG BEGIN_STMT
  10632. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78
  10633. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  10634. # DEBUG BEGIN_STMT
  10635. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory");
  10636. # DEBUG ulNewMaskValue => NULL
  10637. # DEBUG BEGIN_STMT
  10638. return xReturn_31;
  10639. }
  10640. ;; Function vTaskGenericNotifyGiveFromISR (vTaskGenericNotifyGiveFromISR, funcdef_no=69, decl_uid=6231, cgraph_uid=70, symbol_order=91)
  10641. vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
  10642. {
  10643. uint32_t ulNewBASEPRI;
  10644. uint32_t ulOriginalBASEPRI;
  10645. uint32_t ulNewBASEPRI;
  10646. uint32_t ulNewBASEPRI;
  10647. uint32_t ulNewBASEPRI;
  10648. struct ListItem_t * const pxIndex;
  10649. struct ListItem_t * const pxIndex;
  10650. struct List_t * const pxList;
  10651. uint8_t ucOriginalNotifyState;
  10652. long unsigned int _1;
  10653. long unsigned int _2;
  10654. struct xLIST * _3;
  10655. long unsigned int uxSchedulerSuspended.160_4;
  10656. struct xLIST_ITEM * _5;
  10657. struct xLIST_ITEM * _6;
  10658. struct xLIST_ITEM * _7;
  10659. struct ListItem_t * _8;
  10660. struct ListItem_t * _9;
  10661. long unsigned int _10;
  10662. long unsigned int _11;
  10663. long unsigned int _12;
  10664. long unsigned int uxTopReadyPriority.161_13;
  10665. struct xLIST_ITEM * _14;
  10666. struct xLIST_ITEM * _15;
  10667. struct List_t * _16;
  10668. long unsigned int _17;
  10669. long unsigned int _18;
  10670. struct xLIST_ITEM * _19;
  10671. struct xLIST_ITEM * _20;
  10672. struct ListItem_t * _21;
  10673. long unsigned int _22;
  10674. long unsigned int _23;
  10675. long unsigned int _24;
  10676. struct TCB_t * pxCurrentTCB.162_25;
  10677. long unsigned int _26;
  10678. <bb 2> [local count: 228942]:
  10679. # DEBUG BEGIN_STMT
  10680. # DEBUG BEGIN_STMT
  10681. # DEBUG BEGIN_STMT
  10682. # DEBUG BEGIN_STMT
  10683. if (xTaskToNotify_32(D) == 0B)
  10684. goto <bb 3>; [30.00%]
  10685. else
  10686. goto <bb 5>; [70.00%]
  10687. <bb 3> [local count: 68683]:
  10688. # DEBUG BEGIN_STMT
  10689. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10690. # DEBUG BEGIN_STMT
  10691. # DEBUG BEGIN_STMT
  10692. __asm__ __volatile__(" mov %0, %1
  10693. msr basepri, %0
  10694. isb
  10695. dsb
  10696. " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
  10697. # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
  10698. <bb 4> [local count: 686828460]:
  10699. # DEBUG ulNewBASEPRI => NULL
  10700. # DEBUG BEGIN_STMT
  10701. # DEBUG BEGIN_STMT
  10702. # DEBUG BEGIN_STMT
  10703. <bb 24> [local count: 686828460]:
  10704. goto <bb 4>; [100.00%]
  10705. <bb 5> [local count: 160260]:
  10706. # DEBUG BEGIN_STMT
  10707. # DEBUG BEGIN_STMT
  10708. if (uxIndexToNotify_33(D) != 0)
  10709. goto <bb 6>; [67.00%]
  10710. else
  10711. goto <bb 8>; [33.00%]
  10712. <bb 6> [local count: 107374]:
  10713. # DEBUG BEGIN_STMT
  10714. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10715. # DEBUG BEGIN_STMT
  10716. # DEBUG BEGIN_STMT
  10717. __asm__ __volatile__(" mov %0, %1
  10718. msr basepri, %0
  10719. isb
  10720. dsb
  10721. " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
  10722. # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
  10723. <bb 7> [local count: 1073741824]:
  10724. # DEBUG ulNewBASEPRI => NULL
  10725. # DEBUG BEGIN_STMT
  10726. # DEBUG BEGIN_STMT
  10727. # DEBUG BEGIN_STMT
  10728. <bb 25> [local count: 1073741824]:
  10729. goto <bb 7>; [100.00%]
  10730. <bb 8> [local count: 52886]:
  10731. # DEBUG BEGIN_STMT
  10732. # DEBUG BEGIN_STMT
  10733. vPortValidateInterruptPriority ();
  10734. # DEBUG BEGIN_STMT
  10735. # DEBUG pxTCB => xTaskToNotify_32(D)
  10736. # DEBUG BEGIN_STMT
  10737. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  10738. # DEBUG BEGIN_STMT
  10739. # DEBUG BEGIN_STMT
  10740. __asm__ __volatile__(" mrs %0, basepri
  10741. mov %1, %2
  10742. msr basepri, %1
  10743. isb
  10744. dsb
  10745. " : "=r" ulOriginalBASEPRI_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  10746. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  10747. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64
  10748. # DEBUG BEGIN_STMT
  10749. # DEBUG ulNewBASEPRI => NULL
  10750. # DEBUG ulOriginalBASEPRI => NULL
  10751. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64
  10752. # DEBUG BEGIN_STMT
  10753. ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0];
  10754. # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
  10755. # DEBUG BEGIN_STMT
  10756. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2;
  10757. # DEBUG BEGIN_STMT
  10758. _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0];
  10759. _2 = _1 + 1;
  10760. MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2;
  10761. # DEBUG BEGIN_STMT
  10762. # DEBUG BEGIN_STMT
  10763. if (ucOriginalNotifyState_36 == 1)
  10764. goto <bb 9>; [34.00%]
  10765. else
  10766. goto <bb 23>; [66.00%]
  10767. <bb 9> [local count: 17981]:
  10768. # DEBUG BEGIN_STMT
  10769. _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer;
  10770. if (_3 != 0B)
  10771. goto <bb 10>; [70.00%]
  10772. else
  10773. goto <bb 12>; [30.00%]
  10774. <bb 10> [local count: 12587]:
  10775. # DEBUG BEGIN_STMT
  10776. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10777. # DEBUG BEGIN_STMT
  10778. # DEBUG BEGIN_STMT
  10779. __asm__ __volatile__(" mov %0, %1
  10780. msr basepri, %0
  10781. isb
  10782. dsb
  10783. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  10784. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  10785. <bb 11> [local count: 125868183]:
  10786. # DEBUG ulNewBASEPRI => NULL
  10787. # DEBUG BEGIN_STMT
  10788. # DEBUG BEGIN_STMT
  10789. # DEBUG BEGIN_STMT
  10790. <bb 26> [local count: 125868183]:
  10791. goto <bb 11>; [100.00%]
  10792. <bb 12> [local count: 5394]:
  10793. # DEBUG BEGIN_STMT
  10794. # DEBUG BEGIN_STMT
  10795. uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended;
  10796. if (uxSchedulerSuspended.160_4 == 0)
  10797. goto <bb 13>; [50.00%]
  10798. else
  10799. goto <bb 18>; [50.00%]
  10800. <bb 13> [local count: 2697]:
  10801. # DEBUG BEGIN_STMT
  10802. pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer;
  10803. # DEBUG pxList => pxList_46
  10804. # DEBUG BEGIN_STMT
  10805. _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext;
  10806. _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  10807. _5->pxPrevious = _6;
  10808. # DEBUG BEGIN_STMT
  10809. _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
  10810. _7->pxNext = _5;
  10811. # DEBUG BEGIN_STMT
  10812. _8 = pxList_46->pxIndex;
  10813. _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem;
  10814. if (_8 == _9)
  10815. goto <bb 14>; [30.00%]
  10816. else
  10817. goto <bb 15>; [70.00%]
  10818. <bb 14> [local count: 809]:
  10819. # DEBUG BEGIN_STMT
  10820. pxList_46->pxIndex = _7;
  10821. <bb 15> [local count: 2697]:
  10822. # DEBUG BEGIN_STMT
  10823. # DEBUG BEGIN_STMT
  10824. _10 ={v} pxList_46->uxNumberOfItems;
  10825. _11 = _10 + 4294967295;
  10826. pxList_46->uxNumberOfItems ={v} _11;
  10827. # DEBUG BEGIN_STMT
  10828. # DEBUG BEGIN_STMT
  10829. # DEBUG BEGIN_STMT
  10830. _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  10831. uxTopReadyPriority.161_13 ={v} uxTopReadyPriority;
  10832. if (_12 > uxTopReadyPriority.161_13)
  10833. goto <bb 16>; [50.00%]
  10834. else
  10835. goto <bb 17>; [50.00%]
  10836. <bb 16> [local count: 1349]:
  10837. # DEBUG BEGIN_STMT
  10838. uxTopReadyPriority ={v} _12;
  10839. <bb 17> [local count: 2697]:
  10840. # DEBUG BEGIN_STMT
  10841. # DEBUG BEGIN_STMT
  10842. pxIndex_52 = pxReadyTasksLists[_12].pxIndex;
  10843. # DEBUG pxIndex => pxIndex_52
  10844. # DEBUG BEGIN_STMT
  10845. # DEBUG BEGIN_STMT
  10846. # DEBUG BEGIN_STMT
  10847. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52;
  10848. # DEBUG BEGIN_STMT
  10849. _14 = pxIndex_52->pxPrevious;
  10850. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14;
  10851. # DEBUG BEGIN_STMT
  10852. _15 = pxIndex_52->pxPrevious;
  10853. _15->pxNext = _9;
  10854. # DEBUG BEGIN_STMT
  10855. pxIndex_52->pxPrevious = _9;
  10856. # DEBUG BEGIN_STMT
  10857. _16 = &pxReadyTasksLists[_12];
  10858. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16;
  10859. # DEBUG BEGIN_STMT
  10860. _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
  10861. _18 = _17 + 1;
  10862. pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
  10863. # DEBUG BEGIN_STMT
  10864. # DEBUG BEGIN_STMT
  10865. goto <bb 19>; [100.00%]
  10866. <bb 18> [local count: 2697]:
  10867. # DEBUG BEGIN_STMT
  10868. pxIndex_39 = xPendingReadyList.pxIndex;
  10869. # DEBUG pxIndex => pxIndex_39
  10870. # DEBUG BEGIN_STMT
  10871. # DEBUG BEGIN_STMT
  10872. # DEBUG BEGIN_STMT
  10873. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39;
  10874. # DEBUG BEGIN_STMT
  10875. _19 = pxIndex_39->pxPrevious;
  10876. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19;
  10877. # DEBUG BEGIN_STMT
  10878. _20 = pxIndex_39->pxPrevious;
  10879. _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem;
  10880. _20->pxNext = _21;
  10881. # DEBUG BEGIN_STMT
  10882. pxIndex_39->pxPrevious = _21;
  10883. # DEBUG BEGIN_STMT
  10884. MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList;
  10885. # DEBUG BEGIN_STMT
  10886. _22 ={v} xPendingReadyList.uxNumberOfItems;
  10887. _23 = _22 + 1;
  10888. xPendingReadyList.uxNumberOfItems ={v} _23;
  10889. <bb 19> [local count: 5394]:
  10890. # DEBUG BEGIN_STMT
  10891. # DEBUG BEGIN_STMT
  10892. _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
  10893. pxCurrentTCB.162_25 ={v} pxCurrentTCB;
  10894. _26 = pxCurrentTCB.162_25->uxPriority;
  10895. if (_24 > _26)
  10896. goto <bb 20>; [50.00%]
  10897. else
  10898. goto <bb 23>; [50.00%]
  10899. <bb 20> [local count: 2697]:
  10900. # DEBUG BEGIN_STMT
  10901. if (pxHigherPriorityTaskWoken_59(D) != 0B)
  10902. goto <bb 21>; [70.00%]
  10903. else
  10904. goto <bb 22>; [30.00%]
  10905. <bb 21> [local count: 1888]:
  10906. # DEBUG BEGIN_STMT
  10907. *pxHigherPriorityTaskWoken_59(D) = 1;
  10908. <bb 22> [local count: 2697]:
  10909. # DEBUG BEGIN_STMT
  10910. xYieldPending ={v} 1;
  10911. <bb 23> [local count: 40299]:
  10912. # DEBUG BEGIN_STMT
  10913. # DEBUG BEGIN_STMT
  10914. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64
  10915. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  10916. # DEBUG BEGIN_STMT
  10917. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory");
  10918. # DEBUG ulNewMaskValue => NULL
  10919. return;
  10920. }
  10921. ;; Function xTaskGenericNotifyStateClear (xTaskGenericNotifyStateClear, funcdef_no=70, decl_uid=6238, cgraph_uid=71, symbol_order=92)
  10922. xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
  10923. {
  10924. uint32_t ulNewBASEPRI;
  10925. BaseType_t xReturn;
  10926. unsigned char _1;
  10927. struct TCB_t * iftmp.163_3;
  10928. struct TCB_t * iftmp.163_8;
  10929. <bb 2> [local count: 214748]:
  10930. # DEBUG BEGIN_STMT
  10931. # DEBUG BEGIN_STMT
  10932. # DEBUG BEGIN_STMT
  10933. if (uxIndexToClear_5(D) != 0)
  10934. goto <bb 3>; [50.00%]
  10935. else
  10936. goto <bb 5>; [50.00%]
  10937. <bb 3> [local count: 107374]:
  10938. # DEBUG BEGIN_STMT
  10939. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  10940. # DEBUG BEGIN_STMT
  10941. # DEBUG BEGIN_STMT
  10942. __asm__ __volatile__(" mov %0, %1
  10943. msr basepri, %0
  10944. isb
  10945. dsb
  10946. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  10947. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  10948. <bb 4> [local count: 1073741824]:
  10949. # DEBUG ulNewBASEPRI => NULL
  10950. # DEBUG BEGIN_STMT
  10951. # DEBUG BEGIN_STMT
  10952. # DEBUG BEGIN_STMT
  10953. <bb 10> [local count: 1073741824]:
  10954. goto <bb 4>; [100.00%]
  10955. <bb 5> [local count: 107374]:
  10956. # DEBUG BEGIN_STMT
  10957. # DEBUG BEGIN_STMT
  10958. if (xTask_6(D) == 0B)
  10959. goto <bb 6>; [30.00%]
  10960. else
  10961. goto <bb 7>; [70.00%]
  10962. <bb 6> [local count: 32212]:
  10963. iftmp.163_8 ={v} pxCurrentTCB;
  10964. <bb 7> [local count: 107374]:
  10965. # iftmp.163_3 = PHI <iftmp.163_8(6), xTask_6(D)(5)>
  10966. # DEBUG pxTCB => iftmp.163_3
  10967. # DEBUG BEGIN_STMT
  10968. vPortEnterCritical ();
  10969. # DEBUG BEGIN_STMT
  10970. _1 ={v} iftmp.163_3->ucNotifyState[0];
  10971. if (_1 == 2)
  10972. goto <bb 8>; [34.00%]
  10973. else
  10974. goto <bb 9>; [66.00%]
  10975. <bb 8> [local count: 36507]:
  10976. # DEBUG BEGIN_STMT
  10977. iftmp.163_3->ucNotifyState[0] ={v} 0;
  10978. # DEBUG BEGIN_STMT
  10979. # DEBUG xReturn => 1
  10980. <bb 9> [local count: 107374]:
  10981. # xReturn_2 = PHI <1(8), 0(7)>
  10982. # DEBUG xReturn => xReturn_2
  10983. # DEBUG BEGIN_STMT
  10984. vPortExitCritical ();
  10985. # DEBUG BEGIN_STMT
  10986. return xReturn_2;
  10987. }
  10988. ;; Function ulTaskGenericNotifyValueClear (ulTaskGenericNotifyValueClear, funcdef_no=71, decl_uid=6242, cgraph_uid=72, symbol_order=93)
  10989. ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
  10990. {
  10991. uint32_t ulReturn;
  10992. long unsigned int _1;
  10993. long unsigned int _2;
  10994. long unsigned int _3;
  10995. struct TCB_t * iftmp.164_4;
  10996. struct TCB_t * iftmp.164_7;
  10997. <bb 2> [local count: 1073741824]:
  10998. # DEBUG BEGIN_STMT
  10999. # DEBUG BEGIN_STMT
  11000. # DEBUG BEGIN_STMT
  11001. if (xTask_5(D) == 0B)
  11002. goto <bb 3>; [30.00%]
  11003. else
  11004. goto <bb 4>; [70.00%]
  11005. <bb 3> [local count: 322122547]:
  11006. iftmp.164_7 ={v} pxCurrentTCB;
  11007. <bb 4> [local count: 1073741824]:
  11008. # iftmp.164_4 = PHI <iftmp.164_7(3), xTask_5(D)(2)>
  11009. # DEBUG pxTCB => iftmp.164_4
  11010. # DEBUG BEGIN_STMT
  11011. vPortEnterCritical ();
  11012. # DEBUG BEGIN_STMT
  11013. ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  11014. # DEBUG ulReturn => ulReturn_10
  11015. # DEBUG BEGIN_STMT
  11016. _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
  11017. _2 = ~ulBitsToClear_11(D);
  11018. _3 = _1 & _2;
  11019. iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3;
  11020. # DEBUG BEGIN_STMT
  11021. vPortExitCritical ();
  11022. # DEBUG BEGIN_STMT
  11023. return ulReturn_10;
  11024. }