queue.c.075i.fnsummary 219 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842
  1. Analyzing function: vQueueUnregisterQueue.part.0/114
  2. ;; 2 loops found
  3. ;;
  4. ;; Loop 0
  5. ;; header 0, latch 1
  6. ;; depth 0, outer -1
  7. ;; nodes: 0 1 5 2 3 4
  8. ;;
  9. ;; Loop 1
  10. ;; header 3, latch 4
  11. ;; depth 1, outer 0
  12. ;; nodes: 3 4
  13. ;; 5 succs { 2 }
  14. ;; 2 succs { 3 }
  15. ;; 3 succs { 4 }
  16. ;; 4 succs { 3 }
  17. Analyzing function body size: vQueueUnregisterQueue.part.0
  18. IPA function summary for vQueueUnregisterQueue.part.0/114 inlinable
  19. global time: 5.000000
  20. self size: 7
  21. global size: 0
  22. min size: 0
  23. self stack: 0
  24. global stack: 0
  25. size:5.000000, time:5.000000
  26. size:2.000000, time:0.000000, executed if:(not inlined)
  27. calls:
  28. Analyzing function: xQueueGenericReset.part.0/65
  29. ;; 1 loops found
  30. ;;
  31. ;; Loop 0
  32. ;; header 0, latch 1
  33. ;; depth 0, outer -1
  34. ;; nodes: 0 1 8 2 3 4 5 6 7
  35. ;; 8 succs { 2 }
  36. ;; 2 succs { 3 6 }
  37. ;; 3 succs { 4 7 }
  38. ;; 4 succs { 5 7 }
  39. ;; 5 succs { 7 }
  40. ;; 6 succs { 7 }
  41. ;; 7 succs { 1 }
  42. Analyzing function body size: xQueueGenericReset.part.0
  43. IPA function summary for xQueueGenericReset.part.0/65 inlinable
  44. global time: 50.697050
  45. self size: 36
  46. global size: 0
  47. min size: 0
  48. self stack: 0
  49. global stack: 0
  50. size:9.500000, time:9.500000
  51. size:7.500000, time:6.500000, executed if:(not inlined)
  52. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  53. size:0.500000, time:0.335000, executed if:(op1 == 0) && (not inlined)
  54. size:7.500000, time:2.448850, executed if:(op1 == 0)
  55. calls:
  56. vPortEnterCritical/42 function body not available
  57. loop depth: 0 freq:1.00 size: 1 time: 10
  58. xTaskRemoveFromEventList/43 function body not available
  59. loop depth: 0 freq:0.22 size: 3 time: 12 predicate: (op1 == 0)
  60. vListInitialise/44 function body not available
  61. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0)
  62. vListInitialise/44 function body not available
  63. loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0)
  64. vPortExitCritical/45 function body not available
  65. loop depth: 0 freq:1.00 size: 1 time: 10
  66. Analyzing function: vQueueWaitForMessageRestricted/41
  67. ;; 1 loops found
  68. ;;
  69. ;; Loop 0
  70. ;; header 0, latch 1
  71. ;; depth 0, outer -1
  72. ;; nodes: 0 1 2 3 4 5 6 7 8
  73. ;; 2 succs { 3 4 }
  74. ;; 3 succs { 4 }
  75. ;; 4 succs { 5 6 }
  76. ;; 5 succs { 6 }
  77. ;; 6 succs { 7 8 }
  78. ;; 7 succs { 8 }
  79. ;; 8 succs { 1 }
  80. Analyzing function body size: vQueueWaitForMessageRestricted
  81. IPA function summary for vQueueWaitForMessageRestricted/41 inlinable
  82. global time: 46.970000
  83. self size: 22
  84. global size: 0
  85. min size: 0
  86. self stack: 0
  87. global stack: 0
  88. size:8.500000, time:7.840000
  89. size:5.500000, time:3.840000, executed if:(not inlined)
  90. calls:
  91. prvUnlockQueue/33 function not considered for inlining
  92. loop depth: 0 freq:1.00 size: 2 time: 11
  93. vTaskPlaceOnEventListRestricted/62 function body not available
  94. loop depth: 0 freq:0.33 size: 4 time: 13
  95. vPortExitCritical/45 function body not available
  96. loop depth: 0 freq:1.00 size: 1 time: 10
  97. vPortEnterCritical/42 function body not available
  98. loop depth: 0 freq:1.00 size: 1 time: 10
  99. Analyzing function: vQueueUnregisterQueue/40
  100. Created preheader block for loop 1
  101. ;; 3 loops found
  102. ;;
  103. ;; Loop 0
  104. ;; header 0, latch 1
  105. ;; depth 0, outer -1
  106. ;; nodes: 0 1 2 9 3 4 5 6 7 8
  107. ;;
  108. ;; Loop 1
  109. ;; header 7, latch 6
  110. ;; depth 1, outer 0
  111. ;; nodes: 7 6 4
  112. ;; 2 succs { 3 9 }
  113. ;; 9 succs { 7 }
  114. ;; 3 succs { }
  115. ;; 4 succs { 5 6 }
  116. ;; 5 succs { 8 }
  117. ;; 6 succs { 7 }
  118. ;; 7 succs { 4 8 }
  119. ;; 8 succs { 1 }
  120. Analyzing function body size: vQueueUnregisterQueue
  121. IPA function summary for vQueueUnregisterQueue/40 inlinable
  122. global time: 15.299224
  123. self size: 14
  124. global size: 0
  125. min size: 0
  126. self stack: 0
  127. global stack: 0
  128. size:0.000000, time:0.000000
  129. size:2.000000, time:0.000000, executed if:(not inlined)
  130. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  131. size:8.000000, time:8.899221, executed if:(op0 != 0B)
  132. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  133. calls:
  134. vQueueUnregisterQueue.part.0/114 function not considered for inlining
  135. loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 == 0B)
  136. Analyzing function: pcQueueGetName/39
  137. ;; 3 loops found
  138. ;;
  139. ;; Loop 0
  140. ;; header 0, latch 1
  141. ;; depth 0, outer -1
  142. ;; nodes: 0 1 2 10 3 4 11 5 6 7 8 9
  143. ;;
  144. ;; Loop 2
  145. ;; header 4, latch 11
  146. ;; depth 1, outer 0
  147. ;; nodes: 4 11
  148. ;;
  149. ;; Loop 1
  150. ;; header 8, latch 7
  151. ;; depth 1, outer 0
  152. ;; nodes: 8 7 5
  153. ;; 2 succs { 3 10 }
  154. ;; 10 succs { 8 }
  155. ;; 3 succs { 4 }
  156. ;; 4 succs { 11 }
  157. ;; 11 succs { 4 }
  158. ;; 5 succs { 6 7 }
  159. ;; 6 succs { 9 }
  160. ;; 7 succs { 8 }
  161. ;; 8 succs { 5 9 }
  162. ;; 9 succs { 1 }
  163. Analyzing function body size: pcQueueGetName
  164. IPA function summary for pcQueueGetName/39 inlinable
  165. global time: 13.729842
  166. self size: 17
  167. global size: 0
  168. min size: 0
  169. self stack: 0
  170. global stack: 0
  171. size:0.000000, time:0.000000
  172. size:2.000000, time:0.000000, executed if:(not inlined)
  173. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  174. size:7.000000, time:8.829841, executed if:(op0 != 0B)
  175. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  176. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  177. calls:
  178. Analyzing function: vQueueAddToRegistry/38
  179. ;; 3 loops found
  180. ;;
  181. ;; Loop 0
  182. ;; header 0, latch 1
  183. ;; depth 0, outer -1
  184. ;; nodes: 0 1 2 3 4 17 5 16 6 7 8 9 10 11 12 13 14 15
  185. ;;
  186. ;; Loop 2
  187. ;; header 4, latch 17
  188. ;; depth 1, outer 0
  189. ;; nodes: 4 17
  190. ;;
  191. ;; Loop 1
  192. ;; header 12, latch 11
  193. ;; depth 1, outer 0
  194. ;; nodes: 12 11 8 9 10 6
  195. ;; 2 succs { 3 5 }
  196. ;; 3 succs { 4 }
  197. ;; 4 succs { 17 }
  198. ;; 17 succs { 4 }
  199. ;; 5 succs { 16 15 }
  200. ;; 16 succs { 12 }
  201. ;; 6 succs { 7 8 }
  202. ;; 7 succs { 13 }
  203. ;; 8 succs { 9 11 }
  204. ;; 9 succs { 10 11 }
  205. ;; 10 succs { 11 }
  206. ;; 11 succs { 12 }
  207. ;; 12 succs { 6 13 }
  208. ;; 13 succs { 14 15 }
  209. ;; 14 succs { 15 }
  210. ;; 15 succs { 1 }
  211. Analyzing function body size: vQueueAddToRegistry
  212. IPA function summary for vQueueAddToRegistry/38 inlinable
  213. global time: 16.518196
  214. self size: 27
  215. global size: 0
  216. min size: 0
  217. self stack: 0
  218. global stack: 0
  219. size:0.000000, time:0.000000
  220. size:2.000000, time:0.000000, executed if:(not inlined)
  221. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  222. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  223. size:15.000000, time:10.218196, executed if:(op1 != 0B) && (op0 != 0B)
  224. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  225. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  226. calls:
  227. Analyzing function: xQueueIsQueueFullFromISR/37
  228. ;; 2 loops found
  229. ;;
  230. ;; Loop 0
  231. ;; header 0, latch 1
  232. ;; depth 0, outer -1
  233. ;; nodes: 0 1 2 3 4 8 5 6 7
  234. ;;
  235. ;; Loop 1
  236. ;; header 4, latch 8
  237. ;; depth 1, outer 0
  238. ;; nodes: 4 8
  239. ;; 2 succs { 3 5 }
  240. ;; 3 succs { 4 }
  241. ;; 4 succs { 8 }
  242. ;; 8 succs { 4 }
  243. ;; 5 succs { 7 6 }
  244. ;; 6 succs { 7 }
  245. ;; 7 succs { 1 }
  246. Analyzing function body size: xQueueIsQueueFullFromISR
  247. IPA function summary for xQueueIsQueueFullFromISR/37 inlinable
  248. global time: 7.700000
  249. self size: 14
  250. global size: 0
  251. min size: 0
  252. self stack: 0
  253. global stack: 0
  254. size:0.000000, time:0.000000
  255. size:2.000000, time:0.000000, executed if:(not inlined)
  256. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  257. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined)
  258. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B)
  259. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined)
  260. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B)
  261. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed || op0[ref offset: 480] changed) && (op0 != 0B)
  262. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  263. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  264. calls:
  265. Analyzing function: prvIsQueueFull/36
  266. ;; 1 loops found
  267. ;;
  268. ;; Loop 0
  269. ;; header 0, latch 1
  270. ;; depth 0, outer -1
  271. ;; nodes: 0 1 2 3 4
  272. ;; 2 succs { 4 3 }
  273. ;; 3 succs { 4 }
  274. ;; 4 succs { 1 }
  275. Analyzing function body size: prvIsQueueFull
  276. IPA function summary for prvIsQueueFull/36 inlinable
  277. global time: 26.000000
  278. self size: 9
  279. global size: 0
  280. min size: 0
  281. self stack: 0
  282. global stack: 0
  283. size:3.000000, time:3.000000
  284. size:4.000000, time:3.000000, executed if:(not inlined)
  285. calls:
  286. vPortExitCritical/45 function body not available
  287. loop depth: 0 freq:1.00 size: 1 time: 10
  288. vPortEnterCritical/42 function body not available
  289. loop depth: 0 freq:1.00 size: 1 time: 10
  290. Analyzing function: xQueueIsQueueEmptyFromISR/35
  291. ;; 2 loops found
  292. ;;
  293. ;; Loop 0
  294. ;; header 0, latch 1
  295. ;; depth 0, outer -1
  296. ;; nodes: 0 1 2 3 4 8 5 6 7
  297. ;;
  298. ;; Loop 1
  299. ;; header 4, latch 8
  300. ;; depth 1, outer 0
  301. ;; nodes: 4 8
  302. ;; 2 succs { 3 5 }
  303. ;; 3 succs { 4 }
  304. ;; 4 succs { 8 }
  305. ;; 8 succs { 4 }
  306. ;; 5 succs { 7 6 }
  307. ;; 6 succs { 7 }
  308. ;; 7 succs { 1 }
  309. Analyzing function body size: xQueueIsQueueEmptyFromISR
  310. IPA function summary for xQueueIsQueueEmptyFromISR/35 inlinable
  311. global time: 7.000000
  312. self size: 13
  313. global size: 0
  314. min size: 0
  315. self stack: 0
  316. global stack: 0
  317. size:0.000000, time:0.000000
  318. size:2.000000, time:0.000000, executed if:(not inlined)
  319. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  320. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined)
  321. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B)
  322. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  323. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  324. calls:
  325. Analyzing function: prvIsQueueEmpty/34
  326. ;; 1 loops found
  327. ;;
  328. ;; Loop 0
  329. ;; header 0, latch 1
  330. ;; depth 0, outer -1
  331. ;; nodes: 0 1 2 3 4
  332. ;; 2 succs { 4 3 }
  333. ;; 3 succs { 4 }
  334. ;; 4 succs { 1 }
  335. Analyzing function body size: prvIsQueueEmpty
  336. IPA function summary for prvIsQueueEmpty/34 inlinable
  337. global time: 25.000000
  338. self size: 8
  339. global size: 0
  340. min size: 0
  341. self stack: 0
  342. global stack: 0
  343. size:2.500000, time:2.500000
  344. size:3.500000, time:2.500000, executed if:(not inlined)
  345. calls:
  346. vPortExitCritical/45 function body not available
  347. loop depth: 0 freq:1.00 size: 1 time: 10
  348. vPortEnterCritical/42 function body not available
  349. loop depth: 0 freq:1.00 size: 1 time: 10
  350. Analyzing function: prvUnlockQueue/33
  351. ;; 3 loops found
  352. ;;
  353. ;; Loop 0
  354. ;; header 0, latch 1
  355. ;; depth 0, outer -1
  356. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  357. ;;
  358. ;; Loop 2
  359. ;; header 13, latch 12
  360. ;; depth 1, outer 0
  361. ;; nodes: 13 12 10 11 9
  362. ;;
  363. ;; Loop 1
  364. ;; header 7, latch 6
  365. ;; depth 1, outer 0
  366. ;; nodes: 7 6 4 5 3
  367. ;; 2 succs { 7 }
  368. ;; 3 succs { 4 8 }
  369. ;; 4 succs { 5 6 }
  370. ;; 5 succs { 6 }
  371. ;; 6 succs { 7 }
  372. ;; 7 succs { 3 8 }
  373. ;; 8 succs { 13 }
  374. ;; 9 succs { 10 14 }
  375. ;; 10 succs { 11 12 }
  376. ;; 11 succs { 12 }
  377. ;; 12 succs { 13 }
  378. ;; 13 succs { 9 14 }
  379. ;; 14 succs { 1 }
  380. Analyzing function body size: prvUnlockQueue
  381. IPA function summary for prvUnlockQueue/33 inlinable
  382. global time: 441.930952
  383. self size: 35
  384. global size: 0
  385. min size: 0
  386. self stack: 0
  387. global stack: 0
  388. size:17.000000, time:133.648980
  389. size:6.000000, time:12.833839, executed if:(not inlined)
  390. calls:
  391. vPortExitCritical/45 function body not available
  392. loop depth: 0 freq:1.00 size: 1 time: 10
  393. vTaskMissedYield/56 function body not available
  394. loop depth: 1 freq:2.75 size: 1 time: 10
  395. xTaskRemoveFromEventList/43 function body not available
  396. loop depth: 1 freq:8.35 size: 3 time: 12
  397. vPortEnterCritical/42 function body not available
  398. loop depth: 0 freq:1.00 size: 1 time: 10
  399. vPortExitCritical/45 function body not available
  400. loop depth: 0 freq:1.00 size: 1 time: 10
  401. vTaskMissedYield/56 function body not available
  402. loop depth: 1 freq:2.75 size: 1 time: 10
  403. xTaskRemoveFromEventList/43 function body not available
  404. loop depth: 1 freq:8.35 size: 3 time: 12
  405. vPortEnterCritical/42 function body not available
  406. loop depth: 0 freq:1.00 size: 1 time: 10
  407. Analyzing function: prvCopyDataFromQueue/32
  408. ;; 1 loops found
  409. ;;
  410. ;; Loop 0
  411. ;; header 0, latch 1
  412. ;; depth 0, outer -1
  413. ;; nodes: 0 1 2 3 4 5 6
  414. ;; 2 succs { 3 6 }
  415. ;; 3 succs { 4 5 }
  416. ;; 4 succs { 5 }
  417. ;; 5 succs { 6 }
  418. ;; 6 succs { 1 }
  419. Analyzing function body size: prvCopyDataFromQueue
  420. IPA function summary for prvCopyDataFromQueue/32 inlinable
  421. global time: 15.500000
  422. self size: 19
  423. global size: 0
  424. min size: 0
  425. self stack: 0
  426. global stack: 0
  427. size:0.000000, time:0.000000
  428. size:3.000000, time:2.000000, executed if:(not inlined)
  429. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined)
  430. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed)
  431. size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) && (not inlined)
  432. size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0)
  433. size:1.000000, time:0.500000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0)
  434. size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0) && (not inlined)
  435. size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0)
  436. size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) && (not inlined)
  437. size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0)
  438. size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed || op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0)
  439. size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0) && (not inlined)
  440. size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0)
  441. calls:
  442. memcpy/55 function body not available
  443. loop depth: 0 freq:0.50 size: 4 time: 13 predicate: (op0[ref offset: 512] != 0)
  444. Analyzing function: prvCopyDataToQueue/31
  445. ;; 1 loops found
  446. ;;
  447. ;; Loop 0
  448. ;; header 0, latch 1
  449. ;; depth 0, outer -1
  450. ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  451. ;; 2 succs { 3 5 }
  452. ;; 3 succs { 4 13 }
  453. ;; 4 succs { 13 }
  454. ;; 5 succs { 6 8 }
  455. ;; 6 succs { 7 13 }
  456. ;; 7 succs { 13 }
  457. ;; 8 succs { 9 10 }
  458. ;; 9 succs { 10 }
  459. ;; 10 succs { 11 13 }
  460. ;; 11 succs { 12 13 }
  461. ;; 12 succs { 13 }
  462. ;; 13 succs { 1 }
  463. Analyzing function body size: prvCopyDataToQueue
  464. IPA function summary for prvCopyDataToQueue/31 inlinable
  465. global time: 23.807600
  466. self size: 54
  467. global size: 0
  468. min size: 0
  469. self stack: 0
  470. global stack: 0
  471. size:1.500000, time:1.500000
  472. size:3.500000, time:2.500000, executed if:(not inlined)
  473. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 448] changed) && (not inlined)
  474. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 448] changed)
  475. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined)
  476. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed)
  477. size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op0[ref offset: 512] != 0)
  478. size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined)
  479. size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0)
  480. size:3.000000, time:0.625000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined)
  481. size:8.000000, time:1.750000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0)
  482. size:2.000000, time:0.500000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op2 != 0) && (op0[ref offset: 512] != 0)
  483. size:2.000000, time:0.170000, executed if:(op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0)
  484. size:1.000000, time:0.042500, executed if:(op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0)
  485. size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined)
  486. size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0)
  487. size:3.000000, time:0.625000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined)
  488. size:6.000000, time:1.375000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0)
  489. size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (not inlined)
  490. size:2.500000, time:1.250000, executed if:(op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0)
  491. size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined)
  492. size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0)
  493. size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined)
  494. size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0)
  495. calls:
  496. memcpy/55 function body not available
  497. loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 != 0) && (op0[ref offset: 512] != 0)
  498. memcpy/55 function body not available
  499. loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 == 0) && (op0[ref offset: 512] != 0)
  500. xTaskPriorityDisinherit/54 function body not available
  501. loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0)
  502. Analyzing function: prvGetDisinheritPriorityAfterTimeout/30
  503. ;; 1 loops found
  504. ;;
  505. ;; Loop 0
  506. ;; header 0, latch 1
  507. ;; depth 0, outer -1
  508. ;; nodes: 0 1 2 3 4
  509. ;; 2 succs { 3 4 }
  510. ;; 3 succs { 4 }
  511. ;; 4 succs { 1 }
  512. Analyzing function body size: prvGetDisinheritPriorityAfterTimeout
  513. IPA function summary for prvGetDisinheritPriorityAfterTimeout/30 inlinable
  514. global time: 6.500000
  515. self size: 9
  516. global size: 0
  517. min size: 0
  518. self stack: 0
  519. global stack: 0
  520. size:0.000000, time:0.000000
  521. size:3.000000, time:2.000000, executed if:(not inlined)
  522. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 288] changed) && (not inlined)
  523. size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 288] changed)
  524. size:0.500000, time:0.250000, executed if:(op0[ref offset: 288] != 0) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op0[ref offset: 288] != 0) && (not inlined)
  525. size:0.500000, time:0.250000, executed if:(op0[ref offset: 288] != 0), nonconst if:(op0[ref offset: 384] changed) && (op0[ref offset: 288] != 0)
  526. size:2.000000, time:1.000000, executed if:(op0[ref offset: 288] != 0)
  527. calls:
  528. Analyzing function: ucQueueGetQueueType/29
  529. ;; 1 loops found
  530. ;;
  531. ;; Loop 0
  532. ;; header 0, latch 1
  533. ;; depth 0, outer -1
  534. ;; nodes: 0 1 2
  535. ;; 2 succs { 1 }
  536. Analyzing function body size: ucQueueGetQueueType
  537. IPA function summary for ucQueueGetQueueType/29 inlinable
  538. global time: 3.000000
  539. self size: 4
  540. global size: 0
  541. min size: 0
  542. self stack: 0
  543. global stack: 0
  544. size:0.000000, time:0.000000
  545. size:3.000000, time:2.000000, executed if:(not inlined)
  546. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 608] changed) && (not inlined)
  547. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 608] changed)
  548. calls:
  549. Analyzing function: vQueueSetQueueNumber/28
  550. ;; 1 loops found
  551. ;;
  552. ;; Loop 0
  553. ;; header 0, latch 1
  554. ;; depth 0, outer -1
  555. ;; nodes: 0 1 2
  556. ;; 2 succs { 1 }
  557. Analyzing function body size: vQueueSetQueueNumber
  558. IPA function summary for vQueueSetQueueNumber/28 inlinable
  559. global time: 3.000000
  560. self size: 4
  561. global size: 0
  562. min size: 0
  563. self stack: 0
  564. global stack: 0
  565. size:0.500000, time:0.500000
  566. size:3.500000, time:2.500000, executed if:(not inlined)
  567. calls:
  568. Analyzing function: uxQueueGetQueueNumber/27
  569. ;; 1 loops found
  570. ;;
  571. ;; Loop 0
  572. ;; header 0, latch 1
  573. ;; depth 0, outer -1
  574. ;; nodes: 0 1 2
  575. ;; 2 succs { 1 }
  576. Analyzing function body size: uxQueueGetQueueNumber
  577. IPA function summary for uxQueueGetQueueNumber/27 inlinable
  578. global time: 3.000000
  579. self size: 4
  580. global size: 0
  581. min size: 0
  582. self stack: 0
  583. global stack: 0
  584. size:0.000000, time:0.000000
  585. size:3.000000, time:2.000000, executed if:(not inlined)
  586. size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 576] changed) && (not inlined)
  587. size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 576] changed)
  588. calls:
  589. Analyzing function: vQueueDelete/26
  590. ;; 2 loops found
  591. ;;
  592. ;; Loop 0
  593. ;; header 0, latch 1
  594. ;; depth 0, outer -1
  595. ;; nodes: 0 1 2 3 4 6 5
  596. ;;
  597. ;; Loop 1
  598. ;; header 4, latch 6
  599. ;; depth 1, outer 0
  600. ;; nodes: 4 6
  601. ;; 2 succs { 3 5 }
  602. ;; 3 succs { 4 }
  603. ;; 4 succs { 6 }
  604. ;; 6 succs { 4 }
  605. ;; 5 succs { 1 }
  606. Analyzing function body size: vQueueDelete
  607. IPA function summary for vQueueDelete/26 inlinable
  608. global time: 17.159302
  609. self size: 14
  610. global size: 0
  611. min size: 0
  612. self stack: 0
  613. global stack: 0
  614. size:0.000000, time:0.000000
  615. size:2.000000, time:0.000000, executed if:(not inlined)
  616. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  617. size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined)
  618. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  619. calls:
  620. vPortFree/61 function body not available
  621. loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B)
  622. vQueueUnregisterQueue/40 function not considered for inlining
  623. loop depth: 0 freq:0.53 size: 2 time: 11callee size: 7 stack: 0 predicate: (op0 != 0B)
  624. Analyzing function: uxQueueMessagesWaitingFromISR/25
  625. ;; 2 loops found
  626. ;;
  627. ;; Loop 0
  628. ;; header 0, latch 1
  629. ;; depth 0, outer -1
  630. ;; nodes: 0 1 2 3 4 6 5
  631. ;;
  632. ;; Loop 1
  633. ;; header 4, latch 6
  634. ;; depth 1, outer 0
  635. ;; nodes: 4 6
  636. ;; 2 succs { 3 5 }
  637. ;; 3 succs { 4 }
  638. ;; 4 succs { 6 }
  639. ;; 6 succs { 4 }
  640. ;; 5 succs { 1 }
  641. Analyzing function body size: uxQueueMessagesWaitingFromISR
  642. IPA function summary for uxQueueMessagesWaitingFromISR/25 inlinable
  643. global time: 5.600001
  644. self size: 11
  645. global size: 0
  646. min size: 0
  647. self stack: 0
  648. global stack: 0
  649. size:0.000000, time:0.000000
  650. size:2.000000, time:0.000000, executed if:(not inlined)
  651. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  652. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined)
  653. size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B)
  654. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  655. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  656. calls:
  657. Analyzing function: uxQueueSpacesAvailable/24
  658. ;; 2 loops found
  659. ;;
  660. ;; Loop 0
  661. ;; header 0, latch 1
  662. ;; depth 0, outer -1
  663. ;; nodes: 0 1 2 3 4 6 5
  664. ;;
  665. ;; Loop 1
  666. ;; header 4, latch 6
  667. ;; depth 1, outer 0
  668. ;; nodes: 4 6
  669. ;; 2 succs { 3 5 }
  670. ;; 3 succs { 4 }
  671. ;; 4 succs { 6 }
  672. ;; 6 succs { 4 }
  673. ;; 5 succs { 1 }
  674. Analyzing function body size: uxQueueSpacesAvailable
  675. IPA function summary for uxQueueSpacesAvailable/24 inlinable
  676. global time: 17.694002
  677. self size: 15
  678. global size: 0
  679. min size: 0
  680. self stack: 0
  681. global stack: 0
  682. size:0.000000, time:0.000000
  683. size:2.000000, time:0.000000, executed if:(not inlined)
  684. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  685. size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined)
  686. size:2.000000, time:1.069400, executed if:(op0 != 0B)
  687. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  688. calls:
  689. vPortExitCritical/45 function body not available
  690. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  691. vPortEnterCritical/42 function body not available
  692. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  693. Analyzing function: uxQueueMessagesWaiting/23
  694. ;; 2 loops found
  695. ;;
  696. ;; Loop 0
  697. ;; header 0, latch 1
  698. ;; depth 0, outer -1
  699. ;; nodes: 0 1 2 3 4 6 5
  700. ;;
  701. ;; Loop 1
  702. ;; header 4, latch 6
  703. ;; depth 1, outer 0
  704. ;; nodes: 4 6
  705. ;; 2 succs { 3 5 }
  706. ;; 3 succs { 4 }
  707. ;; 4 succs { 6 }
  708. ;; 6 succs { 4 }
  709. ;; 5 succs { 1 }
  710. Analyzing function body size: uxQueueMessagesWaiting
  711. IPA function summary for uxQueueMessagesWaiting/23 inlinable
  712. global time: 16.624602
  713. self size: 13
  714. global size: 0
  715. min size: 0
  716. self stack: 0
  717. global stack: 0
  718. size:0.000000, time:0.000000
  719. size:2.000000, time:0.000000, executed if:(not inlined)
  720. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  721. size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined)
  722. size:0.500000, time:0.267350, executed if:(op0 != 0B)
  723. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  724. calls:
  725. vPortExitCritical/45 function body not available
  726. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  727. vPortEnterCritical/42 function body not available
  728. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  729. Analyzing function: xQueuePeekFromISR/22
  730. ;; 4 loops found
  731. ;;
  732. ;; Loop 0
  733. ;; header 0, latch 1
  734. ;; depth 0, outer -1
  735. ;; nodes: 0 1 2 3 4 15 5 6 7 8 17 9 10 11 16 12 13 14
  736. ;;
  737. ;; Loop 3
  738. ;; header 4, latch 15
  739. ;; depth 1, outer 0
  740. ;; nodes: 4 15
  741. ;;
  742. ;; Loop 1
  743. ;; header 11, latch 16
  744. ;; depth 1, outer 0
  745. ;; nodes: 11 16
  746. ;;
  747. ;; Loop 2
  748. ;; header 8, latch 17
  749. ;; depth 1, outer 0
  750. ;; nodes: 8 17
  751. ;; 2 succs { 3 5 }
  752. ;; 3 succs { 4 }
  753. ;; 4 succs { 15 }
  754. ;; 15 succs { 4 }
  755. ;; 5 succs { 9 6 }
  756. ;; 6 succs { 9 7 }
  757. ;; 7 succs { 8 }
  758. ;; 8 succs { 17 }
  759. ;; 17 succs { 8 }
  760. ;; 9 succs { 10 12 }
  761. ;; 10 succs { 11 }
  762. ;; 11 succs { 16 }
  763. ;; 16 succs { 11 }
  764. ;; 12 succs { 13 14 }
  765. ;; 13 succs { 14 }
  766. ;; 14 succs { 1 }
  767. Analyzing function body size: xQueuePeekFromISR
  768. IPA function summary for xQueuePeekFromISR/22 inlinable
  769. global time: 15.060094
  770. self size: 44
  771. global size: 0
  772. min size: 0
  773. self stack: 0
  774. global stack: 0
  775. size:0.000000, time:0.000000
  776. size:2.000000, time:0.000000, executed if:(not inlined)
  777. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  778. size:2.000000, time:1.400001, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  779. size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  780. size:2.500000, time:0.524998, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  781. size:5.000000, time:0.524998, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  782. size:0.500000, time:0.297501, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  783. size:2.500000, time:1.487503, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  784. size:10.500000, time:1.930130, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  785. size:2.500000, time:0.555672, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  786. size:5.000000, time:1.993250, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B)
  787. size:5.000000, time:1.499996, executed if:(op0 == 0B)
  788. calls:
  789. prvCopyDataFromQueue/32 function not considered for inlining
  790. loop depth: 0 freq:0.06 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  791. vPortValidateInterruptPriority/57 function body not available
  792. loop depth: 0 freq:0.20 size: 1 time: 10 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  793. Analyzing function: xQueueReceiveFromISR/21
  794. ;; 4 loops found
  795. ;;
  796. ;; Loop 0
  797. ;; header 0, latch 1
  798. ;; depth 0, outer -1
  799. ;; nodes: 0 1 2 3 4 21 5 6 7 8 23 9 10 11 12 13 14 15 16 17 22 18 20
  800. ;;
  801. ;; Loop 3
  802. ;; header 4, latch 21
  803. ;; depth 1, outer 0
  804. ;; nodes: 4 21
  805. ;;
  806. ;; Loop 1
  807. ;; header 17, latch 22
  808. ;; depth 1, outer 0
  809. ;; nodes: 17 22
  810. ;;
  811. ;; Loop 2
  812. ;; header 8, latch 23
  813. ;; depth 1, outer 0
  814. ;; nodes: 8 23
  815. ;; 2 succs { 3 5 }
  816. ;; 3 succs { 4 }
  817. ;; 4 succs { 21 }
  818. ;; 21 succs { 4 }
  819. ;; 5 succs { 9 6 }
  820. ;; 6 succs { 9 7 }
  821. ;; 7 succs { 8 }
  822. ;; 8 succs { 23 }
  823. ;; 23 succs { 8 }
  824. ;; 9 succs { 10 20 }
  825. ;; 10 succs { 11 15 }
  826. ;; 11 succs { 12 20 }
  827. ;; 12 succs { 13 20 }
  828. ;; 13 succs { 14 20 }
  829. ;; 14 succs { 20 }
  830. ;; 15 succs { 16 18 }
  831. ;; 16 succs { 17 }
  832. ;; 17 succs { 22 }
  833. ;; 22 succs { 17 }
  834. ;; 18 succs { 20 }
  835. ;; 20 succs { 1 }
  836. Analyzing function body size: xQueueReceiveFromISR
  837. IPA function summary for xQueueReceiveFromISR/21 inlinable
  838. global time: 22.476026
  839. self size: 59
  840. global size: 0
  841. min size: 0
  842. self stack: 0
  843. global stack: 0
  844. size:0.000000, time:0.000000
  845. size:2.000000, time:0.000000, executed if:(not inlined)
  846. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  847. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  848. size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  849. size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  850. size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  851. size:26.500000, time:6.511267, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  852. size:3.500000, time:1.509311, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  853. size:2.000000, time:0.019888, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  854. size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  855. size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  856. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  857. calls:
  858. xTaskRemoveFromEventList/43 function body not available
  859. loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  860. prvCopyDataFromQueue/32 function not considered for inlining
  861. loop depth: 0 freq:0.18 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  862. vPortValidateInterruptPriority/57 function body not available
  863. loop depth: 0 freq:0.54 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  864. Analyzing function: xQueuePeek/20
  865. ;; 5 loops found
  866. ;;
  867. ;; Loop 0
  868. ;; header 0, latch 1
  869. ;; depth 0, outer -1
  870. ;; nodes: 0 1 2 3 4 35 5 6 7 8 37 9 10 11 12 13 36 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
  871. ;;
  872. ;; Loop 4
  873. ;; header 4, latch 35
  874. ;; depth 1, outer 0
  875. ;; nodes: 4 35
  876. ;;
  877. ;; Loop 1
  878. ;; header 15, latch 14
  879. ;; depth 1, outer 0
  880. ;; nodes: 15 14 33 32 31 30 29 28 26 27 24 25 22 23 20
  881. ;;
  882. ;; Loop 2
  883. ;; header 13, latch 36
  884. ;; depth 1, outer 0
  885. ;; nodes: 13 36
  886. ;;
  887. ;; Loop 3
  888. ;; header 8, latch 37
  889. ;; depth 1, outer 0
  890. ;; nodes: 8 37
  891. ;; 2 succs { 3 5 }
  892. ;; 3 succs { 4 }
  893. ;; 4 succs { 35 }
  894. ;; 35 succs { 4 }
  895. ;; 5 succs { 9 6 }
  896. ;; 6 succs { 9 7 }
  897. ;; 7 succs { 8 }
  898. ;; 8 succs { 37 }
  899. ;; 37 succs { 8 }
  900. ;; 9 succs { 10 11 }
  901. ;; 10 succs { 15 }
  902. ;; 11 succs { 10 12 }
  903. ;; 12 succs { 13 }
  904. ;; 13 succs { 36 }
  905. ;; 36 succs { 13 }
  906. ;; 14 succs { 15 }
  907. ;; 15 succs { 16 20 }
  908. ;; 16 succs { 17 19 }
  909. ;; 17 succs { 18 19 }
  910. ;; 18 succs { 19 }
  911. ;; 19 succs { 34 }
  912. ;; 20 succs { 21 22 }
  913. ;; 21 succs { 34 }
  914. ;; 22 succs { 23 24 }
  915. ;; 23 succs { 24 }
  916. ;; 24 succs { 25 26 }
  917. ;; 25 succs { 26 }
  918. ;; 26 succs { 27 28 }
  919. ;; 27 succs { 28 }
  920. ;; 28 succs { 29 33 }
  921. ;; 29 succs { 30 32 }
  922. ;; 30 succs { 31 14 }
  923. ;; 31 succs { 14 }
  924. ;; 32 succs { 14 }
  925. ;; 33 succs { 34 14 }
  926. ;; 34 succs { 1 }
  927. Analyzing function body size: xQueuePeek
  928. IPA function summary for xQueuePeek/20 inlinable
  929. global time: 543.926402
  930. self size: 108
  931. global size: 0
  932. min size: 0
  933. self stack: 8
  934. global stack: 8
  935. size:0.000000, time:0.000000
  936. size:2.000000, time:0.000000, executed if:(not inlined)
  937. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  938. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  939. size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  940. size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  941. size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  942. size:44.000000, time:80.224698, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  943. size:5.000000, time:8.961298, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  944. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  945. calls:
  946. prvIsQueueEmpty/34 function not considered for inlining
  947. loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  948. op0 change 47.520000% of time
  949. xTaskResumeAll/53 function body not available
  950. loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  951. prvUnlockQueue/33 function not considered for inlining
  952. loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  953. op0 change 47.520000% of time
  954. xTaskResumeAll/53 function body not available
  955. loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  956. prvUnlockQueue/33 function not considered for inlining
  957. loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  958. op0 change 95.040000% of time
  959. xTaskResumeAll/53 function body not available
  960. loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  961. prvUnlockQueue/33 function not considered for inlining
  962. loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  963. op0 change 95.040000% of time
  964. vTaskPlaceOnEventList/52 function body not available
  965. loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  966. prvIsQueueEmpty/34 function not considered for inlining
  967. loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  968. op0 change 47.520000% of time
  969. xTaskCheckForTimeOut/51 function body not available
  970. loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  971. op0 is compile time invariant
  972. op1 is compile time invariant
  973. vPortExitCritical/45 function body not available
  974. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  975. vPortEnterCritical/42 function body not available
  976. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  977. vTaskSuspendAll/50 function body not available
  978. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  979. vPortExitCritical/45 function body not available
  980. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  981. vTaskInternalSetTimeOutState/49 function body not available
  982. loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  983. op0 is compile time invariant
  984. vPortExitCritical/45 function body not available
  985. loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  986. vPortExitCritical/45 function body not available
  987. loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  988. xTaskRemoveFromEventList/43 function body not available
  989. loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  990. prvCopyDataFromQueue/32 function not considered for inlining
  991. loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  992. vPortEnterCritical/42 function body not available
  993. loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  994. xTaskGetSchedulerState/48 function body not available
  995. loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  996. Analyzing function: xQueueSemaphoreTake/19
  997. ;; 6 loops found
  998. ;;
  999. ;; Loop 0
  1000. ;; header 0, latch 1
  1001. ;; depth 0, outer -1
  1002. ;; nodes: 0 1 2 3 4 44 5 6 7 45 8 9 10 11 12 47 13 14 15 16 17 18 19 20 21 22 23 24 46 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
  1003. ;;
  1004. ;; Loop 5
  1005. ;; header 4, latch 44
  1006. ;; depth 1, outer 0
  1007. ;; nodes: 4 44
  1008. ;;
  1009. ;; Loop 4
  1010. ;; header 7, latch 45
  1011. ;; depth 1, outer 0
  1012. ;; nodes: 7 45
  1013. ;;
  1014. ;; Loop 2
  1015. ;; header 24, latch 46
  1016. ;; depth 1, outer 0
  1017. ;; nodes: 24 46
  1018. ;;
  1019. ;; Loop 1
  1020. ;; header 14, latch 13
  1021. ;; depth 1, outer 0
  1022. ;; nodes: 14 13 39 38 37 36 34 35 33 32 30 31 28 29 26 27 21
  1023. ;;
  1024. ;; Loop 3
  1025. ;; header 12, latch 47
  1026. ;; depth 1, outer 0
  1027. ;; nodes: 12 47
  1028. ;; 2 succs { 3 5 }
  1029. ;; 3 succs { 4 }
  1030. ;; 4 succs { 44 }
  1031. ;; 44 succs { 4 }
  1032. ;; 5 succs { 6 8 }
  1033. ;; 6 succs { 7 }
  1034. ;; 7 succs { 45 }
  1035. ;; 45 succs { 7 }
  1036. ;; 8 succs { 10 9 }
  1037. ;; 9 succs { 10 11 }
  1038. ;; 10 succs { 14 }
  1039. ;; 11 succs { 12 }
  1040. ;; 12 succs { 47 }
  1041. ;; 47 succs { 12 }
  1042. ;; 13 succs { 14 }
  1043. ;; 14 succs { 15 21 }
  1044. ;; 15 succs { 16 17 }
  1045. ;; 16 succs { 17 }
  1046. ;; 17 succs { 18 20 }
  1047. ;; 18 succs { 19 20 }
  1048. ;; 19 succs { 20 }
  1049. ;; 20 succs { 43 }
  1050. ;; 21 succs { 22 26 }
  1051. ;; 22 succs { 23 25 }
  1052. ;; 23 succs { 24 }
  1053. ;; 24 succs { 46 }
  1054. ;; 46 succs { 24 }
  1055. ;; 25 succs { 43 }
  1056. ;; 26 succs { 27 28 }
  1057. ;; 27 succs { 28 }
  1058. ;; 28 succs { 29 30 }
  1059. ;; 29 succs { 30 }
  1060. ;; 30 succs { 31 32 }
  1061. ;; 31 succs { 32 }
  1062. ;; 32 succs { 33 39 }
  1063. ;; 33 succs { 34 38 }
  1064. ;; 34 succs { 35 36 }
  1065. ;; 35 succs { 36 }
  1066. ;; 36 succs { 37 13 }
  1067. ;; 37 succs { 13 }
  1068. ;; 38 succs { 13 }
  1069. ;; 39 succs { 40 13 }
  1070. ;; 40 succs { 41 42 }
  1071. ;; 41 succs { 42 }
  1072. ;; 42 succs { 43 }
  1073. ;; 43 succs { 1 }
  1074. Analyzing function body size: xQueueSemaphoreTake
  1075. IPA function summary for xQueueSemaphoreTake/19 inlinable
  1076. global time: 246.801177
  1077. self size: 136
  1078. global size: 0
  1079. min size: 0
  1080. self stack: 8
  1081. global stack: 8
  1082. size:0.000000, time:0.000000
  1083. size:2.000000, time:0.000000, executed if:(not inlined)
  1084. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1085. size:0.500000, time:0.350001, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined)
  1086. size:2.500000, time:1.750007, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B)
  1087. size:60.000000, time:37.465467, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B)
  1088. size:7.000000, time:4.111823, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1089. size:5.000000, time:2.345004, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B)
  1090. size:5.000000, time:1.500009, executed if:(op0 == 0B)
  1091. calls:
  1092. vPortExitCritical/45 function body not available
  1093. loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1094. vTaskPriorityDisinheritAfterTimeout/60 function body not available
  1095. loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1096. prvGetDisinheritPriorityAfterTimeout/30 function not considered for inlining
  1097. loop depth: 0 freq:0.01 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1098. vPortEnterCritical/42 function body not available
  1099. loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1100. prvIsQueueEmpty/34 function not considered for inlining
  1101. loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1102. xTaskResumeAll/53 function body not available
  1103. loop depth: 1 freq:0.90 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1104. prvUnlockQueue/33 function not considered for inlining
  1105. loop depth: 1 freq:0.90 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1106. xTaskResumeAll/53 function body not available
  1107. loop depth: 1 freq:0.30 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1108. prvUnlockQueue/33 function not considered for inlining
  1109. loop depth: 1 freq:0.30 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1110. xTaskResumeAll/53 function body not available
  1111. loop depth: 1 freq:0.61 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1112. prvUnlockQueue/33 function not considered for inlining
  1113. loop depth: 1 freq:0.61 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1114. vTaskPlaceOnEventList/52 function body not available
  1115. loop depth: 1 freq:0.61 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1116. vPortExitCritical/45 function body not available
  1117. loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1118. xTaskPriorityInherit/59 function body not available
  1119. loop depth: 1 freq:0.11 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1120. vPortEnterCritical/42 function body not available
  1121. loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1122. prvIsQueueEmpty/34 function not considered for inlining
  1123. loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1124. xTaskCheckForTimeOut/51 function body not available
  1125. loop depth: 1 freq:1.81 size: 4 time: 13 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1126. op0 is compile time invariant
  1127. op1 is compile time invariant
  1128. vPortExitCritical/45 function body not available
  1129. loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1130. vPortEnterCritical/42 function body not available
  1131. loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1132. vTaskSuspendAll/50 function body not available
  1133. loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1134. vPortExitCritical/45 function body not available
  1135. loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1136. vTaskInternalSetTimeOutState/49 function body not available
  1137. loop depth: 1 freq:0.60 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1138. op0 is compile time invariant
  1139. vPortExitCritical/45 function body not available
  1140. loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1141. vPortExitCritical/45 function body not available
  1142. loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1143. xTaskRemoveFromEventList/43 function body not available
  1144. loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1145. pvTaskIncrementMutexHeldCount/58 function body not available
  1146. loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1147. vPortEnterCritical/42 function body not available
  1148. loop depth: 1 freq:1.95 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1149. xTaskGetSchedulerState/48 function body not available
  1150. loop depth: 0 freq:0.23 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B)
  1151. Analyzing function: xQueueReceive/18
  1152. ;; 5 loops found
  1153. ;;
  1154. ;; Loop 0
  1155. ;; header 0, latch 1
  1156. ;; depth 0, outer -1
  1157. ;; nodes: 0 1 2 3 4 35 5 6 7 8 37 9 10 11 12 13 36 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
  1158. ;;
  1159. ;; Loop 4
  1160. ;; header 4, latch 35
  1161. ;; depth 1, outer 0
  1162. ;; nodes: 4 35
  1163. ;;
  1164. ;; Loop 1
  1165. ;; header 15, latch 14
  1166. ;; depth 1, outer 0
  1167. ;; nodes: 15 14 33 32 31 30 29 28 26 27 24 25 22 23 20
  1168. ;;
  1169. ;; Loop 2
  1170. ;; header 13, latch 36
  1171. ;; depth 1, outer 0
  1172. ;; nodes: 13 36
  1173. ;;
  1174. ;; Loop 3
  1175. ;; header 8, latch 37
  1176. ;; depth 1, outer 0
  1177. ;; nodes: 8 37
  1178. ;; 2 succs { 3 5 }
  1179. ;; 3 succs { 4 }
  1180. ;; 4 succs { 35 }
  1181. ;; 35 succs { 4 }
  1182. ;; 5 succs { 9 6 }
  1183. ;; 6 succs { 9 7 }
  1184. ;; 7 succs { 8 }
  1185. ;; 8 succs { 37 }
  1186. ;; 37 succs { 8 }
  1187. ;; 9 succs { 10 11 }
  1188. ;; 10 succs { 15 }
  1189. ;; 11 succs { 10 12 }
  1190. ;; 12 succs { 13 }
  1191. ;; 13 succs { 36 }
  1192. ;; 36 succs { 13 }
  1193. ;; 14 succs { 15 }
  1194. ;; 15 succs { 16 20 }
  1195. ;; 16 succs { 17 19 }
  1196. ;; 17 succs { 18 19 }
  1197. ;; 18 succs { 19 }
  1198. ;; 19 succs { 34 }
  1199. ;; 20 succs { 21 22 }
  1200. ;; 21 succs { 34 }
  1201. ;; 22 succs { 23 24 }
  1202. ;; 23 succs { 24 }
  1203. ;; 24 succs { 25 26 }
  1204. ;; 25 succs { 26 }
  1205. ;; 26 succs { 27 28 }
  1206. ;; 27 succs { 28 }
  1207. ;; 28 succs { 29 33 }
  1208. ;; 29 succs { 30 32 }
  1209. ;; 30 succs { 31 14 }
  1210. ;; 31 succs { 14 }
  1211. ;; 32 succs { 14 }
  1212. ;; 33 succs { 34 14 }
  1213. ;; 34 succs { 1 }
  1214. Analyzing function body size: xQueueReceive
  1215. IPA function summary for xQueueReceive/18 inlinable
  1216. global time: 543.926402
  1217. self size: 108
  1218. global size: 0
  1219. min size: 0
  1220. self stack: 8
  1221. global stack: 8
  1222. size:0.000000, time:0.000000
  1223. size:2.000000, time:0.000000, executed if:(not inlined)
  1224. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1225. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1226. size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  1227. size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  1228. size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  1229. size:44.500000, time:80.307677, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1230. size:4.500000, time:8.878318, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1231. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1232. calls:
  1233. prvIsQueueEmpty/34 function not considered for inlining
  1234. loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1235. op0 change 47.520000% of time
  1236. xTaskResumeAll/53 function body not available
  1237. loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1238. prvUnlockQueue/33 function not considered for inlining
  1239. loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1240. op0 change 47.520000% of time
  1241. xTaskResumeAll/53 function body not available
  1242. loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1243. prvUnlockQueue/33 function not considered for inlining
  1244. loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1245. op0 change 95.040000% of time
  1246. xTaskResumeAll/53 function body not available
  1247. loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1248. prvUnlockQueue/33 function not considered for inlining
  1249. loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1250. op0 change 95.040000% of time
  1251. vTaskPlaceOnEventList/52 function body not available
  1252. loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1253. prvIsQueueEmpty/34 function not considered for inlining
  1254. loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1255. op0 change 47.520000% of time
  1256. xTaskCheckForTimeOut/51 function body not available
  1257. loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1258. op0 is compile time invariant
  1259. op1 is compile time invariant
  1260. vPortExitCritical/45 function body not available
  1261. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1262. vPortEnterCritical/42 function body not available
  1263. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1264. vTaskSuspendAll/50 function body not available
  1265. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1266. vPortExitCritical/45 function body not available
  1267. loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1268. vTaskInternalSetTimeOutState/49 function body not available
  1269. loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1270. op0 is compile time invariant
  1271. vPortExitCritical/45 function body not available
  1272. loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1273. vPortExitCritical/45 function body not available
  1274. loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1275. xTaskRemoveFromEventList/43 function body not available
  1276. loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1277. prvCopyDataFromQueue/32 function not considered for inlining
  1278. loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1279. vPortEnterCritical/42 function body not available
  1280. loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1281. xTaskGetSchedulerState/48 function body not available
  1282. loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1283. Analyzing function: xQueueGiveFromISR/17
  1284. ;; 5 loops found
  1285. ;;
  1286. ;; Loop 0
  1287. ;; header 0, latch 1
  1288. ;; depth 0, outer -1
  1289. ;; nodes: 0 1 2 3 4 24 5 6 7 25 8 9 10 11 27 12 13 14 15 16 17 18 19 20 26 21 23
  1290. ;;
  1291. ;; Loop 4
  1292. ;; header 4, latch 24
  1293. ;; depth 1, outer 0
  1294. ;; nodes: 4 24
  1295. ;;
  1296. ;; Loop 3
  1297. ;; header 7, latch 25
  1298. ;; depth 1, outer 0
  1299. ;; nodes: 7 25
  1300. ;;
  1301. ;; Loop 1
  1302. ;; header 20, latch 26
  1303. ;; depth 1, outer 0
  1304. ;; nodes: 20 26
  1305. ;;
  1306. ;; Loop 2
  1307. ;; header 11, latch 27
  1308. ;; depth 1, outer 0
  1309. ;; nodes: 11 27
  1310. ;; 2 succs { 3 5 }
  1311. ;; 3 succs { 4 }
  1312. ;; 4 succs { 24 }
  1313. ;; 24 succs { 4 }
  1314. ;; 5 succs { 6 8 }
  1315. ;; 6 succs { 7 }
  1316. ;; 7 succs { 25 }
  1317. ;; 25 succs { 7 }
  1318. ;; 8 succs { 12 9 }
  1319. ;; 9 succs { 12 10 }
  1320. ;; 10 succs { 11 }
  1321. ;; 11 succs { 27 }
  1322. ;; 27 succs { 11 }
  1323. ;; 12 succs { 13 23 }
  1324. ;; 13 succs { 14 18 }
  1325. ;; 14 succs { 15 23 }
  1326. ;; 15 succs { 16 23 }
  1327. ;; 16 succs { 17 23 }
  1328. ;; 17 succs { 23 }
  1329. ;; 18 succs { 19 21 }
  1330. ;; 19 succs { 20 }
  1331. ;; 20 succs { 26 }
  1332. ;; 26 succs { 20 }
  1333. ;; 21 succs { 23 }
  1334. ;; 23 succs { 1 }
  1335. Analyzing function body size: xQueueGiveFromISR
  1336. IPA function summary for xQueueGiveFromISR/17 inlinable
  1337. global time: 16.111704
  1338. self size: 66
  1339. global size: 0
  1340. min size: 0
  1341. self stack: 0
  1342. global stack: 0
  1343. size:0.000000, time:0.000000
  1344. size:2.000000, time:0.000000, executed if:(not inlined)
  1345. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1346. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined)
  1347. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B)
  1348. size:0.500000, time:0.175000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1349. size:2.500000, time:0.875000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1350. size:0.500000, time:0.081427, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1351. size:2.500000, time:0.407136, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1352. size:5.000000, time:0.569996, executed if:(op0[ref offset: 64] != 0B) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1353. size:27.000000, time:3.297567, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1354. size:4.000000, time:0.818808, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1355. size:2.000000, time:0.013241, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op1 changed) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1356. size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1357. size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1358. size:5.000000, time:1.749999, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B)
  1359. size:5.000000, time:1.500002, executed if:(op0 == 0B)
  1360. calls:
  1361. xTaskRemoveFromEventList/43 function body not available
  1362. loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1363. vPortValidateInterruptPriority/57 function body not available
  1364. loop depth: 0 freq:0.24 size: 1 time: 10 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B)
  1365. Analyzing function: xQueueGenericSendFromISR/16
  1366. ;; 5 loops found
  1367. ;;
  1368. ;; Loop 0
  1369. ;; header 0, latch 1
  1370. ;; depth 0, outer -1
  1371. ;; nodes: 0 1 2 3 4 26 5 6 7 8 29 9 10 11 12 28 13 14 15 16 17 18 19 20 21 22 27 23 25
  1372. ;;
  1373. ;; Loop 4
  1374. ;; header 4, latch 26
  1375. ;; depth 1, outer 0
  1376. ;; nodes: 4 26
  1377. ;;
  1378. ;; Loop 1
  1379. ;; header 22, latch 27
  1380. ;; depth 1, outer 0
  1381. ;; nodes: 22 27
  1382. ;;
  1383. ;; Loop 2
  1384. ;; header 12, latch 28
  1385. ;; depth 1, outer 0
  1386. ;; nodes: 12 28
  1387. ;;
  1388. ;; Loop 3
  1389. ;; header 8, latch 29
  1390. ;; depth 1, outer 0
  1391. ;; nodes: 8 29
  1392. ;; 2 succs { 3 5 }
  1393. ;; 3 succs { 4 }
  1394. ;; 4 succs { 26 }
  1395. ;; 26 succs { 4 }
  1396. ;; 5 succs { 9 6 }
  1397. ;; 6 succs { 9 7 }
  1398. ;; 7 succs { 8 }
  1399. ;; 8 succs { 29 }
  1400. ;; 29 succs { 8 }
  1401. ;; 9 succs { 13 10 }
  1402. ;; 10 succs { 13 11 }
  1403. ;; 11 succs { 12 }
  1404. ;; 12 succs { 28 }
  1405. ;; 28 succs { 12 }
  1406. ;; 13 succs { 15 14 }
  1407. ;; 14 succs { 15 25 }
  1408. ;; 15 succs { 16 20 }
  1409. ;; 16 succs { 17 25 }
  1410. ;; 17 succs { 18 25 }
  1411. ;; 18 succs { 19 25 }
  1412. ;; 19 succs { 25 }
  1413. ;; 20 succs { 21 23 }
  1414. ;; 21 succs { 22 }
  1415. ;; 22 succs { 27 }
  1416. ;; 27 succs { 22 }
  1417. ;; 23 succs { 25 }
  1418. ;; 25 succs { 1 }
  1419. Analyzing function body size: xQueueGenericSendFromISR
  1420. IPA function summary for xQueueGenericSendFromISR/16 inlinable
  1421. global time: 23.679489
  1422. self size: 72
  1423. global size: 0
  1424. min size: 0
  1425. self stack: 0
  1426. global stack: 0
  1427. size:0.000000, time:0.000000
  1428. size:2.000000, time:0.000000, executed if:(not inlined)
  1429. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1430. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1431. size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  1432. size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  1433. size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  1434. size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1435. size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1436. size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1437. size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1438. size:26.000000, time:5.469914, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1439. size:4.000000, time:1.389252, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1440. size:2.000000, time:0.528296, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1441. size:2.000000, time:0.024676, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1442. size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1443. size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1444. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1445. calls:
  1446. xTaskRemoveFromEventList/43 function body not available
  1447. loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1448. prvCopyDataToQueue/31 function not considered for inlining
  1449. loop depth: 0 freq:0.22 size: 4 time: 13callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1450. vPortValidateInterruptPriority/57 function body not available
  1451. loop depth: 0 freq:0.39 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1452. Analyzing function: xQueueGenericSend/15
  1453. ;; 6 loops found
  1454. ;;
  1455. ;; Loop 0
  1456. ;; header 0, latch 1
  1457. ;; depth 0, outer -1
  1458. ;; nodes: 0 1 2 3 4 42 5 6 7 8 45 9 10 11 12 44 13 14 15 16 17 43 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
  1459. ;;
  1460. ;; Loop 5
  1461. ;; header 4, latch 42
  1462. ;; depth 1, outer 0
  1463. ;; nodes: 4 42
  1464. ;;
  1465. ;; Loop 1
  1466. ;; header 19, latch 18
  1467. ;; depth 1, outer 0
  1468. ;; nodes: 19 18 38 39 37 36 35 33 34 31 32 29 30 27 20
  1469. ;;
  1470. ;; Loop 2
  1471. ;; header 17, latch 43
  1472. ;; depth 1, outer 0
  1473. ;; nodes: 17 43
  1474. ;;
  1475. ;; Loop 3
  1476. ;; header 12, latch 44
  1477. ;; depth 1, outer 0
  1478. ;; nodes: 12 44
  1479. ;;
  1480. ;; Loop 4
  1481. ;; header 8, latch 45
  1482. ;; depth 1, outer 0
  1483. ;; nodes: 8 45
  1484. ;; 2 succs { 3 5 }
  1485. ;; 3 succs { 4 }
  1486. ;; 4 succs { 42 }
  1487. ;; 42 succs { 4 }
  1488. ;; 5 succs { 9 6 }
  1489. ;; 6 succs { 9 7 }
  1490. ;; 7 succs { 8 }
  1491. ;; 8 succs { 45 }
  1492. ;; 45 succs { 8 }
  1493. ;; 9 succs { 13 10 }
  1494. ;; 10 succs { 13 11 }
  1495. ;; 11 succs { 12 }
  1496. ;; 12 succs { 44 }
  1497. ;; 44 succs { 12 }
  1498. ;; 13 succs { 14 15 }
  1499. ;; 14 succs { 19 }
  1500. ;; 15 succs { 14 16 }
  1501. ;; 16 succs { 17 }
  1502. ;; 17 succs { 43 }
  1503. ;; 43 succs { 17 }
  1504. ;; 18 succs { 19 }
  1505. ;; 19 succs { 21 20 }
  1506. ;; 20 succs { 21 27 }
  1507. ;; 21 succs { 22 24 }
  1508. ;; 22 succs { 23 26 }
  1509. ;; 23 succs { 26 }
  1510. ;; 24 succs { 25 26 }
  1511. ;; 25 succs { 26 }
  1512. ;; 26 succs { 41 }
  1513. ;; 27 succs { 28 29 }
  1514. ;; 28 succs { 41 }
  1515. ;; 29 succs { 30 31 }
  1516. ;; 30 succs { 31 }
  1517. ;; 31 succs { 32 33 }
  1518. ;; 32 succs { 33 }
  1519. ;; 33 succs { 34 35 }
  1520. ;; 34 succs { 35 }
  1521. ;; 35 succs { 36 40 }
  1522. ;; 36 succs { 37 39 }
  1523. ;; 37 succs { 38 18 }
  1524. ;; 38 succs { 18 }
  1525. ;; 39 succs { 18 }
  1526. ;; 40 succs { 41 }
  1527. ;; 41 succs { 1 }
  1528. Analyzing function body size: xQueueGenericSend
  1529. IPA function summary for xQueueGenericSend/15 inlinable
  1530. global time: 359.104527
  1531. self size: 121
  1532. global size: 0
  1533. min size: 0
  1534. self stack: 8
  1535. global stack: 8
  1536. size:0.000000, time:0.000000
  1537. size:2.000000, time:0.000000, executed if:(not inlined)
  1538. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1539. size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B)
  1540. size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined)
  1541. size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B)
  1542. size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B)
  1543. size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1544. size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1545. size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1546. size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1547. size:25.500000, time:11.189120, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1548. size:2.500000, time:3.468903, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1549. size:2.000000, time:5.449000, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1550. size:21.000000, time:42.665100, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1551. size:2.000000, time:3.452794, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined)
  1552. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1553. calls:
  1554. xTaskResumeAll/53 function body not available
  1555. loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1556. prvUnlockQueue/33 function not considered for inlining
  1557. loop depth: 0 freq:0.07 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1558. xTaskResumeAll/53 function body not available
  1559. loop depth: 1 freq:1.25 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1560. prvUnlockQueue/33 function not considered for inlining
  1561. loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1562. op0 change 79.810000% of time
  1563. xTaskResumeAll/53 function body not available
  1564. loop depth: 1 freq:1.25 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1565. prvUnlockQueue/33 function not considered for inlining
  1566. loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1567. op0 change 79.810000% of time
  1568. vTaskPlaceOnEventList/52 function body not available
  1569. loop depth: 1 freq:1.25 size: 3 time: 12 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1570. prvIsQueueFull/36 function not considered for inlining
  1571. loop depth: 1 freq:2.51 size: 3 time: 12callee size: 4 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1572. op0 change 39.900000% of time
  1573. xTaskCheckForTimeOut/51 function body not available
  1574. loop depth: 1 freq:2.58 size: 4 time: 13 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1575. op0 is compile time invariant
  1576. op1 is compile time invariant
  1577. vPortExitCritical/45 function body not available
  1578. loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1579. vPortEnterCritical/42 function body not available
  1580. loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1581. vTaskSuspendAll/50 function body not available
  1582. loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1583. vPortExitCritical/45 function body not available
  1584. loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1585. vTaskInternalSetTimeOutState/49 function body not available
  1586. loop depth: 1 freq:0.85 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1587. op0 is compile time invariant
  1588. vPortExitCritical/45 function body not available
  1589. loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1590. vPortExitCritical/45 function body not available
  1591. loop depth: 0 freq:0.15 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1592. xTaskRemoveFromEventList/43 function body not available
  1593. loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1594. prvCopyDataToQueue/31 function not considered for inlining
  1595. loop depth: 0 freq:0.15 size: 5 time: 14callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1596. vPortEnterCritical/42 function body not available
  1597. loop depth: 1 freq:2.80 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1598. xTaskGetSchedulerState/48 function body not available
  1599. loop depth: 0 freq:0.39 size: 2 time: 11 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B)
  1600. Analyzing function: xQueueCreateCountingSemaphore/14
  1601. ;; 2 loops found
  1602. ;;
  1603. ;; Loop 0
  1604. ;; header 0, latch 1
  1605. ;; depth 0, outer -1
  1606. ;; nodes: 0 1 2 3 4 5 6 7 9 8
  1607. ;;
  1608. ;; Loop 1
  1609. ;; header 7, latch 9
  1610. ;; depth 1, outer 0
  1611. ;; nodes: 7 9
  1612. ;; 2 succs { 3 6 }
  1613. ;; 3 succs { 4 6 }
  1614. ;; 4 succs { 5 8 }
  1615. ;; 5 succs { 8 }
  1616. ;; 6 succs { 7 }
  1617. ;; 7 succs { 9 }
  1618. ;; 9 succs { 7 }
  1619. ;; 8 succs { 1 }
  1620. Analyzing function body size: xQueueCreateCountingSemaphore
  1621. IPA function summary for xQueueCreateCountingSemaphore/14 inlinable
  1622. global time: 10.260529
  1623. self size: 20
  1624. global size: 0
  1625. min size: 0
  1626. self stack: 0
  1627. global stack: 0
  1628. size:5.000000, time:4.174988
  1629. size:2.000000, time:0.000000, executed if:(not inlined)
  1630. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1631. size:2.000000, time:1.000000, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0)
  1632. size:3.000000, time:0.445502, executed if:(op0 != 0)
  1633. size:1.000000, time:0.330005, executed if:(op0 != 0) && (not inlined)
  1634. calls:
  1635. xQueueGenericCreate/6 function not considered for inlining
  1636. loop depth: 0 freq:0.17 size: 5 time: 14 predicate: (op0 != 0)
  1637. op1 is compile time invariant
  1638. op2 is compile time invariant
  1639. Analyzing function: xQueueTakeMutexRecursive/13
  1640. ;; 2 loops found
  1641. ;;
  1642. ;; Loop 0
  1643. ;; header 0, latch 1
  1644. ;; depth 0, outer -1
  1645. ;; nodes: 0 1 2 3 4 10 5 6 7 8 9
  1646. ;;
  1647. ;; Loop 1
  1648. ;; header 4, latch 10
  1649. ;; depth 1, outer 0
  1650. ;; nodes: 4 10
  1651. ;; 2 succs { 3 5 }
  1652. ;; 3 succs { 4 }
  1653. ;; 4 succs { 10 }
  1654. ;; 10 succs { 4 }
  1655. ;; 5 succs { 6 7 }
  1656. ;; 6 succs { 9 }
  1657. ;; 7 succs { 8 9 }
  1658. ;; 8 succs { 9 }
  1659. ;; 9 succs { 1 }
  1660. Analyzing function body size: xQueueTakeMutexRecursive
  1661. IPA function summary for xQueueTakeMutexRecursive/13 inlinable
  1662. global time: 18.345502
  1663. self size: 27
  1664. global size: 0
  1665. min size: 0
  1666. self stack: 0
  1667. global stack: 0
  1668. size:0.000000, time:0.000000
  1669. size:2.000000, time:0.000000, executed if:(not inlined)
  1670. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1671. size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
  1672. size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
  1673. size:8.000000, time:2.424704, executed if:(op0 != 0B)
  1674. size:3.000000, time:1.461148, executed if:(op0 != 0B) && (not inlined)
  1675. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1676. calls:
  1677. xQueueSemaphoreTake/19 function not considered for inlining
  1678. loop depth: 0 freq:0.29 size: 4 time: 13callee size:68 stack: 8 predicate: (op0 != 0B)
  1679. xTaskGetCurrentTaskHandle/47 function body not available
  1680. loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B)
  1681. Analyzing function: xQueueGiveMutexRecursive/12
  1682. ;; 2 loops found
  1683. ;;
  1684. ;; Loop 0
  1685. ;; header 0, latch 1
  1686. ;; depth 0, outer -1
  1687. ;; nodes: 0 1 2 3 4 10 5 6 7 9
  1688. ;;
  1689. ;; Loop 1
  1690. ;; header 4, latch 10
  1691. ;; depth 1, outer 0
  1692. ;; nodes: 4 10
  1693. ;; 2 succs { 3 5 }
  1694. ;; 3 succs { 4 }
  1695. ;; 4 succs { 10 }
  1696. ;; 10 succs { 4 }
  1697. ;; 5 succs { 6 9 }
  1698. ;; 6 succs { 7 9 }
  1699. ;; 7 succs { 9 }
  1700. ;; 9 succs { 1 }
  1701. Analyzing function body size: xQueueGiveMutexRecursive
  1702. IPA function summary for xQueueGiveMutexRecursive/12 inlinable
  1703. global time: 14.424882
  1704. self size: 25
  1705. global size: 0
  1706. min size: 0
  1707. self stack: 0
  1708. global stack: 0
  1709. size:0.000000, time:0.000000
  1710. size:2.000000, time:0.000000, executed if:(not inlined)
  1711. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1712. size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
  1713. size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
  1714. size:6.000000, time:1.711046, executed if:(op0 != 0B)
  1715. size:2.000000, time:1.229812, executed if:(op0 != 0B) && (not inlined)
  1716. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1717. calls:
  1718. xQueueGenericSend/15 function not considered for inlining
  1719. loop depth: 0 freq:0.05 size: 5 time: 14callee size:60 stack: 8 predicate: (op0 != 0B)
  1720. op1 is compile time invariant
  1721. op2 is compile time invariant
  1722. op3 is compile time invariant
  1723. xTaskGetCurrentTaskHandle/47 function body not available
  1724. loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B)
  1725. Analyzing function: xQueueGetMutexHolderFromISR/11
  1726. ;; 2 loops found
  1727. ;;
  1728. ;; Loop 0
  1729. ;; header 0, latch 1
  1730. ;; depth 0, outer -1
  1731. ;; nodes: 0 1 2 3 4 8 5 6 7
  1732. ;;
  1733. ;; Loop 1
  1734. ;; header 4, latch 8
  1735. ;; depth 1, outer 0
  1736. ;; nodes: 4 8
  1737. ;; 2 succs { 3 5 }
  1738. ;; 3 succs { 4 }
  1739. ;; 4 succs { 8 }
  1740. ;; 8 succs { 4 }
  1741. ;; 5 succs { 6 7 }
  1742. ;; 6 succs { 7 }
  1743. ;; 7 succs { 1 }
  1744. Analyzing function body size: xQueueGetMutexHolderFromISR
  1745. IPA function summary for xQueueGetMutexHolderFromISR/11 inlinable
  1746. global time: 7.358400
  1747. self size: 14
  1748. global size: 0
  1749. min size: 0
  1750. self stack: 0
  1751. global stack: 0
  1752. size:0.000000, time:0.000000
  1753. size:2.000000, time:0.000000, executed if:(not inlined)
  1754. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1755. size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
  1756. size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
  1757. size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined)
  1758. size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B)
  1759. size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined)
  1760. size:5.000000, time:1.500001, executed if:(op0 == 0B)
  1761. calls:
  1762. Analyzing function: xQueueGetMutexHolder/10
  1763. ;; 2 loops found
  1764. ;;
  1765. ;; Loop 0
  1766. ;; header 0, latch 1
  1767. ;; depth 0, outer -1
  1768. ;; nodes: 0 1 2 3 4 8 5 6 7
  1769. ;;
  1770. ;; Loop 1
  1771. ;; header 4, latch 8
  1772. ;; depth 1, outer 0
  1773. ;; nodes: 4 8
  1774. ;; 2 succs { 3 5 }
  1775. ;; 3 succs { 4 }
  1776. ;; 4 succs { 8 }
  1777. ;; 8 succs { 4 }
  1778. ;; 5 succs { 6 7 }
  1779. ;; 6 succs { 7 }
  1780. ;; 7 succs { 1 }
  1781. Analyzing function body size: xQueueGetMutexHolder
  1782. IPA function summary for xQueueGetMutexHolder/10 inlinable
  1783. global time: 17.967768
  1784. self size: 16
  1785. global size: 0
  1786. min size: 0
  1787. self stack: 0
  1788. global stack: 0
  1789. size:0.000000, time:0.000000
  1790. size:2.000000, time:0.000000, executed if:(not inlined)
  1791. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1792. size:2.000000, time:1.473633, executed if:(op0 != 0B) && (not inlined)
  1793. size:3.000000, time:1.473633, executed if:(op0 != 0B)
  1794. size:5.000000, time:2.326499, executed if:(op0 == 0B)
  1795. calls:
  1796. vPortExitCritical/45 function body not available
  1797. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1798. vPortEnterCritical/42 function body not available
  1799. loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
  1800. Analyzing function: xQueueCreateMutex/9
  1801. ;; 1 loops found
  1802. ;;
  1803. ;; Loop 0
  1804. ;; header 0, latch 1
  1805. ;; depth 0, outer -1
  1806. ;; nodes: 0 1 2
  1807. ;; 2 succs { 1 }
  1808. Analyzing function body size: xQueueCreateMutex
  1809. IPA function summary for xQueueCreateMutex/9 inlinable
  1810. global time: 27.000000
  1811. self size: 10
  1812. global size: 0
  1813. min size: 0
  1814. self stack: 0
  1815. global stack: 0
  1816. size:0.000000, time:0.000000
  1817. size:3.000000, time:2.000000, executed if:(not inlined)
  1818. calls:
  1819. prvInitialiseMutex/8 function not considered for inlining
  1820. loop depth: 0 freq:1.00 size: 2 time: 11
  1821. xQueueGenericCreate/6 function not considered for inlining
  1822. loop depth: 0 freq:1.00 size: 5 time: 14
  1823. op0 is compile time invariant
  1824. op1 is compile time invariant
  1825. Analyzing function: prvInitialiseMutex/8
  1826. ;; 1 loops found
  1827. ;;
  1828. ;; Loop 0
  1829. ;; header 0, latch 1
  1830. ;; depth 0, outer -1
  1831. ;; nodes: 0 1 2 3 4
  1832. ;; 2 succs { 3 4 }
  1833. ;; 3 succs { 4 }
  1834. ;; 4 succs { 1 }
  1835. Analyzing function body size: prvInitialiseMutex
  1836. IPA function summary for prvInitialiseMutex/8 inlinable
  1837. global time: 13.089900
  1838. self size: 13
  1839. global size: 0
  1840. min size: 0
  1841. self stack: 0
  1842. global stack: 0
  1843. size:0.000000, time:0.000000
  1844. size:3.000000, time:2.000000, executed if:(not inlined)
  1845. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1846. size:1.500000, time:0.802050, executed if:(op0 != 0B) && (not inlined)
  1847. size:1.500000, time:0.802050, executed if:(op0 != 0B)
  1848. calls:
  1849. xQueueGenericSend/15 function not considered for inlining
  1850. loop depth: 0 freq:0.53 size: 5 time: 14callee size:60 stack: 8 predicate: (op0 != 0B)
  1851. op1 is compile time invariant
  1852. op2 is compile time invariant
  1853. op3 is compile time invariant
  1854. Analyzing function: prvInitialiseNewQueue/7
  1855. ;; 1 loops found
  1856. ;;
  1857. ;; Loop 0
  1858. ;; header 0, latch 1
  1859. ;; depth 0, outer -1
  1860. ;; nodes: 0 1 2 3 4 5
  1861. ;; 2 succs { 3 4 }
  1862. ;; 3 succs { 5 }
  1863. ;; 4 succs { 5 }
  1864. ;; 5 succs { 1 }
  1865. Analyzing function body size: prvInitialiseNewQueue
  1866. IPA function summary for prvInitialiseNewQueue/7 inlinable
  1867. global time: 20.000000
  1868. self size: 13
  1869. global size: 0
  1870. min size: 0
  1871. self stack: 0
  1872. global stack: 0
  1873. size:1.500000, time:1.500000
  1874. size:4.500000, time:3.500000, executed if:(not inlined)
  1875. size:2.000000, time:2.000000, nonconst if:(op1 changed)
  1876. size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined)
  1877. size:0.500000, time:0.250000, executed if:(op1 != 0)
  1878. size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined)
  1879. size:0.500000, time:0.250000, executed if:(op1 == 0)
  1880. calls:
  1881. xQueueGenericReset/5 function not considered for inlining
  1882. loop depth: 0 freq:1.00 size: 3 time: 12
  1883. op1 is compile time invariant
  1884. Analyzing function: xQueueGenericCreate/6
  1885. ;; 2 loops found
  1886. ;;
  1887. ;; Loop 0
  1888. ;; header 0, latch 1
  1889. ;; depth 0, outer -1
  1890. ;; nodes: 0 1 2 3 4 5 6 7 8 10 9
  1891. ;;
  1892. ;; Loop 1
  1893. ;; header 8, latch 10
  1894. ;; depth 1, outer 0
  1895. ;; nodes: 8 10
  1896. ;; 2 succs { 3 7 }
  1897. ;; 3 succs { 4 7 }
  1898. ;; 4 succs { 5 7 }
  1899. ;; 5 succs { 6 9 }
  1900. ;; 6 succs { 9 }
  1901. ;; 7 succs { 8 }
  1902. ;; 8 succs { 10 }
  1903. ;; 10 succs { 8 }
  1904. ;; 9 succs { 1 }
  1905. Analyzing function body size: xQueueGenericCreate
  1906. IPA function summary for xQueueGenericCreate/6 inlinable
  1907. global time: 10.445736
  1908. self size: 28
  1909. global size: 0
  1910. min size: 0
  1911. self stack: 0
  1912. global stack: 0
  1913. size:5.000000, time:4.587495
  1914. size:2.000000, time:0.000000, executed if:(not inlined)
  1915. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1916. size:6.000000, time:1.832486, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0)
  1917. size:3.000000, time:0.209111, executed if:(op0 != 0)
  1918. size:1.000000, time:0.165002, executed if:(op0 != 0) && (not inlined)
  1919. calls:
  1920. prvInitialiseNewQueue/7 function not considered for inlining
  1921. loop depth: 0 freq:0.04 size: 6 time: 15callee size: 6 stack: 0 predicate: (op0 != 0)
  1922. pvPortMalloc/46 function body not available
  1923. loop depth: 0 freq:0.08 size: 3 time: 12 predicate: (op0 != 0)
  1924. Analyzing function: xQueueGenericReset/5
  1925. ;; 3 loops found
  1926. ;;
  1927. ;; Loop 0
  1928. ;; header 0, latch 1
  1929. ;; depth 0, outer -1
  1930. ;; nodes: 0 1 2 3 4 10 5 6 7 8 9 11
  1931. ;;
  1932. ;; Loop 2
  1933. ;; header 4, latch 10
  1934. ;; depth 1, outer 0
  1935. ;; nodes: 4 10
  1936. ;;
  1937. ;; Loop 1
  1938. ;; header 9, latch 11
  1939. ;; depth 1, outer 0
  1940. ;; nodes: 9 11
  1941. ;; 2 succs { 3 5 }
  1942. ;; 3 succs { 4 }
  1943. ;; 4 succs { 10 }
  1944. ;; 10 succs { 4 }
  1945. ;; 5 succs { 6 8 }
  1946. ;; 6 succs { 7 8 }
  1947. ;; 7 succs { 1 }
  1948. ;; 8 succs { 9 }
  1949. ;; 9 succs { 11 }
  1950. ;; 11 succs { 9 }
  1951. Analyzing function body size: xQueueGenericReset
  1952. IPA function summary for xQueueGenericReset/5 inlinable
  1953. global time: 11.305065
  1954. self size: 25
  1955. global size: 0
  1956. min size: 0
  1957. self stack: 0
  1958. global stack: 0
  1959. size:0.000000, time:0.000000
  1960. size:2.000000, time:0.000000, executed if:(not inlined)
  1961. size:2.000000, time:2.000000, nonconst if:(op0 changed)
  1962. size:0.500000, time:0.350002, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined)
  1963. size:2.500000, time:1.750008, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B)
  1964. size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined)
  1965. size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B)
  1966. size:2.000000, time:0.700003, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed || op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B)
  1967. size:5.000000, time:2.922505, executed if:(op0 != 0B)
  1968. size:1.000000, time:0.231005, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined)
  1969. size:5.000000, time:1.500011, executed if:(op0 == 0B)
  1970. calls:
  1971. xQueueGenericReset.part.0/65 function not considered for inlining
  1972. loop depth: 0 freq:0.12 size: 4 time: 13callee size:18 stack: 0 predicate: (op0[ref offset: 480] != 0) && (op0 != 0B)
  1973. Symbol table:
  1974. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60
  1975. Type: function definition analyzed
  1976. Visibility: prevailing_def_ironly artificial
  1977. References:
  1978. Referring:
  1979. Availability: local
  1980. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  1981. Called by: vQueueUnregisterQueue/40 (107374 (estimated locally),0.30 per call)
  1982. Calls:
  1983. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0
  1984. Type: function definition analyzed
  1985. Visibility: prevailing_def_ironly artificial
  1986. References:
  1987. Referring:
  1988. Availability: local
  1989. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  1990. Called by: xQueueGenericReset/5 (21218 (estimated locally),0.12 per call)
  1991. Calls: vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xTaskRemoveFromEventList/43 (237404317 (estimated locally),0.22 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call)
  1992. vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05fe8620
  1993. Type: function
  1994. Visibility: external public
  1995. References:
  1996. Referring:
  1997. Availability: not_available
  1998. Function flags: optimize_size
  1999. Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call)
  2000. Calls:
  2001. vPortFree/61 (vPortFree) @05fc9ee0
  2002. Type: function
  2003. Visibility: external public
  2004. References:
  2005. Referring:
  2006. Availability: not_available
  2007. Function flags: optimize_size
  2008. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  2009. Calls:
  2010. vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05fc9380
  2011. Type: function
  2012. Visibility: external public
  2013. References:
  2014. Referring:
  2015. Availability: not_available
  2016. Function flags: optimize_size
  2017. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  2018. Calls:
  2019. xTaskPriorityInherit/59 (xTaskPriorityInherit) @05fc92a0
  2020. Type: function
  2021. Visibility: external public
  2022. References:
  2023. Referring:
  2024. Availability: not_available
  2025. Function flags: optimize_size
  2026. Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call)
  2027. Calls:
  2028. pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05fc91c0
  2029. Type: function
  2030. Visibility: external public
  2031. References:
  2032. Referring:
  2033. Availability: not_available
  2034. Function flags: optimize_size
  2035. Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call)
  2036. Calls:
  2037. vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05fa3620
  2038. Type: function
  2039. Visibility: external public
  2040. References:
  2041. Referring:
  2042. Availability: not_available
  2043. Function flags: optimize_size
  2044. Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call)
  2045. Calls:
  2046. vTaskMissedYield/56 (vTaskMissedYield) @05fa32a0
  2047. Type: function
  2048. Visibility: external public
  2049. References:
  2050. Referring:
  2051. Availability: not_available
  2052. Function flags: optimize_size
  2053. Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call)
  2054. Calls:
  2055. memcpy/55 (memcpy) @05fa3000
  2056. Type: function
  2057. Visibility: external public
  2058. References:
  2059. Referring:
  2060. Availability: not_available
  2061. Function flags: optimize_size
  2062. Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call)
  2063. Calls:
  2064. xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f558c0
  2065. Type: function
  2066. Visibility: external public
  2067. References:
  2068. Referring:
  2069. Availability: not_available
  2070. Function flags: optimize_size
  2071. Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call)
  2072. Calls:
  2073. xTaskResumeAll/53 (xTaskResumeAll) @05f55e00
  2074. Type: function
  2075. Visibility: external public
  2076. References:
  2077. Referring:
  2078. Availability: not_available
  2079. Function flags: optimize_size
  2080. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2081. Calls:
  2082. vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f55d20
  2083. Type: function
  2084. Visibility: external public
  2085. References:
  2086. Referring:
  2087. Availability: not_available
  2088. Function flags: optimize_size
  2089. Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2090. Calls:
  2091. xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f55c40
  2092. Type: function
  2093. Visibility: external public
  2094. References:
  2095. Referring:
  2096. Availability: not_available
  2097. Function flags: optimize_size
  2098. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  2099. Calls:
  2100. vTaskSuspendAll/50 (vTaskSuspendAll) @05f55b60
  2101. Type: function
  2102. Visibility: external public
  2103. References:
  2104. Referring:
  2105. Availability: not_available
  2106. Function flags: optimize_size
  2107. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  2108. Calls:
  2109. vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f55a80
  2110. Type: function
  2111. Visibility: external public
  2112. References:
  2113. Referring:
  2114. Availability: not_available
  2115. Function flags: optimize_size
  2116. Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call)
  2117. Calls:
  2118. xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f559a0
  2119. Type: function
  2120. Visibility: external public
  2121. References:
  2122. Referring:
  2123. Availability: not_available
  2124. Function flags: optimize_size
  2125. Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call)
  2126. Calls:
  2127. xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f55460
  2128. Type: function
  2129. Visibility: external public
  2130. References:
  2131. Referring:
  2132. Availability: not_available
  2133. Function flags: optimize_size
  2134. Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call)
  2135. Calls:
  2136. pvPortMalloc/46 (pvPortMalloc) @05f42000
  2137. Type: function
  2138. Visibility: external public
  2139. References:
  2140. Referring:
  2141. Availability: not_available
  2142. Function flags: optimize_size
  2143. Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call)
  2144. Calls:
  2145. vPortExitCritical/45 (vPortExitCritical) @05f42d20
  2146. Type: function
  2147. Visibility: external public
  2148. References:
  2149. Referring:
  2150. Availability: not_available
  2151. Function flags: optimize_size
  2152. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call)
  2153. Calls:
  2154. vListInitialise/44 (vListInitialise) @05f42c40
  2155. Type: function
  2156. Visibility: external public
  2157. References:
  2158. Referring:
  2159. Availability: not_available
  2160. Function flags: optimize_size
  2161. Called by: xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call)
  2162. Calls:
  2163. xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05f42b60
  2164. Type: function
  2165. Visibility: external public
  2166. References:
  2167. Referring:
  2168. Availability: not_available
  2169. Function flags: optimize_size
  2170. Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (237404317 (estimated locally),0.22 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call)
  2171. Calls:
  2172. vPortEnterCritical/42 (vPortEnterCritical) @05f42a80
  2173. Type: function
  2174. Visibility: external public
  2175. References:
  2176. Referring:
  2177. Availability: not_available
  2178. Function flags: optimize_size
  2179. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call)
  2180. Calls:
  2181. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540
  2182. Type: function definition analyzed
  2183. Visibility: externally_visible public
  2184. References:
  2185. Referring:
  2186. Availability: available
  2187. Function flags: count:1073741824 (estimated locally) body optimize_size
  2188. Called by:
  2189. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2190. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0
  2191. Type: function definition analyzed
  2192. Visibility: externally_visible public
  2193. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  2194. Referring:
  2195. Availability: available
  2196. Function flags: count:357913 (estimated locally) body optimize_size
  2197. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  2198. Calls: vQueueUnregisterQueue.part.0/114 (107374 (estimated locally),0.30 per call)
  2199. pcQueueGetName/39 (pcQueueGetName) @05f3ce00
  2200. Type: function definition analyzed
  2201. Visibility: externally_visible public
  2202. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  2203. Referring:
  2204. Availability: available
  2205. Function flags: count:357913 (estimated locally) body optimize_size
  2206. Called by:
  2207. Calls:
  2208. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460
  2209. Type: function definition analyzed
  2210. Visibility: externally_visible public
  2211. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  2212. Referring:
  2213. Availability: available
  2214. Function flags: count:357913 (estimated locally) body optimize_size
  2215. Called by:
  2216. Calls:
  2217. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20
  2218. Type: function definition analyzed
  2219. Visibility: externally_visible public
  2220. References:
  2221. Referring:
  2222. Availability: available
  2223. Function flags: count:357913 (estimated locally) body optimize_size
  2224. Called by:
  2225. Calls:
  2226. prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0
  2227. Type: function definition analyzed
  2228. Visibility: prevailing_def_ironly
  2229. References:
  2230. Referring:
  2231. Availability: local
  2232. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2233. Called by: xQueueGenericSend/15 (896877 (estimated locally),2.51 per call)
  2234. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2235. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700
  2236. Type: function definition analyzed
  2237. Visibility: externally_visible public
  2238. References:
  2239. Referring:
  2240. Availability: available
  2241. Function flags: count:357913 (estimated locally) body optimize_size
  2242. Called by:
  2243. Calls:
  2244. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380
  2245. Type: function definition analyzed
  2246. Visibility: prevailing_def_ironly
  2247. References:
  2248. Referring:
  2249. Availability: local
  2250. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2251. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  2252. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2253. prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0
  2254. Type: function definition analyzed
  2255. Visibility: prevailing_def_ironly
  2256. References:
  2257. Referring:
  2258. Availability: local
  2259. Function flags: count:114863534 (estimated locally) body local optimize_size
  2260. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2261. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  2262. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0
  2263. Type: function definition analyzed
  2264. Visibility: prevailing_def_ironly
  2265. References:
  2266. Referring:
  2267. Availability: local
  2268. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2269. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  2270. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  2271. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380
  2272. Type: function definition analyzed
  2273. Visibility: prevailing_def_ironly
  2274. References:
  2275. Referring:
  2276. Availability: local
  2277. Function flags: count:1073741823 (estimated locally) body local optimize_size
  2278. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  2279. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  2280. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00
  2281. Type: function definition analyzed
  2282. Visibility: prevailing_def_ironly
  2283. References:
  2284. Referring:
  2285. Availability: local
  2286. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2287. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  2288. Calls:
  2289. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80
  2290. Type: function definition analyzed
  2291. Visibility: externally_visible public
  2292. References:
  2293. Referring:
  2294. Availability: available
  2295. Function flags: count:1073741824 (estimated locally) body optimize_size
  2296. Called by:
  2297. Calls:
  2298. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0
  2299. Type: function definition analyzed
  2300. Visibility: externally_visible public
  2301. References:
  2302. Referring:
  2303. Availability: available
  2304. Function flags: count:1073741824 (estimated locally) body optimize_size
  2305. Called by:
  2306. Calls:
  2307. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540
  2308. Type: function definition analyzed
  2309. Visibility: externally_visible public
  2310. References:
  2311. Referring:
  2312. Availability: available
  2313. Function flags: count:1073741824 (estimated locally) body optimize_size
  2314. Called by:
  2315. Calls:
  2316. vQueueDelete/26 (vQueueDelete) @05f332a0
  2317. Type: function definition analyzed
  2318. Visibility: externally_visible public
  2319. References:
  2320. Referring:
  2321. Availability: available
  2322. Function flags: count:230763 (estimated locally) body optimize_size
  2323. Called by:
  2324. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  2325. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20
  2326. Type: function definition analyzed
  2327. Visibility: externally_visible public
  2328. References:
  2329. Referring:
  2330. Availability: available
  2331. Function flags: count:357913 (estimated locally) body optimize_size
  2332. Called by:
  2333. Calls:
  2334. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0
  2335. Type: function definition analyzed
  2336. Visibility: externally_visible public
  2337. References:
  2338. Referring:
  2339. Availability: available
  2340. Function flags: count:230763 (estimated locally) body optimize_size
  2341. Called by:
  2342. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2343. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40
  2344. Type: function definition analyzed
  2345. Visibility: externally_visible public
  2346. References:
  2347. Referring:
  2348. Availability: available
  2349. Function flags: count:230763 (estimated locally) body optimize_size
  2350. Called by:
  2351. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2352. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0
  2353. Type: function definition analyzed
  2354. Visibility: externally_visible public
  2355. References:
  2356. Referring:
  2357. Availability: available
  2358. Function flags: count:269344 (estimated locally) body optimize_size
  2359. Called by:
  2360. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  2361. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460
  2362. Type: function definition analyzed
  2363. Visibility: externally_visible public
  2364. References:
  2365. Referring:
  2366. Availability: available
  2367. Function flags: count:357913 (estimated locally) body optimize_size
  2368. Called by:
  2369. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  2370. xQueuePeek/20 (xQueuePeek) @05f2a000
  2371. Type: function definition analyzed
  2372. Visibility: externally_visible public
  2373. References:
  2374. Referring:
  2375. Availability: available
  2376. Function flags: count:357913 (estimated locally) body optimize_size
  2377. Called by:
  2378. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2379. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40
  2380. Type: function definition analyzed
  2381. Visibility: externally_visible public
  2382. References:
  2383. Referring:
  2384. Availability: available
  2385. Function flags: count:228942 (estimated locally) body optimize_size
  2386. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  2387. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  2388. xQueueReceive/18 (xQueueReceive) @05f18540
  2389. Type: function definition analyzed
  2390. Visibility: externally_visible public
  2391. References:
  2392. Referring:
  2393. Availability: available
  2394. Function flags: count:357913 (estimated locally) body optimize_size
  2395. Called by:
  2396. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2397. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20
  2398. Type: function definition analyzed
  2399. Visibility: externally_visible public
  2400. References:
  2401. Referring:
  2402. Availability: available
  2403. Function flags: count:306783 (estimated locally) body optimize_size
  2404. Called by:
  2405. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  2406. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40
  2407. Type: function definition analyzed
  2408. Visibility: externally_visible public
  2409. References:
  2410. Referring:
  2411. Availability: available
  2412. Function flags: count:357913 (estimated locally) body optimize_size
  2413. Called by:
  2414. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  2415. xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0
  2416. Type: function definition analyzed
  2417. Visibility: externally_visible public
  2418. References:
  2419. Referring:
  2420. Availability: available
  2421. Function flags: count:357913 (estimated locally) body optimize_size
  2422. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  2423. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  2424. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0
  2425. Type: function definition analyzed
  2426. Visibility: externally_visible public
  2427. References:
  2428. Referring:
  2429. Availability: available
  2430. Function flags: count:128592 (estimated locally) body optimize_size
  2431. Called by:
  2432. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  2433. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0
  2434. Type: function definition analyzed
  2435. Visibility: externally_visible public
  2436. References:
  2437. Referring:
  2438. Availability: available
  2439. Function flags: count:230763 (estimated locally) body optimize_size
  2440. Called by:
  2441. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2442. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0
  2443. Type: function definition analyzed
  2444. Visibility: externally_visible public
  2445. References:
  2446. Referring:
  2447. Availability: available
  2448. Function flags: count:230763 (estimated locally) body optimize_size
  2449. Called by:
  2450. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2451. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40
  2452. Type: function definition analyzed
  2453. Visibility: externally_visible public
  2454. References:
  2455. Referring:
  2456. Availability: available
  2457. Function flags: count:357913 (estimated locally) body optimize_size
  2458. Called by:
  2459. Calls:
  2460. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0
  2461. Type: function definition analyzed
  2462. Visibility: externally_visible public
  2463. References:
  2464. Referring:
  2465. Availability: available
  2466. Function flags: count:230763 (estimated locally) body optimize_size
  2467. Called by:
  2468. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2469. xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540
  2470. Type: function definition analyzed
  2471. Visibility: externally_visible public
  2472. References:
  2473. Referring:
  2474. Availability: available
  2475. Function flags: count:1073741824 (estimated locally) body optimize_size
  2476. Called by:
  2477. Calls: prvInitialiseMutex/8 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  2478. prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0
  2479. Type: function definition analyzed
  2480. Visibility: prevailing_def_ironly
  2481. References:
  2482. Referring:
  2483. Availability: local
  2484. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2485. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call)
  2486. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  2487. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000
  2488. Type: function definition analyzed
  2489. Visibility: prevailing_def_ironly
  2490. References:
  2491. Referring:
  2492. Availability: local
  2493. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2494. Called by: xQueueGenericCreate/6 (5162 (estimated locally),0.04 per call)
  2495. Calls: xQueueGenericReset/5 (1073741824 (estimated locally),1.00 per call)
  2496. xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0
  2497. Type: function definition analyzed
  2498. Visibility: externally_visible public
  2499. References:
  2500. Referring:
  2501. Availability: available
  2502. Function flags: count:117029 (estimated locally) body optimize_size
  2503. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  2504. Calls: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  2505. xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40
  2506. Type: function definition analyzed
  2507. Visibility: externally_visible public
  2508. References:
  2509. Referring:
  2510. Availability: available
  2511. Function flags: count:183702 (estimated locally) body optimize_size
  2512. Called by: prvInitialiseNewQueue/7 (1073741824 (estimated locally),1.00 per call)
  2513. Calls: xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call)
  2514. xQueueRegistry/4 (xQueueRegistry) @05ec1630
  2515. Type: variable definition analyzed
  2516. Visibility: externally_visible public
  2517. References:
  2518. Referring: pcQueueGetName/39 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)vQueueAddToRegistry/38 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write)
  2519. Availability: available
  2520. Varpool flags:
  2521. vQueueUnregisterQueue.part.0 ()
  2522. {
  2523. UBaseType_t ux;
  2524. uint32_t ulNewBASEPRI;
  2525. struct QueueDefinition * xQueue;
  2526. <bb 5> [local count: 107374]:
  2527. # DEBUG D#2 s=> xQueue
  2528. # DEBUG xQueue => D#2
  2529. <bb 2> [local count: 107374]:
  2530. # DEBUG BEGIN_STMT
  2531. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2532. # DEBUG BEGIN_STMT
  2533. # DEBUG BEGIN_STMT
  2534. __asm__ __volatile__(" mov %0, %1
  2535. msr basepri, %0
  2536. isb
  2537. dsb
  2538. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  2539. # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
  2540. <bb 3> [local count: 1073741824]:
  2541. # DEBUG ulNewBASEPRI => NULL
  2542. # DEBUG BEGIN_STMT
  2543. # DEBUG BEGIN_STMT
  2544. # DEBUG BEGIN_STMT
  2545. <bb 4> [local count: 1073741824]:
  2546. goto <bb 3>; [100.00%]
  2547. }
  2548. xQueueGenericReset.part.0 (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  2549. {
  2550. BaseType_t xReturn;
  2551. struct Queue_t * const pxQueue;
  2552. uint32_t ulNewBASEPRI;
  2553. uint32_t ulNewBASEPRI;
  2554. int8_t * _2;
  2555. long unsigned int _3;
  2556. long unsigned int _4;
  2557. long unsigned int _5;
  2558. int8_t * _6;
  2559. long unsigned int _7;
  2560. long unsigned int _8;
  2561. int8_t * _9;
  2562. long unsigned int _11;
  2563. struct List_t * _12;
  2564. long int _13;
  2565. struct List_t * _14;
  2566. struct List_t * _15;
  2567. <bb 8> [local count: 1073741824]:
  2568. <bb 2> [local count: 1073741824]:
  2569. # DEBUG BEGIN_STMT
  2570. vPortEnterCritical ();
  2571. # DEBUG BEGIN_STMT
  2572. _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
  2573. _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
  2574. _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
  2575. _5 = _3 * _4;
  2576. _6 = _2 + _5;
  2577. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
  2578. # DEBUG BEGIN_STMT
  2579. MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
  2580. # DEBUG BEGIN_STMT
  2581. MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
  2582. # DEBUG BEGIN_STMT
  2583. _7 = _3 + 4294967295;
  2584. _8 = _4 * _7;
  2585. _9 = _2 + _8;
  2586. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
  2587. # DEBUG BEGIN_STMT
  2588. MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
  2589. # DEBUG BEGIN_STMT
  2590. MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
  2591. # DEBUG BEGIN_STMT
  2592. if (xNewQueue_10(D) == 0)
  2593. goto <bb 3>; [67.00%]
  2594. else
  2595. goto <bb 6>; [33.00%]
  2596. <bb 3> [local count: 719407023]:
  2597. # DEBUG BEGIN_STMT
  2598. _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
  2599. if (_11 != 0)
  2600. goto <bb 4>; [33.00%]
  2601. else
  2602. goto <bb 7>; [67.00%]
  2603. <bb 4> [local count: 237404317]:
  2604. # DEBUG BEGIN_STMT
  2605. _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  2606. _13 = xTaskRemoveFromEventList (_12);
  2607. if (_13 != 0)
  2608. goto <bb 5>; [50.00%]
  2609. else
  2610. goto <bb 7>; [50.00%]
  2611. <bb 5> [local count: 118702159]:
  2612. # DEBUG BEGIN_STMT
  2613. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2614. # DEBUG BEGIN_STMT
  2615. __asm__ __volatile__("dsb" : : : "memory");
  2616. # DEBUG BEGIN_STMT
  2617. __asm__ __volatile__("isb");
  2618. # DEBUG BEGIN_STMT
  2619. goto <bb 7>; [100.00%]
  2620. <bb 6> [local count: 354334802]:
  2621. # DEBUG BEGIN_STMT
  2622. _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  2623. vListInitialise (_14);
  2624. # DEBUG BEGIN_STMT
  2625. _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  2626. vListInitialise (_15);
  2627. <bb 7> [local count: 1073741824]:
  2628. # DEBUG BEGIN_STMT
  2629. vPortExitCritical ();
  2630. # DEBUG xReturn => 1
  2631. # DEBUG BEGIN_STMT
  2632. # DEBUG BEGIN_STMT
  2633. # DEBUG BEGIN_STMT
  2634. return 1;
  2635. }
  2636. vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  2637. {
  2638. signed char _1;
  2639. signed char _2;
  2640. long unsigned int _3;
  2641. struct List_t * _4;
  2642. <bb 2> [local count: 1073741824]:
  2643. # DEBUG BEGIN_STMT
  2644. # DEBUG pxQueue => xQueue_8(D)
  2645. # DEBUG BEGIN_STMT
  2646. vPortEnterCritical ();
  2647. # DEBUG BEGIN_STMT
  2648. _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
  2649. if (_1 == -1)
  2650. goto <bb 3>; [34.00%]
  2651. else
  2652. goto <bb 4>; [66.00%]
  2653. <bb 3> [local count: 365072220]:
  2654. # DEBUG BEGIN_STMT
  2655. MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
  2656. <bb 4> [local count: 1073741824]:
  2657. # DEBUG BEGIN_STMT
  2658. _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  2659. if (_2 == -1)
  2660. goto <bb 5>; [34.00%]
  2661. else
  2662. goto <bb 6>; [66.00%]
  2663. <bb 5> [local count: 365072220]:
  2664. # DEBUG BEGIN_STMT
  2665. MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
  2666. <bb 6> [local count: 1073741824]:
  2667. # DEBUG BEGIN_STMT
  2668. vPortExitCritical ();
  2669. # DEBUG BEGIN_STMT
  2670. _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  2671. if (_3 == 0)
  2672. goto <bb 7>; [33.00%]
  2673. else
  2674. goto <bb 8>; [67.00%]
  2675. <bb 7> [local count: 354334802]:
  2676. # DEBUG BEGIN_STMT
  2677. _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  2678. vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  2679. <bb 8> [local count: 1073741824]:
  2680. # DEBUG BEGIN_STMT
  2681. # DEBUG BEGIN_STMT
  2682. prvUnlockQueue (xQueue_8(D));
  2683. return;
  2684. }
  2685. vQueueUnregisterQueue (struct QueueDefinition * xQueue)
  2686. {
  2687. UBaseType_t ux;
  2688. struct QueueDefinition * _1;
  2689. <bb 2> [local count: 357913]:
  2690. # DEBUG BEGIN_STMT
  2691. # DEBUG BEGIN_STMT
  2692. if (xQueue_3(D) == 0B)
  2693. goto <bb 3>; [30.00%]
  2694. else
  2695. goto <bb 9>; [70.00%]
  2696. <bb 9> [local count: 250539]:
  2697. goto <bb 7>; [100.00%]
  2698. <bb 3> [local count: 107374]:
  2699. # DEBUG D#1 => xQueue_3(D)
  2700. vQueueUnregisterQueue.part.0 ();
  2701. <bb 4> [local count: 451483]:
  2702. # DEBUG BEGIN_STMT
  2703. _1 = xQueueRegistry[ux_2].xHandle;
  2704. if (_1 == xQueue_3(D))
  2705. goto <bb 5>; [5.50%]
  2706. else
  2707. goto <bb 6>; [94.50%]
  2708. <bb 5> [local count: 24832]:
  2709. # ux_4 = PHI <ux_2(4)>
  2710. # DEBUG BEGIN_STMT
  2711. xQueueRegistry[ux_4].pcQueueName = 0B;
  2712. # DEBUG BEGIN_STMT
  2713. xQueueRegistry[ux_4].xHandle = 0B;
  2714. # DEBUG BEGIN_STMT
  2715. goto <bb 8>; [100.00%]
  2716. <bb 6> [local count: 426652]:
  2717. # DEBUG BEGIN_STMT
  2718. # DEBUG BEGIN_STMT
  2719. ux_6 = ux_2 + 1;
  2720. # DEBUG ux => ux_6
  2721. <bb 7> [local count: 677191]:
  2722. # ux_2 = PHI <ux_6(6), 0(9)>
  2723. # DEBUG ux => ux_2
  2724. # DEBUG BEGIN_STMT
  2725. if (ux_2 != 2)
  2726. goto <bb 4>; [66.67%]
  2727. else
  2728. goto <bb 8>; [33.33%]
  2729. <bb 8> [local count: 250539]:
  2730. return;
  2731. }
  2732. pcQueueGetName (struct QueueDefinition * xQueue)
  2733. {
  2734. uint32_t ulNewBASEPRI;
  2735. const char * pcReturn;
  2736. UBaseType_t ux;
  2737. struct QueueDefinition * _1;
  2738. <bb 2> [local count: 357913]:
  2739. # DEBUG BEGIN_STMT
  2740. # DEBUG BEGIN_STMT
  2741. # DEBUG pcReturn => 0B
  2742. # DEBUG BEGIN_STMT
  2743. if (xQueue_5(D) == 0B)
  2744. goto <bb 3>; [30.00%]
  2745. else
  2746. goto <bb 10>; [70.00%]
  2747. <bb 10> [local count: 250539]:
  2748. goto <bb 8>; [100.00%]
  2749. <bb 3> [local count: 107374]:
  2750. # DEBUG BEGIN_STMT
  2751. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2752. # DEBUG BEGIN_STMT
  2753. # DEBUG BEGIN_STMT
  2754. __asm__ __volatile__(" mov %0, %1
  2755. msr basepri, %0
  2756. isb
  2757. dsb
  2758. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  2759. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  2760. <bb 4> [local count: 1073741824]:
  2761. # DEBUG ulNewBASEPRI => NULL
  2762. # DEBUG BEGIN_STMT
  2763. # DEBUG BEGIN_STMT
  2764. # DEBUG BEGIN_STMT
  2765. <bb 11> [local count: 1073741824]:
  2766. goto <bb 4>; [100.00%]
  2767. <bb 5> [local count: 451483]:
  2768. # DEBUG BEGIN_STMT
  2769. _1 = xQueueRegistry[ux_2].xHandle;
  2770. if (_1 == xQueue_5(D))
  2771. goto <bb 6>; [5.50%]
  2772. else
  2773. goto <bb 7>; [94.50%]
  2774. <bb 6> [local count: 24832]:
  2775. # ux_4 = PHI <ux_2(5)>
  2776. # DEBUG BEGIN_STMT
  2777. pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  2778. # DEBUG pcReturn => pcReturn_8
  2779. # DEBUG BEGIN_STMT
  2780. goto <bb 9>; [100.00%]
  2781. <bb 7> [local count: 426652]:
  2782. # DEBUG BEGIN_STMT
  2783. # DEBUG BEGIN_STMT
  2784. ux_7 = ux_2 + 1;
  2785. # DEBUG ux => ux_7
  2786. <bb 8> [local count: 677191]:
  2787. # ux_2 = PHI <ux_7(7), 0(10)>
  2788. # DEBUG ux => ux_2
  2789. # DEBUG BEGIN_STMT
  2790. if (ux_2 != 2)
  2791. goto <bb 5>; [66.67%]
  2792. else
  2793. goto <bb 9>; [33.33%]
  2794. <bb 9> [local count: 250539]:
  2795. # pcReturn_3 = PHI <pcReturn_8(6), 0B(8)>
  2796. # DEBUG pcReturn => pcReturn_3
  2797. # DEBUG BEGIN_STMT
  2798. return pcReturn_3;
  2799. }
  2800. vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
  2801. {
  2802. uint32_t ulNewBASEPRI;
  2803. struct QueueRegistryItem_t * pxEntryToWrite;
  2804. UBaseType_t ux;
  2805. struct QueueDefinition * _1;
  2806. const char * _2;
  2807. <bb 2> [local count: 357913]:
  2808. # DEBUG BEGIN_STMT
  2809. # DEBUG BEGIN_STMT
  2810. if (xQueue_8(D) == 0B)
  2811. goto <bb 3>; [30.00%]
  2812. else
  2813. goto <bb 5>; [70.00%]
  2814. <bb 3> [local count: 107374]:
  2815. # DEBUG BEGIN_STMT
  2816. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2817. # DEBUG BEGIN_STMT
  2818. # DEBUG BEGIN_STMT
  2819. __asm__ __volatile__(" mov %0, %1
  2820. msr basepri, %0
  2821. isb
  2822. dsb
  2823. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  2824. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  2825. <bb 4> [local count: 1073741824]:
  2826. # DEBUG ulNewBASEPRI => NULL
  2827. # DEBUG BEGIN_STMT
  2828. # DEBUG BEGIN_STMT
  2829. # DEBUG BEGIN_STMT
  2830. <bb 17> [local count: 1073741824]:
  2831. goto <bb 4>; [100.00%]
  2832. <bb 5> [local count: 250539]:
  2833. # DEBUG BEGIN_STMT
  2834. # DEBUG BEGIN_STMT
  2835. # DEBUG pxEntryToWrite => 0B
  2836. # DEBUG BEGIN_STMT
  2837. if (pcQueueName_10(D) != 0B)
  2838. goto <bb 16>; [70.00%]
  2839. else
  2840. goto <bb 15>; [30.00%]
  2841. <bb 16> [local count: 175378]:
  2842. goto <bb 12>; [100.00%]
  2843. <bb 6> [local count: 316038]:
  2844. # DEBUG BEGIN_STMT
  2845. _1 = xQueueRegistry[ux_3].xHandle;
  2846. if (_1 == xQueue_8(D))
  2847. goto <bb 7>; [5.50%]
  2848. else
  2849. goto <bb 8>; [94.50%]
  2850. <bb 7> [local count: 17382]:
  2851. # ux_9 = PHI <ux_3(6)>
  2852. # DEBUG BEGIN_STMT
  2853. pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  2854. # DEBUG pxEntryToWrite => pxEntryToWrite_14
  2855. # DEBUG BEGIN_STMT
  2856. goto <bb 13>; [100.00%]
  2857. <bb 8> [local count: 298656]:
  2858. # DEBUG BEGIN_STMT
  2859. if (pxEntryToWrite_5 == 0B)
  2860. goto <bb 9>; [30.00%]
  2861. else
  2862. goto <bb 11>; [70.00%]
  2863. <bb 9> [local count: 89597]:
  2864. _2 = xQueueRegistry[ux_3].pcQueueName;
  2865. if (_2 == 0B)
  2866. goto <bb 10>; [30.00%]
  2867. else
  2868. goto <bb 11>; [70.00%]
  2869. <bb 10> [local count: 26879]:
  2870. # DEBUG BEGIN_STMT
  2871. pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  2872. # DEBUG pxEntryToWrite => pxEntryToWrite_12
  2873. <bb 11> [local count: 298656]:
  2874. # pxEntryToWrite_4 = PHI <pxEntryToWrite_5(8), 0B(9), pxEntryToWrite_12(10)>
  2875. # DEBUG pxEntryToWrite => pxEntryToWrite_4
  2876. # DEBUG BEGIN_STMT
  2877. # DEBUG BEGIN_STMT
  2878. ux_13 = ux_3 + 1;
  2879. # DEBUG ux => ux_13
  2880. <bb 12> [local count: 474034]:
  2881. # ux_3 = PHI <ux_13(11), 0(16)>
  2882. # pxEntryToWrite_5 = PHI <pxEntryToWrite_4(11), 0B(16)>
  2883. # DEBUG pxEntryToWrite => pxEntryToWrite_5
  2884. # DEBUG ux => ux_3
  2885. # DEBUG BEGIN_STMT
  2886. if (ux_3 != 2)
  2887. goto <bb 6>; [66.67%]
  2888. else
  2889. goto <bb 13>; [33.33%]
  2890. <bb 13> [local count: 175378]:
  2891. # pxEntryToWrite_6 = PHI <pxEntryToWrite_5(12), pxEntryToWrite_14(7)>
  2892. # DEBUG pxEntryToWrite => pxEntryToWrite_6
  2893. # DEBUG BEGIN_STMT
  2894. if (pxEntryToWrite_6 != 0B)
  2895. goto <bb 14>; [70.00%]
  2896. else
  2897. goto <bb 15>; [30.00%]
  2898. <bb 14> [local count: 122764]:
  2899. # DEBUG BEGIN_STMT
  2900. pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  2901. # DEBUG BEGIN_STMT
  2902. pxEntryToWrite_6->xHandle = xQueue_8(D);
  2903. <bb 15> [local count: 250539]:
  2904. # DEBUG pxEntryToWrite => NULL
  2905. # DEBUG BEGIN_STMT
  2906. return;
  2907. }
  2908. xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
  2909. {
  2910. uint32_t ulNewBASEPRI;
  2911. BaseType_t xReturn;
  2912. long unsigned int _1;
  2913. long unsigned int _2;
  2914. <bb 2> [local count: 357913]:
  2915. # DEBUG BEGIN_STMT
  2916. # DEBUG BEGIN_STMT
  2917. # DEBUG pxQueue => xQueue_4(D)
  2918. # DEBUG BEGIN_STMT
  2919. if (xQueue_4(D) == 0B)
  2920. goto <bb 3>; [30.00%]
  2921. else
  2922. goto <bb 5>; [70.00%]
  2923. <bb 3> [local count: 107374]:
  2924. # DEBUG BEGIN_STMT
  2925. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2926. # DEBUG BEGIN_STMT
  2927. # DEBUG BEGIN_STMT
  2928. __asm__ __volatile__(" mov %0, %1
  2929. msr basepri, %0
  2930. isb
  2931. dsb
  2932. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  2933. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  2934. <bb 4> [local count: 1073741824]:
  2935. # DEBUG ulNewBASEPRI => NULL
  2936. # DEBUG BEGIN_STMT
  2937. # DEBUG BEGIN_STMT
  2938. # DEBUG BEGIN_STMT
  2939. <bb 8> [local count: 1073741824]:
  2940. goto <bb 4>; [100.00%]
  2941. <bb 5> [local count: 250539]:
  2942. # DEBUG BEGIN_STMT
  2943. # DEBUG BEGIN_STMT
  2944. _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
  2945. _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
  2946. if (_1 == _2)
  2947. goto <bb 7>; [34.00%]
  2948. else
  2949. goto <bb 6>; [66.00%]
  2950. <bb 6> [local count: 165356]:
  2951. # DEBUG BEGIN_STMT
  2952. # DEBUG xReturn => 0
  2953. <bb 7> [local count: 250539]:
  2954. # xReturn_3 = PHI <1(5), 0(6)>
  2955. # DEBUG xReturn => xReturn_3
  2956. # DEBUG BEGIN_STMT
  2957. return xReturn_3;
  2958. }
  2959. prvIsQueueFull (const struct Queue_t * pxQueue)
  2960. {
  2961. BaseType_t xReturn;
  2962. long unsigned int _1;
  2963. long unsigned int _2;
  2964. <bb 2> [local count: 1073741824]:
  2965. # DEBUG BEGIN_STMT
  2966. # DEBUG BEGIN_STMT
  2967. vPortEnterCritical ();
  2968. # DEBUG BEGIN_STMT
  2969. _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
  2970. _2 = pxQueue_6(D)->uxLength;
  2971. if (_1 == _2)
  2972. goto <bb 4>; [34.00%]
  2973. else
  2974. goto <bb 3>; [66.00%]
  2975. <bb 3> [local count: 708669605]:
  2976. # DEBUG BEGIN_STMT
  2977. # DEBUG xReturn => 0
  2978. <bb 4> [local count: 1073741824]:
  2979. # xReturn_3 = PHI <1(2), 0(3)>
  2980. # DEBUG xReturn => xReturn_3
  2981. # DEBUG BEGIN_STMT
  2982. vPortExitCritical ();
  2983. # DEBUG BEGIN_STMT
  2984. return xReturn_3;
  2985. }
  2986. xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
  2987. {
  2988. uint32_t ulNewBASEPRI;
  2989. BaseType_t xReturn;
  2990. long unsigned int _1;
  2991. <bb 2> [local count: 357913]:
  2992. # DEBUG BEGIN_STMT
  2993. # DEBUG BEGIN_STMT
  2994. # DEBUG pxQueue => xQueue_3(D)
  2995. # DEBUG BEGIN_STMT
  2996. if (xQueue_3(D) == 0B)
  2997. goto <bb 3>; [30.00%]
  2998. else
  2999. goto <bb 5>; [70.00%]
  3000. <bb 3> [local count: 107374]:
  3001. # DEBUG BEGIN_STMT
  3002. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3003. # DEBUG BEGIN_STMT
  3004. # DEBUG BEGIN_STMT
  3005. __asm__ __volatile__(" mov %0, %1
  3006. msr basepri, %0
  3007. isb
  3008. dsb
  3009. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  3010. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  3011. <bb 4> [local count: 1073741824]:
  3012. # DEBUG ulNewBASEPRI => NULL
  3013. # DEBUG BEGIN_STMT
  3014. # DEBUG BEGIN_STMT
  3015. # DEBUG BEGIN_STMT
  3016. <bb 8> [local count: 1073741824]:
  3017. goto <bb 4>; [100.00%]
  3018. <bb 5> [local count: 250539]:
  3019. # DEBUG BEGIN_STMT
  3020. # DEBUG BEGIN_STMT
  3021. _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  3022. if (_1 == 0)
  3023. goto <bb 7>; [50.00%]
  3024. else
  3025. goto <bb 6>; [50.00%]
  3026. <bb 6> [local count: 125270]:
  3027. # DEBUG BEGIN_STMT
  3028. # DEBUG xReturn => 0
  3029. <bb 7> [local count: 250539]:
  3030. # xReturn_2 = PHI <1(5), 0(6)>
  3031. # DEBUG xReturn => xReturn_2
  3032. # DEBUG BEGIN_STMT
  3033. return xReturn_2;
  3034. }
  3035. prvIsQueueEmpty (const struct Queue_t * pxQueue)
  3036. {
  3037. BaseType_t xReturn;
  3038. long unsigned int _1;
  3039. <bb 2> [local count: 1073741824]:
  3040. # DEBUG BEGIN_STMT
  3041. # DEBUG BEGIN_STMT
  3042. vPortEnterCritical ();
  3043. # DEBUG BEGIN_STMT
  3044. _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  3045. if (_1 == 0)
  3046. goto <bb 4>; [50.00%]
  3047. else
  3048. goto <bb 3>; [50.00%]
  3049. <bb 3> [local count: 536870913]:
  3050. # DEBUG BEGIN_STMT
  3051. # DEBUG xReturn => 0
  3052. <bb 4> [local count: 1073741824]:
  3053. # xReturn_2 = PHI <1(2), 0(3)>
  3054. # DEBUG xReturn => xReturn_2
  3055. # DEBUG BEGIN_STMT
  3056. vPortExitCritical ();
  3057. # DEBUG BEGIN_STMT
  3058. return xReturn_2;
  3059. }
  3060. prvUnlockQueue (struct Queue_t * const pxQueue)
  3061. {
  3062. int8_t cRxLock;
  3063. int8_t cTxLock;
  3064. long unsigned int _1;
  3065. struct List_t * _2;
  3066. long int _3;
  3067. unsigned char cTxLock.6_4;
  3068. unsigned char _5;
  3069. long unsigned int _6;
  3070. struct List_t * _7;
  3071. long int _8;
  3072. unsigned char cRxLock.7_9;
  3073. unsigned char _10;
  3074. <bb 2> [local count: 114863534]:
  3075. # DEBUG BEGIN_STMT
  3076. vPortEnterCritical ();
  3077. # DEBUG BEGIN_STMT
  3078. cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
  3079. # DEBUG cTxLock => cTxLock_20
  3080. # DEBUG BEGIN_STMT
  3081. goto <bb 7>; [100.00%]
  3082. <bb 3> [local count: 1014686025]:
  3083. # DEBUG BEGIN_STMT
  3084. _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  3085. if (_1 != 0)
  3086. goto <bb 4>; [94.50%]
  3087. else
  3088. goto <bb 8>; [5.50%]
  3089. <bb 4> [local count: 958878293]:
  3090. # DEBUG BEGIN_STMT
  3091. _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  3092. _3 = xTaskRemoveFromEventList (_2);
  3093. if (_3 != 0)
  3094. goto <bb 5>; [33.00%]
  3095. else
  3096. goto <bb 6>; [67.00%]
  3097. <bb 5> [local count: 316429836]:
  3098. # DEBUG BEGIN_STMT
  3099. vTaskMissedYield ();
  3100. <bb 6> [local count: 958878293]:
  3101. # DEBUG BEGIN_STMT
  3102. # DEBUG BEGIN_STMT
  3103. cTxLock.6_4 = (unsigned char) cTxLock_11;
  3104. _5 = cTxLock.6_4 + 255;
  3105. cTxLock_23 = (int8_t) _5;
  3106. # DEBUG cTxLock => cTxLock_23
  3107. <bb 7> [local count: 1073741824]:
  3108. # cTxLock_11 = PHI <cTxLock_20(2), cTxLock_23(6)>
  3109. # DEBUG cTxLock => cTxLock_11
  3110. # DEBUG BEGIN_STMT
  3111. if (cTxLock_11 > 0)
  3112. goto <bb 3>; [94.50%]
  3113. else
  3114. goto <bb 8>; [5.50%]
  3115. <bb 8> [local count: 114863532]:
  3116. # DEBUG BEGIN_STMT
  3117. pxQueue_19(D)->cTxLock ={v} -1;
  3118. # DEBUG BEGIN_STMT
  3119. vPortExitCritical ();
  3120. # DEBUG BEGIN_STMT
  3121. vPortEnterCritical ();
  3122. # DEBUG BEGIN_STMT
  3123. cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
  3124. # DEBUG cRxLock => cRxLock_27
  3125. # DEBUG BEGIN_STMT
  3126. goto <bb 13>; [100.00%]
  3127. <bb 9> [local count: 1014686003]:
  3128. # DEBUG BEGIN_STMT
  3129. _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  3130. if (_6 != 0)
  3131. goto <bb 10>; [94.50%]
  3132. else
  3133. goto <bb 14>; [5.50%]
  3134. <bb 10> [local count: 958878272]:
  3135. # DEBUG BEGIN_STMT
  3136. _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  3137. _8 = xTaskRemoveFromEventList (_7);
  3138. if (_8 != 0)
  3139. goto <bb 11>; [33.00%]
  3140. else
  3141. goto <bb 12>; [67.00%]
  3142. <bb 11> [local count: 316429830]:
  3143. # DEBUG BEGIN_STMT
  3144. vTaskMissedYield ();
  3145. <bb 12> [local count: 958878272]:
  3146. # DEBUG BEGIN_STMT
  3147. # DEBUG BEGIN_STMT
  3148. cRxLock.7_9 = (unsigned char) cRxLock_12;
  3149. _10 = cRxLock.7_9 + 255;
  3150. cRxLock_30 = (int8_t) _10;
  3151. # DEBUG cRxLock => cRxLock_30
  3152. <bb 13> [local count: 1073741803]:
  3153. # cRxLock_12 = PHI <cRxLock_27(8), cRxLock_30(12)>
  3154. # DEBUG cRxLock => cRxLock_12
  3155. # DEBUG BEGIN_STMT
  3156. if (cRxLock_12 > 0)
  3157. goto <bb 9>; [94.50%]
  3158. else
  3159. goto <bb 14>; [5.50%]
  3160. <bb 14> [local count: 114863529]:
  3161. # DEBUG BEGIN_STMT
  3162. pxQueue_19(D)->cRxLock ={v} -1;
  3163. # DEBUG BEGIN_STMT
  3164. vPortExitCritical ();
  3165. return;
  3166. }
  3167. prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer)
  3168. {
  3169. long unsigned int _1;
  3170. int8_t * _2;
  3171. int8_t * _3;
  3172. int8_t * _4;
  3173. int8_t * _5;
  3174. int8_t * _6;
  3175. <bb 2> [local count: 1073741824]:
  3176. # DEBUG BEGIN_STMT
  3177. _1 = pxQueue_10(D)->uxItemSize;
  3178. if (_1 != 0)
  3179. goto <bb 3>; [50.00%]
  3180. else
  3181. goto <bb 6>; [50.00%]
  3182. <bb 3> [local count: 536870913]:
  3183. # DEBUG BEGIN_STMT
  3184. _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  3185. _3 = _2 + _1;
  3186. pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
  3187. # DEBUG BEGIN_STMT
  3188. _4 = pxQueue_10(D)->u.xQueue.pcTail;
  3189. if (_3 >= _4)
  3190. goto <bb 4>; [50.00%]
  3191. else
  3192. goto <bb 5>; [50.00%]
  3193. <bb 4> [local count: 268435456]:
  3194. # DEBUG BEGIN_STMT
  3195. _5 = pxQueue_10(D)->pcHead;
  3196. pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
  3197. <bb 5> [local count: 536870913]:
  3198. # DEBUG BEGIN_STMT
  3199. # DEBUG BEGIN_STMT
  3200. _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  3201. memcpy (pvBuffer_13(D), _6, _1);
  3202. <bb 6> [local count: 1073741824]:
  3203. return;
  3204. }
  3205. prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition)
  3206. {
  3207. UBaseType_t uxMessagesWaiting;
  3208. BaseType_t xReturn;
  3209. long unsigned int _1;
  3210. int8_t * _2;
  3211. struct tskTaskControlBlock * _3;
  3212. int8_t * _4;
  3213. int8_t * _5;
  3214. long unsigned int _6;
  3215. int8_t * _7;
  3216. int8_t * _8;
  3217. int8_t * _9;
  3218. int8_t * _10;
  3219. int8_t * _11;
  3220. long unsigned int _12;
  3221. sizetype _13;
  3222. int8_t * _14;
  3223. int8_t * _15;
  3224. int8_t * _16;
  3225. int8_t * _17;
  3226. long unsigned int _18;
  3227. <bb 2> [local count: 1073741823]:
  3228. # DEBUG BEGIN_STMT
  3229. # DEBUG xReturn => 0
  3230. # DEBUG BEGIN_STMT
  3231. # DEBUG BEGIN_STMT
  3232. uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
  3233. # DEBUG uxMessagesWaiting => uxMessagesWaiting_25
  3234. # DEBUG BEGIN_STMT
  3235. _1 = pxQueue_24(D)->uxItemSize;
  3236. if (_1 == 0)
  3237. goto <bb 3>; [50.00%]
  3238. else
  3239. goto <bb 5>; [50.00%]
  3240. <bb 3> [local count: 536870911]:
  3241. # DEBUG BEGIN_STMT
  3242. _2 = pxQueue_24(D)->pcHead;
  3243. if (_2 == 0B)
  3244. goto <bb 4>; [17.43%]
  3245. else
  3246. goto <bb 13>; [82.57%]
  3247. <bb 4> [local count: 93576600]:
  3248. # DEBUG BEGIN_STMT
  3249. _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
  3250. xReturn_36 = xTaskPriorityDisinherit (_3);
  3251. # DEBUG xReturn => xReturn_36
  3252. # DEBUG BEGIN_STMT
  3253. pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
  3254. goto <bb 13>; [100.00%]
  3255. <bb 5> [local count: 536870911]:
  3256. # DEBUG BEGIN_STMT
  3257. if (xPosition_26(D) == 0)
  3258. goto <bb 6>; [50.00%]
  3259. else
  3260. goto <bb 8>; [50.00%]
  3261. <bb 6> [local count: 268435456]:
  3262. # DEBUG BEGIN_STMT
  3263. _4 = pxQueue_24(D)->pcWriteTo;
  3264. memcpy (_4, pvItemToQueue_27(D), _1);
  3265. # DEBUG BEGIN_STMT
  3266. _5 = pxQueue_24(D)->pcWriteTo;
  3267. _6 = pxQueue_24(D)->uxItemSize;
  3268. _7 = _5 + _6;
  3269. pxQueue_24(D)->pcWriteTo = _7;
  3270. # DEBUG BEGIN_STMT
  3271. _8 = pxQueue_24(D)->u.xQueue.pcTail;
  3272. if (_7 >= _8)
  3273. goto <bb 7>; [50.00%]
  3274. else
  3275. goto <bb 13>; [50.00%]
  3276. <bb 7> [local count: 134217728]:
  3277. # DEBUG BEGIN_STMT
  3278. _9 = pxQueue_24(D)->pcHead;
  3279. pxQueue_24(D)->pcWriteTo = _9;
  3280. goto <bb 13>; [100.00%]
  3281. <bb 8> [local count: 268435456]:
  3282. # DEBUG BEGIN_STMT
  3283. _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  3284. memcpy (_10, pvItemToQueue_27(D), _1);
  3285. # DEBUG BEGIN_STMT
  3286. _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  3287. _12 = pxQueue_24(D)->uxItemSize;
  3288. _13 = -_12;
  3289. _14 = _11 + _13;
  3290. pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
  3291. # DEBUG BEGIN_STMT
  3292. _15 = pxQueue_24(D)->pcHead;
  3293. if (_14 < _15)
  3294. goto <bb 9>; [50.00%]
  3295. else
  3296. goto <bb 10>; [50.00%]
  3297. <bb 9> [local count: 134217728]:
  3298. # DEBUG BEGIN_STMT
  3299. _16 = pxQueue_24(D)->u.xQueue.pcTail;
  3300. _17 = _16 + _13;
  3301. pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
  3302. <bb 10> [local count: 268435456]:
  3303. # DEBUG BEGIN_STMT
  3304. # DEBUG BEGIN_STMT
  3305. if (xPosition_26(D) == 2)
  3306. goto <bb 11>; [34.00%]
  3307. else
  3308. goto <bb 13>; [66.00%]
  3309. <bb 11> [local count: 91268055]:
  3310. # DEBUG BEGIN_STMT
  3311. if (uxMessagesWaiting_25 != 0)
  3312. goto <bb 12>; [50.00%]
  3313. else
  3314. goto <bb 13>; [50.00%]
  3315. <bb 12> [local count: 45634027]:
  3316. # DEBUG BEGIN_STMT
  3317. uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  3318. # DEBUG uxMessagesWaiting => uxMessagesWaiting_31
  3319. <bb 13> [local count: 1073741824]:
  3320. # xReturn_19 = PHI <xReturn_36(4), 0(7), 0(10), 0(12), 0(3), 0(6), 0(11)>
  3321. # uxMessagesWaiting_20 = PHI <uxMessagesWaiting_25(4), uxMessagesWaiting_25(7), uxMessagesWaiting_25(10), uxMessagesWaiting_31(12), uxMessagesWaiting_25(3), uxMessagesWaiting_25(6), uxMessagesWaiting_25(11)>
  3322. # DEBUG uxMessagesWaiting => uxMessagesWaiting_20
  3323. # DEBUG xReturn => xReturn_19
  3324. # DEBUG BEGIN_STMT
  3325. # DEBUG BEGIN_STMT
  3326. _18 = uxMessagesWaiting_20 + 1;
  3327. pxQueue_24(D)->uxMessagesWaiting ={v} _18;
  3328. # DEBUG BEGIN_STMT
  3329. return xReturn_19;
  3330. }
  3331. prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue)
  3332. {
  3333. UBaseType_t uxHighestPriorityOfWaitingTasks;
  3334. long unsigned int _1;
  3335. struct xLIST_ITEM * _2;
  3336. long unsigned int _3;
  3337. <bb 2> [local count: 1073741824]:
  3338. # DEBUG BEGIN_STMT
  3339. # DEBUG BEGIN_STMT
  3340. _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
  3341. if (_1 != 0)
  3342. goto <bb 3>; [50.00%]
  3343. else
  3344. goto <bb 4>; [50.00%]
  3345. <bb 3> [local count: 536870913]:
  3346. # DEBUG BEGIN_STMT
  3347. _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
  3348. _3 = _2->xItemValue;
  3349. uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  3350. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_7
  3351. <bb 4> [local count: 1073741824]:
  3352. # uxHighestPriorityOfWaitingTasks_4 = PHI <uxHighestPriorityOfWaitingTasks_7(3), 0(2)>
  3353. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_4
  3354. # DEBUG BEGIN_STMT
  3355. return uxHighestPriorityOfWaitingTasks_4;
  3356. }
  3357. ucQueueGetQueueType (struct QueueDefinition * xQueue)
  3358. {
  3359. uint8_t _3;
  3360. <bb 2> [local count: 1073741824]:
  3361. # DEBUG BEGIN_STMT
  3362. _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  3363. return _3;
  3364. }
  3365. vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
  3366. {
  3367. <bb 2> [local count: 1073741824]:
  3368. # DEBUG BEGIN_STMT
  3369. MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  3370. return;
  3371. }
  3372. uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
  3373. {
  3374. UBaseType_t _3;
  3375. <bb 2> [local count: 1073741824]:
  3376. # DEBUG BEGIN_STMT
  3377. _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  3378. return _3;
  3379. }
  3380. vQueueDelete (struct QueueDefinition * xQueue)
  3381. {
  3382. uint32_t ulNewBASEPRI;
  3383. <bb 2> [local count: 230763]:
  3384. # DEBUG BEGIN_STMT
  3385. # DEBUG pxQueue => xQueue_1(D)
  3386. # DEBUG BEGIN_STMT
  3387. if (xQueue_1(D) == 0B)
  3388. goto <bb 3>; [46.53%]
  3389. else
  3390. goto <bb 5>; [53.47%]
  3391. <bb 3> [local count: 107374]:
  3392. # DEBUG BEGIN_STMT
  3393. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3394. # DEBUG BEGIN_STMT
  3395. # DEBUG BEGIN_STMT
  3396. __asm__ __volatile__(" mov %0, %1
  3397. msr basepri, %0
  3398. isb
  3399. dsb
  3400. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  3401. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  3402. <bb 4> [local count: 1073741824]:
  3403. # DEBUG ulNewBASEPRI => NULL
  3404. # DEBUG BEGIN_STMT
  3405. # DEBUG BEGIN_STMT
  3406. # DEBUG BEGIN_STMT
  3407. <bb 6> [local count: 1073741824]:
  3408. goto <bb 4>; [100.00%]
  3409. <bb 5> [local count: 123389]:
  3410. # DEBUG BEGIN_STMT
  3411. # DEBUG BEGIN_STMT
  3412. # DEBUG BEGIN_STMT
  3413. vQueueUnregisterQueue (xQueue_1(D));
  3414. # DEBUG BEGIN_STMT
  3415. vPortFree (xQueue_1(D));
  3416. return;
  3417. }
  3418. uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
  3419. {
  3420. uint32_t ulNewBASEPRI;
  3421. UBaseType_t uxReturn;
  3422. <bb 2> [local count: 357913]:
  3423. # DEBUG BEGIN_STMT
  3424. # DEBUG BEGIN_STMT
  3425. # DEBUG pxQueue => xQueue_1(D)
  3426. # DEBUG BEGIN_STMT
  3427. if (xQueue_1(D) == 0B)
  3428. goto <bb 3>; [30.00%]
  3429. else
  3430. goto <bb 5>; [70.00%]
  3431. <bb 3> [local count: 107374]:
  3432. # DEBUG BEGIN_STMT
  3433. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3434. # DEBUG BEGIN_STMT
  3435. # DEBUG BEGIN_STMT
  3436. __asm__ __volatile__(" mov %0, %1
  3437. msr basepri, %0
  3438. isb
  3439. dsb
  3440. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  3441. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  3442. <bb 4> [local count: 1073741824]:
  3443. # DEBUG ulNewBASEPRI => NULL
  3444. # DEBUG BEGIN_STMT
  3445. # DEBUG BEGIN_STMT
  3446. # DEBUG BEGIN_STMT
  3447. <bb 6> [local count: 1073741824]:
  3448. goto <bb 4>; [100.00%]
  3449. <bb 5> [local count: 250539]:
  3450. # DEBUG BEGIN_STMT
  3451. # DEBUG BEGIN_STMT
  3452. uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  3453. # DEBUG uxReturn => uxReturn_3
  3454. # DEBUG BEGIN_STMT
  3455. return uxReturn_3;
  3456. }
  3457. uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
  3458. {
  3459. uint32_t ulNewBASEPRI;
  3460. UBaseType_t uxReturn;
  3461. long unsigned int _1;
  3462. long unsigned int _2;
  3463. <bb 2> [local count: 230763]:
  3464. # DEBUG BEGIN_STMT
  3465. # DEBUG BEGIN_STMT
  3466. # DEBUG pxQueue => xQueue_3(D)
  3467. # DEBUG BEGIN_STMT
  3468. if (xQueue_3(D) == 0B)
  3469. goto <bb 3>; [46.53%]
  3470. else
  3471. goto <bb 5>; [53.47%]
  3472. <bb 3> [local count: 107374]:
  3473. # DEBUG BEGIN_STMT
  3474. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3475. # DEBUG BEGIN_STMT
  3476. # DEBUG BEGIN_STMT
  3477. __asm__ __volatile__(" mov %0, %1
  3478. msr basepri, %0
  3479. isb
  3480. dsb
  3481. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  3482. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  3483. <bb 4> [local count: 1073741824]:
  3484. # DEBUG ulNewBASEPRI => NULL
  3485. # DEBUG BEGIN_STMT
  3486. # DEBUG BEGIN_STMT
  3487. # DEBUG BEGIN_STMT
  3488. <bb 6> [local count: 1073741824]:
  3489. goto <bb 4>; [100.00%]
  3490. <bb 5> [local count: 123389]:
  3491. # DEBUG BEGIN_STMT
  3492. # DEBUG BEGIN_STMT
  3493. vPortEnterCritical ();
  3494. # DEBUG BEGIN_STMT
  3495. _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
  3496. _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  3497. uxReturn_6 = _1 - _2;
  3498. # DEBUG uxReturn => uxReturn_6
  3499. # DEBUG BEGIN_STMT
  3500. vPortExitCritical ();
  3501. # DEBUG BEGIN_STMT
  3502. return uxReturn_6;
  3503. }
  3504. uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
  3505. {
  3506. uint32_t ulNewBASEPRI;
  3507. UBaseType_t uxReturn;
  3508. <bb 2> [local count: 230763]:
  3509. # DEBUG BEGIN_STMT
  3510. # DEBUG BEGIN_STMT
  3511. if (xQueue_1(D) == 0B)
  3512. goto <bb 3>; [46.53%]
  3513. else
  3514. goto <bb 5>; [53.47%]
  3515. <bb 3> [local count: 107374]:
  3516. # DEBUG BEGIN_STMT
  3517. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3518. # DEBUG BEGIN_STMT
  3519. # DEBUG BEGIN_STMT
  3520. __asm__ __volatile__(" mov %0, %1
  3521. msr basepri, %0
  3522. isb
  3523. dsb
  3524. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  3525. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  3526. <bb 4> [local count: 1073741824]:
  3527. # DEBUG ulNewBASEPRI => NULL
  3528. # DEBUG BEGIN_STMT
  3529. # DEBUG BEGIN_STMT
  3530. # DEBUG BEGIN_STMT
  3531. <bb 6> [local count: 1073741824]:
  3532. goto <bb 4>; [100.00%]
  3533. <bb 5> [local count: 123389]:
  3534. # DEBUG BEGIN_STMT
  3535. # DEBUG BEGIN_STMT
  3536. vPortEnterCritical ();
  3537. # DEBUG BEGIN_STMT
  3538. uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  3539. # DEBUG uxReturn => uxReturn_4
  3540. # DEBUG BEGIN_STMT
  3541. vPortExitCritical ();
  3542. # DEBUG BEGIN_STMT
  3543. return uxReturn_4;
  3544. }
  3545. xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer)
  3546. {
  3547. uint32_t ulOriginalBASEPRI;
  3548. uint32_t ulNewBASEPRI;
  3549. uint32_t ulNewBASEPRI;
  3550. uint32_t ulNewBASEPRI;
  3551. uint32_t ulNewBASEPRI;
  3552. int8_t * pcOriginalReadPosition;
  3553. BaseType_t xReturn;
  3554. long unsigned int _1;
  3555. long unsigned int _2;
  3556. long unsigned int _3;
  3557. <bb 2> [local count: 269344]:
  3558. # DEBUG BEGIN_STMT
  3559. # DEBUG BEGIN_STMT
  3560. # DEBUG BEGIN_STMT
  3561. # DEBUG BEGIN_STMT
  3562. # DEBUG pxQueue => xQueue_6(D)
  3563. # DEBUG BEGIN_STMT
  3564. if (xQueue_6(D) == 0B)
  3565. goto <bb 3>; [30.00%]
  3566. else
  3567. goto <bb 5>; [70.00%]
  3568. <bb 3> [local count: 80803]:
  3569. # DEBUG BEGIN_STMT
  3570. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3571. # DEBUG BEGIN_STMT
  3572. # DEBUG BEGIN_STMT
  3573. __asm__ __volatile__(" mov %0, %1
  3574. msr basepri, %0
  3575. isb
  3576. dsb
  3577. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  3578. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  3579. <bb 4> [local count: 808033481]:
  3580. # DEBUG ulNewBASEPRI => NULL
  3581. # DEBUG BEGIN_STMT
  3582. # DEBUG BEGIN_STMT
  3583. # DEBUG BEGIN_STMT
  3584. <bb 15> [local count: 808033481]:
  3585. goto <bb 4>; [100.00%]
  3586. <bb 5> [local count: 188541]:
  3587. # DEBUG BEGIN_STMT
  3588. # DEBUG BEGIN_STMT
  3589. if (pvBuffer_7(D) != 0B)
  3590. goto <bb 9>; [70.00%]
  3591. else
  3592. goto <bb 6>; [30.00%]
  3593. <bb 6> [local count: 56562]:
  3594. _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  3595. if (_1 == 0)
  3596. goto <bb 9>; [50.00%]
  3597. else
  3598. goto <bb 7>; [50.00%]
  3599. <bb 7> [local count: 28281]:
  3600. # DEBUG BEGIN_STMT
  3601. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3602. # DEBUG BEGIN_STMT
  3603. # DEBUG BEGIN_STMT
  3604. __asm__ __volatile__(" mov %0, %1
  3605. msr basepri, %0
  3606. isb
  3607. dsb
  3608. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  3609. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  3610. <bb 8> [local count: 282811719]:
  3611. # DEBUG ulNewBASEPRI => NULL
  3612. # DEBUG BEGIN_STMT
  3613. # DEBUG BEGIN_STMT
  3614. # DEBUG BEGIN_STMT
  3615. <bb 17> [local count: 282811719]:
  3616. goto <bb 8>; [100.00%]
  3617. <bb 9> [local count: 160260]:
  3618. # DEBUG BEGIN_STMT
  3619. # DEBUG BEGIN_STMT
  3620. _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  3621. if (_2 == 0)
  3622. goto <bb 10>; [67.00%]
  3623. else
  3624. goto <bb 12>; [33.00%]
  3625. <bb 10> [local count: 107374]:
  3626. # DEBUG BEGIN_STMT
  3627. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3628. # DEBUG BEGIN_STMT
  3629. # DEBUG BEGIN_STMT
  3630. __asm__ __volatile__(" mov %0, %1
  3631. msr basepri, %0
  3632. isb
  3633. dsb
  3634. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  3635. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  3636. <bb 11> [local count: 1073741824]:
  3637. # DEBUG ulNewBASEPRI => NULL
  3638. # DEBUG BEGIN_STMT
  3639. # DEBUG BEGIN_STMT
  3640. # DEBUG BEGIN_STMT
  3641. <bb 16> [local count: 1073741824]:
  3642. goto <bb 11>; [100.00%]
  3643. <bb 12> [local count: 52886]:
  3644. # DEBUG BEGIN_STMT
  3645. # DEBUG BEGIN_STMT
  3646. vPortValidateInterruptPriority ();
  3647. # DEBUG BEGIN_STMT
  3648. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3649. # DEBUG BEGIN_STMT
  3650. # DEBUG BEGIN_STMT
  3651. __asm__ __volatile__(" mrs %0, basepri
  3652. mov %1, %2
  3653. msr basepri, %1
  3654. isb
  3655. dsb
  3656. " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  3657. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  3658. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16
  3659. # DEBUG BEGIN_STMT
  3660. # DEBUG ulNewBASEPRI => NULL
  3661. # DEBUG ulOriginalBASEPRI => NULL
  3662. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16
  3663. # DEBUG BEGIN_STMT
  3664. _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
  3665. if (_3 != 0)
  3666. goto <bb 13>; [33.00%]
  3667. else
  3668. goto <bb 14>; [67.00%]
  3669. <bb 13> [local count: 17452]:
  3670. # DEBUG BEGIN_STMT
  3671. # DEBUG BEGIN_STMT
  3672. pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
  3673. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10
  3674. # DEBUG BEGIN_STMT
  3675. prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  3676. # DEBUG BEGIN_STMT
  3677. MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
  3678. # DEBUG BEGIN_STMT
  3679. # DEBUG xReturn => 1
  3680. <bb 14> [local count: 52886]:
  3681. # xReturn_4 = PHI <1(13), 0(12)>
  3682. # DEBUG xReturn => xReturn_4
  3683. # DEBUG BEGIN_STMT
  3684. # DEBUG BEGIN_STMT
  3685. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16
  3686. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3687. # DEBUG BEGIN_STMT
  3688. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory");
  3689. # DEBUG ulNewMaskValue => NULL
  3690. # DEBUG BEGIN_STMT
  3691. return xReturn_4;
  3692. }
  3693. xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken)
  3694. {
  3695. uint32_t ulNewBASEPRI;
  3696. uint32_t ulOriginalBASEPRI;
  3697. uint32_t ulNewBASEPRI;
  3698. uint32_t ulNewBASEPRI;
  3699. uint32_t ulNewBASEPRI;
  3700. const int8_t cRxLock;
  3701. const UBaseType_t uxMessagesWaiting;
  3702. BaseType_t xReturn;
  3703. long unsigned int _1;
  3704. long unsigned int _2;
  3705. long unsigned int _3;
  3706. struct List_t * _4;
  3707. long int _5;
  3708. unsigned char cRxLock.28_6;
  3709. unsigned char _7;
  3710. signed char _8;
  3711. <bb 2> [local count: 357913]:
  3712. # DEBUG BEGIN_STMT
  3713. # DEBUG BEGIN_STMT
  3714. # DEBUG BEGIN_STMT
  3715. # DEBUG pxQueue => xQueue_11(D)
  3716. # DEBUG BEGIN_STMT
  3717. if (xQueue_11(D) == 0B)
  3718. goto <bb 3>; [30.00%]
  3719. else
  3720. goto <bb 5>; [70.00%]
  3721. <bb 3> [local count: 107374]:
  3722. # DEBUG BEGIN_STMT
  3723. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3724. # DEBUG BEGIN_STMT
  3725. # DEBUG BEGIN_STMT
  3726. __asm__ __volatile__(" mov %0, %1
  3727. msr basepri, %0
  3728. isb
  3729. dsb
  3730. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  3731. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  3732. <bb 4> [local count: 1073741824]:
  3733. # DEBUG ulNewBASEPRI => NULL
  3734. # DEBUG BEGIN_STMT
  3735. # DEBUG BEGIN_STMT
  3736. # DEBUG BEGIN_STMT
  3737. <bb 21> [local count: 1073741824]:
  3738. goto <bb 4>; [100.00%]
  3739. <bb 5> [local count: 250539]:
  3740. # DEBUG BEGIN_STMT
  3741. # DEBUG BEGIN_STMT
  3742. if (pvBuffer_12(D) != 0B)
  3743. goto <bb 9>; [53.47%]
  3744. else
  3745. goto <bb 6>; [46.53%]
  3746. <bb 6> [local count: 116576]:
  3747. _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  3748. if (_1 == 0)
  3749. goto <bb 9>; [50.00%]
  3750. else
  3751. goto <bb 7>; [50.00%]
  3752. <bb 7> [local count: 58288]:
  3753. # DEBUG BEGIN_STMT
  3754. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3755. # DEBUG BEGIN_STMT
  3756. # DEBUG BEGIN_STMT
  3757. __asm__ __volatile__(" mov %0, %1
  3758. msr basepri, %0
  3759. isb
  3760. dsb
  3761. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  3762. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  3763. <bb 8> [local count: 582880751]:
  3764. # DEBUG ulNewBASEPRI => NULL
  3765. # DEBUG BEGIN_STMT
  3766. # DEBUG BEGIN_STMT
  3767. # DEBUG BEGIN_STMT
  3768. <bb 23> [local count: 582880751]:
  3769. goto <bb 8>; [100.00%]
  3770. <bb 9> [local count: 192251]:
  3771. # DEBUG BEGIN_STMT
  3772. # DEBUG BEGIN_STMT
  3773. vPortValidateInterruptPriority ();
  3774. # DEBUG BEGIN_STMT
  3775. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3776. # DEBUG BEGIN_STMT
  3777. # DEBUG BEGIN_STMT
  3778. __asm__ __volatile__(" mrs %0, basepri
  3779. mov %1, %2
  3780. msr basepri, %1
  3781. isb
  3782. dsb
  3783. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  3784. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  3785. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  3786. # DEBUG BEGIN_STMT
  3787. # DEBUG ulNewBASEPRI => NULL
  3788. # DEBUG ulOriginalBASEPRI => NULL
  3789. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  3790. # DEBUG BEGIN_STMT
  3791. uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
  3792. # DEBUG uxMessagesWaiting => uxMessagesWaiting_15
  3793. # DEBUG BEGIN_STMT
  3794. if (uxMessagesWaiting_15 != 0)
  3795. goto <bb 10>; [33.00%]
  3796. else
  3797. goto <bb 20>; [67.00%]
  3798. <bb 10> [local count: 63443]:
  3799. # DEBUG BEGIN_STMT
  3800. cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
  3801. # DEBUG cRxLock => cRxLock_16
  3802. # DEBUG BEGIN_STMT
  3803. # DEBUG BEGIN_STMT
  3804. prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  3805. # DEBUG BEGIN_STMT
  3806. _2 = uxMessagesWaiting_15 + 4294967295;
  3807. MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
  3808. # DEBUG BEGIN_STMT
  3809. if (cRxLock_16 == -1)
  3810. goto <bb 11>; [34.00%]
  3811. else
  3812. goto <bb 15>; [66.00%]
  3813. <bb 11> [local count: 21571]:
  3814. # DEBUG BEGIN_STMT
  3815. _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  3816. if (_3 != 0)
  3817. goto <bb 12>; [33.00%]
  3818. else
  3819. goto <bb 20>; [67.00%]
  3820. <bb 12> [local count: 7118]:
  3821. # DEBUG BEGIN_STMT
  3822. _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  3823. _5 = xTaskRemoveFromEventList (_4);
  3824. if (_5 != 0)
  3825. goto <bb 13>; [50.00%]
  3826. else
  3827. goto <bb 20>; [50.00%]
  3828. <bb 13> [local count: 3559]:
  3829. # DEBUG BEGIN_STMT
  3830. if (pxHigherPriorityTaskWoken_21(D) != 0B)
  3831. goto <bb 14>; [70.00%]
  3832. else
  3833. goto <bb 20>; [30.00%]
  3834. <bb 14> [local count: 2491]:
  3835. # DEBUG BEGIN_STMT
  3836. *pxHigherPriorityTaskWoken_21(D) = 1;
  3837. goto <bb 20>; [100.00%]
  3838. <bb 15> [local count: 41872]:
  3839. # DEBUG BEGIN_STMT
  3840. if (cRxLock_16 == 127)
  3841. goto <bb 16>; [34.00%]
  3842. else
  3843. goto <bb 18>; [66.00%]
  3844. <bb 16> [local count: 14237]:
  3845. # DEBUG BEGIN_STMT
  3846. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3847. # DEBUG BEGIN_STMT
  3848. # DEBUG BEGIN_STMT
  3849. __asm__ __volatile__(" mov %0, %1
  3850. msr basepri, %0
  3851. isb
  3852. dsb
  3853. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  3854. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  3855. <bb 17> [local count: 142366217]:
  3856. # DEBUG ulNewBASEPRI => NULL
  3857. # DEBUG BEGIN_STMT
  3858. # DEBUG BEGIN_STMT
  3859. # DEBUG BEGIN_STMT
  3860. <bb 22> [local count: 142366217]:
  3861. goto <bb 17>; [100.00%]
  3862. <bb 18> [local count: 27636]:
  3863. # DEBUG BEGIN_STMT
  3864. # DEBUG BEGIN_STMT
  3865. cRxLock.28_6 = (unsigned char) cRxLock_16;
  3866. _7 = cRxLock.28_6 + 1;
  3867. _8 = (signed char) _7;
  3868. MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
  3869. <bb 20> [local count: 178015]:
  3870. # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)>
  3871. # DEBUG xReturn => xReturn_9
  3872. # DEBUG BEGIN_STMT
  3873. # DEBUG BEGIN_STMT
  3874. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  3875. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3876. # DEBUG BEGIN_STMT
  3877. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  3878. # DEBUG ulNewMaskValue => NULL
  3879. # DEBUG BEGIN_STMT
  3880. return xReturn_9;
  3881. }
  3882. xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  3883. {
  3884. uint32_t ulNewBASEPRI;
  3885. uint32_t ulNewBASEPRI;
  3886. uint32_t ulNewBASEPRI;
  3887. const UBaseType_t uxMessagesWaiting;
  3888. int8_t * pcOriginalReadPosition;
  3889. struct TimeOut_t xTimeOut;
  3890. BaseType_t xEntryTimeSet;
  3891. long unsigned int _1;
  3892. long int _2;
  3893. long unsigned int xTicksToWait.24_3;
  3894. long unsigned int _4;
  3895. struct List_t * _5;
  3896. long int _6;
  3897. long unsigned int xTicksToWait.25_7;
  3898. signed char _8;
  3899. signed char _9;
  3900. long int _10;
  3901. long int _11;
  3902. struct List_t * _12;
  3903. long unsigned int xTicksToWait.26_13;
  3904. long int _14;
  3905. long int _15;
  3906. BaseType_t _18;
  3907. <bb 2> [local count: 357913]:
  3908. # DEBUG BEGIN_STMT
  3909. # DEBUG xEntryTimeSet => 0
  3910. # DEBUG BEGIN_STMT
  3911. # DEBUG BEGIN_STMT
  3912. # DEBUG BEGIN_STMT
  3913. # DEBUG pxQueue => xQueue_26(D)
  3914. # DEBUG BEGIN_STMT
  3915. if (xQueue_26(D) == 0B)
  3916. goto <bb 3>; [30.00%]
  3917. else
  3918. goto <bb 5>; [70.00%]
  3919. <bb 3> [local count: 107374]:
  3920. # DEBUG BEGIN_STMT
  3921. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3922. # DEBUG BEGIN_STMT
  3923. # DEBUG BEGIN_STMT
  3924. __asm__ __volatile__(" mov %0, %1
  3925. msr basepri, %0
  3926. isb
  3927. dsb
  3928. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  3929. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  3930. <bb 4> [local count: 1073741824]:
  3931. # DEBUG ulNewBASEPRI => NULL
  3932. # DEBUG BEGIN_STMT
  3933. # DEBUG BEGIN_STMT
  3934. # DEBUG BEGIN_STMT
  3935. <bb 35> [local count: 1073741824]:
  3936. goto <bb 4>; [100.00%]
  3937. <bb 5> [local count: 250539]:
  3938. # DEBUG BEGIN_STMT
  3939. # DEBUG BEGIN_STMT
  3940. if (pvBuffer_27(D) != 0B)
  3941. goto <bb 9>; [53.47%]
  3942. else
  3943. goto <bb 6>; [46.53%]
  3944. <bb 6> [local count: 116576]:
  3945. _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  3946. if (_1 == 0)
  3947. goto <bb 9>; [50.00%]
  3948. else
  3949. goto <bb 7>; [50.00%]
  3950. <bb 7> [local count: 58288]:
  3951. # DEBUG BEGIN_STMT
  3952. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3953. # DEBUG BEGIN_STMT
  3954. # DEBUG BEGIN_STMT
  3955. __asm__ __volatile__(" mov %0, %1
  3956. msr basepri, %0
  3957. isb
  3958. dsb
  3959. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  3960. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  3961. <bb 8> [local count: 582880751]:
  3962. # DEBUG ulNewBASEPRI => NULL
  3963. # DEBUG BEGIN_STMT
  3964. # DEBUG BEGIN_STMT
  3965. # DEBUG BEGIN_STMT
  3966. <bb 37> [local count: 582880751]:
  3967. goto <bb 8>; [100.00%]
  3968. <bb 9> [local count: 192251]:
  3969. # DEBUG BEGIN_STMT
  3970. # DEBUG BEGIN_STMT
  3971. _2 = xTaskGetSchedulerState ();
  3972. if (_2 != 0)
  3973. goto <bb 10>; [50.00%]
  3974. else
  3975. goto <bb 11>; [50.00%]
  3976. <bb 10> [local count: 144189]:
  3977. # xEntryTimeSet_30 = PHI <0(9), 0(11)>
  3978. goto <bb 15>; [100.00%]
  3979. <bb 11> [local count: 96126]:
  3980. xTicksToWait.24_3 = xTicksToWait;
  3981. if (xTicksToWait.24_3 == 0)
  3982. goto <bb 10>; [50.00%]
  3983. else
  3984. goto <bb 12>; [50.00%]
  3985. <bb 12> [local count: 48063]:
  3986. # DEBUG BEGIN_STMT
  3987. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3988. # DEBUG BEGIN_STMT
  3989. # DEBUG BEGIN_STMT
  3990. __asm__ __volatile__(" mov %0, %1
  3991. msr basepri, %0
  3992. isb
  3993. dsb
  3994. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  3995. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  3996. <bb 13> [local count: 480629211]:
  3997. # DEBUG ulNewBASEPRI => NULL
  3998. # DEBUG BEGIN_STMT
  3999. # DEBUG BEGIN_STMT
  4000. # DEBUG BEGIN_STMT
  4001. <bb 36> [local count: 480629211]:
  4002. goto <bb 13>; [100.00%]
  4003. <bb 14> [local count: 1478726]:
  4004. # xEntryTimeSet_44 = PHI <xEntryTimeSet_17(33), xEntryTimeSet_17(32), xEntryTimeSet_17(31), xEntryTimeSet_17(30)>
  4005. <bb 15> [local count: 1622915]:
  4006. # xEntryTimeSet_16 = PHI <xEntryTimeSet_30(10), xEntryTimeSet_44(14)>
  4007. # DEBUG xEntryTimeSet => xEntryTimeSet_16
  4008. # DEBUG BEGIN_STMT
  4009. # DEBUG BEGIN_STMT
  4010. # DEBUG BEGIN_STMT
  4011. vPortEnterCritical ();
  4012. # DEBUG BEGIN_STMT
  4013. uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
  4014. # DEBUG uxMessagesWaiting => uxMessagesWaiting_32
  4015. # DEBUG BEGIN_STMT
  4016. if (uxMessagesWaiting_32 != 0)
  4017. goto <bb 16>; [3.66%]
  4018. else
  4019. goto <bb 20>; [96.34%]
  4020. <bb 16> [local count: 59399]:
  4021. # DEBUG BEGIN_STMT
  4022. pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
  4023. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55
  4024. # DEBUG BEGIN_STMT
  4025. prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  4026. # DEBUG BEGIN_STMT
  4027. # DEBUG BEGIN_STMT
  4028. MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
  4029. # DEBUG BEGIN_STMT
  4030. _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
  4031. if (_4 != 0)
  4032. goto <bb 17>; [33.00%]
  4033. else
  4034. goto <bb 19>; [67.00%]
  4035. <bb 17> [local count: 19602]:
  4036. # DEBUG BEGIN_STMT
  4037. _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  4038. _6 = xTaskRemoveFromEventList (_5);
  4039. if (_6 != 0)
  4040. goto <bb 18>; [50.00%]
  4041. else
  4042. goto <bb 19>; [50.00%]
  4043. <bb 18> [local count: 9801]:
  4044. # DEBUG BEGIN_STMT
  4045. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4046. # DEBUG BEGIN_STMT
  4047. __asm__ __volatile__("dsb" : : : "memory");
  4048. # DEBUG BEGIN_STMT
  4049. __asm__ __volatile__("isb");
  4050. # DEBUG BEGIN_STMT
  4051. <bb 19> [local count: 59399]:
  4052. # DEBUG BEGIN_STMT
  4053. # DEBUG BEGIN_STMT
  4054. vPortExitCritical ();
  4055. # DEBUG BEGIN_STMT
  4056. goto <bb 34>; [100.00%]
  4057. <bb 20> [local count: 1563516]:
  4058. # DEBUG BEGIN_STMT
  4059. xTicksToWait.25_7 = xTicksToWait;
  4060. if (xTicksToWait.25_7 == 0)
  4061. goto <bb 21>; [3.66%]
  4062. else
  4063. goto <bb 22>; [96.34%]
  4064. <bb 21> [local count: 57225]:
  4065. # DEBUG BEGIN_STMT
  4066. vPortExitCritical ();
  4067. # DEBUG BEGIN_STMT
  4068. # DEBUG BEGIN_STMT
  4069. goto <bb 34>; [100.00%]
  4070. <bb 22> [local count: 1506292]:
  4071. # DEBUG BEGIN_STMT
  4072. if (xEntryTimeSet_16 == 0)
  4073. goto <bb 23>; [33.00%]
  4074. else
  4075. goto <bb 24>; [67.00%]
  4076. <bb 23> [local count: 497076]:
  4077. # DEBUG BEGIN_STMT
  4078. vTaskInternalSetTimeOutState (&xTimeOut);
  4079. # DEBUG BEGIN_STMT
  4080. # DEBUG xEntryTimeSet => 1
  4081. <bb 24> [local count: 1506292]:
  4082. # xEntryTimeSet_17 = PHI <xEntryTimeSet_16(22), 1(23)>
  4083. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  4084. # DEBUG BEGIN_STMT
  4085. # DEBUG BEGIN_STMT
  4086. vPortExitCritical ();
  4087. # DEBUG BEGIN_STMT
  4088. vTaskSuspendAll ();
  4089. # DEBUG BEGIN_STMT
  4090. vPortEnterCritical ();
  4091. # DEBUG BEGIN_STMT
  4092. _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
  4093. if (_8 == -1)
  4094. goto <bb 25>; [34.00%]
  4095. else
  4096. goto <bb 26>; [66.00%]
  4097. <bb 25> [local count: 512139]:
  4098. # DEBUG BEGIN_STMT
  4099. MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
  4100. <bb 26> [local count: 1506292]:
  4101. # DEBUG BEGIN_STMT
  4102. _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  4103. if (_9 == -1)
  4104. goto <bb 27>; [34.00%]
  4105. else
  4106. goto <bb 28>; [66.00%]
  4107. <bb 27> [local count: 512139]:
  4108. # DEBUG BEGIN_STMT
  4109. MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
  4110. <bb 28> [local count: 1506292]:
  4111. # DEBUG BEGIN_STMT
  4112. vPortExitCritical ();
  4113. # DEBUG BEGIN_STMT
  4114. _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  4115. if (_10 == 0)
  4116. goto <bb 29>; [50.00%]
  4117. else
  4118. goto <bb 33>; [50.00%]
  4119. <bb 29> [local count: 753146]:
  4120. # DEBUG BEGIN_STMT
  4121. _11 = prvIsQueueEmpty (xQueue_26(D));
  4122. if (_11 != 0)
  4123. goto <bb 30>; [50.00%]
  4124. else
  4125. goto <bb 32>; [50.00%]
  4126. <bb 30> [local count: 376573]:
  4127. # DEBUG BEGIN_STMT
  4128. # DEBUG BEGIN_STMT
  4129. _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  4130. xTicksToWait.26_13 = xTicksToWait;
  4131. vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  4132. # DEBUG BEGIN_STMT
  4133. prvUnlockQueue (xQueue_26(D));
  4134. # DEBUG BEGIN_STMT
  4135. _14 = xTaskResumeAll ();
  4136. if (_14 == 0)
  4137. goto <bb 31>; [50.00%]
  4138. else
  4139. goto <bb 14>; [50.00%]
  4140. <bb 31> [local count: 188286]:
  4141. # DEBUG BEGIN_STMT
  4142. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4143. # DEBUG BEGIN_STMT
  4144. __asm__ __volatile__("dsb" : : : "memory");
  4145. # DEBUG BEGIN_STMT
  4146. __asm__ __volatile__("isb");
  4147. # DEBUG BEGIN_STMT
  4148. goto <bb 14>; [100.00%]
  4149. <bb 32> [local count: 376573]:
  4150. # DEBUG BEGIN_STMT
  4151. prvUnlockQueue (xQueue_26(D));
  4152. # DEBUG BEGIN_STMT
  4153. xTaskResumeAll ();
  4154. goto <bb 14>; [100.00%]
  4155. <bb 33> [local count: 753146]:
  4156. # DEBUG BEGIN_STMT
  4157. prvUnlockQueue (xQueue_26(D));
  4158. # DEBUG BEGIN_STMT
  4159. xTaskResumeAll ();
  4160. # DEBUG BEGIN_STMT
  4161. _15 = prvIsQueueEmpty (xQueue_26(D));
  4162. if (_15 != 0)
  4163. goto <bb 34>; [3.66%]
  4164. else
  4165. goto <bb 14>; [96.34%]
  4166. <bb 34> [local count: 144189]:
  4167. # _18 = PHI <1(19), 0(21), 0(33)>
  4168. xTimeOut ={v} {CLOBBER};
  4169. return _18;
  4170. }
  4171. xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait)
  4172. {
  4173. uint32_t ulNewBASEPRI;
  4174. uint32_t ulNewBASEPRI;
  4175. uint32_t ulNewBASEPRI;
  4176. uint32_t ulNewBASEPRI;
  4177. UBaseType_t uxHighestWaitingPriority;
  4178. const UBaseType_t uxSemaphoreCount;
  4179. BaseType_t xInheritanceOccurred;
  4180. struct TimeOut_t xTimeOut;
  4181. BaseType_t xEntryTimeSet;
  4182. long unsigned int _1;
  4183. long int _2;
  4184. long unsigned int xTicksToWait.19_3;
  4185. long unsigned int _4;
  4186. int8_t * _5;
  4187. struct tskTaskControlBlock * _6;
  4188. long unsigned int _7;
  4189. struct List_t * _8;
  4190. long int _9;
  4191. long unsigned int xTicksToWait.20_10;
  4192. signed char _11;
  4193. signed char _12;
  4194. long int _13;
  4195. long int _14;
  4196. int8_t * _15;
  4197. struct tskTaskControlBlock * _16;
  4198. struct List_t * _17;
  4199. long unsigned int xTicksToWait.21_18;
  4200. long int _19;
  4201. long int _20;
  4202. struct tskTaskControlBlock * _21;
  4203. BaseType_t _27;
  4204. <bb 2> [local count: 228942]:
  4205. # DEBUG BEGIN_STMT
  4206. # DEBUG xEntryTimeSet => 0
  4207. # DEBUG BEGIN_STMT
  4208. # DEBUG BEGIN_STMT
  4209. # DEBUG pxQueue => xQueue_38(D)
  4210. # DEBUG BEGIN_STMT
  4211. # DEBUG xInheritanceOccurred => 0
  4212. # DEBUG BEGIN_STMT
  4213. if (xQueue_38(D) == 0B)
  4214. goto <bb 3>; [30.00%]
  4215. else
  4216. goto <bb 5>; [70.00%]
  4217. <bb 3> [local count: 68683]:
  4218. # DEBUG BEGIN_STMT
  4219. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4220. # DEBUG BEGIN_STMT
  4221. # DEBUG BEGIN_STMT
  4222. __asm__ __volatile__(" mov %0, %1
  4223. msr basepri, %0
  4224. isb
  4225. dsb
  4226. " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
  4227. # DEBUG ulNewBASEPRI => ulNewBASEPRI_88
  4228. <bb 4> [local count: 686828460]:
  4229. # DEBUG ulNewBASEPRI => NULL
  4230. # DEBUG BEGIN_STMT
  4231. # DEBUG BEGIN_STMT
  4232. # DEBUG BEGIN_STMT
  4233. <bb 44> [local count: 686828460]:
  4234. goto <bb 4>; [100.00%]
  4235. <bb 5> [local count: 160260]:
  4236. # DEBUG BEGIN_STMT
  4237. # DEBUG BEGIN_STMT
  4238. _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  4239. if (_1 != 0)
  4240. goto <bb 6>; [67.00%]
  4241. else
  4242. goto <bb 8>; [33.00%]
  4243. <bb 6> [local count: 107374]:
  4244. # DEBUG BEGIN_STMT
  4245. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4246. # DEBUG BEGIN_STMT
  4247. # DEBUG BEGIN_STMT
  4248. __asm__ __volatile__(" mov %0, %1
  4249. msr basepri, %0
  4250. isb
  4251. dsb
  4252. " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
  4253. # DEBUG ulNewBASEPRI => ulNewBASEPRI_89
  4254. <bb 7> [local count: 1073741824]:
  4255. # DEBUG ulNewBASEPRI => NULL
  4256. # DEBUG BEGIN_STMT
  4257. # DEBUG BEGIN_STMT
  4258. # DEBUG BEGIN_STMT
  4259. <bb 45> [local count: 1073741824]:
  4260. goto <bb 7>; [100.00%]
  4261. <bb 8> [local count: 52886]:
  4262. # DEBUG BEGIN_STMT
  4263. # DEBUG BEGIN_STMT
  4264. _2 = xTaskGetSchedulerState ();
  4265. if (_2 != 0)
  4266. goto <bb 10>; [50.00%]
  4267. else
  4268. goto <bb 9>; [50.00%]
  4269. <bb 9> [local count: 26443]:
  4270. xTicksToWait.19_3 = xTicksToWait;
  4271. if (xTicksToWait.19_3 == 0)
  4272. goto <bb 10>; [50.00%]
  4273. else
  4274. goto <bb 11>; [50.00%]
  4275. <bb 10> [local count: 39664]:
  4276. # xEntryTimeSet_40 = PHI <0(9), 0(8)>
  4277. # xInheritanceOccurred_64 = PHI <0(9), 0(8)>
  4278. goto <bb 14>; [100.00%]
  4279. <bb 11> [local count: 13221]:
  4280. # DEBUG BEGIN_STMT
  4281. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4282. # DEBUG BEGIN_STMT
  4283. # DEBUG BEGIN_STMT
  4284. __asm__ __volatile__(" mov %0, %1
  4285. msr basepri, %0
  4286. isb
  4287. dsb
  4288. " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
  4289. # DEBUG ulNewBASEPRI => ulNewBASEPRI_90
  4290. <bb 12> [local count: 132214478]:
  4291. # DEBUG ulNewBASEPRI => NULL
  4292. # DEBUG BEGIN_STMT
  4293. # DEBUG BEGIN_STMT
  4294. # DEBUG BEGIN_STMT
  4295. <bb 47> [local count: 132214478]:
  4296. goto <bb 12>; [100.00%]
  4297. <bb 13> [local count: 406777]:
  4298. # xEntryTimeSet_48 = PHI <xEntryTimeSet_23(39), xEntryTimeSet_23(38), xEntryTimeSet_23(37), xEntryTimeSet_23(36)>
  4299. # xInheritanceOccurred_39 = PHI <xInheritanceOccurred_24(39), xInheritanceOccurred_24(38), xInheritanceOccurred_25(37), xInheritanceOccurred_25(36)>
  4300. <bb 14> [local count: 446442]:
  4301. # xEntryTimeSet_22 = PHI <xEntryTimeSet_40(10), xEntryTimeSet_48(13)>
  4302. # xInheritanceOccurred_24 = PHI <xInheritanceOccurred_64(10), xInheritanceOccurred_39(13)>
  4303. # DEBUG xInheritanceOccurred => xInheritanceOccurred_24
  4304. # DEBUG xEntryTimeSet => xEntryTimeSet_22
  4305. # DEBUG BEGIN_STMT
  4306. # DEBUG BEGIN_STMT
  4307. # DEBUG BEGIN_STMT
  4308. vPortEnterCritical ();
  4309. # DEBUG BEGIN_STMT
  4310. uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
  4311. # DEBUG uxSemaphoreCount => uxSemaphoreCount_46
  4312. # DEBUG BEGIN_STMT
  4313. if (uxSemaphoreCount_46 != 0)
  4314. goto <bb 15>; [3.66%]
  4315. else
  4316. goto <bb 21>; [96.34%]
  4317. <bb 15> [local count: 16340]:
  4318. # uxSemaphoreCount_26 = PHI <uxSemaphoreCount_46(14)>
  4319. # DEBUG BEGIN_STMT
  4320. # DEBUG BEGIN_STMT
  4321. _4 = uxSemaphoreCount_26 + 4294967295;
  4322. MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
  4323. # DEBUG BEGIN_STMT
  4324. _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  4325. if (_5 == 0B)
  4326. goto <bb 16>; [17.43%]
  4327. else
  4328. goto <bb 17>; [82.57%]
  4329. <bb 16> [local count: 2848]:
  4330. # DEBUG BEGIN_STMT
  4331. _6 = pvTaskIncrementMutexHeldCount ();
  4332. MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
  4333. <bb 17> [local count: 16340]:
  4334. # DEBUG BEGIN_STMT
  4335. # DEBUG BEGIN_STMT
  4336. _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  4337. if (_7 != 0)
  4338. goto <bb 18>; [33.00%]
  4339. else
  4340. goto <bb 20>; [67.00%]
  4341. <bb 18> [local count: 5392]:
  4342. # DEBUG BEGIN_STMT
  4343. _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  4344. _9 = xTaskRemoveFromEventList (_8);
  4345. if (_9 != 0)
  4346. goto <bb 19>; [50.00%]
  4347. else
  4348. goto <bb 20>; [50.00%]
  4349. <bb 19> [local count: 2696]:
  4350. # DEBUG BEGIN_STMT
  4351. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4352. # DEBUG BEGIN_STMT
  4353. __asm__ __volatile__("dsb" : : : "memory");
  4354. # DEBUG BEGIN_STMT
  4355. __asm__ __volatile__("isb");
  4356. # DEBUG BEGIN_STMT
  4357. <bb 20> [local count: 16340]:
  4358. # DEBUG BEGIN_STMT
  4359. # DEBUG BEGIN_STMT
  4360. vPortExitCritical ();
  4361. # DEBUG BEGIN_STMT
  4362. goto <bb 43>; [100.00%]
  4363. <bb 21> [local count: 430102]:
  4364. # DEBUG BEGIN_STMT
  4365. xTicksToWait.20_10 = xTicksToWait;
  4366. if (xTicksToWait.20_10 == 0)
  4367. goto <bb 22>; [3.66%]
  4368. else
  4369. goto <bb 26>; [96.34%]
  4370. <bb 22> [local count: 15742]:
  4371. # xInheritanceOccurred_43 = PHI <xInheritanceOccurred_24(21)>
  4372. # DEBUG BEGIN_STMT
  4373. if (xInheritanceOccurred_43 != 0)
  4374. goto <bb 23>; [79.76%]
  4375. else
  4376. goto <bb 25>; [20.24%]
  4377. <bb 23> [local count: 12556]:
  4378. # DEBUG BEGIN_STMT
  4379. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4380. # DEBUG BEGIN_STMT
  4381. # DEBUG BEGIN_STMT
  4382. __asm__ __volatile__(" mov %0, %1
  4383. msr basepri, %0
  4384. isb
  4385. dsb
  4386. " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
  4387. # DEBUG ulNewBASEPRI => ulNewBASEPRI_91
  4388. <bb 24> [local count: 125556217]:
  4389. # DEBUG ulNewBASEPRI => NULL
  4390. # DEBUG BEGIN_STMT
  4391. # DEBUG BEGIN_STMT
  4392. # DEBUG BEGIN_STMT
  4393. <bb 46> [local count: 125556217]:
  4394. goto <bb 24>; [100.00%]
  4395. <bb 25> [local count: 3186]:
  4396. # DEBUG BEGIN_STMT
  4397. # DEBUG BEGIN_STMT
  4398. vPortExitCritical ();
  4399. # DEBUG BEGIN_STMT
  4400. # DEBUG BEGIN_STMT
  4401. goto <bb 43>; [100.00%]
  4402. <bb 26> [local count: 414360]:
  4403. # DEBUG BEGIN_STMT
  4404. if (xEntryTimeSet_22 == 0)
  4405. goto <bb 27>; [33.00%]
  4406. else
  4407. goto <bb 28>; [67.00%]
  4408. <bb 27> [local count: 136739]:
  4409. # DEBUG BEGIN_STMT
  4410. vTaskInternalSetTimeOutState (&xTimeOut);
  4411. # DEBUG BEGIN_STMT
  4412. # DEBUG xEntryTimeSet => 1
  4413. <bb 28> [local count: 414360]:
  4414. # xEntryTimeSet_23 = PHI <xEntryTimeSet_22(26), 1(27)>
  4415. # DEBUG xEntryTimeSet => xEntryTimeSet_23
  4416. # DEBUG BEGIN_STMT
  4417. # DEBUG BEGIN_STMT
  4418. vPortExitCritical ();
  4419. # DEBUG BEGIN_STMT
  4420. vTaskSuspendAll ();
  4421. # DEBUG BEGIN_STMT
  4422. vPortEnterCritical ();
  4423. # DEBUG BEGIN_STMT
  4424. _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
  4425. if (_11 == -1)
  4426. goto <bb 29>; [34.00%]
  4427. else
  4428. goto <bb 30>; [66.00%]
  4429. <bb 29> [local count: 140882]:
  4430. # DEBUG BEGIN_STMT
  4431. MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
  4432. <bb 30> [local count: 414360]:
  4433. # DEBUG BEGIN_STMT
  4434. _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  4435. if (_12 == -1)
  4436. goto <bb 31>; [34.00%]
  4437. else
  4438. goto <bb 32>; [66.00%]
  4439. <bb 31> [local count: 140882]:
  4440. # DEBUG BEGIN_STMT
  4441. MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
  4442. <bb 32> [local count: 414360]:
  4443. # DEBUG BEGIN_STMT
  4444. vPortExitCritical ();
  4445. # DEBUG BEGIN_STMT
  4446. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  4447. if (_13 == 0)
  4448. goto <bb 33>; [50.00%]
  4449. else
  4450. goto <bb 39>; [50.00%]
  4451. <bb 33> [local count: 207180]:
  4452. # DEBUG BEGIN_STMT
  4453. _14 = prvIsQueueEmpty (xQueue_38(D));
  4454. if (_14 != 0)
  4455. goto <bb 34>; [67.00%]
  4456. else
  4457. goto <bb 38>; [33.00%]
  4458. <bb 34> [local count: 138811]:
  4459. # DEBUG BEGIN_STMT
  4460. # DEBUG BEGIN_STMT
  4461. _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  4462. if (_15 == 0B)
  4463. goto <bb 35>; [17.43%]
  4464. else
  4465. goto <bb 36>; [82.57%]
  4466. <bb 35> [local count: 24195]:
  4467. # DEBUG BEGIN_STMT
  4468. vPortEnterCritical ();
  4469. # DEBUG BEGIN_STMT
  4470. _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  4471. xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  4472. # DEBUG xInheritanceOccurred => xInheritanceOccurred_70
  4473. # DEBUG BEGIN_STMT
  4474. vPortExitCritical ();
  4475. <bb 36> [local count: 138811]:
  4476. # xInheritanceOccurred_25 = PHI <xInheritanceOccurred_24(34), xInheritanceOccurred_70(35)>
  4477. # DEBUG xInheritanceOccurred => xInheritanceOccurred_25
  4478. # DEBUG BEGIN_STMT
  4479. # DEBUG BEGIN_STMT
  4480. _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  4481. xTicksToWait.21_18 = xTicksToWait;
  4482. vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  4483. # DEBUG BEGIN_STMT
  4484. prvUnlockQueue (xQueue_38(D));
  4485. # DEBUG BEGIN_STMT
  4486. _19 = xTaskResumeAll ();
  4487. if (_19 == 0)
  4488. goto <bb 37>; [50.00%]
  4489. else
  4490. goto <bb 13>; [50.00%]
  4491. <bb 37> [local count: 69405]:
  4492. # DEBUG BEGIN_STMT
  4493. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4494. # DEBUG BEGIN_STMT
  4495. __asm__ __volatile__("dsb" : : : "memory");
  4496. # DEBUG BEGIN_STMT
  4497. __asm__ __volatile__("isb");
  4498. # DEBUG BEGIN_STMT
  4499. goto <bb 13>; [100.00%]
  4500. <bb 38> [local count: 68369]:
  4501. # DEBUG BEGIN_STMT
  4502. prvUnlockQueue (xQueue_38(D));
  4503. # DEBUG BEGIN_STMT
  4504. xTaskResumeAll ();
  4505. goto <bb 13>; [100.00%]
  4506. <bb 39> [local count: 207180]:
  4507. # DEBUG BEGIN_STMT
  4508. prvUnlockQueue (xQueue_38(D));
  4509. # DEBUG BEGIN_STMT
  4510. xTaskResumeAll ();
  4511. # DEBUG BEGIN_STMT
  4512. _20 = prvIsQueueEmpty (xQueue_38(D));
  4513. if (_20 != 0)
  4514. goto <bb 40>; [3.66%]
  4515. else
  4516. goto <bb 13>; [96.34%]
  4517. <bb 40> [local count: 7583]:
  4518. # xInheritanceOccurred_44 = PHI <xInheritanceOccurred_24(39)>
  4519. # DEBUG BEGIN_STMT
  4520. if (xInheritanceOccurred_44 != 0)
  4521. goto <bb 41>; [33.00%]
  4522. else
  4523. goto <bb 42>; [67.00%]
  4524. <bb 41> [local count: 2502]:
  4525. # DEBUG BEGIN_STMT
  4526. vPortEnterCritical ();
  4527. # DEBUG BEGIN_STMT
  4528. # DEBUG BEGIN_STMT
  4529. uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  4530. # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61
  4531. # DEBUG BEGIN_STMT
  4532. _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  4533. vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  4534. # DEBUG BEGIN_STMT
  4535. vPortExitCritical ();
  4536. <bb 42> [local count: 7583]:
  4537. # DEBUG BEGIN_STMT
  4538. # DEBUG BEGIN_STMT
  4539. <bb 43> [local count: 27109]:
  4540. # _27 = PHI <1(20), 0(25), 0(42)>
  4541. xTimeOut ={v} {CLOBBER};
  4542. return _27;
  4543. }
  4544. xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  4545. {
  4546. uint32_t ulNewBASEPRI;
  4547. uint32_t ulNewBASEPRI;
  4548. uint32_t ulNewBASEPRI;
  4549. const UBaseType_t uxMessagesWaiting;
  4550. struct TimeOut_t xTimeOut;
  4551. BaseType_t xEntryTimeSet;
  4552. long unsigned int _1;
  4553. long int _2;
  4554. long unsigned int xTicksToWait.15_3;
  4555. long unsigned int _4;
  4556. long unsigned int _5;
  4557. struct List_t * _6;
  4558. long int _7;
  4559. long unsigned int xTicksToWait.16_8;
  4560. signed char _9;
  4561. signed char _10;
  4562. long int _11;
  4563. long int _12;
  4564. struct List_t * _13;
  4565. long unsigned int xTicksToWait.17_14;
  4566. long int _15;
  4567. long int _16;
  4568. BaseType_t _19;
  4569. <bb 2> [local count: 357913]:
  4570. # DEBUG BEGIN_STMT
  4571. # DEBUG xEntryTimeSet => 0
  4572. # DEBUG BEGIN_STMT
  4573. # DEBUG BEGIN_STMT
  4574. # DEBUG pxQueue => xQueue_27(D)
  4575. # DEBUG BEGIN_STMT
  4576. if (xQueue_27(D) == 0B)
  4577. goto <bb 3>; [30.00%]
  4578. else
  4579. goto <bb 5>; [70.00%]
  4580. <bb 3> [local count: 107374]:
  4581. # DEBUG BEGIN_STMT
  4582. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4583. # DEBUG BEGIN_STMT
  4584. # DEBUG BEGIN_STMT
  4585. __asm__ __volatile__(" mov %0, %1
  4586. msr basepri, %0
  4587. isb
  4588. dsb
  4589. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  4590. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  4591. <bb 4> [local count: 1073741824]:
  4592. # DEBUG ulNewBASEPRI => NULL
  4593. # DEBUG BEGIN_STMT
  4594. # DEBUG BEGIN_STMT
  4595. # DEBUG BEGIN_STMT
  4596. <bb 35> [local count: 1073741824]:
  4597. goto <bb 4>; [100.00%]
  4598. <bb 5> [local count: 250539]:
  4599. # DEBUG BEGIN_STMT
  4600. # DEBUG BEGIN_STMT
  4601. if (pvBuffer_28(D) != 0B)
  4602. goto <bb 9>; [53.47%]
  4603. else
  4604. goto <bb 6>; [46.53%]
  4605. <bb 6> [local count: 116576]:
  4606. _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  4607. if (_1 == 0)
  4608. goto <bb 9>; [50.00%]
  4609. else
  4610. goto <bb 7>; [50.00%]
  4611. <bb 7> [local count: 58288]:
  4612. # DEBUG BEGIN_STMT
  4613. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4614. # DEBUG BEGIN_STMT
  4615. # DEBUG BEGIN_STMT
  4616. __asm__ __volatile__(" mov %0, %1
  4617. msr basepri, %0
  4618. isb
  4619. dsb
  4620. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  4621. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  4622. <bb 8> [local count: 582880751]:
  4623. # DEBUG ulNewBASEPRI => NULL
  4624. # DEBUG BEGIN_STMT
  4625. # DEBUG BEGIN_STMT
  4626. # DEBUG BEGIN_STMT
  4627. <bb 37> [local count: 582880751]:
  4628. goto <bb 8>; [100.00%]
  4629. <bb 9> [local count: 192251]:
  4630. # DEBUG BEGIN_STMT
  4631. # DEBUG BEGIN_STMT
  4632. _2 = xTaskGetSchedulerState ();
  4633. if (_2 != 0)
  4634. goto <bb 10>; [50.00%]
  4635. else
  4636. goto <bb 11>; [50.00%]
  4637. <bb 10> [local count: 144189]:
  4638. # xEntryTimeSet_32 = PHI <0(9), 0(11)>
  4639. goto <bb 15>; [100.00%]
  4640. <bb 11> [local count: 96126]:
  4641. xTicksToWait.15_3 = xTicksToWait;
  4642. if (xTicksToWait.15_3 == 0)
  4643. goto <bb 10>; [50.00%]
  4644. else
  4645. goto <bb 12>; [50.00%]
  4646. <bb 12> [local count: 48063]:
  4647. # DEBUG BEGIN_STMT
  4648. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4649. # DEBUG BEGIN_STMT
  4650. # DEBUG BEGIN_STMT
  4651. __asm__ __volatile__(" mov %0, %1
  4652. msr basepri, %0
  4653. isb
  4654. dsb
  4655. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  4656. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  4657. <bb 13> [local count: 480629211]:
  4658. # DEBUG ulNewBASEPRI => NULL
  4659. # DEBUG BEGIN_STMT
  4660. # DEBUG BEGIN_STMT
  4661. # DEBUG BEGIN_STMT
  4662. <bb 36> [local count: 480629211]:
  4663. goto <bb 13>; [100.00%]
  4664. <bb 14> [local count: 1478726]:
  4665. # xEntryTimeSet_46 = PHI <xEntryTimeSet_18(33), xEntryTimeSet_18(32), xEntryTimeSet_18(31), xEntryTimeSet_18(30)>
  4666. <bb 15> [local count: 1622915]:
  4667. # xEntryTimeSet_17 = PHI <xEntryTimeSet_32(10), xEntryTimeSet_46(14)>
  4668. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  4669. # DEBUG BEGIN_STMT
  4670. # DEBUG BEGIN_STMT
  4671. # DEBUG BEGIN_STMT
  4672. vPortEnterCritical ();
  4673. # DEBUG BEGIN_STMT
  4674. uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
  4675. # DEBUG uxMessagesWaiting => uxMessagesWaiting_34
  4676. # DEBUG BEGIN_STMT
  4677. if (uxMessagesWaiting_34 != 0)
  4678. goto <bb 16>; [3.66%]
  4679. else
  4680. goto <bb 20>; [96.34%]
  4681. <bb 16> [local count: 59399]:
  4682. # uxMessagesWaiting_31 = PHI <uxMessagesWaiting_34(15)>
  4683. # DEBUG BEGIN_STMT
  4684. prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  4685. # DEBUG BEGIN_STMT
  4686. # DEBUG BEGIN_STMT
  4687. _4 = uxMessagesWaiting_31 + 4294967295;
  4688. MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
  4689. # DEBUG BEGIN_STMT
  4690. _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
  4691. if (_5 != 0)
  4692. goto <bb 17>; [33.00%]
  4693. else
  4694. goto <bb 19>; [67.00%]
  4695. <bb 17> [local count: 19602]:
  4696. # DEBUG BEGIN_STMT
  4697. _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  4698. _7 = xTaskRemoveFromEventList (_6);
  4699. if (_7 != 0)
  4700. goto <bb 18>; [50.00%]
  4701. else
  4702. goto <bb 19>; [50.00%]
  4703. <bb 18> [local count: 9801]:
  4704. # DEBUG BEGIN_STMT
  4705. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4706. # DEBUG BEGIN_STMT
  4707. __asm__ __volatile__("dsb" : : : "memory");
  4708. # DEBUG BEGIN_STMT
  4709. __asm__ __volatile__("isb");
  4710. # DEBUG BEGIN_STMT
  4711. <bb 19> [local count: 59399]:
  4712. # DEBUG BEGIN_STMT
  4713. # DEBUG BEGIN_STMT
  4714. vPortExitCritical ();
  4715. # DEBUG BEGIN_STMT
  4716. goto <bb 34>; [100.00%]
  4717. <bb 20> [local count: 1563516]:
  4718. # DEBUG BEGIN_STMT
  4719. xTicksToWait.16_8 = xTicksToWait;
  4720. if (xTicksToWait.16_8 == 0)
  4721. goto <bb 21>; [3.66%]
  4722. else
  4723. goto <bb 22>; [96.34%]
  4724. <bb 21> [local count: 57225]:
  4725. # DEBUG BEGIN_STMT
  4726. vPortExitCritical ();
  4727. # DEBUG BEGIN_STMT
  4728. # DEBUG BEGIN_STMT
  4729. goto <bb 34>; [100.00%]
  4730. <bb 22> [local count: 1506292]:
  4731. # DEBUG BEGIN_STMT
  4732. if (xEntryTimeSet_17 == 0)
  4733. goto <bb 23>; [33.00%]
  4734. else
  4735. goto <bb 24>; [67.00%]
  4736. <bb 23> [local count: 497076]:
  4737. # DEBUG BEGIN_STMT
  4738. vTaskInternalSetTimeOutState (&xTimeOut);
  4739. # DEBUG BEGIN_STMT
  4740. # DEBUG xEntryTimeSet => 1
  4741. <bb 24> [local count: 1506292]:
  4742. # xEntryTimeSet_18 = PHI <xEntryTimeSet_17(22), 1(23)>
  4743. # DEBUG xEntryTimeSet => xEntryTimeSet_18
  4744. # DEBUG BEGIN_STMT
  4745. # DEBUG BEGIN_STMT
  4746. vPortExitCritical ();
  4747. # DEBUG BEGIN_STMT
  4748. vTaskSuspendAll ();
  4749. # DEBUG BEGIN_STMT
  4750. vPortEnterCritical ();
  4751. # DEBUG BEGIN_STMT
  4752. _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
  4753. if (_9 == -1)
  4754. goto <bb 25>; [34.00%]
  4755. else
  4756. goto <bb 26>; [66.00%]
  4757. <bb 25> [local count: 512139]:
  4758. # DEBUG BEGIN_STMT
  4759. MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
  4760. <bb 26> [local count: 1506292]:
  4761. # DEBUG BEGIN_STMT
  4762. _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  4763. if (_10 == -1)
  4764. goto <bb 27>; [34.00%]
  4765. else
  4766. goto <bb 28>; [66.00%]
  4767. <bb 27> [local count: 512139]:
  4768. # DEBUG BEGIN_STMT
  4769. MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
  4770. <bb 28> [local count: 1506292]:
  4771. # DEBUG BEGIN_STMT
  4772. vPortExitCritical ();
  4773. # DEBUG BEGIN_STMT
  4774. _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  4775. if (_11 == 0)
  4776. goto <bb 29>; [50.00%]
  4777. else
  4778. goto <bb 33>; [50.00%]
  4779. <bb 29> [local count: 753146]:
  4780. # DEBUG BEGIN_STMT
  4781. _12 = prvIsQueueEmpty (xQueue_27(D));
  4782. if (_12 != 0)
  4783. goto <bb 30>; [50.00%]
  4784. else
  4785. goto <bb 32>; [50.00%]
  4786. <bb 30> [local count: 376573]:
  4787. # DEBUG BEGIN_STMT
  4788. # DEBUG BEGIN_STMT
  4789. _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  4790. xTicksToWait.17_14 = xTicksToWait;
  4791. vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  4792. # DEBUG BEGIN_STMT
  4793. prvUnlockQueue (xQueue_27(D));
  4794. # DEBUG BEGIN_STMT
  4795. _15 = xTaskResumeAll ();
  4796. if (_15 == 0)
  4797. goto <bb 31>; [50.00%]
  4798. else
  4799. goto <bb 14>; [50.00%]
  4800. <bb 31> [local count: 188286]:
  4801. # DEBUG BEGIN_STMT
  4802. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4803. # DEBUG BEGIN_STMT
  4804. __asm__ __volatile__("dsb" : : : "memory");
  4805. # DEBUG BEGIN_STMT
  4806. __asm__ __volatile__("isb");
  4807. # DEBUG BEGIN_STMT
  4808. goto <bb 14>; [100.00%]
  4809. <bb 32> [local count: 376573]:
  4810. # DEBUG BEGIN_STMT
  4811. prvUnlockQueue (xQueue_27(D));
  4812. # DEBUG BEGIN_STMT
  4813. xTaskResumeAll ();
  4814. goto <bb 14>; [100.00%]
  4815. <bb 33> [local count: 753146]:
  4816. # DEBUG BEGIN_STMT
  4817. prvUnlockQueue (xQueue_27(D));
  4818. # DEBUG BEGIN_STMT
  4819. xTaskResumeAll ();
  4820. # DEBUG BEGIN_STMT
  4821. _16 = prvIsQueueEmpty (xQueue_27(D));
  4822. if (_16 != 0)
  4823. goto <bb 34>; [3.66%]
  4824. else
  4825. goto <bb 14>; [96.34%]
  4826. <bb 34> [local count: 144189]:
  4827. # _19 = PHI <1(19), 0(21), 0(33)>
  4828. xTimeOut ={v} {CLOBBER};
  4829. return _19;
  4830. }
  4831. xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken)
  4832. {
  4833. uint32_t ulNewBASEPRI;
  4834. uint32_t ulOriginalBASEPRI;
  4835. uint32_t ulNewBASEPRI;
  4836. uint32_t ulNewBASEPRI;
  4837. uint32_t ulNewBASEPRI;
  4838. uint32_t ulNewBASEPRI;
  4839. const int8_t cTxLock;
  4840. const UBaseType_t uxMessagesWaiting;
  4841. BaseType_t xReturn;
  4842. long unsigned int _1;
  4843. int8_t * _2;
  4844. struct tskTaskControlBlock * _3;
  4845. long unsigned int _4;
  4846. long unsigned int _5;
  4847. long unsigned int _6;
  4848. struct List_t * _7;
  4849. long int _8;
  4850. unsigned char cTxLock.12_9;
  4851. unsigned char _10;
  4852. signed char _11;
  4853. <bb 2> [local count: 306783]:
  4854. # DEBUG BEGIN_STMT
  4855. # DEBUG BEGIN_STMT
  4856. # DEBUG BEGIN_STMT
  4857. # DEBUG pxQueue => xQueue_14(D)
  4858. # DEBUG BEGIN_STMT
  4859. if (xQueue_14(D) == 0B)
  4860. goto <bb 3>; [30.00%]
  4861. else
  4862. goto <bb 5>; [70.00%]
  4863. <bb 3> [local count: 92035]:
  4864. # DEBUG BEGIN_STMT
  4865. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4866. # DEBUG BEGIN_STMT
  4867. # DEBUG BEGIN_STMT
  4868. __asm__ __volatile__(" mov %0, %1
  4869. msr basepri, %0
  4870. isb
  4871. dsb
  4872. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  4873. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  4874. <bb 4> [local count: 920350133]:
  4875. # DEBUG ulNewBASEPRI => NULL
  4876. # DEBUG BEGIN_STMT
  4877. # DEBUG BEGIN_STMT
  4878. # DEBUG BEGIN_STMT
  4879. <bb 24> [local count: 920350133]:
  4880. goto <bb 4>; [100.00%]
  4881. <bb 5> [local count: 214748]:
  4882. # DEBUG BEGIN_STMT
  4883. # DEBUG BEGIN_STMT
  4884. _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  4885. if (_1 != 0)
  4886. goto <bb 6>; [50.00%]
  4887. else
  4888. goto <bb 8>; [50.00%]
  4889. <bb 6> [local count: 107374]:
  4890. # DEBUG BEGIN_STMT
  4891. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4892. # DEBUG BEGIN_STMT
  4893. # DEBUG BEGIN_STMT
  4894. __asm__ __volatile__(" mov %0, %1
  4895. msr basepri, %0
  4896. isb
  4897. dsb
  4898. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  4899. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  4900. <bb 7> [local count: 1073741823]:
  4901. # DEBUG ulNewBASEPRI => NULL
  4902. # DEBUG BEGIN_STMT
  4903. # DEBUG BEGIN_STMT
  4904. # DEBUG BEGIN_STMT
  4905. <bb 25> [local count: 1073741824]:
  4906. goto <bb 7>; [100.00%]
  4907. <bb 8> [local count: 107374]:
  4908. # DEBUG BEGIN_STMT
  4909. # DEBUG BEGIN_STMT
  4910. _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  4911. if (_2 != 0B)
  4912. goto <bb 12>; [53.47%]
  4913. else
  4914. goto <bb 9>; [46.53%]
  4915. <bb 9> [local count: 49961]:
  4916. _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  4917. if (_3 == 0B)
  4918. goto <bb 12>; [30.00%]
  4919. else
  4920. goto <bb 10>; [70.00%]
  4921. <bb 10> [local count: 34973]:
  4922. # DEBUG BEGIN_STMT
  4923. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4924. # DEBUG BEGIN_STMT
  4925. # DEBUG BEGIN_STMT
  4926. __asm__ __volatile__(" mov %0, %1
  4927. msr basepri, %0
  4928. isb
  4929. dsb
  4930. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  4931. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  4932. <bb 11> [local count: 349728449]:
  4933. # DEBUG ulNewBASEPRI => NULL
  4934. # DEBUG BEGIN_STMT
  4935. # DEBUG BEGIN_STMT
  4936. # DEBUG BEGIN_STMT
  4937. <bb 27> [local count: 349728449]:
  4938. goto <bb 11>; [100.00%]
  4939. <bb 12> [local count: 72401]:
  4940. # DEBUG BEGIN_STMT
  4941. # DEBUG BEGIN_STMT
  4942. vPortValidateInterruptPriority ();
  4943. # DEBUG BEGIN_STMT
  4944. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  4945. # DEBUG BEGIN_STMT
  4946. # DEBUG BEGIN_STMT
  4947. __asm__ __volatile__(" mrs %0, basepri
  4948. mov %1, %2
  4949. msr basepri, %1
  4950. isb
  4951. dsb
  4952. " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  4953. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  4954. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27
  4955. # DEBUG BEGIN_STMT
  4956. # DEBUG ulNewBASEPRI => NULL
  4957. # DEBUG ulOriginalBASEPRI => NULL
  4958. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27
  4959. # DEBUG BEGIN_STMT
  4960. uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
  4961. # DEBUG uxMessagesWaiting => uxMessagesWaiting_17
  4962. # DEBUG BEGIN_STMT
  4963. _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
  4964. if (_4 > uxMessagesWaiting_17)
  4965. goto <bb 13>; [50.00%]
  4966. else
  4967. goto <bb 23>; [50.00%]
  4968. <bb 13> [local count: 36201]:
  4969. # DEBUG BEGIN_STMT
  4970. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
  4971. # DEBUG cTxLock => cTxLock_18
  4972. # DEBUG BEGIN_STMT
  4973. # DEBUG BEGIN_STMT
  4974. _5 = uxMessagesWaiting_17 + 1;
  4975. MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
  4976. # DEBUG BEGIN_STMT
  4977. if (cTxLock_18 == -1)
  4978. goto <bb 14>; [34.00%]
  4979. else
  4980. goto <bb 18>; [66.00%]
  4981. <bb 14> [local count: 12308]:
  4982. # DEBUG BEGIN_STMT
  4983. _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  4984. if (_6 != 0)
  4985. goto <bb 15>; [33.00%]
  4986. else
  4987. goto <bb 23>; [67.00%]
  4988. <bb 15> [local count: 4062]:
  4989. # DEBUG BEGIN_STMT
  4990. _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  4991. _8 = xTaskRemoveFromEventList (_7);
  4992. if (_8 != 0)
  4993. goto <bb 16>; [50.00%]
  4994. else
  4995. goto <bb 23>; [50.00%]
  4996. <bb 16> [local count: 2031]:
  4997. # DEBUG BEGIN_STMT
  4998. if (pxHigherPriorityTaskWoken_22(D) != 0B)
  4999. goto <bb 17>; [70.00%]
  5000. else
  5001. goto <bb 23>; [30.00%]
  5002. <bb 17> [local count: 1422]:
  5003. # DEBUG BEGIN_STMT
  5004. *pxHigherPriorityTaskWoken_22(D) = 1;
  5005. goto <bb 23>; [100.00%]
  5006. <bb 18> [local count: 23892]:
  5007. # DEBUG BEGIN_STMT
  5008. if (cTxLock_18 == 127)
  5009. goto <bb 19>; [34.00%]
  5010. else
  5011. goto <bb 21>; [66.00%]
  5012. <bb 19> [local count: 8123]:
  5013. # DEBUG BEGIN_STMT
  5014. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5015. # DEBUG BEGIN_STMT
  5016. # DEBUG BEGIN_STMT
  5017. __asm__ __volatile__(" mov %0, %1
  5018. msr basepri, %0
  5019. isb
  5020. dsb
  5021. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  5022. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  5023. <bb 20> [local count: 81234300]:
  5024. # DEBUG ulNewBASEPRI => NULL
  5025. # DEBUG BEGIN_STMT
  5026. # DEBUG BEGIN_STMT
  5027. # DEBUG BEGIN_STMT
  5028. <bb 26> [local count: 81234300]:
  5029. goto <bb 20>; [100.00%]
  5030. <bb 21> [local count: 15769]:
  5031. # DEBUG BEGIN_STMT
  5032. # DEBUG BEGIN_STMT
  5033. cTxLock.12_9 = (unsigned char) cTxLock_18;
  5034. _10 = cTxLock.12_9 + 1;
  5035. _11 = (signed char) _10;
  5036. MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
  5037. <bb 23> [local count: 64278]:
  5038. # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)>
  5039. # DEBUG xReturn => xReturn_12
  5040. # DEBUG BEGIN_STMT
  5041. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27
  5042. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5043. # DEBUG BEGIN_STMT
  5044. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory");
  5045. # DEBUG ulNewMaskValue => NULL
  5046. # DEBUG BEGIN_STMT
  5047. return xReturn_12;
  5048. }
  5049. xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
  5050. {
  5051. uint32_t ulNewBASEPRI;
  5052. uint32_t ulOriginalBASEPRI;
  5053. uint32_t ulNewBASEPRI;
  5054. uint32_t ulNewBASEPRI;
  5055. uint32_t ulNewBASEPRI;
  5056. uint32_t ulNewBASEPRI;
  5057. const UBaseType_t uxPreviousMessagesWaiting;
  5058. const int8_t cTxLock;
  5059. BaseType_t xReturn;
  5060. long unsigned int _1;
  5061. long unsigned int _2;
  5062. long unsigned int _3;
  5063. long unsigned int _4;
  5064. long unsigned int _5;
  5065. struct List_t * _6;
  5066. long int _7;
  5067. unsigned char cTxLock.10_8;
  5068. unsigned char _9;
  5069. signed char _10;
  5070. <bb 2> [local count: 357913]:
  5071. # DEBUG BEGIN_STMT
  5072. # DEBUG BEGIN_STMT
  5073. # DEBUG BEGIN_STMT
  5074. # DEBUG pxQueue => xQueue_13(D)
  5075. # DEBUG BEGIN_STMT
  5076. if (xQueue_13(D) == 0B)
  5077. goto <bb 3>; [30.00%]
  5078. else
  5079. goto <bb 5>; [70.00%]
  5080. <bb 3> [local count: 107374]:
  5081. # DEBUG BEGIN_STMT
  5082. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5083. # DEBUG BEGIN_STMT
  5084. # DEBUG BEGIN_STMT
  5085. __asm__ __volatile__(" mov %0, %1
  5086. msr basepri, %0
  5087. isb
  5088. dsb
  5089. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  5090. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  5091. <bb 4> [local count: 1073741824]:
  5092. # DEBUG ulNewBASEPRI => NULL
  5093. # DEBUG BEGIN_STMT
  5094. # DEBUG BEGIN_STMT
  5095. # DEBUG BEGIN_STMT
  5096. <bb 26> [local count: 1073741824]:
  5097. goto <bb 4>; [100.00%]
  5098. <bb 5> [local count: 250539]:
  5099. # DEBUG BEGIN_STMT
  5100. # DEBUG BEGIN_STMT
  5101. if (pvItemToQueue_14(D) != 0B)
  5102. goto <bb 9>; [70.00%]
  5103. else
  5104. goto <bb 6>; [30.00%]
  5105. <bb 6> [local count: 75162]:
  5106. _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  5107. if (_1 == 0)
  5108. goto <bb 9>; [50.00%]
  5109. else
  5110. goto <bb 7>; [50.00%]
  5111. <bb 7> [local count: 37581]:
  5112. # DEBUG BEGIN_STMT
  5113. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5114. # DEBUG BEGIN_STMT
  5115. # DEBUG BEGIN_STMT
  5116. __asm__ __volatile__(" mov %0, %1
  5117. msr basepri, %0
  5118. isb
  5119. dsb
  5120. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  5121. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  5122. <bb 8> [local count: 375809639]:
  5123. # DEBUG ulNewBASEPRI => NULL
  5124. # DEBUG BEGIN_STMT
  5125. # DEBUG BEGIN_STMT
  5126. # DEBUG BEGIN_STMT
  5127. <bb 29> [local count: 375809639]:
  5128. goto <bb 8>; [100.00%]
  5129. <bb 9> [local count: 212958]:
  5130. # DEBUG BEGIN_STMT
  5131. # DEBUG BEGIN_STMT
  5132. if (xCopyPosition_16(D) != 2)
  5133. goto <bb 13>; [48.88%]
  5134. else
  5135. goto <bb 10>; [51.12%]
  5136. <bb 10> [local count: 108864]:
  5137. _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  5138. if (_2 == 1)
  5139. goto <bb 13>; [34.00%]
  5140. else
  5141. goto <bb 11>; [66.00%]
  5142. <bb 11> [local count: 71850]:
  5143. # DEBUG BEGIN_STMT
  5144. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5145. # DEBUG BEGIN_STMT
  5146. # DEBUG BEGIN_STMT
  5147. __asm__ __volatile__(" mov %0, %1
  5148. msr basepri, %0
  5149. isb
  5150. dsb
  5151. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  5152. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  5153. <bb 12> [local count: 718505940]:
  5154. # DEBUG ulNewBASEPRI => NULL
  5155. # DEBUG BEGIN_STMT
  5156. # DEBUG BEGIN_STMT
  5157. # DEBUG BEGIN_STMT
  5158. <bb 28> [local count: 718505940]:
  5159. goto <bb 12>; [100.00%]
  5160. <bb 13> [local count: 141108]:
  5161. # DEBUG BEGIN_STMT
  5162. # DEBUG BEGIN_STMT
  5163. vPortValidateInterruptPriority ();
  5164. # DEBUG BEGIN_STMT
  5165. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5166. # DEBUG BEGIN_STMT
  5167. # DEBUG BEGIN_STMT
  5168. __asm__ __volatile__(" mrs %0, basepri
  5169. mov %1, %2
  5170. msr basepri, %1
  5171. isb
  5172. dsb
  5173. " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  5174. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  5175. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28
  5176. # DEBUG BEGIN_STMT
  5177. # DEBUG ulNewBASEPRI => NULL
  5178. # DEBUG ulOriginalBASEPRI => NULL
  5179. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28
  5180. # DEBUG BEGIN_STMT
  5181. _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  5182. _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  5183. if (_3 < _4)
  5184. goto <bb 15>; [33.00%]
  5185. else
  5186. goto <bb 14>; [67.00%]
  5187. <bb 14> [local count: 94542]:
  5188. if (xCopyPosition_16(D) == 2)
  5189. goto <bb 15>; [34.00%]
  5190. else
  5191. goto <bb 25>; [66.00%]
  5192. <bb 15> [local count: 78710]:
  5193. # DEBUG BEGIN_STMT
  5194. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
  5195. # DEBUG cTxLock => cTxLock_18
  5196. # DEBUG BEGIN_STMT
  5197. uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  5198. # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19
  5199. # DEBUG BEGIN_STMT
  5200. # DEBUG BEGIN_STMT
  5201. prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  5202. # DEBUG BEGIN_STMT
  5203. if (cTxLock_18 == -1)
  5204. goto <bb 16>; [34.00%]
  5205. else
  5206. goto <bb 20>; [66.00%]
  5207. <bb 16> [local count: 26761]:
  5208. # DEBUG BEGIN_STMT
  5209. _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  5210. if (_5 != 0)
  5211. goto <bb 17>; [33.00%]
  5212. else
  5213. goto <bb 25>; [67.00%]
  5214. <bb 17> [local count: 8831]:
  5215. # DEBUG BEGIN_STMT
  5216. _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  5217. _7 = xTaskRemoveFromEventList (_6);
  5218. if (_7 != 0)
  5219. goto <bb 18>; [50.00%]
  5220. else
  5221. goto <bb 25>; [50.00%]
  5222. <bb 18> [local count: 4416]:
  5223. # DEBUG BEGIN_STMT
  5224. if (pxHigherPriorityTaskWoken_23(D) != 0B)
  5225. goto <bb 19>; [70.00%]
  5226. else
  5227. goto <bb 25>; [30.00%]
  5228. <bb 19> [local count: 3091]:
  5229. # DEBUG BEGIN_STMT
  5230. *pxHigherPriorityTaskWoken_23(D) = 1;
  5231. goto <bb 25>; [100.00%]
  5232. <bb 20> [local count: 51949]:
  5233. # DEBUG BEGIN_STMT
  5234. if (cTxLock_18 == 127)
  5235. goto <bb 21>; [34.00%]
  5236. else
  5237. goto <bb 23>; [66.00%]
  5238. <bb 21> [local count: 17663]:
  5239. # DEBUG BEGIN_STMT
  5240. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5241. # DEBUG BEGIN_STMT
  5242. # DEBUG BEGIN_STMT
  5243. __asm__ __volatile__(" mov %0, %1
  5244. msr basepri, %0
  5245. isb
  5246. dsb
  5247. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  5248. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  5249. <bb 22> [local count: 176625587]:
  5250. # DEBUG ulNewBASEPRI => NULL
  5251. # DEBUG BEGIN_STMT
  5252. # DEBUG BEGIN_STMT
  5253. # DEBUG BEGIN_STMT
  5254. <bb 27> [local count: 176625587]:
  5255. goto <bb 22>; [100.00%]
  5256. <bb 23> [local count: 34286]:
  5257. # DEBUG BEGIN_STMT
  5258. # DEBUG BEGIN_STMT
  5259. cTxLock.10_8 = (unsigned char) cTxLock_18;
  5260. _9 = cTxLock.10_8 + 1;
  5261. _10 = (signed char) _9;
  5262. MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
  5263. <bb 25> [local count: 123445]:
  5264. # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)>
  5265. # DEBUG xReturn => xReturn_11
  5266. # DEBUG BEGIN_STMT
  5267. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28
  5268. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5269. # DEBUG BEGIN_STMT
  5270. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory");
  5271. # DEBUG ulNewMaskValue => NULL
  5272. # DEBUG BEGIN_STMT
  5273. return xReturn_11;
  5274. }
  5275. xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
  5276. {
  5277. uint32_t ulNewBASEPRI;
  5278. uint32_t ulNewBASEPRI;
  5279. uint32_t ulNewBASEPRI;
  5280. uint32_t ulNewBASEPRI;
  5281. struct TimeOut_t xTimeOut;
  5282. BaseType_t xYieldRequired;
  5283. BaseType_t xEntryTimeSet;
  5284. long unsigned int _1;
  5285. long unsigned int _2;
  5286. long int _3;
  5287. long unsigned int xTicksToWait.3_4;
  5288. long unsigned int _5;
  5289. long unsigned int _6;
  5290. long unsigned int _7;
  5291. struct List_t * _8;
  5292. long int _9;
  5293. long unsigned int xTicksToWait.4_10;
  5294. signed char _11;
  5295. signed char _12;
  5296. long int _13;
  5297. long int _14;
  5298. struct List_t * _15;
  5299. long unsigned int xTicksToWait.5_16;
  5300. long int _17;
  5301. BaseType_t _21;
  5302. <bb 2> [local count: 357913]:
  5303. # DEBUG BEGIN_STMT
  5304. # DEBUG xEntryTimeSet => 0
  5305. # DEBUG BEGIN_STMT
  5306. # DEBUG BEGIN_STMT
  5307. # DEBUG pxQueue => xQueue_29(D)
  5308. # DEBUG BEGIN_STMT
  5309. if (xQueue_29(D) == 0B)
  5310. goto <bb 3>; [30.00%]
  5311. else
  5312. goto <bb 5>; [70.00%]
  5313. <bb 3> [local count: 107374]:
  5314. # DEBUG BEGIN_STMT
  5315. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5316. # DEBUG BEGIN_STMT
  5317. # DEBUG BEGIN_STMT
  5318. __asm__ __volatile__(" mov %0, %1
  5319. msr basepri, %0
  5320. isb
  5321. dsb
  5322. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  5323. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  5324. <bb 4> [local count: 1073741824]:
  5325. # DEBUG ulNewBASEPRI => NULL
  5326. # DEBUG BEGIN_STMT
  5327. # DEBUG BEGIN_STMT
  5328. # DEBUG BEGIN_STMT
  5329. <bb 42> [local count: 1073741824]:
  5330. goto <bb 4>; [100.00%]
  5331. <bb 5> [local count: 250539]:
  5332. # DEBUG BEGIN_STMT
  5333. # DEBUG BEGIN_STMT
  5334. if (pvItemToQueue_30(D) != 0B)
  5335. goto <bb 9>; [70.00%]
  5336. else
  5337. goto <bb 6>; [30.00%]
  5338. <bb 6> [local count: 75162]:
  5339. _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  5340. if (_1 == 0)
  5341. goto <bb 9>; [50.00%]
  5342. else
  5343. goto <bb 7>; [50.00%]
  5344. <bb 7> [local count: 37581]:
  5345. # DEBUG BEGIN_STMT
  5346. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5347. # DEBUG BEGIN_STMT
  5348. # DEBUG BEGIN_STMT
  5349. __asm__ __volatile__(" mov %0, %1
  5350. msr basepri, %0
  5351. isb
  5352. dsb
  5353. " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
  5354. # DEBUG ulNewBASEPRI => ulNewBASEPRI_68
  5355. <bb 8> [local count: 375809639]:
  5356. # DEBUG ulNewBASEPRI => NULL
  5357. # DEBUG BEGIN_STMT
  5358. # DEBUG BEGIN_STMT
  5359. # DEBUG BEGIN_STMT
  5360. <bb 45> [local count: 375809639]:
  5361. goto <bb 8>; [100.00%]
  5362. <bb 9> [local count: 212958]:
  5363. # DEBUG BEGIN_STMT
  5364. # DEBUG BEGIN_STMT
  5365. if (xCopyPosition_32(D) != 2)
  5366. goto <bb 13>; [48.88%]
  5367. else
  5368. goto <bb 10>; [51.12%]
  5369. <bb 10> [local count: 108864]:
  5370. _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  5371. if (_2 == 1)
  5372. goto <bb 13>; [34.00%]
  5373. else
  5374. goto <bb 11>; [66.00%]
  5375. <bb 11> [local count: 71850]:
  5376. # DEBUG BEGIN_STMT
  5377. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5378. # DEBUG BEGIN_STMT
  5379. # DEBUG BEGIN_STMT
  5380. __asm__ __volatile__(" mov %0, %1
  5381. msr basepri, %0
  5382. isb
  5383. dsb
  5384. " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
  5385. # DEBUG ulNewBASEPRI => ulNewBASEPRI_69
  5386. <bb 12> [local count: 718505940]:
  5387. # DEBUG ulNewBASEPRI => NULL
  5388. # DEBUG BEGIN_STMT
  5389. # DEBUG BEGIN_STMT
  5390. # DEBUG BEGIN_STMT
  5391. <bb 44> [local count: 718505940]:
  5392. goto <bb 12>; [100.00%]
  5393. <bb 13> [local count: 141108]:
  5394. # DEBUG BEGIN_STMT
  5395. # DEBUG BEGIN_STMT
  5396. _3 = xTaskGetSchedulerState ();
  5397. if (_3 != 0)
  5398. goto <bb 14>; [50.00%]
  5399. else
  5400. goto <bb 15>; [50.00%]
  5401. <bb 14> [local count: 105831]:
  5402. # xEntryTimeSet_36 = PHI <0(13), 0(15)>
  5403. goto <bb 19>; [100.00%]
  5404. <bb 15> [local count: 70554]:
  5405. xTicksToWait.3_4 = xTicksToWait;
  5406. if (xTicksToWait.3_4 == 0)
  5407. goto <bb 14>; [50.00%]
  5408. else
  5409. goto <bb 16>; [50.00%]
  5410. <bb 16> [local count: 35277]:
  5411. # DEBUG BEGIN_STMT
  5412. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5413. # DEBUG BEGIN_STMT
  5414. # DEBUG BEGIN_STMT
  5415. __asm__ __volatile__(" mov %0, %1
  5416. msr basepri, %0
  5417. isb
  5418. dsb
  5419. " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
  5420. # DEBUG ulNewBASEPRI => ulNewBASEPRI_70
  5421. <bb 17> [local count: 352770504]:
  5422. # DEBUG ulNewBASEPRI => NULL
  5423. # DEBUG BEGIN_STMT
  5424. # DEBUG BEGIN_STMT
  5425. # DEBUG BEGIN_STMT
  5426. <bb 43> [local count: 352770504]:
  5427. goto <bb 17>; [100.00%]
  5428. <bb 18> [local count: 896877]:
  5429. # xEntryTimeSet_18 = PHI <xEntryTimeSet_20(38), xEntryTimeSet_20(39), xEntryTimeSet_20(37)>
  5430. <bb 19> [local count: 1002708]:
  5431. # xEntryTimeSet_19 = PHI <xEntryTimeSet_36(14), xEntryTimeSet_18(18)>
  5432. # DEBUG xEntryTimeSet => xEntryTimeSet_19
  5433. # DEBUG BEGIN_STMT
  5434. # DEBUG BEGIN_STMT
  5435. # DEBUG BEGIN_STMT
  5436. vPortEnterCritical ();
  5437. # DEBUG BEGIN_STMT
  5438. _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
  5439. _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  5440. if (_5 < _6)
  5441. goto <bb 21>; [2.75%]
  5442. else
  5443. goto <bb 20>; [97.25%]
  5444. <bb 20> [local count: 975134]:
  5445. if (xCopyPosition_32(D) == 2)
  5446. goto <bb 21>; [2.75%]
  5447. else
  5448. goto <bb 27>; [97.25%]
  5449. <bb 21> [local count: 54391]:
  5450. # DEBUG BEGIN_STMT
  5451. # DEBUG BEGIN_STMT
  5452. xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  5453. # DEBUG xYieldRequired => xYieldRequired_57
  5454. # DEBUG BEGIN_STMT
  5455. _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
  5456. if (_7 != 0)
  5457. goto <bb 22>; [33.00%]
  5458. else
  5459. goto <bb 24>; [67.00%]
  5460. <bb 22> [local count: 17949]:
  5461. # DEBUG BEGIN_STMT
  5462. _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  5463. _9 = xTaskRemoveFromEventList (_8);
  5464. if (_9 != 0)
  5465. goto <bb 23>; [50.00%]
  5466. else
  5467. goto <bb 26>; [50.00%]
  5468. <bb 23> [local count: 8974]:
  5469. # DEBUG BEGIN_STMT
  5470. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5471. # DEBUG BEGIN_STMT
  5472. __asm__ __volatile__("dsb" : : : "memory");
  5473. # DEBUG BEGIN_STMT
  5474. __asm__ __volatile__("isb");
  5475. # DEBUG BEGIN_STMT
  5476. goto <bb 26>; [100.00%]
  5477. <bb 24> [local count: 36442]:
  5478. # DEBUG BEGIN_STMT
  5479. if (xYieldRequired_57 != 0)
  5480. goto <bb 25>; [50.00%]
  5481. else
  5482. goto <bb 26>; [50.00%]
  5483. <bb 25> [local count: 18221]:
  5484. # DEBUG BEGIN_STMT
  5485. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5486. # DEBUG BEGIN_STMT
  5487. __asm__ __volatile__("dsb" : : : "memory");
  5488. # DEBUG BEGIN_STMT
  5489. __asm__ __volatile__("isb");
  5490. # DEBUG BEGIN_STMT
  5491. <bb 26> [local count: 54391]:
  5492. # DEBUG BEGIN_STMT
  5493. # DEBUG BEGIN_STMT
  5494. vPortExitCritical ();
  5495. # DEBUG BEGIN_STMT
  5496. goto <bb 41>; [100.00%]
  5497. <bb 27> [local count: 948318]:
  5498. # DEBUG BEGIN_STMT
  5499. xTicksToWait.4_10 = xTicksToWait;
  5500. if (xTicksToWait.4_10 == 0)
  5501. goto <bb 28>; [2.75%]
  5502. else
  5503. goto <bb 29>; [97.25%]
  5504. <bb 28> [local count: 26079]:
  5505. # DEBUG BEGIN_STMT
  5506. vPortExitCritical ();
  5507. # DEBUG BEGIN_STMT
  5508. # DEBUG BEGIN_STMT
  5509. goto <bb 41>; [100.00%]
  5510. <bb 29> [local count: 922239]:
  5511. # DEBUG BEGIN_STMT
  5512. if (xEntryTimeSet_19 == 0)
  5513. goto <bb 30>; [33.00%]
  5514. else
  5515. goto <bb 31>; [67.00%]
  5516. <bb 30> [local count: 304339]:
  5517. # DEBUG BEGIN_STMT
  5518. vTaskInternalSetTimeOutState (&xTimeOut);
  5519. # DEBUG BEGIN_STMT
  5520. # DEBUG xEntryTimeSet => 1
  5521. <bb 31> [local count: 922239]:
  5522. # xEntryTimeSet_20 = PHI <xEntryTimeSet_19(29), 1(30)>
  5523. # DEBUG xEntryTimeSet => xEntryTimeSet_20
  5524. # DEBUG BEGIN_STMT
  5525. # DEBUG BEGIN_STMT
  5526. vPortExitCritical ();
  5527. # DEBUG BEGIN_STMT
  5528. vTaskSuspendAll ();
  5529. # DEBUG BEGIN_STMT
  5530. vPortEnterCritical ();
  5531. # DEBUG BEGIN_STMT
  5532. _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
  5533. if (_11 == -1)
  5534. goto <bb 32>; [34.00%]
  5535. else
  5536. goto <bb 33>; [66.00%]
  5537. <bb 32> [local count: 313561]:
  5538. # DEBUG BEGIN_STMT
  5539. MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
  5540. <bb 33> [local count: 922239]:
  5541. # DEBUG BEGIN_STMT
  5542. _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  5543. if (_12 == -1)
  5544. goto <bb 34>; [34.00%]
  5545. else
  5546. goto <bb 35>; [66.00%]
  5547. <bb 34> [local count: 313561]:
  5548. # DEBUG BEGIN_STMT
  5549. MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
  5550. <bb 35> [local count: 922239]:
  5551. # DEBUG BEGIN_STMT
  5552. vPortExitCritical ();
  5553. # DEBUG BEGIN_STMT
  5554. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  5555. if (_13 == 0)
  5556. goto <bb 36>; [97.25%]
  5557. else
  5558. goto <bb 40>; [2.75%]
  5559. <bb 36> [local count: 896877]:
  5560. # DEBUG BEGIN_STMT
  5561. _14 = prvIsQueueFull (xQueue_29(D));
  5562. if (_14 != 0)
  5563. goto <bb 37>; [50.00%]
  5564. else
  5565. goto <bb 39>; [50.00%]
  5566. <bb 37> [local count: 448439]:
  5567. # DEBUG BEGIN_STMT
  5568. # DEBUG BEGIN_STMT
  5569. _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  5570. xTicksToWait.5_16 = xTicksToWait;
  5571. vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  5572. # DEBUG BEGIN_STMT
  5573. prvUnlockQueue (xQueue_29(D));
  5574. # DEBUG BEGIN_STMT
  5575. _17 = xTaskResumeAll ();
  5576. if (_17 == 0)
  5577. goto <bb 38>; [50.00%]
  5578. else
  5579. goto <bb 18>; [50.00%]
  5580. <bb 38> [local count: 224219]:
  5581. # DEBUG BEGIN_STMT
  5582. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5583. # DEBUG BEGIN_STMT
  5584. __asm__ __volatile__("dsb" : : : "memory");
  5585. # DEBUG BEGIN_STMT
  5586. __asm__ __volatile__("isb");
  5587. goto <bb 18>; [100.00%]
  5588. <bb 39> [local count: 448439]:
  5589. # DEBUG BEGIN_STMT
  5590. prvUnlockQueue (xQueue_29(D));
  5591. # DEBUG BEGIN_STMT
  5592. xTaskResumeAll ();
  5593. goto <bb 18>; [100.00%]
  5594. <bb 40> [local count: 25362]:
  5595. # DEBUG BEGIN_STMT
  5596. prvUnlockQueue (xQueue_29(D));
  5597. # DEBUG BEGIN_STMT
  5598. xTaskResumeAll ();
  5599. # DEBUG BEGIN_STMT
  5600. # DEBUG BEGIN_STMT
  5601. <bb 41> [local count: 105831]:
  5602. # _21 = PHI <1(26), 0(28), 0(40)>
  5603. xTimeOut ={v} {CLOBBER};
  5604. return _21;
  5605. }
  5606. xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
  5607. {
  5608. uint32_t ulNewBASEPRI;
  5609. struct QueueDefinition * xHandle;
  5610. <bb 2> [local count: 128592]:
  5611. # DEBUG BEGIN_STMT
  5612. # DEBUG xHandle => 0B
  5613. # DEBUG BEGIN_STMT
  5614. if (uxMaxCount_2(D) != 0)
  5615. goto <bb 3>; [50.00%]
  5616. else
  5617. goto <bb 6>; [50.00%]
  5618. <bb 3> [local count: 64296]:
  5619. if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  5620. goto <bb 4>; [33.00%]
  5621. else
  5622. goto <bb 6>; [67.00%]
  5623. <bb 4> [local count: 21218]:
  5624. # DEBUG BEGIN_STMT
  5625. xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  5626. # DEBUG xHandle => xHandle_6
  5627. # DEBUG BEGIN_STMT
  5628. if (xHandle_6 != 0B)
  5629. goto <bb 5>; [70.00%]
  5630. else
  5631. goto <bb 8>; [30.00%]
  5632. <bb 5> [local count: 14852]:
  5633. # DEBUG BEGIN_STMT
  5634. MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  5635. # DEBUG BEGIN_STMT
  5636. goto <bb 8>; [100.00%]
  5637. <bb 6> [local count: 107374]:
  5638. # DEBUG BEGIN_STMT
  5639. # DEBUG BEGIN_STMT
  5640. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5641. # DEBUG BEGIN_STMT
  5642. # DEBUG BEGIN_STMT
  5643. __asm__ __volatile__(" mov %0, %1
  5644. msr basepri, %0
  5645. isb
  5646. dsb
  5647. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  5648. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  5649. <bb 7> [local count: 1073741824]:
  5650. # DEBUG ulNewBASEPRI => NULL
  5651. # DEBUG BEGIN_STMT
  5652. # DEBUG BEGIN_STMT
  5653. # DEBUG BEGIN_STMT
  5654. <bb 9> [local count: 1073741824]:
  5655. goto <bb 7>; [100.00%]
  5656. <bb 8> [local count: 21218]:
  5657. # DEBUG xHandle => xHandle_6
  5658. # DEBUG BEGIN_STMT
  5659. # DEBUG BEGIN_STMT
  5660. # DEBUG BEGIN_STMT
  5661. return xHandle_6;
  5662. }
  5663. xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait)
  5664. {
  5665. uint32_t ulNewBASEPRI;
  5666. BaseType_t xReturn;
  5667. struct tskTaskControlBlock * _1;
  5668. struct tskTaskControlBlock * _2;
  5669. long unsigned int _3;
  5670. long unsigned int _4;
  5671. long unsigned int _5;
  5672. long unsigned int _6;
  5673. <bb 2> [local count: 230763]:
  5674. # DEBUG BEGIN_STMT
  5675. # DEBUG BEGIN_STMT
  5676. # DEBUG pxMutex => xMutex_9(D)
  5677. # DEBUG BEGIN_STMT
  5678. if (xMutex_9(D) == 0B)
  5679. goto <bb 3>; [46.53%]
  5680. else
  5681. goto <bb 5>; [53.47%]
  5682. <bb 3> [local count: 107374]:
  5683. # DEBUG BEGIN_STMT
  5684. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5685. # DEBUG BEGIN_STMT
  5686. # DEBUG BEGIN_STMT
  5687. __asm__ __volatile__(" mov %0, %1
  5688. msr basepri, %0
  5689. isb
  5690. dsb
  5691. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  5692. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  5693. <bb 4> [local count: 1073741824]:
  5694. # DEBUG ulNewBASEPRI => NULL
  5695. # DEBUG BEGIN_STMT
  5696. # DEBUG BEGIN_STMT
  5697. # DEBUG BEGIN_STMT
  5698. <bb 10> [local count: 1073741824]:
  5699. goto <bb 4>; [100.00%]
  5700. <bb 5> [local count: 123389]:
  5701. # DEBUG BEGIN_STMT
  5702. # DEBUG BEGIN_STMT
  5703. # DEBUG BEGIN_STMT
  5704. _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
  5705. _2 = xTaskGetCurrentTaskHandle ();
  5706. if (_1 == _2)
  5707. goto <bb 6>; [46.53%]
  5708. else
  5709. goto <bb 7>; [53.47%]
  5710. <bb 6> [local count: 57413]:
  5711. # DEBUG BEGIN_STMT
  5712. _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  5713. _4 = _3 + 1;
  5714. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  5715. # DEBUG BEGIN_STMT
  5716. # DEBUG xReturn => 1
  5717. goto <bb 9>; [100.00%]
  5718. <bb 7> [local count: 65976]:
  5719. # DEBUG BEGIN_STMT
  5720. xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  5721. # DEBUG xReturn => xReturn_14
  5722. # DEBUG BEGIN_STMT
  5723. if (xReturn_14 != 0)
  5724. goto <bb 8>; [50.00%]
  5725. else
  5726. goto <bb 9>; [50.00%]
  5727. <bb 8> [local count: 32988]:
  5728. # DEBUG BEGIN_STMT
  5729. _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  5730. _6 = _5 + 1;
  5731. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
  5732. <bb 9> [local count: 123389]:
  5733. # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)>
  5734. # DEBUG xReturn => xReturn_7
  5735. # DEBUG BEGIN_STMT
  5736. # DEBUG BEGIN_STMT
  5737. return xReturn_7;
  5738. }
  5739. xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
  5740. {
  5741. uint32_t ulNewBASEPRI;
  5742. BaseType_t xReturn;
  5743. struct tskTaskControlBlock * _1;
  5744. struct tskTaskControlBlock * _2;
  5745. long unsigned int _3;
  5746. long unsigned int _4;
  5747. <bb 2> [local count: 230763]:
  5748. # DEBUG BEGIN_STMT
  5749. # DEBUG BEGIN_STMT
  5750. # DEBUG pxMutex => xMutex_7(D)
  5751. # DEBUG BEGIN_STMT
  5752. if (xMutex_7(D) == 0B)
  5753. goto <bb 3>; [46.53%]
  5754. else
  5755. goto <bb 5>; [53.47%]
  5756. <bb 3> [local count: 107374]:
  5757. # DEBUG BEGIN_STMT
  5758. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5759. # DEBUG BEGIN_STMT
  5760. # DEBUG BEGIN_STMT
  5761. __asm__ __volatile__(" mov %0, %1
  5762. msr basepri, %0
  5763. isb
  5764. dsb
  5765. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  5766. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  5767. <bb 4> [local count: 1073741824]:
  5768. # DEBUG ulNewBASEPRI => NULL
  5769. # DEBUG BEGIN_STMT
  5770. # DEBUG BEGIN_STMT
  5771. # DEBUG BEGIN_STMT
  5772. <bb 10> [local count: 1073741824]:
  5773. goto <bb 4>; [100.00%]
  5774. <bb 5> [local count: 123389]:
  5775. # DEBUG BEGIN_STMT
  5776. # DEBUG BEGIN_STMT
  5777. _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
  5778. _2 = xTaskGetCurrentTaskHandle ();
  5779. if (_1 == _2)
  5780. goto <bb 6>; [30.00%]
  5781. else
  5782. goto <bb 9>; [70.00%]
  5783. <bb 6> [local count: 37017]:
  5784. # DEBUG BEGIN_STMT
  5785. # DEBUG BEGIN_STMT
  5786. _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
  5787. _4 = _3 + 4294967295;
  5788. MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  5789. # DEBUG BEGIN_STMT
  5790. if (_4 == 0)
  5791. goto <bb 7>; [33.00%]
  5792. else
  5793. goto <bb 9>; [67.00%]
  5794. <bb 7> [local count: 12216]:
  5795. # DEBUG BEGIN_STMT
  5796. xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  5797. <bb 9> [local count: 123389]:
  5798. # xReturn_5 = PHI <1(7), 0(5), 1(6)>
  5799. # DEBUG xReturn => xReturn_5
  5800. # DEBUG BEGIN_STMT
  5801. # DEBUG BEGIN_STMT
  5802. return xReturn_5;
  5803. }
  5804. xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
  5805. {
  5806. uint32_t ulNewBASEPRI;
  5807. struct tskTaskControlBlock * pxReturn;
  5808. int8_t * _1;
  5809. <bb 2> [local count: 357913]:
  5810. # DEBUG BEGIN_STMT
  5811. # DEBUG BEGIN_STMT
  5812. if (xSemaphore_3(D) == 0B)
  5813. goto <bb 3>; [30.00%]
  5814. else
  5815. goto <bb 5>; [70.00%]
  5816. <bb 3> [local count: 107374]:
  5817. # DEBUG BEGIN_STMT
  5818. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5819. # DEBUG BEGIN_STMT
  5820. # DEBUG BEGIN_STMT
  5821. __asm__ __volatile__(" mov %0, %1
  5822. msr basepri, %0
  5823. isb
  5824. dsb
  5825. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  5826. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  5827. <bb 4> [local count: 1073741824]:
  5828. # DEBUG ulNewBASEPRI => NULL
  5829. # DEBUG BEGIN_STMT
  5830. # DEBUG BEGIN_STMT
  5831. # DEBUG BEGIN_STMT
  5832. <bb 8> [local count: 1073741824]:
  5833. goto <bb 4>; [100.00%]
  5834. <bb 5> [local count: 250539]:
  5835. # DEBUG BEGIN_STMT
  5836. # DEBUG BEGIN_STMT
  5837. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  5838. if (_1 == 0B)
  5839. goto <bb 6>; [51.20%]
  5840. else
  5841. goto <bb 7>; [48.80%]
  5842. <bb 6> [local count: 128276]:
  5843. # DEBUG BEGIN_STMT
  5844. pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  5845. # DEBUG pxReturn => pxReturn_5
  5846. <bb 7> [local count: 250539]:
  5847. # pxReturn_2 = PHI <pxReturn_5(6), 0B(5)>
  5848. # DEBUG pxReturn => pxReturn_2
  5849. # DEBUG BEGIN_STMT
  5850. return pxReturn_2;
  5851. }
  5852. xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
  5853. {
  5854. uint32_t ulNewBASEPRI;
  5855. struct tskTaskControlBlock * pxReturn;
  5856. int8_t * _1;
  5857. <bb 2> [local count: 230763]:
  5858. # DEBUG BEGIN_STMT
  5859. # DEBUG BEGIN_STMT
  5860. # DEBUG pxSemaphore => xSemaphore_3(D)
  5861. # DEBUG BEGIN_STMT
  5862. if (xSemaphore_3(D) == 0B)
  5863. goto <bb 3>; [46.53%]
  5864. else
  5865. goto <bb 5>; [53.47%]
  5866. <bb 3> [local count: 107374]:
  5867. # DEBUG BEGIN_STMT
  5868. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5869. # DEBUG BEGIN_STMT
  5870. # DEBUG BEGIN_STMT
  5871. __asm__ __volatile__(" mov %0, %1
  5872. msr basepri, %0
  5873. isb
  5874. dsb
  5875. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  5876. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  5877. <bb 4> [local count: 1073741824]:
  5878. # DEBUG ulNewBASEPRI => NULL
  5879. # DEBUG BEGIN_STMT
  5880. # DEBUG BEGIN_STMT
  5881. # DEBUG BEGIN_STMT
  5882. <bb 8> [local count: 1073741824]:
  5883. goto <bb 4>; [100.00%]
  5884. <bb 5> [local count: 123389]:
  5885. # DEBUG BEGIN_STMT
  5886. # DEBUG BEGIN_STMT
  5887. vPortEnterCritical ();
  5888. # DEBUG BEGIN_STMT
  5889. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  5890. if (_1 == 0B)
  5891. goto <bb 6>; [51.20%]
  5892. else
  5893. goto <bb 7>; [48.80%]
  5894. <bb 6> [local count: 63175]:
  5895. # DEBUG BEGIN_STMT
  5896. pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  5897. # DEBUG pxReturn => pxReturn_6
  5898. <bb 7> [local count: 123389]:
  5899. # pxReturn_2 = PHI <pxReturn_6(6), 0B(5)>
  5900. # DEBUG pxReturn => pxReturn_2
  5901. # DEBUG BEGIN_STMT
  5902. vPortExitCritical ();
  5903. # DEBUG BEGIN_STMT
  5904. return pxReturn_2;
  5905. }
  5906. xQueueCreateMutex (const uint8_t ucQueueType)
  5907. {
  5908. struct QueueDefinition * xNewQueue;
  5909. <bb 2> [local count: 1073741824]:
  5910. # DEBUG BEGIN_STMT
  5911. # DEBUG BEGIN_STMT
  5912. # DEBUG uxMutexLength => 1
  5913. # DEBUG uxMutexSize => 0
  5914. # DEBUG BEGIN_STMT
  5915. xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  5916. # DEBUG xNewQueue => xNewQueue_4
  5917. # DEBUG BEGIN_STMT
  5918. prvInitialiseMutex (xNewQueue_4);
  5919. # DEBUG BEGIN_STMT
  5920. return xNewQueue_4;
  5921. }
  5922. prvInitialiseMutex (struct Queue_t * pxNewQueue)
  5923. {
  5924. <bb 2> [local count: 1073741824]:
  5925. # DEBUG BEGIN_STMT
  5926. if (pxNewQueue_2(D) != 0B)
  5927. goto <bb 3>; [53.47%]
  5928. else
  5929. goto <bb 4>; [46.53%]
  5930. <bb 3> [local count: 574129754]:
  5931. # DEBUG BEGIN_STMT
  5932. pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
  5933. # DEBUG BEGIN_STMT
  5934. pxNewQueue_2(D)->pcHead = 0B;
  5935. # DEBUG BEGIN_STMT
  5936. pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
  5937. # DEBUG BEGIN_STMT
  5938. # DEBUG BEGIN_STMT
  5939. xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  5940. <bb 4> [local count: 1073741824]:
  5941. # DEBUG BEGIN_STMT
  5942. return;
  5943. }
  5944. prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue)
  5945. {
  5946. <bb 2> [local count: 1073741824]:
  5947. # DEBUG BEGIN_STMT
  5948. # DEBUG BEGIN_STMT
  5949. if (uxItemSize_2(D) == 0)
  5950. goto <bb 3>; [50.00%]
  5951. else
  5952. goto <bb 4>; [50.00%]
  5953. <bb 3> [local count: 536870913]:
  5954. # DEBUG BEGIN_STMT
  5955. pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
  5956. goto <bb 5>; [100.00%]
  5957. <bb 4> [local count: 536870913]:
  5958. # DEBUG BEGIN_STMT
  5959. pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);
  5960. <bb 5> [local count: 1073741824]:
  5961. # DEBUG BEGIN_STMT
  5962. pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
  5963. # DEBUG BEGIN_STMT
  5964. pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
  5965. # DEBUG BEGIN_STMT
  5966. xQueueGenericReset (pxNewQueue_4(D), 1);
  5967. # DEBUG BEGIN_STMT
  5968. pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
  5969. # DEBUG BEGIN_STMT
  5970. return;
  5971. }
  5972. xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
  5973. {
  5974. uint32_t ulNewBASEPRI;
  5975. uint8_t * pucQueueStorage;
  5976. struct Queue_t * pxNewQueue;
  5977. __complex__ long unsigned int _1;
  5978. long unsigned int _2;
  5979. long unsigned int _3;
  5980. unsigned int _4;
  5981. <bb 2> [local count: 117029]:
  5982. # DEBUG BEGIN_STMT
  5983. # DEBUG pxNewQueue => 0B
  5984. # DEBUG BEGIN_STMT
  5985. # DEBUG BEGIN_STMT
  5986. # DEBUG BEGIN_STMT
  5987. if (uxQueueLength_6(D) != 0)
  5988. goto <bb 3>; [50.00%]
  5989. else
  5990. goto <bb 7>; [50.00%]
  5991. <bb 3> [local count: 58514]:
  5992. _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  5993. _2 = IMAGPART_EXPR <_1>;
  5994. if (_2 == 0)
  5995. goto <bb 4>; [50.00%]
  5996. else
  5997. goto <bb 7>; [50.00%]
  5998. <bb 4> [local count: 29257]:
  5999. _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  6000. if (_3 <= 4294967215)
  6001. goto <bb 5>; [33.00%]
  6002. else
  6003. goto <bb 7>; [67.00%]
  6004. <bb 5> [local count: 9655]:
  6005. # DEBUG BEGIN_STMT
  6006. # DEBUG xQueueSizeInBytes => _3
  6007. # DEBUG BEGIN_STMT
  6008. _4 = _3 + 80;
  6009. pxNewQueue_10 = pvPortMalloc (_4);
  6010. # DEBUG pxNewQueue => pxNewQueue_10
  6011. # DEBUG BEGIN_STMT
  6012. if (pxNewQueue_10 != 0B)
  6013. goto <bb 6>; [53.47%]
  6014. else
  6015. goto <bb 9>; [46.53%]
  6016. <bb 6> [local count: 5162]:
  6017. # DEBUG BEGIN_STMT
  6018. # DEBUG pucQueueStorage => pxNewQueue_10
  6019. # DEBUG BEGIN_STMT
  6020. pucQueueStorage_11 = pxNewQueue_10 + 80;
  6021. # DEBUG pucQueueStorage => pucQueueStorage_11
  6022. # DEBUG BEGIN_STMT
  6023. prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  6024. goto <bb 9>; [100.00%]
  6025. <bb 7> [local count: 107374]:
  6026. # DEBUG BEGIN_STMT
  6027. # DEBUG BEGIN_STMT
  6028. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6029. # DEBUG BEGIN_STMT
  6030. # DEBUG BEGIN_STMT
  6031. __asm__ __volatile__(" mov %0, %1
  6032. msr basepri, %0
  6033. isb
  6034. dsb
  6035. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  6036. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  6037. <bb 8> [local count: 1073741824]:
  6038. # DEBUG ulNewBASEPRI => NULL
  6039. # DEBUG BEGIN_STMT
  6040. # DEBUG BEGIN_STMT
  6041. # DEBUG BEGIN_STMT
  6042. <bb 10> [local count: 1073741824]:
  6043. goto <bb 8>; [100.00%]
  6044. <bb 9> [local count: 9655]:
  6045. # DEBUG pxNewQueue => pxNewQueue_10
  6046. # DEBUG BEGIN_STMT
  6047. # DEBUG BEGIN_STMT
  6048. # DEBUG BEGIN_STMT
  6049. return pxNewQueue_10;
  6050. }
  6051. xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  6052. {
  6053. BaseType_t D.7333;
  6054. uint32_t ulNewBASEPRI;
  6055. uint32_t ulNewBASEPRI;
  6056. long unsigned int _1;
  6057. __complex__ long unsigned int _2;
  6058. long unsigned int _3;
  6059. long unsigned int _4;
  6060. <bb 2> [local count: 183702]:
  6061. # DEBUG BEGIN_STMT
  6062. # DEBUG xReturn => 1
  6063. # DEBUG BEGIN_STMT
  6064. # DEBUG pxQueue => xQueue_5(D)
  6065. # DEBUG BEGIN_STMT
  6066. if (xQueue_5(D) == 0B)
  6067. goto <bb 3>; [30.00%]
  6068. else
  6069. goto <bb 5>; [70.00%]
  6070. <bb 3> [local count: 55111]:
  6071. # DEBUG BEGIN_STMT
  6072. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6073. # DEBUG BEGIN_STMT
  6074. # DEBUG BEGIN_STMT
  6075. __asm__ __volatile__(" mov %0, %1
  6076. msr basepri, %0
  6077. isb
  6078. dsb
  6079. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  6080. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  6081. <bb 4> [local count: 551107865]:
  6082. # DEBUG ulNewBASEPRI => NULL
  6083. # DEBUG BEGIN_STMT
  6084. # DEBUG BEGIN_STMT
  6085. # DEBUG BEGIN_STMT
  6086. <bb 10> [local count: 551107865]:
  6087. goto <bb 4>; [100.00%]
  6088. <bb 5> [local count: 128592]:
  6089. # DEBUG BEGIN_STMT
  6090. # DEBUG BEGIN_STMT
  6091. _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  6092. if (_1 != 0)
  6093. goto <bb 6>; [50.00%]
  6094. else
  6095. goto <bb 8>; [50.00%]
  6096. <bb 6> [local count: 64296]:
  6097. _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
  6098. _2 = .MUL_OVERFLOW (_3, _1);
  6099. _4 = IMAGPART_EXPR <_2>;
  6100. if (_4 == 0)
  6101. goto <bb 7>; [33.00%]
  6102. else
  6103. goto <bb 8>; [67.00%]
  6104. <bb 7> [local count: 21218]:
  6105. _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  6106. return _13;
  6107. <bb 8> [local count: 107374]:
  6108. # DEBUG xReturn => NULL
  6109. # DEBUG BEGIN_STMT
  6110. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6111. # DEBUG BEGIN_STMT
  6112. # DEBUG BEGIN_STMT
  6113. __asm__ __volatile__(" mov %0, %1
  6114. msr basepri, %0
  6115. isb
  6116. dsb
  6117. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  6118. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  6119. <bb 9> [local count: 1073741824]:
  6120. # DEBUG ulNewBASEPRI => NULL
  6121. # DEBUG BEGIN_STMT
  6122. # DEBUG BEGIN_STMT
  6123. # DEBUG BEGIN_STMT
  6124. <bb 11> [local count: 1073741824]:
  6125. goto <bb 9>; [100.00%]
  6126. }