12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818 |
- 2006-12-31 Richard Guenther <rguenther@suse.de>
- PR middle-end/30137
- * fold-const.c (fold_comparison): Fold comparison of addresses
- of components.
- 2006-12-31 Roger Sayle <roger@eyesopen.com>
- PR middle-end/30322
- * fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when
- we don't care about trapping overflow. Only convert -A - 1 into ~A
- when we don't care about trapping overflow.
- 2006-12-31 Richard Guenther <rguenther@suse.de>
- PR middle-end/30338
- * fold-const.c (fold_binary): Fix type-mismatch in folding
- of -1 - A to ~A.
- 2006-12-30 Kazu Hirata <kazu@codesourcery.com>
- * tree-inline.c: Fix a comment typo.
- 2006-12-30 Jan Hubicka <jh@suse.cz>
- * ipa-pure-const.c (check_operand): SSA_NAME is safe.
- * ipa-type-escape.c (scan_for_refs): Look into SSA_NAMEs.
- 2006-12-30 Jan Hubicka <jh@suse.cz>
- * tree.h (DECL_CALL_CLOBBERED): Remove.
- (tree_decl_common): Remove call_clobbered flag.
- * tree-flow.h (struct var_ann_d): Add call_clobbered flag.
- * tree-ssa-alias.c (mark_non_addressable, reset_cc_flags): Update.
- * tree-flow-inline.h (is_call_clobbered, mark_call_clobbered,
- clear_call_clobbered): Update.
- * tree-ssa.c (verify_call_clobbering): Update.
- 2006-12-30 Jan Hubicka <jh@suse.cz>
- * tree-ssa-alias.c (create_structure_vars): When in SSA, update operand
- caches.
- * tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken
- bitmap.
- 2006-12-30 Jan Hubicka <jh@suse.cz>
- Vladimir Yanovsky <volodyan@gmail.com>
- * emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
- amount of copies of INSN_NOTEs list.
- 2006-12-29 Jan Hubicka <jh@suse.cz>
- * cgraph.c (cgraph_expand_queue): Rename to...
- (cgraph_new_nodes): ... this one.
- (cgraph_state): New global variable.
- (cgraph_add_new_function): Work in more cases.
- * cgraph.h (cgraph_expand_queue): Rename to ...
- (cgraph_new_nodes): ... this one.
- (cgraph_state): New enum and static variable.
- (cgraph_add_new_function): Update prototype.
- (cgraph_process_new_functions): New.
- * omp-low.c (expand_omp_parallel): Update.
- * cgraphunit.c (initialize_inline_failed): Declare early.
- (cgraph_process_new_functions): New function.
- (cgraph_assemble_pending_functions): Use it.
- (cgraph_expand_all_functions): Use it.
- (cgraph_optimize): Use it; set cgraph_state.
- * passes.c (execute_one_pass, execute_ipa_pass_list): Process new
- functions
- 2006-12-29 Kazu Hirata <kazu@codesourcery.com>
- * tree-cfg.c (last_stmt_ptr): Remove.
- * tree-flow.h: Remove the prototype for last_stmt_ptr.
- * config/i386/i386.h (NON_QI_REG_P): Remove.
- * config/i386/predicates.md (non_q_regs_operand): Remove.
- 2006-12-29 Ian Lance Taylor <iant@google.com>
- * c-common.c (c_define_builtins): New static function broken out
- of c_common_nodes_and_builtins.
- (c_common_nodes_and_builtins): Call c_define_builtins unless only
- doing preprocessing.
- 2006-12-29 Jan Hubicka <jh@suse.cz>
- * tree-inline.c (remap_ssa_name): New function.
- (remap_decl): Update SSA datastructures for DECLs.
- (copy_body_r): Deal with SSA_NAMEs; add referenced global vars.
- (copy_bb): Set SSA_NAME def stmts.
- (update_ssa_acorss_eh_edges): New function.
- (copy_edge_for_bb): Call it; mark new vars for renaming.
- (copy_phis_for_bb): New function.
- (initialize_cfun): Break out from ...
- (copy_cfg_body): ... here; maintain AUX map for both directions;
- call SSA updating workers; do not produce copy of cfun to be copied.
- (setup_one_parameter): Do propagation across SSA form.
- (declare_return_variable): Work on SSA; use return_slot instead of
- address of return slot of argument to avoid folding back and forth.
- (expand_call_inline): Update SSA from on return values.
- (optimize_inline_calls): Do sanity checking, dead blocks removal,
- update SSA form.
- (tree_function_verioning): Update initialize_cfun.
- 2006-12-29 Marcin Dalecki <martin@dalecki.de>
- * doc/invoke.texi: Replace no longer supported -fno-strength-reduce
- with -fmerge-constants in sample code.
- 2006-12-28 Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (OBJS-common): Remove conflict.o
- (conflict.o): Remove.
- * basic-block.h: Remove the prototypes for conflict.c.
- * conflict.c: Remove.
- 2006-12-27 Daniel Berlin <dberlin@dberlin.org>
- * sbitmap.c (BITMAP_DEBUGGING): New macro.
- (do_popcount): Ditto.
- (sbitmap_verify_popcount): New function.
- (sbitmap_alloc): Set popcount to NULL, remove set of bytes
- member.
- (sbitmap_alloc_with_popcount): New function.
- (sbitmap_resize): Remove uses of bytes member and update
- popcount.
- (sbitmap_realloc): Remove uses of bytes member.
- (sbitmap_copy): Copy popcount.
- (sbitmap_copy_n): New function.
- (sbitmap_zero): Update popcount cache.
- (sbitmap_ones): Ditto.
- (sbitmap_a_and_b): Ditto.
- (sbitmap_a_or_b): Ditto.
- (sbitmap_a_xor_b): Ditto.
- (sbitmap_union_of_diff_cg): Assert non-existence of popcount
- cache.
- (sbitmap_union_of_diff): Ditto.
- (sbitmap_not): Ditto.
- (sbitmap_difference): Ditto.
- (sbitmap_a_and_b_cg): Ditto.
- (sbitmap_a_xor_b_cg): Ditto.
- (sbitmap_a_or_b_cg): Ditto.
- (sbitmap_a_or_b_and_c_cg): Ditto.
- (sbitmap_a_and_b_or_c_cg): Ditto.
- (sbitmap_intersection_of_succs): Ditto.
- (sbitmap_intersection_of_preds): Ditto.
- (sbitmap_union_of_succs): Ditto.
- (sbitmap_union_of_preds): Ditto.
- (popcount_table): New.
- (sbitmap_elt_popcount): New function.
- (sbitmap_popcount): Ditto.
- * sbitmap.h (sbitmap): Remove bytes member.
- Add popcount member.
- (SET_BIT): Macro turned into function.
- (RESET_BIT): Ditto.
- (SBITMAP_SIZE_BYTES): New macro.
- (sbitmap_free): Free popcount too.
- (sbitmap_alloc_with_popcount): New prototype.
- (sbitmap_copy_n): Ditto.
- (sbitmap_verify_popcount): Ditto.
- 2006-12-27 Ian Lance Taylor <iant@google.com>
- PR debug/26964
- * dwarf2out.c (gen_type_die): Don't write out a DIE for
- ENUMERAL_TYPE if it was already written out.
- 2006-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3,
- do_mpfr_sincos): Ensure target base equals two.
- 2006-12-26 Kazu Hirata <kazu@codesourcery.com>
- * tree-ssa-operands.c: Fix a comment typo.
- 2006-12-25 Kazu Hirata <kazu@codesourcery.com>
- * tree-vectorizer.h (VECT_SMODULO): Remove.
- 2006-12-24 Andreas Tobler <a.tobler@schweiz.org>
- * config/pa/pa.c: Remove heap vector type defines.
- 2006-12-24 Jan Hubicka <jh@suse.cz>
- * tree-ssa-operands.h (struct ssa_operand_memory_d):
- add ssa_operand_mem_size.
- * tree-ssa-operands.c (operands_bitmap_obstack): New.
- (ssa_operand_mem_size): Remove.
- (init_ssa_operands): Initialize obstack; use it.
- (fini_ssa_operands): Release obstack.
- (ssa_operand_alloc): Update.
- (finalize_ssa_vdefs, finalize_ssa_vuse_ops, copy_virtual_operands,
- get_mpt_for): Use obstack.
- * tree-ssa.c (delete_tree_ssa): Call fini_ssa_operands.
- * tree-outof-ssa.c: (remove_ssa_form): Don't call it here.
- 2006-12-24 Jan Hubicka <jh@suse.cz>
- * tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
- add newly referenced vars.
- 2006-12-24 Kazu Hirata <kazu@codesourcery.com>
- * basic-block.h: Remove the prototype for
- expected_value_to_br_prob.
- * rtl.h: Remove the prototypes for expand_builtin_expect_jump
- and purge_line_number_notes.
- 2006-12-23 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt,
- number_of_iterations_lt, number_of_iterations_le,
- number_of_iterations_cond, number_of_iterations_exit):
- Use integer_zerop/integer_nonzerop instead of
- null_or_integer_zerop/nonnull_and_integer_nonzerop.
- * tree.h (null_or_integer_zerop, nonnull_and_integer_nonzerop):
- Removed.
- * tree-scalar-evolution.c (simple_iv): Return zero for step of
- an invariant.
- * tree-ssa-loop-ivopts.c (alloc_iv): Do not set step of invariants
- to zero.
- (get_iv): Return NULL for non-scalar types. Use zero as a step
- of an invariant.
- (determine_biv_step, find_interesting_uses_op,
- find_interesting_uses_cond, find_interesting_uses_stmt,
- add_old_ivs_candidates, determine_use_iv_cost_condition,
- rewrite_use_compare, remove_unused_ivs):
- Use integer_zerop instead of null_or_integer_zerop.
- (struct ifs_ivopts_data): Replace step_p field with step field.
- (idx_find_step): Use zero as a step of an invariant. Modify
- step instead of *step_p.
- (find_interesting_uses_address): Use zero as a step of an invariant.
- Use integer_zerop instead of null_or_integer_zerop.
- (find_interesting_uses_outside): Call find_interesting_uses_op only
- for phi nodes for real operands.
- (add_candidate_1): Expect step to be non-NULL.
- * tree-ssa-loop-prefetch.c (idx_analyze_ref): Expect step to be
- non-NULL.
- 2006-12-23 Andrew Pinski <pinskia@gmail.com>
- * vec.c: Don't include tree.h.
- * Makefile.in (vec.o): Update dependencies.
- (build/vec.o): Likewise.
- 2006-12-23 Kazu Hirata <kazu@codesourcery.com>
- * common.opt (flag_force_mem): Remove.
- * doc/invoke.texi (-fforce-mem): Remove.
- * opts.c (common_handle_option): Don't handle OPT_fforce_mem.
- * Makefile.in (final.o): Depend on vecprim.h.
- * final.c: Include vecprim.h.
- (insn_addresses_): Change the type to VEC(int,heap)*.
- * insn-addr.h (INSN_ADDRESSES_DEFN): Remove.
- (INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, INSN_ADDRESSES_SIZE,
- INSN_ADDRESSES_NEW): Use VEC instead of VARRAY.
- 2006-12-23 Marcin Dalecki <martin@dalecki.de>
- * cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory
- consumption reporting.
- 2006-12-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- PR middle-end/7651
- * c.opt (Wmissing-parameter-type): New.
- * doc/invoke.texi (Wmissing-parameter-type): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * c-decl.c (store_parm_decls_oldstyle): Replace Wextra with
- Wmissing-parameter-type.
- 2006-12-23 Eric Botcazou <ebotcazou@adacore.com>
- * dwarf2out.c (dbx_reg_number): Do leaf register remapping
- only if the function is leaf.
- (multiple_reg_loc_descriptor): Likewise.
- 2006-12-23 Kazu Hirata <kazu@codesourcery.com>
- * rtl.h (NOTE_EXPECTED_VALUE): Remove.
- 2006-12-23 Jan Hubicka <jh@suse.cz>
- * toplev.c (dump_memory_report): Break out from...
- (finalize): Here.
- * toplev.h (dump_memory_report): Declare.
- (cmp_statistic): Rename to ...
- (final_cmp_statistic): ... this one
- (cmp_statistic): New.
- (dump_ggc_loc_staitsitcs): New FINAL parpameter.
- * common.opt (-fpre-ipa-mem-report, -fpost-ipa-mem-report): Declare.
- * varray.c (dump_varray_staitiscs): Do not segfault when no varray was
- allocated so far.
- * cgraphunit.c (cgraph_optimize): Dump the memory reports.
- 2006-12-22 Mike Stump <mrs@apple.com>
- * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add
- -mmacosx-version-min=10.4.
- (crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS).
- 2006-12-23 Jan Hubicka <jh@suse.cz>
- * tree-flow-inline.h (var_ann): External variable annotations are
- unshared too.
- (tree_common_ann): Handle correctly unshared variables annotations.
- * tree-dfa.c (create_var_ann): External variable annotations are
- unshared too.
- 2006-12-22 Kazu Hirata <kazu@codesourcery.com>
- * basic-block.h: Remove the prototype for
- commit_edge_insertions_watch_calls.
- * cfgrtl.c (commit_edge_insertion): Drop the last argument.
- Simplify.
- (commit_edge_insertions_watch_calls): Remove.
- (commit_edge_insertions): Adjust the call to
- commit_one_edge_insertion.
- 2006-12-22 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
- (number_of_iterations_ne, number_of_iterations_lt_to_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt,
- number_of_iterations_lt, number_of_iterations_le,
- number_of_iterations_cond, tree_simplify_using_condition_1,
- number_of_iterations_exit, find_loop_niter, loop_niter_by_eval,
- implies_nonnegative_p, implies_ge_p, record_nonwrapping_iv,
- idx_infer_loop_bounds, n_of_executions_at_most, scev_probably_wraps_p):
- Do not use zero_p/nonzero_p.
- * tree-ssa-loop-manip.c (determine_exit_conditions): Ditto.
- * tree-ssa-loop-ivopts.c (niter_for_exit, determine_biv_step,
- find_interesting_uses_op, find_interesting_uses_cond,
- find_interesting_uses_address, find_interesting_uses_stmt,
- strip_offset_1, add_candidate_1, add_old_ivs_candidates,
- difference_cost, determine_use_iv_cost_condition,
- rewrite_use_compare, remove_unused_ivs): Ditto.
- * tree-ssa-address.c (tree_mem_ref_addr, create_mem_ref_raw): Ditto.
- * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
- * tree-cfg.c (find_taken_edge_cond_expr): Ditto.
- * tree.h (zero_p): Declaration removed.
- (null_or_integer_zerop, nonnull_and_integer_nonzerop): New.
- 2006-12-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- PR middle-end/7651
- * c.opt (Wclobbered): New.
- * doc/invoke.texi (Wclobbered): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * flow.c (rest_of_handle_life): Replace Wextra with Wclobbered.
- * function.c (setjmp_vars_warning): Only warn for Wclobbered.
- (setjmp_args_warning): Likewise.
- 2006-12-22 Kazu Hirata <kazu@codesourcery.com>
- * config/elfos.h, config/spu/spu.c, tree-ssa-operands.h,
- tree-ssa-ter.c: Fix comment typos.
- 2006-12-22 Paolo Bonzini <bonzini@gnu.org>
- PR rtl-optimization/29840
- * fwprop.c (forward_propagate_into): Reject artificial uses/defs.
- (fwprop_init): Add DF_HARD_REGS to df_init call.
- 2006-12-21 Andrew Pinski <pinskia@gmail.com>
- * tree-nested.c (create_tmp_var_for): Check for vector type
- when setting DECL_GIMPLE_REG_P.
- 2006-12-21 Roger Sayle <roger@eyesopen.com>
- * tree-pretty-print.c (dump_generic_node): Avoid outputing "(void) 0;"
- as the else branch of a COND_EXPR.
- 2006-12-22 Kazu Hirata <kazu@codesourcery.com>
- * cgraphunit.c, config/i386/i386.c, config/ia64/ia64.c, cse.c,
- output.h, toplev.c, tree-affine.h, tree-flow.h,
- tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-live.c,
- tree-ssa-live.h, tree-ssa-operands.c, tree-ssa-ter.c,
- tree-vrp.c, varpool.c: Fix comment typos.
- * cgraphunit.c, varpool.c: Fix comment typos.
- 2006-12-22 Ulrich Weigand <uweigand@de.ibm.com>
- * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Define.
- * config/spu/spu.c (spu_expand_prologue): Set RTX_FRAME_RELATED_P
- for insn setting up the frame pointer. Do not set it for insns
- setting up scratch registers or storing the backchain.
- 2006-12-21 Eric Botcazou <ebotcazou@adacore.com>
- PR other/29639
- * configure.ac (HAVE_LD_EH_GC_SECTIONS): Check that exception tables
- are kept for .gnu.linkonce.t sections if COMDAT groups are disabled.
- * configure: Regenerate.
- 2006-12-21 Joseph Myers <joseph@codesourcery.com>
- * rtlanal.c (subreg_get_info): Do not make register size
- computations for mode sizes not divisible by the number of
- registers.
- 2006-12-21 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c (build_constraint_graph): Insert complex
- offsetted constraints into rhsvar, not lhsvar.
- 2006-12-21 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/30262
- PR middle-end/30263
- * tree-nested.c (walk_asm_expr): New function.
- (walk_stmts): Use it for ASM_EXPR.
- PR target/30230
- * config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
- (bundling): Use it.
- 2006-12-21 Nathan Sidwell <nathan@codesourcery.com>
- PR target/28966
- PR target/29248
- * reload1.c (reload): Realign stack after it changes size.
- 2006-12-20 Roger Sayle <roger@eyesopen.com>
- * simplify-rtx.c (simplify_subreg): Use the correct mode when
- determining whether a SUBREG of a CONCAT refers to the first or
- second component.
- 2006-12-21 Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.c (spu_builtin_mul_widen_even): Remove unused
- local variable `d'.
- 2006-12-20 Jan Hubicka <jh@suse.cz>
- * tree-dfa.c (add_referenced_var): Walk initializers of
- non-constant/readonly static vars.
- 2006-12-20 Jan Hubicka <jh@suse.cz>
- * tree-flow-inline.h (gimple_var_anns): New function.
- (var_ann): Use hashtable for static functions.
- * tree-dfa.c (create_var_ann): Likewise.
- * tree-ssa.c (var_ann_eq, var_ann_hash): New functions.
- (init_tree_ssa): Initialize var anns.
- (delete_tree_ssa): Delete var anns; also clear out gimple_df.
- * tree-flow.h (struct static_var_ann_d): New structure.
- (gimple_df): Add var_anns.
- 2006-12-20 Carlos O'Donell <carlos@codesourcery.com>
- PR bootstrap/30242
- * gcc/c-incpath.c (add_standard_paths): Only relocate paths that
- begin with the configured prefix.
- 2006-12-20 Jan Hubicka <jh@suse.cz>
- PR target/30213
- * i386.c (expand_setmem_epilogue): Fix formating.
- (dsmalest_pow2_greater_than): New function.
- (ix86_expand_movmem): Improve comments; avoid re-computing of
- epilogue size.
- (promote_duplicated_reg_to_size): Break out from ...
- (expand_setmem): ... this one; reorganize promotion code;
- improve comments; avoid recomputation of epilogue size.
- 2006-12-20 Andrew Pinski <pinskia@gmail.com>
- PR middle-end/30143
- * omp-low.c (init_tmp_var): New function.
- (save_tmp_var): New function.
- (lower_omp_1): Use them for VAR_DECL.
- 2006-12-20 Andrew Pinski <pinskia@gmail.com>
- * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
- CONSTRUCTORs as min invariants.
- 2006-12-20 Joseph Myers <joseph@codesourcery.com>
- * rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs):
- New.
- (subreg_regno_offset, subreg_offset_representable_p): Change to
- wrappers about subreg_get_info.
- (refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs.
- * rtl.h (subreg_nregs): Declare.
- * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to
- subreg_get_info.
- * caller-save.c (mark_set_regs, add_stored_regs): Use
- subreg_nregs.
- * df-scan.c (df_ref_record): Use subreg_nregs.
- * flow.c (mark_set_1): Use subreg_nregs.
- * postreload.c (move2add_note_store): Use subreg_nregs.
- * reload.c (decompose, refers_to_regno_for_reload_p,
- reg_overlap_mentioned_for_reload_p): Use subreg_nregs.
- * resource.c (update_live_status, mark_referenced_resources,
- mark_set_resources): Use subreg_nregs.
- 2006-12-20 Zdenek Dvorak <dvorakz@suse.cz>
- * loop-unswitch.c (unswitch_loop): Update arguments of
- duplicate_loop_to_header_edge call.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Ditto.
- * loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
- unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
- Ditto.
- * cfgloopmanip.c (loop_version): Ditto.
- (duplicate_loop_to_header_edge): Change
- type of to_remove to VEC(edge), remove n_to_remove argument.
- * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
- Change type of to_remove to VEC(edge), remove n_to_remove argument.
- (tree_unroll_loop): Update arguments of
- tree_duplicate_loop_to_header_edge call.
- * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge):
- Change type of to_remove to VEC(edge), remove n_to_remove argument.
- * cfghooks.h (struct cfg_hooks): Type of
- cfg_hook_duplicate_loop_to_header_edge changed.
- (cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
- * cfgloop.h (duplicate_loop_to_header_edge): Ditto.
- * tree-flow.h (tree_duplicate_loop_to_header_edge): Ditto.
- 2006-12-20 Dorit Nuzman <dorit@il.ibm.com>
- * config/spu/spu.md (vec_widen_umult_hi_v8hi): New.
- (vec_widen_umult_lo_v8hi, vec_widen_smult_hi_v8hi): New.
- (vec_widen_smult_lo_v8hi): New.
- * config/spu/spu.c (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
- (spu_builtin_mul_widen_even, spu_builtin_mul_widen_odd): New.
- 2006-12-20 Jan Hubicka <jh@suse.cz>
- * cgraph.c: Update overall comment; fix vertical spacing.
- * ipa-inline.c (cgraph_decide_inlining): Remove now redundant check.
- 2006-12-20 Jan Hubicka <jh@suse.cz>
- * cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New
- macros.
- (varpool_first_static_initializer, varpol_next_static_initializer): New
- inline functions.
- * ipa-reference.c (analyze_variable): Simplify.
- (static_execute): Use FOR_EACH_STATIC_INITIALIZER.
- * ipa-type-escape.c (type_escape_execute): Use FOR_EACH_STATIC_VARIABLE.
- 2006-12-19 Andrew Pinski <pinskia@gmail.com>
- PR tree-opt/30045
- * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
- non null.
- 2006-12-20 Ben Elliston <bje@au.ibm.com>
- * doc/invoke.texi (Optimize Options): Typo fix.
- 2006-12-19 Eric Christopher <echristo@apple.com>
- * config/darwin.c (machopic_select_section): Rewrite.
- (darwin_text_section): New.
- (darwin_rodata_section): Ditto.
- (darwin_mergeable_string_section): Ditto.
- (darwin_mergeable_constant_section): Ditto.
- * config/darwin-sections.def: Add SECTION_STRINGS for cstring_section.
- 2006-12-19 Steve Ellcey <sje@cup.hp.com>
- * config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL): Add undef.
- 2006-12-19 Paolo Bonzini <bonzini@gnu.org>
- PR bootstrap/29544
- * gcc/Makefile.in (STAGE1_CHECKING): Rename to...
- (STAGE1_CHECKING_CFLAGS): ... this.
- 2006-12-18 Andrew Pinski <pinskia@gmail.com>
- PR target/29779
- * config/rs6000/rs6000.c (altivec_init_builtins): Change to set
- READONLY on __builtin_altivec_mask_for_load instead of adding
- the attribute.
- 2006-12-18 Roger Sayle <roger@eyesopen.com>
- Eric Christopher <echristo@apple.com>
- PR target/29302
- * real.c (real_maxval): Correctly handle IBM extended double format.
- 2006-12-19 Jan Hubicka <jh@suse.cz>
- * expmed.c (expand_mult_const): Force operand to constant.
- * rs6000.c (rs6000_emit_set_const, rs6000_emit_set_long_const): Add
- copy_rtx to arguments.
- 2006-12-19 Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 2006-12-19 Ben Elliston <bje@au.ibm.com>
- * cse.c (cse_insn): Fix formatting.
- 2006-12-18 Geoffrey Keating <geoffk@apple.com>
- * doc/invoke.texi (Debugging Options): Document -g0.
- * config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0.
- * config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
- 2006-12-18 Ian Lance Taylor <iant@google.com>
- * c.opt (Wmissing-declarations): Add C++ and ObjC++.
- * doc/invoke.texi (Warning Options): -Wmissing-declarations now
- works for C++.
- 2006-12-18 Andrew MacLeod <amacleod@redhat.com>
- * tree-ssa-operands.h (struct vdef_optype_d): Rename to voptype_d.
- (struct vuse_optype_d): Delete.
- (SSA_OPERAND_MEMORY_SIZE): Delete.
- (struct ssa_operand_memory_d): Change mem array to size one.
- (NUM_VOP_FREE_BUCKETS): Define.
- (free_vuses, free_vdefs): Replace with vop_free_buckets array.
- (vdef_ops, vuse_ops, struct ssa_operand_iterator_d): Use voptype_d type.
- * tree-pretty-print.c (dump_vops): Use voptype_d type.
- * tree-ssa-operands.c (vop_free_bucket_size): New. Number of operands
- which fit into a chunk of memory from a specific bucket.
- (vop_free_bucket_index): New. Find correct size memory bucket.
- (init_vop_buckets): New. Initialize VOP free memory buckets.
- (add_vop_to_freelist): New. Add a VOP to the correct free list.
- (ssa_operand_mem_size): New. Current size of an operand memory chunk.
- (init_ssa_operands): Initialize operand memory and free lists.
- (fini_ssa_operands): Remove references to free_vuses and free_vdefs.
- (ssa_operand_alloc): Use graduated size memory allocation.
- (APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
- INITIALIZE_USE): Remove.
- (alloc_vop): New. Allocate a virtual operand.
- (alloc_vdef, alloc_vuse): Delete.
- (add_def_op, add_use_op): Directly setup pointers.
- (add_vop): New. Add a virtual operand.
- (add_vuse_op, add_vdef_op): Call add_vop.
- (realloc_vop): New. Reallocate a virtual operand.
- (realloc_vdef, realloc_vuse): Call realloc_vop.
- (finalize_ssa_def_ops): Delete. Move content to finalize_ssa_defs.
- (finalize_ssa_defs): Optimize for common case, remove code based on
- sorted pointers which was a waste of time.
- (finalize_ssa_use_ops): Delete. Move content to finalize_ssa_uses.
- (finalize_ssa_uses): Update last pointer.
- (finalize_ssa_vdef_ops): Delete. Move content to finalize_ssa_vdefs.
- (finalize_ssa_vdefs, finalize_ssa_vuse_ops): Use voptype_d and
- directly manipulate pointers.
- (copy_virtual_operands): Use voptype_d, and no need to update pointers.
- 2006-12-18 Nathan Sidwell <nathan@codesourcery.com>
- * config/rs6000/rs6000.md (*movdf_hardfloat32): Use %X format to
- determine if memory operand is an indexed address or not.
- 2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
- * cselib.c (struct cselib_val_struct): Make val_rtx its
- own field, remove the union that contained it.
- * cselib.c: Update accordingly where necessary.
- 2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (have_eh_succ_edges): New function.
- (cse_insn): Don't remove dead EH edges here
- (cse_extended_basic_block): Do it here.
- (rest_of_handle_cse, rest_of_handle_cse2): Don't assert
- that we have removed all dead edges.
- 2006-12-17 Matthias Klose <doko@debian.org>
- PR libstdc++/11953
- * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
- 2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
- (cse_extended_basic_block): When truncating a path while processing
- it, make sure to clear the visited bit on the basic blocks in the
- truncated part of the path.
- (cse_main): Use reverse completion order, not DFS order, to walk
- the CFG.
- (gate_handle_cse): Revert erroneous commit of a counter.
- 2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (this_insn_cc0, this_insn_cc0_mode): New global
- variables, moved out from cse_insn.
- (prev_insn): Remove this global variable).
- (new_basic_block): Don't set it.
- (cse_insn): Idem. Also, move code to delete unused CC0-setter
- insns and code to set prev_insn_cc0 and prev_insn_cc0_mode
- from here...
- (cse_extended_basic_block): ...to here. Do not clear
- prev_insn_cc0 until after recording equivalences from jumps.
- 2006-12-16 Jan Hubicka <jh@suse.cz>
- * cgraphunit.c (ipa_passes): Clear current_function_decl.
- 2006-12-16 Andreas Tobler <a.tobler@schweiz.org>
- * passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.
- 2006-12-16 Jan Hubicka <jh@suse.cz>
- * omp-low.c (expand_omp_parallel): Set function properties.
- * function.h (struct function): Add curr_properties and last_verified.
- * passes.c (register_dump_files): Do not set TODO_set_props for the
- first pass
- (init_optimization_passes): Set it here; reorder initialization so the
- dump files appear in more logical order.
- (last_verified, curr_properties): Kill.
- (do_per_function): New function.
- (execute_function_todo): Break out from ...
- (execute_todo): ... here; handle per-function flags.
- (clear_last_verified, verify_curr_properties,
- update_properties_after_pass): New functions.
- (execute_one_pass): Handle per-function properties.
- (execute_ipa_pass_list): Use do_per_function; sanity check that cfun
- and current_function_decls are cleared out.
- * ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl
- after use.
- 2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- PR middle-end/7651
- * c.opt (Wempty-body): New.
- * doc/invoke.texi (Wempty-body): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
- * c-parser.c (c_parser_c99_block_statement): Likewise.
- 2006-12-15 Jakub Jelinek <jakub@redhat.com>
- PR target/30185
- * config/rs6000/rs6000.md (div<mode>3): Use correct mode in
- force_reg call.
- 2006-12-15 Andrew Pinski <pinski@gmail.com>
- PR tree-opt/30140
- * tree-inline.c (setup_one_parameter): Gimplify the statement if
- the variable is not a gimple register variable.
- 2006-12-15 Uros Bizjak <ubizjak@gmail.com>
- * invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
- 2006-12-14 Jan Hubicka <jh@suse.cz>
- * tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
- to proper place.
- 2006-12-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/30197
- * builtins.c (fold_builtin_cexp): New function to fold cexp
- to cexpi and exp parts.
- * tree-ssa-pre.c (try_combine_conversion): Also handle
- REALPART_EXPR and IMAGPART_EXPR.
- 2006-12-14 Richard Guenther <rguenther@suse.de>
- PR middle-end/30172
- * fold-const.c (fold_binary): Fold __complex__ ( x, 0 )
- + __complex__ ( 0, y ) to __complex__ ( x, y ).
- Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x).
- 2006-12-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/30198
- * fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos.
- Fold IMAGPART_EXPR of cexpi to sin.
- 2006-12-14 Dorit Nuzman <dorit@il.ibm.com>
- Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
- (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read
- only.
- (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin.
- (spu_builtin_mask_for_load): New.
- * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin.
- * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New.
- (vec_realign_load_<mode>, spu_lvsr): New.
- 2006-12-13 Ian Lance Taylor <iant@google.com>
- PR c++/19564
- PR c++/19756
- * c-typeck.c (parser_build_binary_op): Move parentheses warnings
- to warn_about_parentheses in c-common.c.
- * c-common.c (warn_about_parentheses): New function.
- * c-common.h (warn_about_parentheses): Declare.
- * doc/invoke.texi (Warning Options): Update -Wparentheses
- description.
- 2006-12-13 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-ivopts.c: Include tree-affine.h.
- (divide): Removed.
- (constant_multiple_of): Fix order of operators for division.
- (aff_combination_const, aff_combination_elt, aff_combination_scale,
- aff_combination_add_elt, aff_combination_add, aff_combination_convert,
- tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination,
- aff_combination_to_tree): Moved to tree-affine.c and made to work with
- double_int coefficients.
- (get_computation_aff, get_computation_at): Work with double_int
- coefficients.
- (get_computation_cost_at): Do not use divide.
- (rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare):
- Assert that expressing the computation did not fail.
- * tree-ssa-address.c: Include tree-affine.h.
- (add_to_parts, most_expensive_mult_to_index, addr_to_parts,
- create_mem_ref): Work with double_int coefficients.
- * tree-affine.c: New file.
- * tree-affine.h: New file.
- * tree-flow.h (struct affine_tree_combination): Removed.
- * Makefile.in (tree-affine.o): Add.
- (tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h
- dependency.
- 2006-12-13 Peter Bergner <bergner@vnet.ibm.com>
- PR middle-end/30191
- Revert:
- * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
- the offset == 0 "then" clauses.
- * config/rs6000/predicates.md (gpc_reg_operand): Check for
- reload_in_progress.
- 2006-12-13 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register.
- (REG_ALLOC_ORDER): Remove one element due to removal of dir register.
- (FRAME_POINTER_REGNUM): Update register number to 20.
- (REG_CLASS_CONTENTS): Update contents due to removed dir register.
- (HI_REGISTER_NAMES): Remove "dirflag".
- * config/i386/i386.c (regclass_map): Remove dirflag entry.
- (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
- Remove "dir" entry.
- (ix86_md_asm_clobbers): Remove "dirflag" default asm clobber.
- * config/i386/i386.md (R10_REG, R11_REG): Renumber.
- (sse_prologue_save, *sse_prologue_save_insn): Renumber
- hardcoded SSE register numbers.
- * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
- hardcoded MMX register numbers.
- 2006-12-13 Mark Shinwell <shinwell@codesourcery.com>
- * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of
- FLDMX. Rename function to...
- (vfp_output_fldmd): ...this.
- (vfp_output_fstmx): Output FSTMD instead of FSTMX. Rename
- function to...
- (vfp_output_fstmd): ...this.
- (vfp_emit_fstmx): Don't leave space in the frame layout for the
- FSTMX format word. Rename function to...
- (vfp_emit_fstmd): ...this.
- (arm_get_vfp_saved_size): Don't add in space for the FSTMX format
- word.
- (arm_output_epilogue): Adjust comment to reflect use of FSTMD.
- (arm_unwind_emit_sequence): Don't compensate for the FSTMX format
- word. Also emit "vsave" assembler directives in such cases rather
- than "save".
- * config/arm/libunwind.S (gnu_Unwind_Restore_VFP,
- gnu_Unwind_Save_VFP): Adjust comments.
- (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions
- for saving and restoring using FSTMD and FLDMD rather than
- FSTMX and FLDMX.
- (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31):
- New functions for saving and restoring the VFPv3 registers 16 .. 31.
- * config/arm/pr-support.c (gnu_unwind_execute): Add conditional
- compilation case to correctly handle unwind opcode 0xc8 when using
- VFP.
- * config/arm/unwind-arm.c (struct vfpv3_regs): New.
- (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags.
- (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D,
- __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31):
- Declare.
- (restore_non_core_regs): Restore registers using FLDMD rather than
- FLDMX if required. Also handle restoration of VFPv3 registers.
- (_Unwind_VRS_Pop): Handle saving and restoring of registers using
- FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31,
- including cases where the caller specifies a range of registers
- that overlaps the d15/d16 boundary.
- 2006-12-13 Diego Novillo <dnovillo@redhat.com>
- PR 30089
- * tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to
- accomodate 511 operands.
- 2006-12-13 Richard Guenther <rguenther@suse.de>
- * builtins.c (expand_builtin_cexpi): Fix typo.
- 2006-12-13 Jan Hubicka <jh@suse.cz>
- * Makefile.in: Add dependencies.
- * tree-pretty-print.c: Include value-prof.h
- (dump_generic_bb_buff): Dump histograms
- * value-prof.c: Include pointer-set.h
- (gimple_alloc_histogram_value, histogram_hash, histogram_eq,
- set_histogram_value, gimple_histogram_value,
- gimple_add_histogram_value, gimple_remove_histogram_value,
- gimple_histogram_value_of_type, dump_histogram_value,
- dump_histograms_for_stmt, gimple_remove_stmt_histograms,
- gimple_duplicate_stmt_histograms, visit_hist,
- verify_histograms): New functions.
- (tree_value_profile_transformations): Update for new histogram API.
- (tree_divmod_fixed_value): Update for new histogram API.
- (tree_divmod_fixed_value_transform): Update for new histogram API.
- (tree_mod_pow2): Update for new histogram API.
- (tree_mod_pow2_value_transform): Update for new histogram API.
- (tree_mod_subtract): Update for new histogram API.
- (tree_mod_subtract_transform): Update for new histogram API.
- (tree_stringops_transform): Update for new histogram API.
- (tree_divmod_values_to_profile): Update for new histogram API.
- (tree_stringops_values_to_profile): Update for new histogram API.
- (tree_find_values_to_profile): Update for new histogram API.
- * value-prof.h (gimple_histogram_value): Declare.
- (gimple_histogram_value_of_type): Declare.
- (gimple_add_histogram_value): Declare.
- (gimple_remove_histogram_value): Declare.
- (dump_histograms_for_stmt): Declare.
- (gimple_remove_histogram_value): Declare.
- (gimple_remove_stmt_histograms): Declare.
- (gimple_duplicate_stmt_histograms): Declare.
- (verify_histograms): Declare.
- * function.h
- (struct funrction): Add value_histograms hash.
- (VALUE_HISTOGRAMS): New macro.
- * profile.c (compute_value_histograms): update for new API.
- * tree-inline.c: Include value-prof.h
- (copy_bb): Update histograms.
- * tree-flow.h (struct stmt_ann_d): Do not contain pointer to histograms;
- reorder to get smaller memory layout.
- * tree-cfg.c: Include value-prof.h
- (bsi_remove): Update histograms.
- (bsi_replace): Update histograms.
- (verify_stmts): Call histogram verifier.
- (tree_duplicate_bb): Update histograms.
- (move_block_to_fn): Update histograms.
- 2006-12-13 Richard Guenther <rguenther@suse.de>
- * ipa-inline.c (cgraph_flatten_node): Replace leafify with
- flatten.
- (cgraph_decide_inlining): Likewise.
- 2006-12-13 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/17687
- * builtins.def (BUILT_IN_CEXPI, BUILT_IN_CEXPIF, BUILT_IN_CEXPIL):
- New builtins for imaginary argument cexp.
- * builtin-types.def (BT_FN_COMPLEX_FLOAT_FLOAT,
- BT_FN_COMPLEX_DOUBLE_DOUBLE, BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE):
- New required builtin types.
- * builtins.c (expand_builtin_cexpi): Declare.
- (mathfn_built_in): Handle BUILT_IN_CEXPI.
- (expand_builtin_cexpi): New static helper.
- (expand_builtin): Call it.
- (do_mpfr_sincos): Adjust for CEXPI evaluation.
- (fold_builtin_sincos): New function to fold sincos to cepxi.
- 2006-12-13 Richard Guenther <rguenther@suse.de>
- * ipa-reference.c (scan_for_static_refs): Also scan
- tcc_comparison class trees.
- 2006-12-12 David Daney <ddaney@avtrex.com>
- * config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
- define.
- 2006-12-12 Andrew Pinski <pinskia@gmail.com>
- * tree-vect-transform.c (vect_permute_load_chain):
- Set DECL_GIMPLE_REG_P to true for the vect_perm_*
- temp variables.
- 2006-12-13 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
- (REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag.
- * config/spu/spu-protos.h (spu_c_common_override_options):
- Declare.
- * config/spu/spu-c.c (spu_c_common_override_options): New.
- * config/spu/spu.c (spu_override_options): Whitespace fix.
- 2006-12-12 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/spu.c (cpat_info): Fix an incorrectly identified case.
- 2006-12-12 Geoffrey Keating <geoffk@apple.com>
- * mips-tdump.c: Replace CROSS_COMPILE with
- CROSS_DIRECTORY_STRUCTURE.
- * mips-tfile.c: Likewise.
- * gcc.c: Likewise.
- * configure.ac: Likewise.
- * cppdefault.c: Likewise.
- * Makefile.in: Likewise.
- * config/alpha/osf.h: Likewise.
- * config/i386/cygwin.h: Likewise.
- * config/i386/beos-elf.h: Likewise.
- * config/i386/nto.h: Likewise.
- * config/fr30/fr30.h: Likewise.
- * config/svr4.h: Likewise.
- * config/rs6000/aix.h: Likewise.
- * config/rs6000/sysv4.h: Likewise.
- * config/pa/pa64-hpux.h: Likewise.
- * config/pa/pa-hpux10.h: Likewise.
- * config/pa/pa-hpux11.h: Likewise.
- * collect2.c: Likewise.
- * configure: Regenerate.
- * doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP
- actually takes an unsigned HOST_WIDE_INT for its second parameter.
- 2006-12-13 Ulrich Weigand <uweigand@de.ibm.com>
- * config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define.
- (spu_encode_section_info): New.
- * config/spu/spu.h (ALIGNED_SYMBOL_REF_P): Adjust.
- (SYMBOL_FLAG_ALIGN1): New.
- 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/28624
- * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
- bitmap for EXECUTE_IF_SET_IN_BITMAP.
- 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/28436
- * tree.h (DECL_COMPLEX_GIMPLE_REG_P): Rename to ...
- (DECL_GIMPLE_REG_P): This.
- * fold-const.c (fold_indirect_ref_1): Fold *(foo *)&vectorfoo into
- using BIT_FIELD_REF.
- * omp-low.c (omp_copy_decl_2): Use the renamed DECL_GIMPLE_REG_P.
- * tree-gimple.c (is_gimple_reg): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- * expr.c (get_inner_reference): Set the mode for BIT_FIELD_REF with
- vector types.
- * tree-flow-inline.h (var_can_have_subvars): Use the renamed
- DECL_GIMPLE_REG_P.
- * gimplify.c (internal_get_tmp_var): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- (gimplify_bind_expr): Likewise.
- (gimplify_function_tree): Likewise.
- * expmed.c: Include target.h.
- (extract_bit_field): For vector mode, try find a better mode first.
- If that fails use gen_lowpart (for vectors only).
- * tree-dfa.c (make_rename_temp): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- * tree-ssa-pre.c (create_expressions_by_pieces): Likewise.
- (insert_into_preds_of_block): Likewise.
- (insert_fake_stores): Create gimple register store_tmps for
- vector types.
- * tree-sra.c (sra_elt): New field, is_vector_lhs.
- (sra_walk_expr <case BIT_FIELD_REF>): For vector types that
- are the left hand side, set the element's is_vector_lhs to true.
- (instantiate_element): For vector types which were on the left
- hand size, set DECL_GIMPLE_REG_P to false.
- * tree-nested.c (create_tmp_var_for): Use the renamed
- DECL_GIMPLE_REG_P.
- * tree-inline.c (declare_return_variable): Use the renamed
- DECL_GIMPLE_REG_P and check for VECTOR_TYPE.
- (copy_decl_to_var): Use the renamed DECL_GIMPLE_REG_P.
- (copy_result_decl_to_var): Likewise.
- * tree-vect-transform.c (vect_get_new_vect_var): For vector types,
- create a gimple register variable.
- (vect_permute_store_chain): Set DECL_GIMPLE_REG_P to true for the
- vect_inter_* temp variables.
- * Makefile.in (expmed.o): Update dependencies.
- 2006-12-12 Peter Bergner <bergner@vnet.ibm.com>
- * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
- the offset == 0 "then" clauses.
- * config/rs6000/predicates.md (gpc_reg_operand): Check for
- reload_in_progress.
- 2006-12-12 Marcin Dalecki <martin@dalecki.de>
- * doc/passes.texi: remove docs about "redundant PHI removal".
- * tree-pass.h: remove orphaned declaration of pass_redundant_phi,
- remove redundant pass_partition_blocks declaration.
- 2006-12-12 Andrew Macleod <amacleod@redhat.com>
- PR tree-optimization/30159
- * tree-ssa-coalesce.c (coalesce_ssa_name): Process single ssa_name
- functions in case a default_def coalesce is required.
- 2006-12-12 Jakub Jelinek <jakub@redhat.com>
- PR libstdc++/11953
- * gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.
- * config/ia64/linux.h (CPP_SPEC): Define.
- * config/s390/linux.h (CPP_SPEC): Define.
- 2006-12-12 Jim Wilson <wilson@specifix.com>
- Jakub Jelinek <jakub@redhat.com>
- PR rtl-optimization/27761
- * combine.c (try_combine): Don't create a useless garbage SET
- if PATTERN (i2) is a PARALLEL. If added_sets_1, save
- PATTERN (i1) resp. SET from i1src to i1dest in i1pat
- and use it to prevent accidental modification of i1src.
- 2006-12-12 Ira Rosen <irar@il.ibm.com>
- * tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check
- for stores with gaps.
- * tree-vect-transform.c (vect_permute_store_chain): Create
- interleave_high or interleave_low according to the endianess.
- 2006-12-12 Richard Guenther <rguenther@suse.de>
- PR middle-end/30147
- * fold-const.c (fold_read_from_constant_string): Only fold read
- from constant string if the result type is integer.
- 2006-12-12 Olivier Hainque <hainque@adacore.com>
- * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.
- 2006-12-12 Olivier Hainque <hainque@adacore.com>
- * config/vxlib.c: Extract tls related routines into ...
- * config/vxlib-tls.c: New file.
- * config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA.
- 2006-12-12 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.opt (mfixed-range): New option.
- * config/spu/spu.h (spu_fixed_range_string): Declare.
- * config/spu/spu.c (spu_override_options): Handle -mfixed-range.
- (fix_range): New function.
- * doc/invoke.texi (SPU Options): Document -mfixed-range.
- * testsuite/gcc.target/spu/fixed-range.c: New.
- * testsuite/gcc.target/spu/fixed-range-bad.c: Ditto.
- 2006-12-11 H.J. Lu <hongjiu.lu@intel.com>
- PR middle-end/17982
- PR middle-end/20218
- * cgraphunit.c (cgraph_optimize): Remove call to
- process_pending_assemble_externals.
- * config/elfos.h (ASM_OUTPUT_EXTERNAL): New.
- * config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.
- * config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
- (ia64_hpux_add_extern_decl): Removed.
- (ia64_hpux_file_end): Likewise.
- (extern_func_list): Likewise.
- (extern_func_head): Likewise.
- * output.h (assemble_external): Update comments.
- (default_elf_asm_output_external): New.
- (maybe_assemble_visibility): New.
- * toplev.c (compile_file): Update comment.
- * varasm.c (assemble_external): Always put it on
- pending_assemble_externals.
- (maybe_assemble_visibility): Make it extern and return int.
- (default_elf_asm_output_external): New.
- 2006-12-11 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c (handle_ptr_arith): Return false when we
- can't handle the pointer arithmetic.
- 2006-12-11 Diego Novillo <dnovillo@redhat.com>
- * doc/tree-ssa.texi: Update documentation for virtual operands
- and the use of push_stmt_changes/pop_stmt_changes.
- * doc/invoke.texi: Remove documentation for params
- global-var-threshold.
- Update documentation on max-aliased-vops.
- * tree-into-ssa.c: Cleanup comments, variables and
- spacing in various functions.
- (regs_to_rename): Declare.
- (mem_syms_to_rename): Declare.
- (dump_update_ssa): Declare.
- (debug_update_ssa): Declare.
- (dump_names_replaced_by): Declare.
- (debug_names_replaced_by): Declare.
- (dump_def_blocks): Declare.
- (debug_def_blocks): Declare.
- (dump_defs_stack): Declare.
- (debug_defs_stack): Declare.
- (dump_currdefs): Declare.
- (debug_currdefs): Declare.
- (mark_def_sites): Do not handle virtual operands.
- (compute_idf): Rename from find_idf. Update users.
- (register_new_def): Make local. Convert second argument
- to 'tree'.
- Use BLOCK_DEFS_STACK directly.
- If pushing a non-register, also push the underlying
- symbol.
- (rewrite_stmt): Do not handle virtual operands.
- (dump_tree_ssa): Call dump_def_blocks, dump_defs_stack,
- dump_currdefs and dump_tree_ssa_stats.
- (dump_tree_ssa_stats): Also dump REPL_TBL.
- (replace_use): Remove. Update all users to call SET_USE
- instead.
- (rewrite_blocks): Move code to free memory to
- fini_ssa_renamer.
- (mark_def_site_blocks): Move initialization code to
- init_ssa_renamer.
- (init_ssa_renamer): New.
- (fini_ssa_renamer): New.
- (rewrite_into_ssa): Call them.
- (prepare_block_for_update): Process SSA_OP_ALL_USES first
- and SSA_OP_ALL_DEFS later. Do not process virtual
- operands separately.
- (dump_update_ssa): Call dump_decl_set.
- (init_update_ssa): Initialize regs_to_rename and
- mem_syms_to_rename.
- Call init_ssa_renamer.
- (delete_update_ssa): Call fini_ssa_renamer.
- Free blocks_with_phis_to_rewrite.
- (mark_sym_for_renaming): If the variable has
- sub-variables, also mark them.
- If the variable belongs to a partition, also mark it.
- (mark_set_for_renaming): Call mark_sym_for_renaming on
- every symbol in the set.
- (switch_virtuals_to_full_rewrite): Call
- mark_set_for_renaming.
- (update_ssa): Separate syms_to_rename into regs_to_rename
- and mem_syms_to_rename.
- * tree-dump.c (dump_options): Add TDF_MEMSYMS.
- * tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS.
- (debug_generic_stmt): Likewise.
- (debug_tree_chain): Likewise.
- (dump_symbols): New.
- (dump_generic_node): Check for TDF_MEMSYMS.
- Handle MEMORY_PARTITION_TAG.
- If the statement references memory and TDF_MEMSYMS is
- given, call dump_symbols.
- Indicate default names with (D).
- (dump_vops): Update for new virtual operator format.
- * tree.c (init_ttree): Add MEMORY_PARTITION_TAG to
- tree_contains_struct.
- (tree_code_size): Handle MEMORY_PARTITION_TAG.
- (tree_node_structure): Likewise.
- (needs_to_live_in_memory): Handle SSA names.
- * tree.h (MTAG_P): Likewise.
- (struct tree_memory_partition_tag): Declare.
- (MPT_SYMBOLS): Define.
- (union tree_node): Add field 'mpt'.
- * treestruct.def (TS_MEMORY_PARTITION_TAG): Define.
- * tree.def (MEMORY_PARTITION_TAG): Define.
- * tree-pass.h (TDF_MEMSYMS): Define.
- * params.h (GLOBAL_VAR_THRESHOLD): Remove.
- * tree-ssa-alias.c: Include pointer-set.h
- (struct alias_map_d): Remove fields total_alias_vops,
- grouped_p and may_aliases. Update all users.
- (struct mp_info_def): Declare.
- (mp_info_t): New type.
- (get_smt_for): Rename from get_tmt_for. Update all
- users.
- (add_may_alias): Add argument ALREADY_ADDED. If given,
- use it to avoid adding duplicate entries to alias sets.
- (replace_may_alias): Remove. Update all users.
- (total_alias_vops_cmp): Remove. Update all users.
- (group_aliases_into): Remove. Update all users.
- (tree_pointer_compare): Remove. Update all users.
- (compact_name_tags): Remove. Update all users.
- (group_aliases): Remove. Update all users.
- (mark_non_addressable): Move from tree-flow-inline.h.
- Remove the symbol from the partition holding it, if
- needed.
- (dump_mp_info): New.
- (debug_mp_info): New.
- (sort_mp_info): New.
- (create_partition_for): New.
- (rewrite_alias_set_for): New.
- (compute_memory_partitions): New.
- (compute_may_aliases): Call it.
- (init_alias_info): If computing aliases for the first
- time, mark every memory symbol for renaming.
- (have_common_aliases_p): New.
- (compute_flow_insensitive_aliasing): Call it.
- (setup_pointers_and_addressables): Do not cache
- num_referenced_vars.
- For register promoted symbols, mark their former
- partition for renaming.
- (maybe_create_global_var): Only create .GLOBAL_VAR if
- there are no call-clobbered variables and a mix of pure
- and non-pure functions were found.
- (may_alias_p): Tidy comments.
- (create_tag_raw): Remove unused variable new_type.
- (dump_alias_info): call dump_memory_partitions.
- (dump_points_to_info_for): Call dump_decl_set.
- (may_be_aliased): Tidy comments and formatting.
- * timevar.def (TV_MEMORY_PARTITIONING): Define.
- * tree-vectorizer.c (vect_memsyms_to_rename): Rename from
- vect_vnames_to_rename. Set DECL_UIDs instead of SSA name
- versions in it.
- (slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs.
- * tree-vect-transform.c (vect_transform_loop): Call
- mark_set_for_renaming with vect_memsyms_to_rename.
- * tree-flow-inline.h (zero_imm_uses_p): New.
- (memory_partition): New.
- (set_memory_partition): New.
- (factoring_name_p): New.
- (symbol_mem_tag): New. Update every function that used
- to access the annotation directly.
- (set_symbol_mem_tag): Likewise.
- * tree-ssa-copy.c (may_propagate_copy): Allow copies
- between a partition and a symbol as long as the symbol
- belongs to the partition.
- (merge_alias_info): Ignore merge requests when memory
- partitions are involved.
- * tree-ssa.c (verify_ssa_name): Check that default
- definitions have empty defining statements.
- (verify_use): Remove argument IS_VIRTUAL.
- Don't call verify_ssa_name.
- (verify_phi_args): Call verify_ssa_name.
- (verify_flow_insensitive_alias_info): Handle MPTs.
- (verify_flow_sensitive_alias_info): Likewise.
- (verify_name_tags): Likewise.
- (verify_call_clobbering): Likewise.
- (verify_ssa): Check for VOPs only after aliasing
- information is available.
- Check virtuals and real operands separately.
- Call verify_ssa_name on every operand.
- (stmt_references_memory_p): Move to tree-ssa-operands.c.
- (walk_use_def_chains_1): Guard against NULL PHI
- arguments.
- * tree-ssa-operands.c (stmt_references_memory_p): Move from
- tree-ssa.c.
- (get_mpt_for): New.
- (dump_memory_partitions): New.
- (debug_memory_partitions): New.
- * tree-flow.h (struct var_ann_d): Add field mpt.
- (struct stmt_ann_d): Add bitfield references_memory.
- * Makefile.in (tree-ssa-structalias.o): Include
- pointer-set.h
- (tree-ssa-alias.o): Likewise.
- * tree-ssa-structalias.c: (update_alias_info): Use
- STORED_SYMS to determine which variables are being
- written to by the store operation.
- * tree-ssa-structalias.h (struct alias_info)
- <total_alias_vops>: Remove. Update all users.
- <written_vars>: Change to a pointer set. Update all
- users.
- <dereferenced_ptrs_store>: Likewise.
- <dereferenced_ptrs_load>: Likewise.
- (NUM_REFERENCES): Remove. Update all users.
- (NUM_REFERENCES_CLEAR): Remove. Update all users.
- (NUM_REFERENCES_INC): Remove. Update all users.
- (NUM_REFERENCES_SET): Remove. Update all users.
- * params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove.
- Update all users.
- (PARAM_MAX_ALIASED_VOPS): Set to 10.
- * tree-ssanames.c (make_ssa_name): Initialize
- SSA_NAME_IS_DEFAULT_DEF to 0.
- 2006-12-11 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-dse.c (aggregate_vardecl_d): New.
- (dse_global_data): Add aggregate_vardecl field.
- (dse_possible_dead_store_p): New.
- Add prev_defvar variable.
- Allow immediate uses and previous immediate uses to differ
- if they are setting different parts of the whole.
- (get_aggregate_vardecl): New.
- (dse_record_partial_aggregate_store): New.
- (dse_whole_aggregate_clobbered_p): New.
- (dse_partial_kill_p): New.
- (dse_optimize_stmt): Abstract code checking a possible dead store
- into new function dse_possible_dead_store_p().
- Call dse_maybe_record_aggregate_store().
- When checking whether a STMT and its USE_STMT refer to the
- same memory address, check also for partial kills that clobber
- the whole.
- Move some variable definitions to the block where they are used.
- (aggregate_vardecl_hash): New.
- (aggregate_vardecl_eq): New.
- (aggregate_vardecl_free): New.
- (aggregate_whole_store_p): New.
- (tree_ssa_dse): Initialize and free aggregate_vardecl.
- Mark which aggregate stores we care about.
- 2006-12-11 Andrew Macleod <amacleod@redhat.com>
- * tree-ssa-operands.h (struct vuse_element_d): Declare.
- (vuse_element_t): Declare.
- (struct vuse_vec_d): Declare.
- (vuse_vec_p): Declare.
- (VUSE_VECT_NUM_ELEM): Define.
- (VUSE_VECT_ELEMENT_NC): Define.
- (VUSE_ELEMENT_PTR_NC): Define.
- (VUSE_ELEMENT_VAR_NC): Define.
- (VUSE_VECT_ELEMENT): Define.
- (VUSE_ELEMENT_PTR): Define.
- (VUSE_ELEMENT_VAR): Define.
- (struct maydef_optype_d) <use_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (struct vuse_optype_d) <kill_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (struct mustdef_optype_d) <kill_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (VUSE_OP_PTR): Add argument. Use VUSE_ELEMENT_PTR.
- (VUSE_OP): Add argument. Use VUSE_ELEMENT_PTR.
- (VUSE_NUM): Define.
- (VUSE_VECT): Define.
- (MAYDEF_OP_PTR): Add argument. Use VUSE_OP_PTR.
- (MAYDEF_OP): Add argument. Use VUSE_OP.
- (MAYDEF_NUM): Define.
- (MAYDEF_VECT): Define.
- (MUSTDEF_KILL_PTR): Use VUSE_OP_PTR.
- (MUSTDEF_KILL): Use VUSE_OP.
- (MUSTDEF_NUM): Define.
- (MUSTDEF_VECT): Define.
- (realloc_maydef): Declare.
- (realloc_vuse): Declare.
- (struct ssa_operand_iterator_d) <vuse_index>: Add.
- <mayuse_index>: Add.
- (LOADED_SYMS): Define.
- (STORED_SYMS): Define.
- (FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef.
- * tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE
- operators.
- * tree-pretty-print.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-flow-inline.h: Likewise.
- (op_iter_next_mustdef): New.
- * tree-ssa-operands.c: Likewise.
- (ALLOC_OPTYPE): Remove.
- Update all users.
- (alloc_def): New.
- (alloc_use): New.
- (alloc_maydef): New.
- (alloc_vuse): New.
- (alloc_mustdef): New.
- (realloc_maydef): New.
- (realloc_vuse): New.
- 2006-12-11 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-operands.c: Remove build_v_must_defs.
- (init_ssa_operands): Delete build_v_must_defs.
- (finalize_ssa_v_must_def_ops): Remove.
- (finalize_ssa_v_must_defs): Remove.
- (finalize_ssa_stmt_operands): Do not call
- finalize_ssa_v_must_defs.
- (start_ssa_stmt_operands): Do not check build_v_must_defs.
- (append_v_must_def): Delete.
- (copy_virtual_operands): Do not copy V_MUST_DEFs.
- (get_modify_expr_operands): Remove reference to V_MUST_DEF from
- comment. Remove opf_kill_def.
- (build_ssa_operands): Remove references to v_must_defs.
- (copy_virtual_operands): Same.
- (copy_virtual_operands): Same.
- (fini_ssa_operands): Same.
- (free_ssa_operands): Same.
- (add_mustdef_op): Remove.
- Remove mustdef_optype_p.
- (alloc_mustdef): Remove.
- Remove references to V_MUST_DEFs in comment at top of file.
- (get_expr_operands): Remove opf_kill_def.
- (opf_kill_def): Remove.
- (add_virtual_operand): Remove opf_kill_def.
- (get_indirect_ref_operands): Same.
- (get_tmr_operands): Same.
- * tree-vectorizer.c (rename_variables_in_bb): Remove
- SSA_OP_ALL_KILLS.
- * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove
- SSA_OP_ALL_KILLS.
- (check_loop_closed_ssa_stmt): Same.
- * tree-ssa.c (verify_def): Remove V_MUST_DEF from comment.
- (verify_use): Same.
- (verify_ssa): Remove V_MUST_DEFs traces.
- (verify_ssa): Remove SSA_OP_ALL_KILLS.
- * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to
- SSA_OP_VMAYDEF.
- (rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS.
- (rewrite_stmt): Remove SSA_OP_ALL_KILLS.
- * tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF
- references.
- (MUSTDEF_OPS): Remove.
- (SSA_OP_VMUSTDEF): Remove.
- (FOR_EACH_SSA_MUSTDEF_OPERAND): Remove.
- (struct mustdef_optype_d): Remove.
- Remove mustdef_optype_p.
- (struct stmt_operands_d): Remove mustdef_ops.
- (ssa_operand_iterator_d): Remove mustdefs and mustkills.
- (SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF.
- (MUSTDEF_RESULT_PTR): Remove.
- (MUSTDEF_RESULT): Remove.
- (MUSTDEF_KILL_PTR): Remove.
- (MUSTDEF_KILL): Remove.
- (MUSTDEF_NUM): Remove.
- (MUSTDEF_VECT): Remove.
- (SSA_OP_VIRTUAL_KILLS): Remove.
- (SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS.
- (SSA_OP_VMUSTKILL): Remove.
- (SSA_OP_ALL_KILLS): Remove.
- (SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS.
- * tree-flow-inline.h (op_iter_init_def): Remove
- SSA_OP_VIRTUAL_KILLS.
- (delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS.
- * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
- SSA_OP_VIRTUAL_KILLS.
- * tree-ssa-loop-im.c (determine_max_movement): Remove
- SSA_OP_VIRTUAL_KILLS.
- (gather_mem_refs_stmt): Same.
- (gather_mem_refs_stmt): Same.
- * tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete.
- (perform_tree_ssa_dce): Remove call to
- mark_really_necessary_kill_operand_phis.
- * tree-flow-inline.h (op_iter_init): Remove setting of mustdefs
- and mustkills.
- (op_iter_next_use): Do not check mustkills.
- (op_iter_next_def): Do not check mustdefs.
- (op_iter_next_tree): Do not check mustkills or mustdefs.
- (clear_and_done_ssa_iter): Do not set mustdefs or mustkills.
- (op_iter_next_maymustdef): Do not check mustkills.
- (op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL.
- (op_iter_init_mustdef): Remove.
- * tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to
- SSA_OP_VMAYDEF.
- * tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF.
- * tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments.
- (visit_assignment): Same.
- * tree-ssa-copy.c (copy_prop_visit_assignment): Same.
- * tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment.
- * tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF.
- * tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF.
- Remove kill_p variable.
- * tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs.
- (dump_dfa_stats): Remove code related to V_MUST_DEFs.
- (collect_dfa_stats_r): Do not set num_v_must_defs.
- (mark_new_vars_to_rename): Remove v_must_defs_{before,after}
- code.
- * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to
- SSA_OP_VMAYUSE.
- * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
- SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL.
- * tree-ssa-propagate.c (stmt_makes_single_store): Remove
- SSA_OP_VMUSTDEF.
- 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/30113
- * loop-iv.c (implies_p): Require the mode of the operands to be
- scalar.
- 2006-12-11 Diego Novillo <dnovillo@redhat.com>
- * tree-ssa-operands.h (create_ssa_artificial_load_stmt):
- Rename from create_ssa_artficial_load_stmt. Update all users.
- * tree-into-ssa.c (register_new_def): Make static.
- * tree.c (is_global_var): Handle SSA_NAMEs.
- * tree.h (SSA_NAME_IS_DEFAULT_DEF): Define. Update all users
- that used to call gimple_default_def.
- * tree-ssa-operands.c (push_stmt_changes): New.
- (pop_stmt_changes): New. Update every pass that modifies
- statements to bracket modifications with
- push_stmt_changes/pop_stmt_changes.
- (discard_stmt_changes): New.
- * tree-ssa-dom.c (stmts_to_rescan): Change to stack of
- 'tree *' instead of 'tree'. Update all users.
- * tree-flow-inline.h (zero_imm_uses_p): New.
- (symbol_mem_tag): New. Update every function that used
- to access the annotation directly.
- (set_symbol_mem_tag): Likewise.
- * tree-dfa.c (dump_variable): Always show the escape mask.
- (mark_symbols_for_renaming): Rename from
- mark_new_vars_to_rename. Update all users.
- Only mark to rename naked symbols in real and virtual
- operands.
- 2006-12-11 Andreas Schwab <schwab@suse.de>
- * varasm.c (elf_record_gcc_switches): Cast second argument of
- ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT.
- 2006-12-11 Diego Novillo <dnovillo@redhat.com>
- * tree-scalar-evolution.c (scev_const_prop):
- * tree-phinodes.c (remove_phi_node): Add argument
- RELEASE_LHS_P. If given, release the SSA name on the LHS of
- the PHI node.
- Update all users.
- * tree-ssa-dce.c: Remove forward declarations for static
- functions. Re-arrange functions bodies as needed.
- (find_obviously_necessary_stmts): Never mark PHI nodes as
- obviously necessary.
- 2006-12-11 Carlos O'Donell <carlos@codesourcery.com>
- * config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.
- 2006-12-11 Jan Hubicka <jh@suse.cz>
- * value-prof.c (tree_stringops_transform): New.
- (tree_value_profile_transformations): Require count to be non-zero;
- call stringop transform; reset stmt BSI after BB changed.
- (tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label.
- (interesting_stringop_to_profile_p, tree_stringop_fixed_value): New.
- (tree_stringops_values_to_profile): New.
- (tree_values_to_profile): Call tree_stringops_values_to_profile.
- * tree.h (build_string_literal): Tidy prototype.
- (validate_arglist, builtin_memset_read_str, get_pointer_alignment):
- Declare.
- * builtins.c (validate_arglist, builtin_memset_read_str,
- get_pointer_alignment): Export.
- 2006-12-11 Uros Bizjak <ubizjak@gmail.com>
- PR target/30120
- Revert:
- 2006-11-15 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.opt: New target option -mx87regparm.
- * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
- float_in_x87: Add new variables. mmx_words, sse_words: Remove.
- (X87_REGPARM_MAX): Define.
- * config/i386/i386.c (override_options): Error out for
- -mx87regparm but no 80387 support.
- (ix86_attribute_table): Add x87regparm.
- (ix86_handle_cconv_attribute): Update comments for x87regparm.
- (ix86_comp_type_attributes): Check for mismatched x87regparm types.
- (ix86_function_x87regparm): New function.
- (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
- point registers.
- (init_cumulative_args): Initialize x87_nregs and float_in_x87
- variables.
- (function_arg_advance): Process x87_nregs and x87_regno when
- floating point argument is to be passed in 80387 register.
- (function_arg): Pass XFmode arguments in 80387 registers for local
- functions. Pass SFmode and DFmode arguments to local functions
- in 80387 registers when flag_unsafe_math_optimizations is set.
- * reg-stack.c (convert_regs_entry): Disable NaN load for
- stack registers that are used for argument passing.
- * doc/extend.texi: Document x87regparm function attribute.
- * doc/invoke.texi: Document -mx87regparm.
- 2006-12-11 Jan Hubicka <jh@suse.cz>
- Move all varpool routines out of cgraph/cgraphunit to varpool.c
- * cgraph.c: Update comments.
- (cgraph_varpool_hash,
- cgraph_varpool_nodes, cgraph_varpool_last_needed_node
- cgraph_varpool_node_name, cgraph_varpool_node,
- cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node,
- cgraph_variable_initializer_availability): Move to
- varpool.c and drop cgraph_ prefixes.
- (cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue,
- cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl):
- move to varpool.c; drop cgraph_ prefix; make static.
- (dump_cgraph_varpool_node): Move to varpool.c under name
- dump_varpool_node.
- (dump_varpool, hash_varpool_node, eq_varpool_node,
- decide_is_variable_needed): Move to varpool.c
- (decl_assembler_name_equal): Move to tree.c.
- (availability_names): Rename to ...
- (cgraph_availability_names): ... this one.
- (dump_cgraph_node): Update.
- * cgraph.h: Reorder declarations now in varpool.c
- (cgraph_vailablity_names): Declare.
- (struct cgraph_varpool_node): Rename to ...
- (struct varpool_node): ... this one.
- (cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue,
- cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node,
- cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node,
- cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node,
- cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls,
- cgraph_variable_initializer_availability): Rename to ...
- (varpool_first_unanalyzed_node, varpool_nodes_queue,
- varpool_first_unanalyzed_node, varpool_node,
- varpool_node_for_asm, varpool_mark_needed_node,
- varpool_finalize_decl, varpool_enqueue_needed_node,
- varpool_assemble_pending_decls, variable_initializer_availability):
- Rename to ...
- * tree.c (decl_assembler_name_equal): Move here from cgraph.c.
- * tree.h (decl_assembler_name_equal): Declare.
- * omp-low.c (lower_omp_critical): Update.
- * ipa-reference (analyze_variable, static_execute): Likewise.
- * toplev.c (wrapup_global_declaration_2, compile_file): Update.
- * cgraphunit.c: Update comments.
- (cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name
- varpool_assembled_nodes_queue.
- (cgraph_varpool_analyze_pending_decls): Move to varpool.c under name
- varpool_analyze_pending_decls.
- (cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name
- varpool_remove_unreferenced_decls.
- (record_reference): Update.
- (cgraph_create_edges): Update.
- (record_referneces_in_initializer): New function.
- (cgraph_varpool_assemble_decl): Move to varpool.c under name
- varpool_assemble_decl; make global.
- (cgraph_varpool_assemble_pending_decls): Move to varpool.c under name
- varpool_assemble_pending_decls.
- (process_function_and_variable_attributes, cgraph_finalize_compilation_unit,
- struct cgraph_order_sort, cgraph_output_in_order,
- cgraph_function_and_variable_invisibility, cgraph_optimize,
- cgraph_increase_alignment): Update.
- * dwarf2out.c (decls_for_scope): Likewise.
- * ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise.
- * except.c (output_ttype): Likewise.
- * varasm.c (mark_decl_referenced): Likewise.
- (find_decl_and_mark_referenced, assemble_alias): update.
- * Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c
- * passes.c (rest_of_decl_compilation): Update.
- 2006-12-11 Ira Rosen <irar@il.ibm.com>
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
- GIMPLE_STMT_OPERAND.
- * tree-vect-transform.c (vect_permute_store_chain): Likewise.
- (vect_setup_realignment): Likewise.
- 2006-12-11 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
- * config/spu/spu-elf.h (STARTFILE_SPEC): Update.
- (ENDFILE_SPEC): Likewise.
- * config/spu/spu.opt (mstdmain): New option.
- * config/spu/crti.asm: Remove.
- * config/spu/crtn.asm: Likewise.
- * config/spu/crt0.c: Likewise.
- * config/spu/crtend.c: Likewise.
- * config/spu/t-spu-elf (EXTRA_MULTILIB_PARTS): Remove crt0 files
- listed above.
- ($(T)crti.o, $(T)crtn.o, $(T)crt1.o, $(T)crtend1.o): Remove.
- * doc/invoke.texi (SPU Options): Document -mstdmain.
- 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz>
- * doc/loop.texi: Document number_of_latch_executions and
- number_of_cond_exit_executions.
- * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
- chrec_is_positive, number_of_iterations_for_all_loops,
- scev_const_prop): Use number_of_latch_executions.
- (set_nb_iterations_in_loop): Do not increase the value of the
- number of iterations.
- (number_of_iterations_in_loop): Renamed to ...
- (number_of_latch_executions): ... this.
- (number_of_exit_cond_executions): New function.
- * tree-scalar-evolution.h (number_of_iterations_in_loop): Declaration
- removed.
- (number_of_latch_executions, number_of_exit_cond_executions): Declare.
- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Use
- number_of_latch_executions.
- * tree-data-ref.c (get_number_of_iters_for_loop): Use
- number_of_exit_cond_executions.
- * tree-vect-analyze.c (vect_get_loop_niters): Ditto.
- * cfgloop.h (struct loop): Improve description of the nb_iterations
- field.
- 2006-12-10 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (compact_name_tags): Use sort_tags_by_id.
- (tree_pointer_compare): Remove.
- 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop.
- * loop-unswitch.c (unswitch_loops): Use FOR_EACH_LOOP.
- * tree-loop-linear.c (linear_transform_loops): Ditto.
- * tree-ssa-loop-im.c (determine_lsm): Ditto.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
- free_numbers_of_iterations_estimates): Ditto.
- * tree_ssa_unswitch_loops (tree_ssa_unswitch_loops): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
- * modulo-sched.c (sms_schedule): Ditto.
- * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables,
- tree_unroll_loops_completely): Ditto.
- * predict.c (predict_loops): Ditto.
- * tree-if-conv.c (main_tree_if_conversion): Ditto.
- * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
- decide_unrolling_and_peeling): Ditto.
- * cfgloopmanip.c (unloop): Use delete_loop.
- (place_new_loop): Access larray vector instead of parray.
- (create_preheaders, force_single_succ_latches,
- fix_loop_structure): Use FOR_EACH_LOOP and delete_loop..
- * loop-doloop.c (doloop_optimize_loops): Ditto.
- * loop-invariant.c (move_loop_invariants): Ditto.
- * tree-cfg.c (replace_uses_by): Ditto.
- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Ditto.
- * tree-chrec.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
- Moved to ...
- * tree.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
- ... here.
- * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
- compute_overall_effect_of_inner_loop, chrec_is_positive): Use
- get_loop and get_chrec_loop.
- (number_of_iterations_for_all_loops): Use number_of_loops.
- (scev_initialize, scev_reset, scev_const_prop): Use FOR_EACH_LOOP.
- * tree-scalar-evolution.h (get_chrec_loop): New inline function.
- * cfgloopanal.c (mark_irreducible_loops): Use number_of_loops,
- and FOR_EACH_LOOP.
- * tree-chrec.c (evolution_function_is_invariant_rec_p,
- chrec_convert_1): Use get_loop and get_chrec_loop.
- * loop-init.c (loop_optimizer_init): Use number_of_loops.
- (loop_optimizer_init): Use FOR_EACH_LOOP.
- * tree-vectorizer.c (vect_loops_num): Removed.
- (vectorize_loops): Store number of loops locally. Use
- FOR_EACH_LOOP and get_loop.
- * tree-vectorizer.h (vect_loops_num): Removed.
- * tree-data-ref.c (get_number_of_iters_for_loop): Use get_loop.
- (find_data_references_in_loop): Do not set parallel_p.
- * tree-data-ref.h: Do not declare VEC(loop_p).
- * cfgloop.c (flow_loops_dump, mark_single_exit_loops,
- verify_loop_structure): Use FOR_EACH_LOOP.
- (flow_loops_free): Use FOR_EACH_LOOP, free larray vector.
- (initialize_loops_parallel_p): Removed.
- (flow_loops_find): Push the loops into a vector.
- (delete_loop): New function.
- (cancel_loop): Use delete_loop.
- * cfgloop.h: Declare VEC(loop_p).
- (struct loop): Remove parallel_p field.
- (struct loops): Replace num and parray field by larray vector.
- Remove shared_headers field.
- (delete_loop): Declare.
- (get_loop, get_loops, number_of_loops, fel_next, fel_init,
- FOR_EACH_LOOP): New.
- * doc/loop.tex: Document new accessor functions.
- 2006-12-10 Andrew MacLeod <amacleod@redhat.com>
- * common.opt (-ftree-lrs): Remove live range splitting option.
- * makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
- * opts.c (decode_options): Remove flag_tree_live_range_split.
- * tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
- * tree-flow-inline.h (single_imm_use_p): New. Check for single use.
- * tree-outof-ssa.c: Remove header files which aren't needed.
- (SSANORM_*): Remove flags.
- (print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands,
- coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
- (coalesce_ssa_name): Move to tree-ssa-coalesce.c.
- (assign_vars): Use Basevar instead of root_var structure.
- (replace_def_variable): Dont do anything if def is replaceable.
- (remove_ssa_form): Integrate functional changes.
- (rewrite_out_of_ssa): Remove live-range_split option.
- * tree-ssa-coalesce.c: New File for ssa-name coalescing.
- (coalesce_cost): Calculate the cost of a coalesce.
- (coalesce_cost_bb): Calculate the coalesce cost within a BB.
- (coalesce_cost_edge): Calculate the coalesce cost on an edge.
- (pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
- (pop_best_coalesce): Remove the best coalesce from the list.
- (coalesce_pair_map_hash): Calculate coalesce pair hash.
- (coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
- (create_coalesce_list): Create a coalesce list object.
- (delete_coalesce_list): Free a coalesce list object.
- (find_coalesce_pair): Find matching pair in the coalesce list.
- (add_cost_one_coalesce): Add a coalesce to the "cost one" list.
- (add_coalesce): Add a coalesce to the coalesce list.
- (compare_pairs): Comparision function to determine pair sorted order.
- (num_coalesce_pairs): Number of coalesced pairs.
- (first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
- Coalesce pair iterator functions.
- (sort_coalesce_list): Sort coalesce pairs in order of expense.
- (dump_coalesce_list): Show coalesce list.
- (ssa_conflicts_new): Create an SSA conflict graph.
- (ssa_conflicts_delete): Delete an SSA conflict graph.
- (ssa_conflicts_test_p): Test for conflicts.
- (ssa_conflicts_add_one): Add a single conflict.
- (ssa_conflicts_add): Add a conflict pair.
- (ssa_conflicts_merge): Merge conflicts.
- (struct live_track_d): Struct for tracking live partitions.
- (new_live_track): Create new live_track object.
- (delete_live_track): Delete a live_track object.
- (live_track_remove_partition): Remove a partition from the live list.
- (live_track_add_partition): Add a partition from the live list.
- (live_track_clear_var): Take VAR from the live list.
- (live_track_live_p): Is var live?
- (live_track_process_use): Make var come alive.
- (live_track_process_def): Make var go dead, add conflicts.
- (live_track_init): Initialize to a live on exit set.
- (live_track_clear_base_vars): Clear live partitions.
- (build_ssa_conflict_graph): Build a conflict graph.
- (print_exprs): Common debug output routine.
- (abnormal_corrupt): Output info about a failed coalesce across an
- abnormal edge.
- (fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
- (create_outofssa_var_map): Create a var map and coalesce list.
- (attempt_coalesce): Coalesce a pair.
- (coalesce_partitions): Coalesce all pairs in a coalesce list.
- (coalesce_ssa_name): Entry point. Determine what ssa_names to coalesce.
- * tree-ssa-live.c: Remove header files which aren't needed.
- (var_map_base_init): New. Initialize a basevar list.
- (var_map_base_fini): New. Finish a basevar list.
- (init_var_map): Initialize new fields.
- (delete_var_map): Free new fields.
- (var_union): Use renamed fields.
- (compact_var_map): Remove.
- (partition_to_view_init): Use renamed fields, change order of an if.
- (partition_view_fini): Use renamed fields.
- (partition_view_normal): Create basevar list if requested.
- (partition_view_bitmap): Create a view based on a bitmap of partitions.
- (change_partition_var): Use renamed fields.
- (create_ssa_var_map): Remove.
- (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
- root_var_init): Remove.
- (partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
- delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
- compare_pairs, num_coalesce_pairs, first_partition_pair,
- end_partition_pair_p, next_partition_pair, sort_coalesce_list,
- pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
- build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
- tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
- (dump_var_map): Use renamed fields.
- * tree-ssa-live.h (struct _var_map): Modify fields.
- (partition_to_var, version_to_var, var_to_partition): Use renamed
- fields.
- (basevar_index): New. Index of the base variable of a partition.
- (num_basevars): New. Number of unique base variables in partition map.
- (register_ssa_partition): Use renamed fields.
- (struct tree_partition_associator_d): Remove.
- (tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
- tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
- root_var, root_var_first_partition, root_var_next_partition,
- root_var_dump, root_var_delete, root_var_remove_partition,
- root_var_find, root_var_compact, root_var_decompact): Remove.
- (struct partition_pair, struct coalesce_list_d): Moved to
- tree-ssa-coalesce.c
- * tree-ssa-ter.c: Remove header files which aren't needed.
- 2006-12-10 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c: (struct cse_basic_block_data): Remove LAST field.
- (struct branch_path): Remove BRANCH and TAKEN fields. Add new
- BB field.
- (cse_visited_basic_blocks): New static bitmap.
- (cse_end_of_basic_block, cse_basic_block): Remove.
- (cse_find_path, cse_dump_path, cse_prescan_path,
- cse_extended_basic_block): New static functions.
- (cse_insn): Don't CSE over setjmp calls. Use the CFG to find
- basic block boundaries. Don't record jump equivalences here.
- Update the CFG after doing in-place replacement of the SET_SRC.
- (cse_main): Rewrite. Look for extended basic block headers
- and call cse_extended_basic_block on them until all paths that
- start at this header are exhausted.
- (rest_of_handle_cse): Verify that the CFG is incrementally updated
- and correct after cse_main.
- Don't call delete_trivially_dead_insns, let cfgcleanup do that.
- (rest_of_handle_cse2): Verify the CFG here, too, after cse_main.
- (pass_cse): Add TODO_verify_flow.
- (pass_cse2): Likewise.
- 2006-12-10 Rask Ingemann Lambertsen <rask@sygehus.dk>
- * reload1.c (choose_reload_regs): Don't set byte offset when
- resolving subregs of hard regs.
- 2006-12-09 Zack Weinberg <zackw@panix.com>
- * c-opts.c (c_common_parse_file): Unconditionally give a warning,
- suitable for the language, if set_yydebug is true.
- * c-pragma.h: Define enum pragma_omp_clause here. Don't define
- YYDEBUG or declare yydebug.
- * c-parser.c (yydebug, enum pragma_omp_clause): Delete.
- 2006-12-09 Jan Hubicka <jh@suse.cz>
- * cgraph.c: Update copyright.
- * cgraph.h: Likewise
- (cgraph_update_pending_function): Remove prototype.
- * cgraphunit.c: Update copyright; update overall comment.
- (cgraph_assemble_pending_functions): Make local.
- 2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * haifa-sched.c (schedule_block): Remove excessive sanity check.
- 2006-12-08 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/spu-protos.h (spu_split_immediate): Renamed from
- spu_split_address.
- (cpat_const_p, gen_cpat_const): Add.
- * config/spu/spu.c (immediate_class): New enum.
- (cpat_info, classify_immediate): New.
- (print_operand): Use S, D, T instead of F, G, H. Use
- classify_immediate. Handle cpat cases.
- (spu_split_immediate): Renamed from spu_split_address. Split all
- immediates that can be split.
- (immediate_load_p): Use classify_immediate.
- (spu_legitimate_constant_p): Accept everything except some cases of
- CONST_VECTOR.
- (spu_expand_move): Use spu_split_immedate.
- (fsmbi_const_p): Use classify_immediate.
- (cpat_const_p): New.
- (gen_cpat_const: New.
- * config/spu/constraints.md (j,k,l): New constraints for cpat
- instructions.
- * config/spu/spu.md (unnamed splitter): Change address splitter to
- handle all immediates.
- (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat
- instructions.
- (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns
- when possible.
- 2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/30039
- * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
- patterns. Correct length of high:DI instruction sequence.
- 2006-12-08 Mike Stump <mrs@apple.com>
- * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
- libgcc with -mmacosx-version-min=10.4.
- * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
- G4 for 10.5+ unless doing kernel builds.
- 2006-12-08 Uros Bizjak <ubizjak@gmail.com>
- PR target/30120
- * reg-stack.c (convert_regs_entry): Mark current argument passing
- registers as live.
- * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
- of float arguments in x87 registers.
- 2006-12-08 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
- * pa.h (LEGITIMATE_CONSTANT_P): Simplify.
- 2006-12-08 Mark Shinwell <shinwell@codesourcery.com>
- * recog.c (mode_dependent_address_p): Identify pre-increment,
- pre-decrement, post-increment and post-decrement addressing as always
- being mode-dependent.
- * config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
- * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
- * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
- PRE_INC and POST_INC checks.
- * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
- PRE_INC, POST_DEC and POST_INC cases.
- * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
- Delete POST_INC and PRE_DEC cases.
- * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
- no-op.
- * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
- no-op.
- * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
- PRE_INC and PRE_DEC cases.
- * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/vax/vax.c (vax_mode_dependent_address_p): Delete
- auto-increment cases.
- * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
- auto-increment cases.
- * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- 2006-12-08 Andrew MacLeod <amacleod@redhat.com>
- * Makefile.in: Add new file tree-ssa-ter.c.
- * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table,
- free_temp_expr_table, add_value_to_version_list,
- add_value_to_partition_list, remove_value_from_partition_list,
- add_dependence, check_replaceable, finish_expr, mark_replaceable,
- kill_expr, kill_virtual_exprs, find_replaceable_in_bb,
- find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
- * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
- prototypes.
- * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
- (struct value_expr_d): Remove.
- (struct temp_expr_table_d): Rename fields, add explicit vector of
- replaceable expressions instead of sharing. Change value_expr_p's to
- bitmap. Delete free_list.
- (new_temp_expr_table): Rename fields, count number of ssa_names in
- each partition.
- (free_temp_expr_table): Rename field, free new fields.
- (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
- add_info_to_list, remove_value_from_list): Delete.
- (version_to_be_replaced_p): New. Is an ssa-name replaceable?
- (make_dependent_on_partition): New. Set bit in version list, allocating
- a bitmap if need be.
- (add_to_partition_kill_list): New. Set bit in the partition list,
- allocating a bitmap if need be.
- (remove_from_partition_kill_list): New. Remove a bit from the
- partition list, free the bitmap if it is empty.
- (add_dependence): Use renamed field, cleanup. Don't add a dependence
- on partitions with only one member.
- (is_replaceable_p): New. Split out replaceability check from
- check_replaceable.
- (process_replaceable): New. Code split from check_replaceable.
- (check_replaceable): Removed.
- (finished_with_expr): Renamed from finish_expr.
- (kill_expr): Use renamed fields and less parameters.
- (kill_virtual_exprs): Less parameters.
- (mark_replaceable): Use renamed fields.
- (find_replaceable_in_bb): Use renamed fields, cleanup.
- (find_replaceable_exprs): Use renamed routines, cleanup.
- (dump_replaceable_exprs): Don't go past end of ssa_names list.
- (debug_ter): New. Debug routine to dump state.
- 2006-12-08 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (effective_address_32bit_p): Return true for
- anything involving the GOT.
- (bfin_adjust_cost): Don't take the REGNO of a MEM.
- (trapping_loads_p): Look inside the pattern of an insn to find the
- SET.
- * config/bfin/bfin.md (attr "type"): Add movcc.
- (insn_reservation "alu"): Likewise.
- (movsicc_insn1, movsicc_insn2): Change type to movcc.
- 2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
- (spu_resolve_overloaded_builtin): Check for non scalar instead
- of vector type and check the function call argument type also for
- non scalar.
- Call build_function_call instead of spu_build_overload_builtin.
- 2006-12-07 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/spu.c (array_to_constant): Correct the order of arguments
- to the calls of hwint_to_const_double.
- 2006-12-07 Nick Clifton <nickc@redhat.com>
- * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to
- elf_record_gcc_switches.
- 2006-12-07 Andrew Macleod <amacleod@redhat.com>
- * expr.c (string_constant): Account for non-zero lower bound arrays.
- 2006-12-07 Richard Guenther <rguenther@suse.de>
- * builtins.c (expand_builtin_pow): Adjust predicates for
- pow to cbrt expansion to unsafe math and !HONOR_NANS for
- negative base.
- 2006-12-07 Jan Hubicka <jh@suse.cz>
- * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
- codegen.
- 2006-12-07 Jan Hubicka <jh@suse.cz>
- * tree-vrp.c (compare_values): Short circuit INTEGER_CST;
- use fold_constant_to_binary; tolerate wrong type constants.
- (value_intersect_p): Do just two tests.
- 2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
- * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
- lshifthi3): Use it, and fix the order of alternatives.
- 2006-12-07 Nick Clifton <nickc@redhat.com>
- * common.opt (record-gcc-switches): New command line switch.
- * target.h (print_switch_type): New enum.
- (print_switch_fn_type): New typedef for a function pointer.
- (struct gcc_target): Add record_gcc_switches and
- record_gcc_switches_section fields.
- * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a
- default definition.
- (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default
- definition.
- * toplev.c (print_single_switch): Simplify by providing a
- pointer to function that will format and output the switch
- appropriately.
- (print_switch_values): Likewise.
- (print_to_asm_out_file): New function.
- (print_to_stderr): New function.
- (init_asm_output): If flag_record_gcc_switches is set then if
- the target supports recording the switches then emit them into
- the assembler output file, otherwise tell the user that the
- switch is not supported.
- * varasm.c (eld_record_gcc_switches): New function. Example
- handler for the record_gcc_switches target hook.
- * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new
- target hook.
- (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
- * doc/invoke.texi (-frecord-gcc-switches): Document.
- 2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR target/29794
- * sched-rgn.c (add_block1): Use correct initializer.
- 2006-12-07 Richard Guenther <rguenther@suse.de>
- * tree-vect-transform.c (vectorizable_call): Fix leftover of
- TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.
- 2006-12-06 Aldy Hernandez <aldyh@redhat.com>
- PR/30079
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
- not GIMPLE_MODIFY_STMT.
- 2006-12-06 Jan Hubicka <jh@suse.cz>
- * tree-vrp.c (operand_less_p): New.
- (compare_values, value_inside_range): Rewrite in terms of
- operand_less_p.
- 2006-12-06 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (DIRFLAG_REG): Remove constant.
- (type): Remove cld.
- (length_immediate): Do not depend on cld type attribute.
- (length_address): Ditto.
- (modrm): Ditto.
- (memory): Ditto.
- (cld): Remove insn pattern.
- (strmov_singleop): Do not use DIRFLAG_REG.
- (*strmovdi_rex_1): Ditto.
- (*strmovsi_1): Ditto.
- (*strmovsi_rex_1): Ditto.
- (*strmovhi_1): Ditto.
- (*strmovhi_rex_1): Ditto.
- (*strmovqi_1): Ditto.
- (*strmovqi_rex_1): Ditto.
- (rep_mov): Ditto.
- (*rep_movdi_rex64): Ditto.
- (*rep_movsi): Ditto.
- (*rep_movsi_rex64): Ditto.
- (*rep_movqi): Ditto.
- (*rep_movqi_rex64): Ditto.
- (strset_singleop): Ditto.
- (*strsetdi_rex_1): Ditto.
- (*strsetsi_1): Ditto.
- (*strsetsi_rex_1): Ditto.
- (*strsethi_1): Ditto.
- (*strsethi_rex_1): Ditto.
- (*strsetqi_1): Ditto.
- (*strsetqi_rex_1): Ditto.
- (rep_stos): Ditto.
- (*rep_stosdi_rex64): Ditto.
- (*rep_stossi): Ditto.
- (*rep_stossi_rex64): Ditto.
- (*rep_stosqi): Ditto.
- (*rep_stosqi_rex64): Ditto.
- (cmpstrnsi): Do not generate cld insn.
- (cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
- (*cmpstrnqi_nz_1): Ditto.
- (*cmpstrnqi_nz_rex_1): Ditto.
- (cmpstrnqi_1): Ditto.
- (*cmpstrnqi_1): Ditto.
- (*cmpstrnqi_rex_1): Ditto.
- (strlenqi_1): Ditto.
- (*strlenqi_1): Ditto.
- (*strlenqi_rex_1): Ditto.
- * config/i386/geode.md (shift): Do not depend on cld type attribute.
- * config/i386/pentium.md (pent_cld): Remove insn reservation.
- * config/i386/athlon.md (athlon_decode): Do not depend on cld
- type attribute.
- * config/i386/ppro.md (ppro_cld): Remove insn reservation.
- * config/i386/k6.md (k6_alux_only): Do not depend on cld type
- attribute.
- (k6_alux_only_load): Ditto.
- (k6_alux_only_store): Ditto.
- * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
- Do not emit cld instruction.
- (ix86_expand_setmem): Ditto.
- (ix86_expand_strlen): Do not emit cld instruction.
- 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
- old ones.
- 2006-12-06 Diego Novillo <dnovillo@redhat.com>
- * gdbinit.in: Set complaints to 0.
- 2006-12-06 Jan Hubicka <jh@suse.cz>
- * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
- ALONE_MEM_STAT_DECL): New macros.
- * bitmap.h: Include statistics.h
- (struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
- (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
- (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
- * bitmap.c: Include hashtab.h
- (bitmap_descriptor): New.
- (bitmap_hash): New static variable
- (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
- New static functions.
- (bitmap_register): New.
- (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
- bitmap_obstack_release): Do accounting.
- (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
- accounting.
- (bitmap_gc_alloc_stat): Likewise.
- (bitmap_obstack_free, bitmap_find_bit): Do statictics.
- (print_statistics, dump_bitmap_statistics): New functions.
- * toplev.c (finalize): Dump bitmap statistics.
- 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
- * reload1.c (delete_output_reload): Count occurrences in
- CALL_INSN_FUNCTION_USAGE.
- * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
- crashing at the end of the list.
- 2006-12-05 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
- Optimize to avoid marking more SMT's as used when they aren't.
- 2006-12-05 Eric Christopher <echristo@apple.com>
- * config/i386/i386.c (x86_output_aligned_bss): Move out
- of COMMON_ASM_OP ifdef.
- 2006-12-05 Eric Christopher <echristo@apple.com>
- * config/darwin.h (DARWIN_EXTRA_SPECS): New.
- (STARTFILE_SPEC): Use.
- (DARWIN_DYLIB1_SPEC): New.
- (DARWIN_CRT1_SPEC): New.
- * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
- DARWIN_EXTRA_SPECS.
- * config/i386/darwin.h: Ditto.
- * config/rs6000/darwin.h: Ditto.
- 2006-12-05 Daniel Berlin <dberlin@dberlin.org>
- * tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
- * tree-complex.c (pass_lower_complex): Ditto.
- * tree-ssa-ccp.c (pass_ccp): Ditto.
- (pass_store_ccp): Ditto.
- * tree-ssa-dom.c (pass_dominator): Ditto.
- (pass_phi_only_cprop): Ditto.
- * tree-sra.c (pass_sra): Ditto.
- * tree-ssa-forwprop.c (pass_forwprop): Ditto.
- * tree-flow.h (updating_used_alone): Remove.
- (updating_used_alone): Ditto.
- * tree-ssa-alias.c (updating_used_alone): Remove variable.
- (lhs_may_store_to): Remove function.
- (recalculate_used_alone): Ditto.
- (compute_may_aliases): Remove used_alone calculation.
- * tree.h (struct tree_memory_tag): Remove is_used_alone and
- old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE.
- * tree-pass.h (PROP_smt_usage): Remove.
- * passes.c (execute_todo): Remove used alone recalculation.
- (execute_one_pass): Ditto.
- * tree-ssa-operands.c (add_virtual_operand): Remove used_alone
- stuff.
- 2006-12-05 Brooks Moses <brooks.moses@codesourcery.com>
- * doc/include/texinfo.tex: Update to version 2006-11-08.17.
- 2006-12-05 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/14784
- * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix.
- 2006-12-05 Aldy Hernandez <aldyh@redhat.com>
- Merge from gimple-tuples-branch.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with
- GIMPLE_MODIFY_STMT.
- (s390_gimplify_va_arg): Same.
- * config/sparc/sparc.c (sparc_gimplify_va_arg): Same.
- * config/sh/sh.c (sh_va_start): Same.
- (sh_gimplify_va_arg_expr): Same.
- * config/xtensa/xtensa.c (xtensa_va_start): Same.
- (xtensa_gimplify_va_arg_expr): Same.
- * config/ia64/ia64.c (ia64_gimplify_va_arg): Same.
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same.
- * config/mips/mips.c (mips_va_start): Same.
- (mips_gimplify_va_arg_expr): Same.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * Merge from mainline at revision 119445.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to
- GIMPLE_MODIFY_STMT.
- (spu_gimplify_va_arg_expr): Same.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (xstormy16_expand_builtin_va_arg): Same.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR
- to GIMPLE_MODIFY_STMT.
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/alpha/alpha.c (va_list_skip_additions): Change all
- occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (alpha_va_start): Same.
- (alpha_gimplify_va_arg_1): Same.
- (alpha_gimplify_va_arg): Same.
- 2006-12-01 Aldy Hernandez <aldyh@redhat.com>
- * gimplify.c (gimplify_modify_expr): Remove FIXME comment.
- 2006-12-01 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to
- GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to
- GENERIC_TREE_TYPE.
- * tree-complex.c: Same.
- * tree-pretty-print.c: Same.
- * tree.c: Same.
- * tree.h: Same.
- * builtins.c: Same.
- * fold-const.c: Same.
- * tree-ssa-dom.c: Same.
- * tree-ssa-propagate.c: Same.
- * tree-ssa-alias.c: Same.
- * gimple-low.c: Same.
- * dwarf2out.c: Same.
- * c-pretty-print.c: Same.
- * gimplify.c: Same.
- * tree-inline.c: Same.
- * tree-outof-ssa.c: Same.
- * tree-ssa-structalias.c: Same.
- * tree-ssa-reassoc.c: Same.
- * stmt.c: Same.
- 2006-11-16 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (build2_stat): Fix comment.
- 2006-11-13 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and
- TREE_OPERAND when appropriate.
- 2006-11-04 Aldy Hernandez <aldyh@redhat.com>
- * java/java-tree.h (lang_tree_node): Handle gimple tuples.
- (EXPR_WFL_EMIT_LINE_NOTE): Look inside base.
- (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus.
- * java/java-gimplify.c (java_gimplify_expr): Comment on why we do
- not handle GIMPLE_MODIFY_STMT in the switch statement.
- (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT.
- (java_gimplify_new_array_init): Same.
- 2006-11-03 Aldy Hernandez <aldyh@redhat.com>
- * gimplify.c (gimplify_omp_for): Allow gimple statements.
- * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND.
- * fold-const.c (fold_binary): Allow gimple statements.
- (fold): Same.
- * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- Call gfc_add_modify instead of gfc_add_modify_expr.
- * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- (gfc_conv_descriptor_data_set): New macro.
- (gfc_conv_descriptor_data_set_tuples): New macros.
- * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call
- gfc_conv_descriptor_data_set_tuples.
- * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr.
- Generate GIMPLE_MODIFY_STMT when appropriate.
- * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr.
- (gfc_add_modify_expr): New macro.
- (gfc_add_modify_stmt): New macro.
- * fortran/f95-lang.c (lang_tree_node): Handle gimple statements.
- 2006-11-01 Aldy Hernandez <aldyh@redhat.com>
- * Merge from mainline at revision 118200.
- 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
- * tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust
- accordingly.
- 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
- * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not
- enable checking.
- Also, add __extension__ to GCC versions.
- * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
- * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning
- patrol.
- 2006-10-05 Aldy Hernandez <aldyh@redhat.com>
- * tree-complex.c (expand_complex_libcall): Adjust for
- GIMPLE_MODIFY_STMT.
- (expand_complex_comparison): Same.
- * tree-pretty-print.c (dump_generic_node): Is_expr should include
- GIMPLE_STMT_P statements.
- * value-prof.c (tree_divmod_fixed_value_transform): Adjust for
- GIMPLE_MODIFY_STMT.
- (tree_mod_pow2_value_transform): Same.
- (tree_mod_subtract_transform): Same.
- * tree.c (build2_stat): Check for gimplified function in cfun.
- * tree.h (DECL_GIMPLIFIED): Delete.
- (struct tree_function_decl): Remove gimplified_flag.
- * omp-low.c (lower_omp_for): Adjust for GIMPLE_MODIFY_STMT.
- * cp/cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT.
- (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT.
- (cxx_omp_clause_copy_ctor): Same.
- (cxx_omp_clause_assign_op): Same.
- * c-pretty-print.c (pp_c_conditional_expression): Same.
- (pp_c_expression): Same.
- * langhooks.c (lhd_omp_predetermined_sharing): Same.
- * function.h (struct function): Add gimplified field.
- * tree-if-conv.c (add_to_dst_predicate_list): Adjust for
- GIMPLE_MODIFY_STMT.
- (find_phi_replacement_condition): Same.
- * gimplify.c (gimplify_modify_expr_to_memcpy): Same.
- (gimplify_modify_expr_to_memset): Same.
- (gimplify_init_ctor_eval_range): Same.
- (gimplify_modify_expr_complex_part): Same.
- (tree_to_gimple_tuple): Same.
- (gimplify_modify_expr): Same.
- (gimple_push_cleanup): Same.
- (gimplify_omp_for): Same.
- (gimplify_omp_atomic_pipeline): Same.
- (gimplify_omp_atomic_mutex): Same.
- (gimplify_expr): Same.
- (gimplify_one_sizepos): Same.
- (gimplify_function_tree): Same.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Same.
- (vect_recog_widen_sum_pattern): Same.
- * tree-vect-transform.c (get_initial_def_for_reduction): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- 2006-09-28 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND.
- * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same.
- (ifc_temp_var): Same.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Check
- for gimple statements.
- (vect_analyze_operations): Same.
- (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND.
- * gimplify.c (gimplify_return_expr): Handle gimple statements.
- * lambda-code.c (can_put_in_inner_loop): Same.
- (can_put_after_inner_loop): Same.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
- (vect_create_data_ref_ptr): Same.
- (vect_init_vector): Same.
- (vect_get_vec_def_for_operand): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- (vectorizable_assignment): Same.
- (vectorizable_operation): Same.
- (vectorizable_load): Same.
- (vectorizable_condition): Same.
- * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs.
- (rs6000_gimplify_va_arg): Same.
- 2006-09-25 Aldy Hernandez <aldyh@redhat.com>
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Use
- GIMPLE_STMT_OPERAND.
- (simplify_abs_using_ranges): Same.
- * tree-complex.c (expand_complex_operations_1): Use
- PROTECTED_TREE_OPERAND.
- * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple
- stmt.
- (get_val_for): Use GIMPLE_STMT_OPERAND.
- * tree-tailcall.c (adjust_accumulator_values): Same.
- (adjust_return_value): Same.
- * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default
- case. Remove special case for tcc_gimple_stmt.
- * tree.h (CAN_HAVE_LOCATION_P): New.
- * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for
- GIMPLE_STMT_P.
- * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Same.
- * tree-nrv.c (execute_return_slot_opt): Same.
- * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P.
- * tree-vn.c (set_value_handle): Same.
- (get_value_handle): Same.
- * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P.
- * tree-vectorizer.c (find_loop_location): Same.
- * c-typeck.c (c_process_expr_stmt): Same.
- (c_finish_stmt_expr): Same.
- * gimplify.c (should_carry_locus_p): Same.
- (tree_to_gimple_tuple): Delete definition and use of unecessary
- variable save_tree_block.
- * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P.
- (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND.
- (realify_fake_stores): Same.
- * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr):
- Use TREE_OPERAND.
- * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P.
- (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS.
- * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P.
- * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P.
- (c_parser_statement_after_labels): Same.
- (c_parser_paren_condition): Same.
- (c_parser_for_statement): Same.
- (c_parser_omp_for_loop): Same.
- * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND.
- (linearize_expr_tree): Same.
- * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P.
- * function.c (instantiate_expr): Same.
- 2006-09-22 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (expr_location): Use GIMPLE_STMT_LOCUS.
- (set_expr_location): Same.
- (expr_locus): Same.
- (set_expr_locus): Same.
- (expr_filename): Same.
- (expr_lineno): Same.
- (tree_block): Use GIMPLE_STMT_BLOCK.
- (protected_tree_operand): Use GIMPLE_STMT_OPERAND.
- * tree.h (struct gimple_stmt): Remove prev and next.
- (GIMPLE_STMT_OPERAND_CHECK): New.
- (TREE_TO_GIMPLE_STMT): Delete.
- (GIMPLE_STMT_TO_TREE): Delete.
- (GIMPLE_STMT_OPERAND): Use union, not cast.
- (GIMPLE_STMT_LOCUS): New.
- (GIMPLE_STMT_BLOCK): New.
- * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast
- to tree_base.
- * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable.
- 2006-09-21 Aldy Hernandez <aldyh@redhat.com>
- * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base
- to base.
- * tree-tailcall.c (adjust_return_value): Same.
- * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case.
- (copy_node_stat): Change common.base to base.
- (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt.
- Remove GIMPLE_STATEMENT_LIST case.
- * tree.h (struct gimple_stmt): Make operands of type tree.
- (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
- CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
- TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
- TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
- TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL,
- TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
- TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
- BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED,
- TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE,
- CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED,
- TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
- TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI,
- SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P):
- Change common.base to base.
- (GIMPLE_STATEMENT_LIST*): Remove.
- (union tree_node): Add base. Remove gimple_statement_list.
- Remove pointer from gstmt.
- * tree-ssa-propagate.c (set_rhs): Change common.base to base.
- * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST.
- * tree-vn.c (vn_compute): Change common.base to base.
- * tree-eh.c (verify_eh_throw_stmt_node): Same.
- * tree-flow-inline.h (var_ann): Same.
- (function_ann): Same.
- (stmt_ann): Same.
- (mark_non_addressable): Same.
- * gimplify.c (tree_to_gimple_tuple): Same.
- * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST.
- * tree-dfa.c (create_var_ann): Change common.base to base.
- (create_function_ann): Same.
- (create_stmt_ann): Same.
- (create_tree_ann): Same.
- (collect_dfa_stats_r): Same.
- * tree-ssa-pre.c (NECESSARY): Change common.base to base.
- * tree-ssa-dce.c (NECESSARY): Same.
- * tree-ssa.c (delete_tree_ssa): Same.
- * tree-optimize.c (execute_free_cfg_annotations): Same.
- * tree-flow.h: Same.
- 2006-09-19 Aldy Hernandez <aldyh@redhat.com>
- * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST.
- (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and
- GIMPLE_MODIFY_STMT.
- * tree.h (struct gimple_stmt): Add prev and next fields.
- (GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK.
- (GIMPLE_STATEMENT_LIST_HEAD): New.
- (GIMPLE_STATEMENT_LIST_TAIL): New.
- (struct gimple_statement_list): New.
- (union tree_node): Add gimple_stmt_list and gstmt.
- * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT.
- * tree.def: Add GIMPLE_STATEMENT_LIST.
- 2006-09-06 Aldy Hernandez <aldyh@redhat.com>
- * tree-dump.c (dequeue_and_dump): Handle GIMPLE_MODIFY_STMT.
- * tree-vrp.c (build_assert_expr_for): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (find_assert_locations): Same.
- (remove_range_assertions): Same.
- (stmt_interesting_for_vrp): Same.
- (vrp_visit_assignment): Same.
- (vrp_visit_stmt): Same.
- (simplify_cond_using_ranges): Same.
- * tree-into-ssa.c (REGISTER_DEFS_IN_THIS_STMT): Adjust for new
- tree structure.
- * tree-ssa-loop-im.c (movement_possibility): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (stmt_cost): Same.
- (determine_invariantness_stmt): Same.
- (schedule_sm): Same.
- (gather_mem_refs_stmt): Same.
- * tree-complex.c (init_dont_simulate_again): Same.
- (complex_visit_stmt): Same.
- (set_component_ssa_name): Same.
- (expand_complex_move): Same.
- (expand_complex_div_wide): Same.
- (expand_complex_comparison): Same.
- (expand_complex_operations_1): Same.
- * tree-ssa-loop-niter.c (expand_simple_operations): Same.
- (chain_of_csts_start): Same.
- (infer_loop_bounds_from_undefined): Same.
- * tree-pretty-print.c (dump_generic_node): Same.
- (op_prio): Same.
- (op_symbol_1): Same.
- * tree-ssa-loop-manip.c (create_iv): Same.
- * value-prof.c (tree_divmod_fixed_value): Same.
- (tree_divmod_fixed_value_transform): Same.
- (tree_mod_pow2): Same.
- (tree_mod_pow2_value_transform): Same.
- (tree_mod_subtract): Same.
- (tree_mod_subtract_transform): Same.
- (tree_divmod_values_to_profile): Same.
- * tree-tailcall.c (process_assignment): Same.
- (find_tail_calls): Same.
- (adjust_accumulator_values): Same.
- (adjust_return_value): Same.
- (eliminate_tail_call): Same.
- * tree.c (tree_code_size): Handle tcc_gimple_stmt.
- (make_node_stat): Same.
- (copy_node_stat): Handle gimple tuples.
- (expr_align): Handle GIMPLE_MODIFY_STMT. Abort on MODIFY_EXPR.
- (tree_node_structure): Handle tcc_gimple_stmt.
- (build2_stat): Abort on MODIFY_EXPR after gimplification. Handle
- tcc_gimple_stmt.
- (build2_gimple_stat): New.
- (expr_location): New.
- (set_expr_location): New.
- (expr_has_location): New.
- (expr_locus): New.
- (set_expr_locus): New.
- (expr_filename): New.
- (expr_lineno): New.
- (walk_tree): Handle tcc_gimple_stmt.
- (tree_block): New.
- (protected_tree_operand): New.
- (protected_tree_type): New.
- (tree_code_kind): Add gimple statements.
- * tree.h (tree_code_class): Add tcc_gimple_stmt.
- (IS_GIMPLE_STMT_CODE_CLASS): New.
- (struct tree_base): New.
- (struct tree_common): Shrink.
- (struct gimple_stmt): New.
- (struct gimple_expr): New.
- (TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
- CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
- TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
- TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
- TYPE_CACHED_VALUES_P, SAVE_EXPR_RESOLVED_P, TREE_SIDE_EFFECTS,
- FORCED_LABEL, TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
- TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
- BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN,
- TREE_USED, TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT,
- DECL_BY_REFERENCE, CALL_FROM_THUNK_P, TYPE_ALIGN_OK,
- TREE_PRIVATE, TREE_PROTECTED, TREE_DEPRECATED,
- IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
- TREE_LANG_FLAG_[0-6], SSA_NAME_CHECK, SSA_NAME_IN_FREE_LIST,
- TYPE_VOLATILE, TYPE_READONLY, TREE_VISITED, BINFO_VIRTUAL_P):
- Adjust for new `common' layout.
- (struct tree_function_decl): Add gimplified_flag.
- (DECL_GIMPLIFIED): NEW.
- (EXPR_LOCATION, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LOCUS,
- SET_EXPR_LOCUS, SET_EXPR_LOCATION, EXPR_LINENO,
- EXPR_HAS_LOCATION): Call corresponding function.
- (GIMPLE_STMT_CHECK): New.
- (TREE_OPERAND_CHECK, TREE_TYPE, TREE_CHAIN): Abort on gimple tuples.
- (TREE_BLOCK): Call tree_block.
- (GIMPLE_STMT_P): New.
- (GIMPLE_TUPLE_P): New.
- (TREE_TO_GIMPLE_STMT): New.
- (GIMPLE_STMT_TO_TREE): New.
- (GIMPLE_STMT_OPERAND): New.
- (GIMPLE_TUPLE_HAS_LOCUS_P): New.
- (PROTECTED_TREE_OPERAND): New.
- (PROTECTED_TREE_TYPE): New.
- (build2_gimple_stat): Protoize.
- (build2_gimple): New.
- (expr_location): Protoize.
- (set_expr_location): Protoize.
- (expr_has_location): Protoize.
- (expr_locus): Protoize.
- (set_expr_locus): Protoize.
- (expr_filename): Protoize.
- (expr_lineno): Protoize.
- (tree_block): Protoize.
- (protected_tree_operand): Protoize.
- (protected_tree_type): Protoize.
- (enum tree_node_kind): Add gimple_stmt_kind.
- * c-decl.c (union lang_tree_node): Tuples do not have a
- TREE_CHAIN.
- * ipa-cp.c (constant_val_insert): Change uses of MODIFY_EXPR to
- GIMPLE_MODIFY_STMT and adjust accordingly.
- * tree-scalar-evolution.c (follow_ssa_edge): Same.
- (interpret_condition_phi): Same.
- (pointer_used_p): Same.
- (analyze_scalar_evolution_1): Same.
- (scev_const_prop): Same.
- (interpret_rhs_modify_stmt): Rename from
- interpret_rhs_modify_expr.
- * builtins.c (std_expand_builtin_va_start): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (std_gimplify_va_arg_expr): Same.
- (expand_builtin_va_copy): Same.
- (integer_valued_real_p): Same.
- * fold-const.c (maybe_lvalue_p): Same.
- (fold_unary): Same.
- (tree_expr_nonnegative_p): Same.
- (tree_expr_nonzero_p): Same.
- * omp-low.c (extract_omp_for_data): Same.
- (lower_rec_input_clauses): Same.
- (lower_reduction_clauses): Same.
- (lower_copyprivate_clauses): Same.
- (lower_send_clauses): Same.
- (lower_send_shared_vars): Same.
- (expand_parallel_call): Same.
- (expand_omp_parallel): Same.
- (expand_omp_for_generic): Same.
- (expand_omp_for_static_nochunk): Same.
- (expand_omp_for_static_chunk): Same.
- (expand_omp_sections): Same.
- (lower_omp_single_copy): Same.
- (lower_omp_parallel): Same.
- * tree-ssa-dse.c (memory_address_same): Same.
- (dse_optimize_stmt): Same.
- * ipa-reference.c (scan_for_static_refs): Same.
- * tree-gimple.c (is_gimple_reg_rhs): Same.
- (get_call_expr_in): Same.
- (recalculate_side_effects): Same.
- * cgraphunit.c (cgraph_create_edges): Same.
- * tree-ssa-copyrename.c (rename_ssa_copies): Same.
- * tree-ssa-ccp.c (get_default_value): Same.
- (likely_value): Same.
- (visit_assignment): Same.
- (ccp_visit_stmt): Same.
- (get_maxval_strlen): Same.
- (ccp_fold_builtin): Same.
- * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Same.
- (find_givs_in_stmt): Same.
- (find_interesting_uses_op): Same.
- (find_interesting_uses_stmt): Same.
- (rewrite_use_nonlinear_expr): Same.
- * ipa-pure-const.c (scan_function): Same.
- * tree-stdarg.c (va_list_counter_bump): Same.
- (check_all_va_list_escapes): Same.
- (execute_optimize_stdarg): Same.
- * tree-ssa-math-opts.c (compute_merit): Same.
- (insert_reciprocals): Same.
- (execute_cse_reciprocals): Same.
- * tree-ssa-dom.c (initialize_hash_element): Same.
- (simple_iv_increment_p): Same.
- (record_equivalences_from_stmt): Same.
- (optimize_stmt): Same.
- (remove_stmt_or_phi): Same.
- (get_rhs_or_phi_arg): Same.
- (get_lhs_or_phi_result): Same.
- (propagate_rhs_into_lhs): Same.
- * tree-nrv.c (tree_nrv): Same.
- (execute_return_slot_opt): Same.
- * tree-ssa-propagate.c (get_rhs): Same.
- (set_rhs): Same.
- (stmt_makes_single_load): Same.
- (stmt_makes_single_store): Same.
- (replace_vuses_in): Same.
- (fold_predicate_in): Same.
- (substitute_and_fold): Same.
- * tree-ssa-alias.c (compute_call_clobbered): Same.
- (recalculate_used_alone): Same.
- (count_uses_and_derefs): Same.
- (is_escape_site): Same.
- (find_used_portions): Same.
- * gimple-low.c (lower_stmt): Same.
- (block_may_fallthru): Same.
- (lower_return_expr): Same.
- * tree-ssa-sink.c (is_hidden_global_store): Same.
- (statement_sink_location): Same.
- * dwarf2out.c (loc_descriptor_from_tree_1): Same.
- * expr.c (safe_from_p): Same.
- (expand_expr_real): Same.
- (expand_expr_real_1): Same.
- * tree-ssa-loop-ivcanon.c (empty_loop_p): Same.
- * predict.c (expr_expected_value): Same.
- (strip_builtin_expect): Same.
- (apply_return_prediction): Same.
- (tree_bb_level_predictions): Same.
- (tree_estimate_probability): Same.
- * tree-vn.c (vn_compute): Same.
- * tree-eh.c (add_stmt_to_eh_region_fn): Same.
- (remove_stmt_from_eh_region_fn): Same.
- (do_return_redirection): Same.
- (honor_protect_cleanup_actions): Same.
- (lower_try_finally_switch): Same.
- (lower_eh_constructs_1): Same.
- (tree_could_throw_p): Same.
- (verify_eh_throw_stmt_node): Same.
- * function.c (gimplify_parameters): Same.
- * tree-vectorizer.c (vect_is_simple_use): Same.
- (vect_is_simple_reduction): Same.
- * ipa-type-escape.c (scan_for_refs): Same.
- * tree-if-conv.c (tree_if_conversion): Same.
- (tree_if_convert_stmt): Same.
- (if_convertible_gimplify_modify_stmt_p): Rename from
- if_convertible_modify_expr_p.
- (if_convertible_stmt_p): Adjust for GIMPLE_MODIFY_STMT.
- (ifc_temp_var): Same.
- (replace_phi_with_cond_modify_stmt): Rename from
- replace_phi_with_cond_modify_expr.
- (process_phi_nodes): Call replace_phi_with_cond_modify_stmt.
- * tree.def (DEFTREECODE): Add GIMPLE_MODIFY_STMT.
- * tree-data-ref.c (find_data_references_in_loop): Adjust for
- GIMPLE_MODIFY_STMT.
- * tree-flow-inline.h (var_ann): Same.
- (function_ann): Same.
- (stmt_ann): Same.
- (mark_non_addressable): Same.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Same.
- * gimplify.c (tree_to_gimple_tuple): New.
- (build_stack_save_restore): Adjust for GIMPLE_MODIFY_STMT.
- (gimplify_return_expr): Same.
- (gimplify_decl_expr): Same.
- (gimplify_self_mod_expr): Same.
- (gimplify_cond_expr): Same.
- (gimplify_init_constructor): Same.
- (gimplify_modify_expr): Same.
- (gimplify_expr): Same.
- (gimplify_function_tree): Same.
- (force_gimple_operand): Same.
- * tree-ssa-phiopt.c (conditional_replacement): Same.
- (minmax_replacement): Same.
- (abs_replacement): Same.
- * tree-dfa.c (create_var_ann): Same.
- (create_function_ann): Same.
- (create_stmt_ann): Same.
- (create_tree_ann): Same.
- (collect_dfa_stats_r): Same.
- * tree-ssa-pre.c (find_or_generate_expression): Same.
- (create_expression_by_pieces): Same.
- (try_look_through_load): Same.
- (insert_fake_stores): Same.
- (realify_fake_stores): Same.
- (compute_avail): Same.
- (eliminate): Same.
- (init_pre): Same.
- (poolify_modify_stmt): Rename from poolify_modify_stmt.
- Adjust for GIMPLE_MODIFY_STMT.
- (NECESSARY): Adjust for new `common' layout.
- * tree-ssa-live.c (build_tree_conflict_graph): Adjust for
- GIMPLE_MODIFY_STMT.
- * tree-sra.c (sra_walk_modify_stmt): Rename from
- sra_walk_modify_expr.
- (sra_walk_function): Adjust for GIMPLE_MODIFY_STMT.
- (generate_copy_inout): Same.
- (generate_element_copy): Same.
- (generate_element_zero): Same.
- (scalarize_copy): Same.
- * tree-mudflap.c (mf_decl_cache_locals): Same.
- (mf_build_check_statement_for): Same.
- (mf_xform_derefs): Same.
- * ipa-prop.c (ipa_method_modify_stmt): Same.
- * print-tree.c (print_node): Handle gimple tuples.
- Add case for tcc_gimple_stmt.
- * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for
- GIMPLE_MODIFY_STMT.
- (copy_prop_visit_assignment): Same.
- (copy_prop_visit_stmt): Same.
- (init_copy_prop): Same.
- * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): Same.
- (forward_propagate_into_cond_1): Same.
- (find_equivalent_equality_comparison): Same.
- (tidy_after_forward_propagate_addr): Same.
- (forward_propagate_addr_expr_1): Same.
- (simplify_not_neg_expr): Same.
- (simplify_switch_expr): Same.
- * tree-ssa-dce.c (find_pdom): Same.
- (mark_stmt_if_obviously_necessary): Same.
- (NECESSARY): Adjust for new `common' layout.
- * tree-flow.h: Same.
- * tree-vect-patterns.c (widened_name_p): Adjust for
- GIMPLE_MODIFY_STMT.
- (vect_recog_dot_prod_pattern): Same.
- (vect_recog_widen_sum_pattern): Same.
- (vect_pattern_recog_1): Same.
- * tree-nested.c (init_tmp_var): Same.
- (save_tmp_var): Same.
- (walk_stmts): Same.
- (convert_call_expr): Same.
- (finalize_nesting_tree_1): Same.
- * tree-ssa.c (verify_ssa): Same.
- (delete_tree_ssa): Same.
- * lambda-code.c (lbv_to_gcc_expression): Same.
- (lle_to_gcc_expression): Same.
- (lambda_loopnest_to_gcc_loopnest): Same.
- (can_put_in_inner_loop): Same.
- (can_convert_to_perfect_nest): Same.
- (perfect_nestify): Same.
- * tree-ssa-loop-prefetch.c (gather_memory_references): Same.
- * tree-inline.c (copy_body_r): Same.
- (setup_one_parameter): Same.
- (initialize_inlined_parameters): Same.
- (estimate_num_insns_1): Same.
- (expand_call_inline): Same.
- (gimple_expand_calls_inline): Same.
- (copy_tree_r): Same.
- * tree-optimize.c (execute_free_cfg_annotations): Same.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
- (vect_align_data_ref): Same.
- (vect_create_data_ref_ptr): Same.
- (vect_init_vector): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- (vectorizable_assignment): Same.
- (vectorizable_operation): Same.
- (vectorizable_store): Same.
- (vectorizable_load): Same.
- (vectorizable_live_operation): Same.
- (vectorizable_condition): Same.
- (vect_generate_tmps_on_preheader): Same.
- (vect_create_cond_for_align_checks): Same.
- * tree-object-size.c (collect_object_sizes_for): Same.
- (check_for_plus_in_loops_1): Same.
- (check_for_plus_in_loops): Same.
- * tree-outof-ssa.c (insert_copy_on_edge): Same.
- (replace_use_variable): Same.
- (check_replaceable): Same.
- (rewrite_trees): Same.
- (identical_copies_p): Same.
- (insert_backedge_copies): Same.
- * tree-profile.c (tree_gen_edge_profiler): Same.
- * tree-vect-generic.c (expand_vector_operations_1): Same.
- * tree-ssa-structalias.c (update_alias_info): Same.
- (find_func_aliases): Same.
- * tree-cfg.c (factor_computed_gotos): Same.
- (make_edges): Same.
- (make_goto_expr_edges): Same.
- (tree_merge_blocks): Same.
- (remove_useless_stmts_cond): Same.
- (remove_useless_stmts_1): Same.
- (tree_find_edge_insert_loc): Same.
- (verify_expr): Same.
- (gimplify_val): Same.
- (verify_gimple_tuples_1): New.
- (verify_gimple_tuples): New.
- (verify_stmts): Call verify_gimple_tuples.
- * tree-ssa-reassoc.c (get_rank): Adjust for GIMPLE_MODIFY_STMT.
- (get_unary_op): Same.
- (linearize_expr): Same.
- (get_single_immediate_use): Same.
- (negate_value): Same.
- (should_break_up_subtract): Same.
- (break_up_subtract): Same.
- (repropagate_negates): Same.
- (break_up_subtract_bb): Same.
- (reassociate_bb): Same.
- * config/i386/i386.c (ix86_va_start): Same.
- (ix86_gimplify_va_arg): Same.
- * stmt.c (expand_expr_stmt): Same.
- (warn_if_unused_value): Same.
- (expand_return): Same.
- * tree-ssanames.c (make_ssa_name): Same.
- * tree-ssa-threadedge.c (lhs_of_dominating_assert): Same.
- * tree-ssa-operands.c (finalize_ssa_defs): Same.
- (add_virtual_operand): Same.
- (get_expr_operands): Same.
- (parse_ssa_operands): Same.
- (get_modify_stmt_operands): Rename from get_modify_expr_operands.
- 2006-12-05 H.J. Lu <hongjiu.lu@intel.com>
- * config.host: Remove extra blank line.
- 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com>
- * config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if
- target is also an x86 variant.
- 2006-12-05 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.c (ix86_builtin_vectorized_function): Declare.
- (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define.
- (ix86_builtin_vectorized_function): New function to vectorize
- sqrt.
- 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (output_file_start): Fix comment which referred to
- ia64_override_options.
- 2006-12-04 Jan Hubicka <jh@suse.cz>
- * cfgexpand.c (expand_one_var): Guard expand_one_stack_var by
- really_expand.
- 2006-12-04 Bernd Schmidt <bernd.schmidt@analog.com>
- * rtlanal.c (note_uses): Deal with SEQUENCEs.
- * config/bfin/bfin.c: Include "timevar.h".
- (bfin_flag_schedule_insns2, splitting_for_sched,
- bfin_flag_var_tracking): New variables.
- (print_operand): Handle '%!'.
- (override_options): Disable normal sched2 pass, instead set
- bfin_flag_schedule_insns2 for reorg to handle it.
- (output_file_start): Likewise for var-tracking.
- (bfin_optimize_loop): Take some care not to stumble over SEQUENCEs.
- (gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p):
- New functions.
- (bfin_reorg): Do second scheduling pass here, and call
- bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead
- of examining insns directly. If bfin_flag_var_tracking, call
- var-tracking pass when done with everything else.
- * config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid.
- * config/bfin/bfin.md (UNSPEC_32BIT): New constant.
- (movsi_insn32): New pattern, with two new splits to create it
- before the final scheduling pass.
- (neghi2): Not a dsp32 insn, rather alu0.
- (movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn,
- movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2,
- extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2,
- mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2,
- ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2,
- movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low,
- movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi,
- ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3,
- addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3,
- subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3,
- addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3,
- flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi,
- flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3,
- flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts,
- flag_macv2hi_parts_acconly, flag_macinitv2hi_parts,
- flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl,
- mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3,
- lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store
- variants instead of ';'.
- (ror_one, rol_one): Likewise. Make them dsp32 insns.
- (ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants.
- (align8, align16, align24): Now named patterns; also using '%!'.
- (mnop): New insn.
- 2006-12-05 Kazu Hirata <kazu@codesourcery.com>
- * config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c,
- tree-vect-generic.c, tree-vect-transform.c: Fix comment typos.
- 2006-12-04 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/spu-protos.c (spu_split_address): Add.
- * config/spu/spu.c (spu_split_address): Add.
- (print_operand): Handle HIGH.
- (spu_legitimate_address): Don't test for aligned CONST.
- (spu_expand_mov): Don't split addresses here.
- * config/spu/constraints.md (A): Don't test legitimate_const.
- * config/spu/spu.md: Add split of movsi patterns for PIC mode.
- (ceq_di): Use correct predicates.
- 2006-12-04 Eric Christopher <echristo@apple.com>
- * config/darwin.h: Update copyright notice.
- * config/i386/darwin.h: Ditto.
- 2006-12-04 Jan Hubicka <jh@suse.cz>
- * builtins.c (fold_builtin_memory_op): Check that expr_size match.
- * explow.c (expr_size, int_expr_size): Assert that size is non_NULL.
- 2006-12-04 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call
- set_used_smts.
- * tree-ssa-structalias.c (set_used_smts): Export.
- (find_what_p_points_to): Don't call set_used_smts here.
- * tree-ssa-structalias.h (set_used_smts): Add prototype.
- 2006-12-04 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (compute_may_aliases):
- Compute flow sensitive before flow insensitive.
- (compute_flow_sensitive_aliasing): Don't try to add
- a symbol memory tag to itself.
- * alias.h (alias_set_subset_of): New prototype.
- * alias.c (alias_set_subset_of): New function.
- * tree-ssa-structalias.c: Update comments.
- (struct variable_info): Add finished_solution.
- (new_varinfo): Set finished solution to NULL.
- (var_escaped_vars): Remove.
- (escaped_vars_tree): Remove.
- (escaped_vars_id): Remove.
- (nonlocal_vars_id): Remove.
- (constraint_expr_type): Add INCLUDES.
- (graph_size): Removed.
- (dump_constraint): Support INCLUDES.
- (build_constraint_graph): Ditto.
- (collapse_nodes): Add merge_solutions argument.
- Don't merge attributes.
- (process_unification_queue): Just use collapse_nodes.
- (perform_var_substitution): Update call to collapse_nodes.
- (get_constraint_exp_from_ssa_var): Use INCLUDES.
- (process_constraint): Fix non-field sensitive handling
- Handle includes.
- (get_constraint_for): Use INCLUDES.
- (make_constraint_from_anything): Renamed from
- make_constraint_from_escaped.
- (make_constraint_to_escaped): Removed.
- (find_global_initializers): Removed.
- (create_variable_info_for): Do not make constraints to escaped
- vars anymore.
- (dump_solution_for_var): Don't print out the equivalent points-to
- sets, just use the name of the variable it shares it with.
- (intra_create_variable_infos): Use INCLUDES.
- Change nonlocal variable sets to anything sets.
- (init_base_vars): Remove escaped_vars and nonlocal_var
- initialization.
- (find_escape_constraints): Removed.
- (delete_points_to_sets): Remove dead code.
- (used_smt_calculated): New variable.
- (set_used_smts): New function.
- (merge_smts_into): New function.
- (find_what_p_points_to): Modify to use SMTs.
- (create_nonlocal_var): Remove.
- * tree-ssa-operands.c (access_can_touch_variable): Remove
- reference to nonlocal_all.
- * tree-ssa.c (verify_name_tags): Remove.
- 2006-12-04 Carlos O'Donell <carlos@codesourcery.com>
- * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
- (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.
- 2006-12-04 Andrew MacLeod <amacleod@redhat.com>
- * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
- * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update.
- (add_livein_if_notdef): Delete.
- (loe_visit_block): New. Propogate live on entry info for a block into
- each predecessor. If it changes, make sure it is visited again.
- (live_worklist): Visit every block and update the live on entry info
- for preds. Iterate over any that changed.
- (set_var_live_on_entry): Populate the live on entry blocks with bits
- based on the immediate uses of a var.
- (calculate_live_on_entry): Remove.
- (calculate_live_on_exit): Calculate live on exit based on the newly
- oriented live on entry bits.
- (calculate_live_ranges): Build live on entry and exit vectors.
- (dump_live_info): Use new orientation of live on entry bitmaps.
- (verify_live_on_entry): New. Split out verification code from old
- calculate_live_on_entry routine.
- * tree-ssa-live.h (struct tree_live_info_d): Add Working stack.
- (live_entry_blocks): Rename to live_on_entry and return bitmap for a
- basic_block instead of for a partition.
- (live_merge_and_clear): Add asserts.
- (make_live_on_entry): Set partition bit in basic block vector.
- 2006-12-04 Jakub Jelinek <jakub@redhat.com>
- PR libgomp/29947
- * omp-low.c (expand_omp_for_static_nochunk,
- expand_omp_for_static_chunk): Do all arithmetics in signed rather than
- unsigned type.
- PR middle-end/29965
- * omp-low.c (determine_parallel_type): Don't try to optimize combined
- parallels if region->exit or region->inner->exit is NULL.
- (expand_omp_parallel): Handle NULL region->exit even if cfg is already
- built.
- (expand_omp_for_generic): Handle NULL region->cond and region->exit.
- (expand_omp_for): Use expand_omp_for_generic if either region->cond
- or region->exit is NULL.
- (expand_omp_sections): Handle NULL region->cond or region->exit.
- (expand_omp_synch):
- 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
- * config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
- 2006-12-04 Eric Botcazou <ebotcazou@adacore.com>
- * tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and
- TYPE_MAX_VALUE for scalar types here but...
- (walk_tree): ...there instead. Return NULL_TREE if the TYPE_DECL
- is attached an error mark, and the return value of the callback
- if it is not NULL_TREE.
- 2006-12-04 Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.md (_mulv4si3): Remove unused local variables.
- 2006-12-03 Eric Christopher <echristo@apple.com>
- PR target/24598
- * config/t-slibgcc-darwin: Pass -install_name.
- * config/darwin.h (LINK_COMMAND_SPEC): Remove use of
- libtool. Only pass through options that the linker recognizes.
- (LINK_SPEC): Update comment. Translate options.
- (STARTFILE_SPEC): Add dylib1.o for shared libraries.
- * config/darwin9.h (LINK_COMMAND_SPEC): Ditto above.
- 2006-12-03 Dorit Nuzman <dorit@il.ibm.com>
- * config/spu/spu.md (smaxv4sf3, sminv4sf3): New.
- 2006-12-03 Uros Bizjak <ubizjak@gmail.com>
- PR target/30041
- * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
- operands[1] in insn constraint. Correct type attribute to sselog1.
- 2006-12-02 H.J. Lu <hongjiu.lu@intel.com>
- PR target/30040
- * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
- (bit_SSSE3): New.
- (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
- processor detection.
- * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
- -march=native if there is no -mtune=*.
- * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
- coretypes.h.
- 2006-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * doc/install.texi: Update recommended MPFR version. Remove
- obsolete reference to cumulative patch.
- 2006-12-02 Lee Millward <lee.millward@codesourcery.com>
- PR c/27953
- * c-decl.c (store_parm_decls_oldstyle): Robustify.
- 2006-11-30 Jan Hubicka <jh@suse.cz>
- Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.c (pentium4_cost, nocona_cost): Update
- 32bit memcpy/memset decriptors.
- (decide_alg): With -minline-all-stringops and sizes that are best
- to be copied via libcall still work hard enough to pick non-libcall
- strategy.
- 2006-12-02 Kazu Hirata <kazu@codesourcery.com>
- * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
- * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
- config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
- config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
- config/sh/sh4-300.md, config/spu/spu-builtins.def,
- config/spu/spu-c.c, config/spu/spu-modes.def,
- config/spu/spu.c, config/spu/spu.md,
- config/spu/spu_internals.h, config/spu/vmx2spu.h,
- fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
- tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
- tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
- tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow
- spelling conventions.
- * config/i386/i386.c: Fix a comment typo.
- 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/spu.c (spu_immediate): Remove trailing comma.
- (reloc_diagnostic): Call warning when -mwarn-reloc is specified.
- * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
- better optimization.
- (floatv4siv4sf2): New.
- (fix_truncv4sfv4si2): New.
- (floatunsv4siv4sf2): New.
- (fixuns_truncv4sfv4si2): New.
- (addv16qi3): New.
- (subv16qi3): New.
- (negv16qi2): New.
- (mulv8hi3): New.
- (mulsi3): Remove.
- (mul<mode>3): New.
- (_mulv4si3): New.
- (cmp<mode>): Don't accept constant arguments for DI, TI and SF.
- * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
- spu_resolve_overloaded_builtin instead of static inline functions.
- 2006-12-01 Eric Botcazou <ebotcazou@adacore.com>
- * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
- type instead of the size of its mode to compute the highest and
- lowest possible values. Still check the size of the mode before
- flipping the signedness of the comparison.
- 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
- * config/spu/predicates.md (spu_mov_operand): Add.
- * config/spu/spu.c (spu_expand_extv): Remove unused code.
- (print_operand_address, print_operand): Handle addresses containing AND.
- (spu_split_load, spu_split_store): Use updated movti pattern.
- * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
- stores in mov patterns for correct operation of reload.
- (lq, lq_<mode>, stq, stq_<mode>): Remove.
- 2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c++/30021
- * c-common.c (check_main_parameter_types): Check for error_mark_node.
- 2006-12-01 Andrew MacLeod <amacleod@redhat.com>
- * common.opt (ftree-combine-temps): Remove.
- * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
- (coalesce_ssa_name): Don't check for combine-temps.
- (coalesce_vars): Remove.
- (check_replaceable): Use num_imm_uses.
- (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
- check for combine-temps.
- (rewrite_out_of_ssa): Never create a ref_count in the var_map.
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
- to register_ssa_partition calls.
- * tree-ssa-live.c (register_ssa_partition): Remove prototype.
- (init_var_map, delete_var_map): remove refernces to ref_count.
- (create_ssa_var_map): Never calculate a ref count.
- (type_var_init): Remove.
- * tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
- (SSA_VAR_MAP_REF_COUNT): Delete.
- (create_ssa_var_map): Change Prototype to have no parameters.
- (version_ref_count): Delete.
- (register_ssa_partition): Remove 'is_use' paramater and don't set the
- ref_count vector.
- (type_var_num, type_var, type_var_first_partition,
- type_var_next_partition, type_var_dump, type_var_delete,
- type_var_remove_partition, type_var_find, type_var_compact,
- type_var_decompact): Remove.
- 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
- attribute.
- 2006-12-01 Richard Guenther <rguenther@suse.de>
- PR c++/29433
- * dwarf2out.c (struct pubname_struct): Make name const.
- (add_pubtype): Do not xstrdup identifiers.
- 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
- multiword accesses are in range.
- 2006-12-01 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29921
- * tree-ssa-ccp.c (canonicalize_float_value): New function.
- (set_lattice_value): Use canonicalize_float_value.
- 2006-11-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * config/spu/spu.c (spu_builtin_range): Move from spu-c.c
- (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete.
- (spu_cpu_cpp_builtins): Remove.
- (spu_override_options): Don't set warn_main.
- (spu_force_reg): Move from spu-c.c.
- (spu_check_builtin_parm): Likewise.
- (expand_builtin_args): Likewise.
- (spu_expand_builtin_1): Likewise.
- (spu_expand_builtin): Likewise.
- * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set
- warn_main and targetm.resolve_overloaded_builtin.
- * config/spu/spu-c.c (spu_builtin_range): Remove.
- (spu_check_builtin_parm): Remove.
- (expand_builtin_args): Remove.
- (spu_expand_builtin_1): Remove.
- (spu_expand_builtin): Remove.
- (spu_cpu_cpp_builtins): Moved from spu.c
- (spu_force_reg): Remove.
- 2006-12-01 Joseph Myers <joseph@codesourcery.com>
- David Edelsohn <edelsohn@gnu.org>
- PR target/24036
- * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
- * defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Define.
- * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Define.
- * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
- Use new macros to detect modes with holes; do not look at integer
- units.
- (subreg_offset_representable_p): Check for and disallow cases
- where the modes use different numbers of bits from registers.
- * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
- constant for soft-float.
- (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
- containing doubles.
- (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
- in E500 double case.
- * config/rs6000/rs6000.md (movtf): Allow soft-float.
- (movtf_softfloat): New.
- 2006-11-30 Richard Sandiford <richard@codesourcery.com>
- * simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
- simplify_gen_subreg.
- 2006-11-30 Andrew Macleod <amacleod@redhat.com>
- * tree-ssa-live.c (create_coalesce_list): Create a hash table.
- (COALESCE_HASH_FN): New. Define hash function.
- (partition_pair_map_hash): New. Hash value for a partition pair.
- (partition_pair_map_eq): New. Equality for hash pairs.
- (create_coalesce_list): Create hash table.
- (delete_coalesce_list): Free hash table.
- (find_partition_pair): Find/create pairs in hash table.
- (compare_pairs): Sort pairs in ascending order now.
- (num_coalesce_pairs): New. Number of pairs in hash table.
- (struct partition_pair_iterator): Iterator struct for pair table.
- (first_partition_pair): Iterator function for first pair.
- (end_partition_pair_p): Iterator function for end of iteration.
- (next_partition_pair): Iterator function for next pair.
- (FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs.
- (sort_coalesce_list): Sort pairs from hash table into an array.
- (pop_best_coalesce): Take pairs from the array.
- (dump_coalesce_list): Update to use hash table or sorted array.
- * tree-ssa-live.h (struct partition_pair_d): Remove next field.
- (struct coalesce_list_d): Add hash table related fields.
- 2006-11-30 Jan Hubicka <jh@suse.cz>
- PR middle-end/30028
- * builtins.c (fold_builtin_memory_op): Fix typo in the check for
- memmove/bcopy->memcpy conversion.
- 2006-11-30 Carlos O'Donell <carlos@codesourcery.com>
- * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
- * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT):
- Default is the largest alignment supported for 32-bit ELF and
- representable on a 32-bit host.
- 2006-11-30 Janis Johnson <janis187@us.ibm.com>
- * config/dfp-bit.c (DFP_TO_INT): Use wider precision.
- 2006-11-30 Jan Hubicka <jh@suse.cz>
- * tree-ssa-operands.h (struct ssa_operands): New.
- * tree-flow-inline.h (gimple_ssa_operands): New function.
- * tree-flow.h: (struct gimple_df): Add ssa_operands.
- * Makefile.in: Remove gt-tree-ssa-operands.h
- * tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h
- (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs,
- operand_memory, operand_memory_index, ops_active): Remove statics.
- (ALLOC_OPTYPE): Update.
- (operand_build_sort_virtual): Update.
- (ssa_operands_active): Update.
- (init_ssa_operands): Update.
- (fini_ssa_operands): Update.
- (ssa_operand_alloc): Update.
- (INITIALIZE_USE): Update.
- (finalize_ssa_use_ops): Update.
- (finalize_ssa_v_may_def_ops): Update.
- (finalize_ssa_vuse_ops): Update.
- (finalize_ssa_v_must_def_ops): Update.
- 2006-11-30 Richard Guenther <rguenther@suse.de>
- * tree-vectorizer.h (vectorizable_function): Export.
- * tree-vect-transform.c (vectorizable_function): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Set
- type_in to scalar type in recognition of squaring.
- Make sure the target can vectorize sqrt in recognition
- of sqrt, set type_in to vector type in this case.
- 2006-11-30 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (R10_REG): New constant.
- * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG.
- (ix86_emit_restore_regs_using_mov): Ditto.
- (ix86_expand_call): Ditto.
- (x86_output_mi_thunk): Ditto. Also use R10_REG.
- 2006-11-30 Steven Bosscher <steven@gcc.gnu.org>
- * cselib.c (cselib_init): Use special MEM rtx form for callmem.
- * alias.c (canon_true_dependence): Update comment.
- 2006-11-30 Steven Bosscher <steven@gcc.gnu.org>
- * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline
- at the end of a diagnostics message.
- * alloc-pool.c (pool_free): Postpone clearing the pool entry
- until after asserting that it was allocated in the right pool.
- * cfgrtl.c (print_rtl_with_bb): Print predecessor and
- successor edge information as well. Make output of live regs
- on exit consistent with live regs on entry.
- 2006-11-30 Uros Bizjak <ubizjak@gmail.com>
- PR target/29852
- * config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable
- insn patterns for TARGET_80387.
- (*truncxfsf2_i387, *truncxfdf2_i387): Remove.
- (*truncxfsf2_i387_1): Rename to *truncxfsf2_i387.
- (*truncxfdf2_i387_1): Rename to *truncxfdf2_i387.
- (fmod<mode>3, remainder<mode>3): Enable expaders for SSE math.
- Generate truncxf<mode>2 insn patterns for strict SSE math.
- 2006-11-30 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (movsf_1): Enable pattern for standard
- 80387 constants before reload when optimizing for size.
- (*movdf_nointeger, *movdf_integer): Ditto.
- (*movxf_nointeger, *movxf_integer): Disable patterns for standard
- 80387 constants before reload when not optimizing for size.
- (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float
- extension of XFmode input operands.
- 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * config/spu/crt0.c (__dso_handle): Define.
- 2006-11-30 Kaz Kojima <kkojima@gcc.gnu.org>
- * emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially
- when clearing the used flags.
- 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * config/spu/spu.md (extend_compare): Fix whitespace formatting.
- 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR target/29945
- * config/spu/spu.md (extend_compare<mode>): New pattern.
- (extend_compare): Change to expand and use the above pattern.
- 2006-11-29 Janis Johnson <janis187@us.ibm.com>
- * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode.
- * config/dfp-bit.h (CONTEXT_ROUND): Delete.
- (DFP_INIT_ROUNDMODE): Define.
- * config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE.
- * mklibgcc.in: Fix dependencies for dfp-bit.c.
- 2006-11-29 Tehila Meyzels <tehila@il.ibm.com>
- * haifa-sched.c: Remove define LINE_NOTE(INSN). Remove line_note_head.
- Update documentation.
- (associate_line_notes_with_blocks): Kill.
- (extend_bb): Remove basic block argument, put void instead.
- Remove line number handling for each bb.
- (save_line_notes): Kill.
- (restore_line_notes): Kill.
- (sched_init): Remove line_note_head initialization.
- Change extend_bb call.
- (sched_finish): Remove free of line_note_head.
- (add_block): Change extend_bb call.
- * sched-ebb.c (schedule_ebb): Remove save_line_notes,
- rm_line_notes and restore_line_notes calls.
- (schedule_ebbs): Remove rm_redundant_line_notes.
- * sched-int.h (struct haifa_insn_data): Remove line_note.
- (save_line_notes): Remove declaration.
- (restore_line_notes): Remove declaration.
- * modulo-sched.c (loop_canon_p): Update debug info printing
- by using insn locators instead of line note.
- (sms_schedule): Update debug info printing, by using insn
- locators instead of line note.
- * sched-rgn.c (debug_dependencies): Remove handling of case
- n>0 (line number), since it's a dead code.
- (schedule_region): Remove save_line_notes and
- restore_line_notes calls.
- 2006-11-29 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/predicates.md (gpc_reg_operand): Check
- invalid_e500_subreg.
- * config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
- SImode subregs of SPE vectors.
- * config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
- * jump.c (true_regnum): Require subregs to satisfy
- subreg_offset_representable_p.
- 2006-11-29 Daniel Berlin <dberlin@dberlin.org>
- Steven Bosscher <stevenb.gcc@gmail.com>
- * Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h,
- since it no longer exists.
- 2006-11-29 Duncan Sands <baldrick@free.fr>
- PR tree-optimization/23744
- * tree-vrp.c (vrp_meet): do not require ranges to intersect.
- 2006-11-29 Duncan Sands <baldrick@free.fr>
- PR tree-optimization/23744
- * testsuite/gcc.dg/tree-ssa/pr23744.c: new test.
- 2006-11-29 Duncan Sands <baldrick@free.fr>
- PR tree-optimization/23744
- * testsuite/gcc.dg/tree-ssa/update-threading.c: xfail.
- 2006-11-29 Jie Zhang <jie.zhang@analog.com>
- * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
- 2006-11-29 J"orn Rennecke <joern.rennecke@st.com>
- * sh.opt (minline-ic_invalidate): New option.
- (musermode): Adjust comment.
- * sh.c (sh_initialize_trampoline): Emit library call unless
- is set; if it is set, don't emit library call if we can use icbi
- instead.
- * sh.md (ic_invalidate_line, ic_invalidate_line_sh4a): Also use
- icbi for TARGET_SH4_300.
- * t-sh (LIB1ASMFUNCS_CACHE): Set.
- * doc/invoke.texi: Document -minline-ic_invalidate; Update
- -musermode documentation.
- 2006-11-29 Jim Tison <jtison@us.ibm.com>
- * gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
- __gthread_recursive_mutex_init): Define.
- 2006-11-29 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
- STRICT_ALIGNMENT and the type is more aligned than the saved
- registers, copy via a temporary.
- 2006-11-28 Andrew Pinski <pinskia@gmail.com>
- PR tree-opt/29984
- * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR
- and MIN_EXRP.
- 2006-11-28 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.
- 2006-11-28 Jan Hubicka <jh@suse.cz>
- Privatize SSA variables into gimple_df.
- * tree-flow-inline.h
- (gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars,
- gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var,
- gimple_nonlocal_all): New accessors.
- (first_referenced_var): Update.
- (mark_stmt_modified): Update.
- (is_call_clobbered): Update.
- (mark_call_clobbered): Update.
- (clear_call_clobbered): Update.
- (mark_non_addressable): Update.
- * tree-vrp.c (get_value_range): Update.
- * tree-into-ssa.c (in_ssa_p): Kill.
- (get_default_def_for): Update.
- (rewrite_into_ssa): Update.
- * tree-complex.c (init_parameter_lattice_values): Update.
- (update_complex_assignment): Update.
- (update_parameter_components): Update.
- (expand_complex_libcall): Update.
- (expand_complex_operations_1): Update.
- * tree-tailcall.c (arg_needs_copy_p): Update.
- (add_virtual_phis): Update.
- (tree_optimize_tail_calls_1): Update.
- * tree-ssa-dse.c (memory_ssa_name_same): Update.
- * tree-ssa-copyrename.c
- (copy_rename_partition_coalesce): Update.
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Update.
- * tree-ssa-propagate.c (set_rhs): Update.
- * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
- addressable_vars, global_var):Kill.
- (set_initial_properties): Update.
- (init_alias_info): Update.
- (finalize_ref_all_pointers): Update.
- (setup_pointers_and_addressables): Update.
- (maybe_create_global_var): Update.
- (create_global_var): Update.
- (dump_points_to_info): Update.
- * function.h (struct gimple_df): Forward declare.
- (struct function): Add GIMPLE_DF field.
- * gimplify.c (force_gimple_operand): Update.
- * tree-dfa.c (referenced_vars, default_defs): KIll.
- (make_rename_temp): Update.
- (dump_variable): Update.
- (referenced_var_lookup): Update.
- (referenced_var_check_and_insert): Update.
- (default_def): Rename to ...
- (gimple_default_def): ... this one; accept cfun argument.
- (set_default_def): Update.
- * tree-cfgcleanup.c (modified_noreturn_calls): Kill.
- (cleanup_control_flow): Update.
- * tree-ssa-pre.c (compute_avail): Update
- * tree-ssa-live.c (calculate_live_on_entry): Update.
- * tree-ssa.c (verify_use): Update.
- (verify_call_clobbering): Update.
- (verify_call_clobbering): Update.
- (init_tree_ssa): Update.
- (delete_tree_ssa): Update.
- * tree-outof-ssa.c (coalesce_ssa_name): Update.
- (rewrite_out_of_ssa): Update.
- * tree-flow.h (gimple_df): New structure collecting dataflow variables.
- (FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New
- private accessors.
- (in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs,
- ssa_names, global_var, nonlocal_all, call_clobbered_vars,
- addressable_vars, aliases_computed_p): Kill.
- (default_def): Rename to...
- (gimple_default_def): ... this one.
- (defaule_def_fn): Kill.
- (num_referenced_vars, ssa_names, num_ssa_names): Update.
- * tree-ssa-structalias.c (nonlocal_all): Kill.
- (get_constraint_exp_from_ssa_var): Update.
- (create_nonlocal_var): Update.
- (get_constraint_for): Update.
- (update_alias_info): Update.
- (find_global_initializers): Update.
- (intra_create_variable_infos): Update.
- (intra_create_variable_infos):
- (find_what_p_points_to): Update.
- (init_alias_heapvars): Update.
- * tree-cfg.c (remove_bb): Update.
- (gimplify_val): Update.
- * tree-ssa-reassoc.c (get_rank): Update.
- (init_reassoc): Update.
- * tree-ssanames.c: Do not include gt-tree-ssanames.h
- (ssa_names, free_ssanames): Kill.
- (init_ssanames): Update.
- (make_ssa_name): Update.
- (release_ssa_name): Update.
- (release_defs): Update.
- (replace_ssa_name_symbol): Update.
- * tree-ssa-operands.c (access_can_touch_variable): Update.
- (add_virtual_operand): Update.
- (add_call_clobber_ops): Update.
- (add_call_read_ops): Update.
- (get_call_expr_operands): Update.
- (get_asm_expr_operands): Update.
- 2006-11-28 Jan Hubicka <jh@suse.cz>
- * builtins.c: Include tree-flow.h.
- (fold_builtin_memory_op): Be more aggressive on converting memcpy to
- assignment; convert memmove to memcpy for sizes greater than 1 where
- alignment of operands prohibit the partial overlap.
- 2006-11-28 Jan Hubicka <jh@suse.cz>
- * invoke.texi (large-stack-frame, large-stack-frame-growth): New params.
- * cgraph.c (dump_cgraph_node): Dump stack usage.
- * cgraph.h (cgraph_local_info): Add estimated_self_stack_size.
- (cgraph_global_info): Add estimated_stack_size and stack_frame_offset.
- * cgraphunit.c (cgraph_analyze_function): Analyze stack sizes.
- * ipa-inline.c (cgraph_clone_inlined_nodes): Propagate stack usage.
- (cgraph_check_inline_limits): Limit stack growth.
- * cfgexpand.c: Include tree-inline.h.
- (account_stack_vars): New function.
- (expand_one_var): New param to just account the stack; return estimated
- size.
- (expand_used_vars_for_block): Update call of expand_one_var.
- (account_used_vars_for_block): New function.
- (estimated_stack_frame_size): Likewise.
- (init_vars_expansion, fini_vars_expansion): Break out from..
- (expand_used_vars): ... here.
- * tree-inline.h (estimated_stack_frame_size): Declare.
- * params.def (PARAM_LARGE_STACK_FRAME, PARAM_STACK_FRAME_GROWTH): New.
- 2006-11-28 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (ggc_print_statistics): Use %ul and a cast to
- unsigned long for printing OBJECT_SIZE.
- 2006-11-27 Steven Bosscher <steven@gcc.gnu.org>
- * alias.c (init_alias_analysis): Remove simplification loop
- after propagating pointers.
- 2006-11-27 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2
- and m_GENERIC64.
- 2006-11-27 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default.
- 2006-11-27 Roger Sayle <roger@eyesopen.com>
- Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- * c-common.c (constant_fits_type_p): Delete.
- (unsigned_conversion_warning): Delete.
- (conversion_warning): Integrate Wconversion warning from
- unsigned_conversion_warning.
- (convert_and_check): Integrate Woverflow warning from
- unsigned_conversion_warning. Reorganize and simplify to avoid
- dependence upon the middle-end setting TREE_OVERFLOW on integral
- conversions, by using int_fits_type_p directly.
- 2006-11-27 Tobias Burnus <burnus@net-b.de>
- * doc/invoke.texi: Fixed typo.
- 2006-11-27 Michael Matz <matz@suse.de>
- Andreas Krebbel <krebbel1@de.ibm.com>
- PR target/29319
- * config/s390/predicates.md (larl_operand): Check addend of larl
- operand to be in range of -/+2GB.
- * config/s390/s390.c (legitimize_pic_address): Likewise.
- Changed type of variable even to HOST_WIDE_INT.
- 2006-11-27 Jan Hubicka <jh@suse.cz>
- * expr.c (emit_block_move_via_libcall): Export.
- (clear_storage_via_libcall): Rename to ...
- (set_storage_via_libcall): ... this one; handle arbitrary value to set.
- (clear_storage): Update to set_storage_via_libcall.
- * expr.h (emit_block_move_via_libcall): Declare
- * config/i386/i386.h (stringop_alg): New enum.
- (MAX_STRINGOP_ALGS): New constant.
- (stringop_algs): New struct.
- (processor_costs): Add memcpy/memset descriptors.
- (TARGET_REP_MOVEL_OPTIMAL): Remove.
- * config/i386/i386.md (movsi_insv_1_rex64): New pattern.
- (strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands
- for memset.
- * config/i386/i386.opt (minline-stringops-dynamically,
- mstringop-strategy): New
- parameters.
- * config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype.
- (ix86_expand-clrmem): Rename to ...
- (ix86_expand_setmem): ... this one; update prototype.
- * config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant.
- (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
- geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost,
- nocona_cost, core2_cost, generic_cost, generic64_cost,
- generic32_cost): Add memcpy/memset descriptors.
- (x86_rep_movl_optimal): Remove.
- (stringop_alg): New static variable.
- (ix86_expand_aligntest): Handle predictions.
- (override_options): Add strgop_alg handling.
- (predict_jump): New function.
- (scale_counter): New function.
- (expand_set_or_movmem_via_loop): New function.
- (expand_movmem_via_rep_mov): New function.
- (expand_setmem_via_rep_stots): New function.
- (emit_strmov): New function.
- (expand_movmem_epilogue): New function.
- (expand_setmem_epilogue_via_loop): New function.
- (expand_setmem_epilogue): New function.
- (expand_movmem_prologue): New function.
- (expand_setmem_prologue): New function.
- (decide_alg): New function.
- (decide_alignment): New function.
- (ix86_exand_movmem): Rewrite.
- (promote_duplicated_reg): New function.
- (ix86_expand_clrmem): Rename to ...
- (ix86_expand_setmem): ... this one. Rewrite.
- * invoke.texi (minline-stringops-dynamically): New command line option.
- (mstringop-strategy): Likewise.
- 2006-11-27 Jan Hubicka <jh@suse.cz>
- * cfgexpand.c (construct_exit_block): Don't disturb end of last BB.
- * rtl.texi (NOTE_INSN_FUNCTION_END): Remove.
- * final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END.
- * insn-notes.def (FUNCTION_END): Remove.
- * jump.c (delete_related_insns): Don't worry about FUNCTION_END.
- (redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END
- note.
- * ifcvt.c (dead_or_predictable): Update call of redirect_jump_2.
- * function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END
- * cfglayout.c (duplicate_insn_chain): Don't worry about
- NOTE_FUNCTION_END.
- 2006-11-27 Richard Guenther <rguenther@suse.de>
- Zdenek Dvorak <dvorakz@suse.cz>
- * target.h (struct gcc_target): Add builtin_vectorized_function
- target hook.
- * target-def.h (TARGET_VECTORIZE): Likewise.
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
- Document new target hook.
- * targhooks.h (default_builtin_vectorized_function): Declare.
- * targhooks.c (default_builtin_vectorized_function): Define.
- * tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type.
- (vectorizable_call): Declare.
- * tree-vect-analyze.c (vect_analyze_operations): Call
- vectorizable_call.
- * tree-vect-transform.c (vectorizable_function): New static function.
- (build_vectorized_function_call): Likewise.
- (vectorizable_call): New function.
- (vect_transform_stmt): Handle vectorizable calls.
- 2006-11-27 Richard Guenther <rguenther@suse.de>
- PR middle-end/25620
- * builtins.c (expand_builtin_pow): Optimize non integer valued
- constant exponents using sqrt or cbrt if possible. Always fall back
- to expanding via optabs.
- 2006-11-27 Ira Rosen <irar@il.ibm.com>
- PR tree-optimization/22372
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Convert
- the type of the base address.
- (vect_create_data_ref_ptr): Add an argument, type of the data-ref. Use
- it in the data-ref pointer creation.
- (vect_init_vector): Add an argument, type of the init vector. Use it in
- the stmt creation.
- (vect_get_vec_def_for_operand): Fix calls to vect_init_vector.
- (get_initial_def_for_reduction): Likewise.
- (vect_create_epilog_for_reduction): Change type of MODIFY_EXPR to
- void_type_node.
- (vectorizable_assignment, vect_permute_store_chain): Likewise.
- (vectorizable_store): Fix call to vect_create_data_ref_ptr. Use the
- correct type in stmt creation.
- (vect_setup_realignment): Use the correct type in stmt creation.
- (vect_permute_load_chain): Change type of MODIFY_EXPR to
- void_type_node.
- (vectorizable_load): Fix calls to vect_create_data_ref_ptr. Change type
- of MODIFY_EXPR to void_type_node.
- (vectorizable_condition): Change type of MODIFY_EXPR to
- void_type_node.
- (vect_update_ivs_after_vectorizer): Use the correct type in stmt
- creation.
- 2006-11-27 Uros Bizjak <ubizjak@gmail.com>
- Revert:
- 2006-05-08 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
- standard 80387 constants, raise the cost to prevent
- compress_float_constant() to generate load from memory.
- * config/i386/i386.md: Add new splitter pattern to split
- float_extended load of constant from constant pool into
- pure constant load.
- 2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * doc/install.texi: Move GMP/MPFR configure options from Fortran
- section to general section. Remove documentation for
- --with-mpfr-dir and --with-gmp-dir, add documentation for
- --with-mpfr-include, --with-mpfr-lib, --with-gmp-include and
- --with-gmp-lib.
- * builtins.c (fold_builtin_fmin_fmax): Handle NaN arguments.
- 2006-11-26 Razya Ladklesky <razya@il.ibm.com>
- * testsuite/gcc.dg/ipa/ipa-6.c: New.
- 2006-11-26 Razya Ladklesky <razya@il.ibm.com>
- PR tree-optimization/29122
- * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME
- for the new version. Assign NULL to DECL_RTL of the new version.
- 2006-11-25 Uros Bizjak <ubizjak@gmail.com>
- * reg-stack.c (get_true_reg): Fix UNSPEC_TRUNC_NOOP handling.
- 2006-11-25 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (cse_altered): Remove.
- (record_jump_equiv): Make true/false argument a bool instead
- of an int.
- (cse_insn): Don't set cse_altered. Use delete_insn_and_edges
- where appropriate. Emit a new jump before the existing one
- instead of after so that delete_insn_and_edges removes the
- dead edges properly. Check any_condjump_p before calling
- record_jump_equiv.
- (cse_basic_block): Check any_condjump_p before calling
- record_jump_equiv.
- (cse_main): Don't set/check cse_altered. Remove USE_C_ALLOCA.
- 2006-11-25 Brooks Moses <brooks.moses@codesourcery.com>
- * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
- -ffixed-line-length-* options.
- 2006-11-25 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (fpremxf4): Rename to fpremxf4_i387.
- (fprem1xf4): Rename to fprem1xf4_i387.
- (fmodsf3, fmoddf3): Macroize patterns using X87MODEF12 mode macro.
- Rename patterns to fmod<mode>3. Use general_operand operand
- constraint for operands 1 and 2. Use SSE_FLOAT_MODE_P to disable
- patterns for SSE math.
- (remaindersf3, remainderdf3): Ditto.
- 2006-11-25 Joseph Myers <joseph@codesourcery.com>
- * function.c (instantiate_virtual_regs_in_insn): Call force_reg
- inside start_sequence / end_sequence pair.
- 2006-11-25 Steven Bosscher <steven@gcc.gnu.org>
- * jump.c (mark_all_labels): Work in cfglayout mode.
- * cfgcleanup.c (cleanup_cfg): Do not call delete_dead_jumptables
- when in cfglayout mode, because there are no dead jumptables
- visible.
- * cfgrtl.c (commit_one_edge_insertion): Don't set bb->aux when
- in cfglayout mode.
- (commit_edge_insertions): Do not allow insertion of instructions
- with control flow insns when in cfglayout mode.
- 2006-11-25 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (execute_vrp): Do not pass loops structure through
- arguments.
- * loop-unswitch.c (unswitch_loops, unswitch_single_loop,
- unswitch_loop): Ditto.
- * tree-loop-linear.c (linear_transform_loops): Ditto.
- * tree-ssa-loop-im.c (determine_lsm, tree_ssa_lim_initialize,
- tree_ssa_lim): Ditto.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
- free_numbers_of_iterations_estimates): Ditto.
- * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops,
- tree_unswitch_single_loop, tree_unswitch_loop): Ditto.
- * cfgloopmanip.c (fix_bb_placement, fix_bb_placements,
- remove_path, add_loop, loopify, unloop, fix_loop_placements,
- place_new_loop, duplicate_loop, duplicate_subloops,
- update_single_exit_for_duplicated_loops, copy_loops_to,
- duplicate_loop_to_header_edge, create_preheaders,
- force_single_succ_latches, loop_version, fix_loop_structure):
- Ditto.
- * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge,
- tree_unroll_loop): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree-scalar-evolution.c (select_loops_exit_conditions,
- scev_initialize, scev_analysis): Ditto.
- * tree-scalar-evolution.h (scev_initialize): Ditto.
- * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Ditto.
- * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
- * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
- * modulo-sched.c (sms_schedule): Ditto.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
- * loop-init.c (loop_optimizer_init, rtl_move_loop_invariants,
- rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Ditto.
- * ifcvt.c (if_convert): Ditto.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely,
- canonicalize_loop_induction_variables,
- canonicalize_induction_variables,
- tree_unroll_loops_completely, remove_empty_loops): Ditto.
- * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_im,
- tree_ssa_loop_unswitch, tree_vectorize, tree_linear_transform,
- tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
- tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts,
- tree_ssa_loop_done): Ditto.
- * predict.c (predict_loops, tree_estimate_probability, estimate_loops,
- estimate_bb_frequencies): Ditto.
- * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
- slpeel_tree_peel_loop_to_edge, vectorize_loops): Ditto.
- * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
- decide_unrolling_and_peeling, peel_loop_completely,
- unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
- peel_loop_simple, unroll_loop_stupid): Ditto.
- * loop-doloop.c (doloop_optimize_loops): Ditto.
- * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Ditto.
- * loop-invariant.c (move_loop_invariants): Ditto.
- * tree-ssa-dce.c (tree_ssa_dce_loop): Ditto.
- * tree-ssa-loop-prefetch.c (loop_prefetch_arrays,
- tree_ssa_prefetch_arrays): Ditto.
- * lambda-code.c (gcc_loopnest_to_lambda_loopnest, perfect_nestify):
- Ditto.
- * tree-vect-transform.c (vect_do_peeling_for_loop_bound,
- vect_do_peeling_for_alignment, vect_transform_loop): Ditto.
- * cfgloop.c (flow_loops_cfg_dump, flow_loops_dump,
- mark_single_exit_loops, cancel_loop, cancel_loop_tree,
- verify_loop_structure): Ditto.
- * tree-flow.h (vectorize_loops, tree_ssa_lim, tree_ssa_unswitch_loops,
- canonicalize_induction_variables, tree_unroll_loops_completely,
- tree_ssa_prefetch_arrays, remove_empty_loops, tree_ssa_iv_optimize,
- estimate_numbers_of_iterations, free_numbers_of_iterations_estimates,
- tree_duplicate_loop_to_header_edge, tree_ssa_loop_version,
- tree_unroll_loop, linear_transform_loops): Declaration changed.
- * basic-block.h: Remove declaration of struct loops.
- * cfghooks.h (struct cfg_hooks): Change type of
- cfg_hook_duplicate_loop_to_header_edge.
- (cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
- * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge,
- vect_transform_loop): Declaration changed.
- * lambda.h (gcc_loopnest_to_lambda_loopnest): Declaration changed.
- * cfgloop.h (flow_loops_dump, fix_loop_structure,
- mark_irreducible_loops, mark_single_exit_loops, mark_loop_exit_edges,
- cancel_loop_tree, create_preheaders, force_single_succ_latches,
- verify_loop_structure, duplicate_loop, duplicate_loop_to_header_edge,
- loopify, loop_version, remove_path, unswitch_loops,
- unroll_and_peel_loops, doloop_optimize_loops, move_loop_invariants):
- Declaration changed.
- 2006-11-24 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition.
- (X87MODEF): New mode macro.
- (ssemodefsuffix): New mode attribute.
- (truncxf<mode>2_i387_noop_unspec): New insn pattern.
- (sqrt_extend<mode>xf2_i387): New insn pattern.
- (sqrt<mode>2): For non-SSE sqrt, emit sqrt_extend<mode>xf2_i387
- insn and truncate result back to original mode using
- UNSPEC_TRUNC_NOOP truncation.
- (*sqrt<mode>2_sse): Implement using SSEMODEF mode macro and
- ssemodefsuffix mode attribute.
- (*sqrtsf2_mixed, *sqrtsf2_i387, *sqrtdf2_mixed, *sqrtdf2_i387)
- (*sqrtextendsfdf2_i387, *sqrtextendsfxf2_i387)
- (*sqrtextenddfxf2_i387): Remove insn patterns.
- (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop
- truncation patterns.
- * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP.
- 2006-11-24 Jakub Jelinek <jakub@redhat.com>
- PR c/29955
- * c-tree.h (c_maybe_initialize_eh): New prototype.
- * c-decl.c (finish_decl): Move EH initialization...
- (c_maybe_initialize_eh): ... here. New function.
- * c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh
- if not #pragma omp atomic.
- PR c/29736
- * c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
- or UNION_TYPE inner types.
- 2006-11-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/29964
- * ipa-pure-const.c (check_tree): If the original tree
- is volatile return early and say the function is not pure
- nor const. Remove the volatile check for writes.
- (analyze_function): Print out the result of the local
- analysis pass.
- 2006-11-24 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/eabispe.h (TARGET_DEFAULT): Include
- MASK_STRICT_ALIGN.
- * config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
- * config/rs6000/rs6000.c (rs6000_override_options): Use
- MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to
- POWERPC_MASKS.
- 2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390.c (s390_emit_compare_and_swap): New function.
- (s390_expand_cs_hqi, s390_expand_atomic): Call
- s390_emit_compare_and_swap.
- 2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
- 2006-11-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- PR c/2707
- PR c++/26167
- * c-common.c (conversion_warning): New.
- (convert_and_check): Call conversion_warning unless there is an
- overflow warning.
- * doc/invoke.texi (-Wconversion): Update description.
- 2006-11-23 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (tree_pointer_compare): New function.
- (compact_name_tags): New function.
- (group_aliases): Call compact_name_tags.
- 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- * real.h (real_isinteger): Declare.
- * real.c (real_isinteger): Define.
- * builtins.c (integer_valued_real_p): Use it.
- 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
- PR c/9072
- * c.opt (Wtraditional-conversion): New.
- (Wconversion): Update description.
- * c-typeck.c (convert_arguments): Warnings for prototypes causing
- type conversions different from what would happen in the absence
- of prototype are now handled by Wtraditional-conversion.
- * doc/invoke.texi (Wtraditional-conversion): New.
- (Wconversion): Update description.
- * doc/trouble.texi (Wconversion): Replace Wconversion by
- Wtraditional-conversion.
- 2006-11-23 Andrew Pinski <pinskia@gmail.com>
- * predict.c (tree_estimate_probability): Check to make
- sure current_loops is non null before calling flow_loops_dump.
- 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com>
- * var-tracking.c (emit_note_insn_var_location): Revert previous patch.
- 2006-11-23 David Ung <davidu@mips.com>
- * config/mips/mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu
- combination.
- (ISA_HAS_MXHC1): True if ISA supports mfhc1 and mthc1 opcodes.
- (ASM_SPEC): Pass along -mfp32 and -mfp64.
- * config/mips/mips.c (mips_split_64bit_move): Use gen_mthc1 to set
- high part of FP register when in 64-bit FP register mode. Similarly
- use gen_mfhc1 to load high part of FP register.
- (override_options): Allow -mgp32 and -mfp64 combination if
- ISA_HAS_MXHC1 (currently for O32 only).
- (mips_cannot_change_mode_class): If floating-point registers are
- bigger than word size. disallow conversion of float register from a
- large integer mode to a float mode smaller than the float register
- size.
- (mips_class_max_nregs): Handle float registers case seperately.
- * config/mips/mips.md (define_constants): Add UNSPEC_MFHC1,
- UNSPEC_MTHC1.
- (movdi_32bit): Use !TARGET_FLOAT64 in condition pattern.
- (movdf_hardfloat_32bit): Similarly.
- (movdi_gp32_fp64): New DImode pattern for MIPS32R2 which optionally
- support a full 64-bit fpu.
- (mthc1): New pattern to generate MTHC1 instruction.
- (mfhc1): New pattern to generate MFHC1 instruction.
- * doc/invoke.texi (MIPS Options): Document the -mgp32 -mfp64
- option for the MIPS32R2 and mention its use under O32 ABI.
- 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com>
- * var-tracking.c (emit_note_insn_var_location): Take care not to
- cause verify_flow_info failures.
- 2006-11-22 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c: Remove edge weights in favor of just
- processing them as complex constraints.
- (struct constraint_graph): Remove weighted succs and preds. Rename
- nonweighted succs and preds.
- (constraint_edge): Removed.
- (constraint_edge_t): Ditto.
- (constraint_edge_pool): Ditto.
- (new_constraint_edge): Ditto.
- (constraint_edge_equal): Ditto.
- (constraint_edge_less): Ditto.
- (constraint_edge_vec_find): Ditto.
- (erase_self_graph_edge): Ditto.
- (add_graph_edge): Removed.
- (get_graph_weights): Ditto.
- (allocate_graph_weights): Ditto.
- (valid_weighted_graph_edge): Ditto
- (bitmap_other_than_zero_bit_set): Ditto.
- (int_add_graph_edge): Renamed to add_graph_edge.
- (clear_edges_for_node): Remove support for weighted edges.
- (merge_graph_nodes): Ditto.
- (valid_graph_edge): Ditto.
- (build_constraint_graph): Ditto.
- (scc_visit): Ditto.
- (collapse_nodes): Ditto.
- (process_unification_queue): Ditto.
- (topo_visit): Ditto.
- (do_ds_constraint): Ditto.
- (perform_var_subsitution): Ditto.
- (solve_graph): Ditto.
- (init_alias_vars): Ditto.
- (delete_points_to_sets): Ditto.
- (do_complex_constraint): Support offsetted copies here.
- 2006-11-23 Ulrich Weigand <uweigand@de.ibm.com>
- * config/spu/spu_intrinsics.h (SPU_RdEventStatMask): Rename to
- SPU_RdEventMask.
- * config/spu/spu_mfcio.h (spu_read_event_mask): Update.
- * config/spu/spu_mfcio.h (struct mfc_list_element): Change width
- of size bitfield.
- 2006-11-23 Ben Elliston <bje@au.ibm.com>
- * config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p.
- 2006-11-23 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29921
- * fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
- signed and unsigned zero equal.
- 2006-11-22 Peter Bergner <bergner@vnet.ibm.com>
- * config/rs6000/rs6000.c (get_store_dest): New.
- (adjacent_mem_locations): Use get_store_dest() to get
- the rtl of the store destination.
- 2006-11-22 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/spe.md (SPE64): New mode macro.
- (mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add
- memory load.
- (mov_si<mode>_e500_subreg0_2): New.
- (mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add
- memory load.
- (mov_si<mode>_e500_subreg4_2): New.
- * config/rs6000/predicates.md (input_operand): Do not allow
- invalid E500 subregs.
- (rs6000_nonimmediate_operand): Check for invalid E500 subregs also
- if TARGET_SPE.
- * config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
- involving DFmode if TARGET_E500_DOUBLE. Check for subregs
- involving vector modes if TARGET_SPE.
- 2006-11-22 Kaz Kojima <kkojima@gcc.gnu.org>
- Revert
- 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org>
- * reorg.c (emit_delay_sequence): Copy the delay slot insn.
- 2006-11-22 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/predicates.md (d_register_operand, mem_p_address_operand,
- mem_i_address_operand): New predicates.
- * config/bfin/bfin.c (bfin_issue_rate): New function.
- (TARGET_SCHED_ISSUE_RATE): New macro.
- * config/bfin/bfin.md (addrtype): New attribute.
- (slot0, slot1, slot2, store, pregs): New cpu_units.
- (core): Now a define_reservation.
- (alu): Remove some insn types from this reservation.
- (dsp32, load32, loadp, loadi, store32, storep, storei, multi): New
- insn reservations.
- (dummy reservation): Don't trigger for mcld insns.
- (absence_sets): Two new absence sets to enforce slot ordering.
- (popsi_insn): Set addrtype.
- 2006-11-22 Ira Rosen <irar@il.ibm.com>
- * doc/c-tree.texi: Document new tree codes.
- * doc/md.texi: Document new optabs.
- * tree-pretty-print.c (dump_generic_node): Handle print of new tree
- codes.
- * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs.
- * optabs.h (optab_index): Add new.
- (vec_extract_even_optab, vec_extract_odd_optab,
- vec_interleave_high_optab, vec_interleave_low_optab): New optabs.
- * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab,
- vec_interleave_high_optab, vec_interleave_low_optab): Initialize
- new optabs.
- * expr.c (expand_expr_real_1): Add implementation for new tree codes.
- * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
- * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving
- along with macros for their access.
- * tree-data-ref.h (first_location_in_loop, data_reference): Update
- comment.
- * tree-vect-analyze.c (toplev.h): Include.
- (vect_determine_vectorization_factor): Fix indentation.
- (vect_insert_into_interleaving_chain,
- vect_update_interleaving_chain, vect_equal_offsets): New functions.
- (vect_analyze_data_ref_dependence): Add argument for interleaving
- check. Check for interleaving if it's true.
- (vect_check_dependences): New function.
- (vect_analyze_data_ref_dependences): Call vect_check_dependences for
- every ddr. Call vect_analyze_data_ref_dependence with new argument.
- (vect_update_misalignment_for_peel): Update for interleaving.
- (vect_verify_datarefs_alignment): Check only first data-ref for
- interleaving.
- (vect_enhance_data_refs_alignment): Update for interleaving. Check
- only first data-ref for interleaving.
- (vect_analyze_data_ref_access): Check interleaving, update
- interleaving data.
- (vect_analyze_data_refs): Call compute_data_dependences_for_loop
- with different parameters.
- * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
- VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes.
- * tree-inline.c (estimate_num_insns_1): Add cases for new codes.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
- Update step in case of interleaving.
- (vect_strided_store_supported, vect_permute_store_chain): New
- functions.
- (vectorizable_store): Handle strided stores.
- (vect_strided_load_supported, vect_permute_load_chain,
- vect_transform_strided_load): New functions.
- (vectorizable_load): Handle strided loads.
- (vect_transform_stmt): Add argument. Handle strided stores. Check
- that vectorized stmt exists for patterns.
- (vect_gen_niters_for_prolog_loop): Update calculation for
- interleaving.
- (vect_transform_loop): Remove stmt_vec_info for strided stores after
- whole chain vectorization.
- * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD,
- UNSPEC_INTERHI, UNSPEC_INTERLO): New constants.
- (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>,
- vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf,
- vec_interleave_high<mode>, vec_interleave_low<mode>): Implement.
- 2006-11-22 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (enum taken): Remove PATH_AROUND.
- (addr_affects_sp_p, invalidate_skipped_set,
- invalidate_skipped_block): Remove.
- (cse_end_of_basic_block): Remove skip_blocks and related code.
- (cse_main): Don't test for flag_cse_skip_blocks.
- Update cse_end_of_basic_block call.
- (cse_basic_block): Likewise. Remove PATH_AROUND case. Remove
- code to lengthen the path if a jump was simplified.
- 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/29924
- * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
- (unroll_loop_runtime_iterations): Assert that the argument passed to
- split_edge_and_insert is not NULL.
- * loop-doloop.c (add_test): Ditto.
- 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
- functions.
- * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
- * cfgloopmanip.c (update_single_exits_after_duplication,
- update_single_exit_for_duplicated_loop, loop_version): Ditto.
- * tree-scalar-evolution.c (get_loop_exit_condition,
- get_exit_conditions_rec, loop_closed_phi_def,
- number_of_iterations_in_loop, scev_const_prop): Ditto.
- * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
- * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
- Ditto.
- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
- Ditto.
- * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
- slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
- slpeel_make_loop_iterate_ntimes,
- slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
- slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
- Ditto.
- * tree-if-conv.c (if_convertible_loop_p): Ditto.
- * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
- vect_analyze_loop_form): Ditto.
- * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
- can_convert_to_perfect_nest, perfect_nestify): Ditto.
- * tree-vect-transform.c (vect_create_epilog_for_reduction,
- vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
- vect_transform_loop): Ditto.
- * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
- (single_exit, set_single_exit): New functions.
- * cfgloop.h (struct loop): Rename single_exit field to single_exit_.
- (single_exit, set_single_exit): Declare.
- * doc/loop.texi: Undocument single_exit field. Document single_exit
- accessor function.
- 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29902
- * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
- any involved ssa name appears in abnormal phi node.
- 2006-11-21 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.c (xtensa_char_to_class): Delete.
- (xtensa_const_ok_for_letter_p): Delete.
- (xtensa_extra_constraint): Delete.
- (override_options): Delete xtensa_char_to_class initialization.
- * config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- * config/xtensa/xtensa.md: Include constraints.md.
- (call_internal): Combine alternatives.
- (call_value_internal): Likewise, and remove invalid constraints.
- * config/xtensa/constraints.md: New file.
- * config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete.
- (xtensa_extra_constraint): Delete.
- * doc/md.texi (Machine Constraints): Refer to constraints.md for
- Xtensa constraints.
- 2006-11-21 Janis Johnson <janis187@us.ibm.com>
- * config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result
- of conversion that doesn't fit.
- * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete.
- * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op,
- DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE.
- * config/dfp-bit.c (dfp_binary_func): Fix typedef.
- 2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
- * c-common.h (enum rid): Add RID_STATIC_ASSERT.
- 2006-11-21 Richard Guenther <rguenther@suse.de>
- * tree-vectorizer.h (NUM_PATTERNS): Increase.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
- vect_recog_pow_pattern.
- (vect_recog_pow_pattern): New function.
- 2006-11-21 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.opt (mstack-check-l1): New.
- * doc/invoke.texi (Blackfin Options): Document it.
- * config/bfin/bfin.c (bfin_expand_prologue): Generate code to use
- stack bounds in L1 memory if the new option is enabled.
- (override_options): Don't allow combinations of -fstack-limit and
- -mstack-check-l1.
- (add_to_reg): Renamed from add_to_sp. All callers changed. Lose some
- dead code.
- * config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31
- regs for DImode.
- (bfin_register_move_cost): Bump costs if trying to move plain
- integer values through accumulators.
- 2006-11-21 Ben Elliston <bje@au.ibm.com>
- * config/spu/spu.c (spu_expand_vector_init): Initialise x.
- 2006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
- Russell Olsen <Russell_Olsen@playstation.sony.com>
- Dmitri Makarov <Dmitri_Makarov@playstation.sony.com>
- Yukishige Shibata <shibata@rd.scei.sony.co.jp>
- Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp>
- Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp>
- Andrew Pinski <Andrew_Pinski@playstation.sony.com>
- * config.gcc: Add target for SPU.
- * config/spu/constraints.md: New file.
- * config/spu/crt0.c: New file.
- * config/spu/crtend.c: New file.
- * config/spu/crti.asm: New file.
- * config/spu/crtn.asm: New file.
- * config/spu/float_unsdidf.c: New file.
- * config/spu/float_unssidf.c: New file.
- * config/spu/predicates.md: New file.
- * config/spu/spu-builtins.def: New file.
- * config/spu/spu-builtins.h: New file.
- * config/spu/spu-builtins.md: New file.
- * config/spu/spu-c.c: New file.
- * config/spu/spu-elf.h: New file.
- * config/spu/spu-modes.def: New file.
- * config/spu/spu-protos.h: New file.
- * config/spu/spu.c: New file.
- * config/spu/spu.h: New file.
- * config/spu/spu.md: New file.
- * config/spu/spu.opt: New file.
- * config/spu/spu_internals.h: New file.
- * config/spu/spu_intrinsics.h: New file.
- * config/spu/spu_mfcio.h: New file.
- * config/spu/t-spu-elf: New file.
- * config/spu/vec_types.h: New file.
- * config/spu/vmx2spu.h: New file.
- * doc/contrib.texi: Document SPU contributor.
- * doc/extend.texi: Document SPU extensions.
- * doc/invoke.texi: Document SPU options.
- * doc/md.texi: Document SPU constraints.
- 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
- * cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
- of the loop.
- * cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
- Removed.
- (flow_loop_dump): Do not dump loop level.
- (flow_loops_find): Do not call flow_loops_level_compute.
- * cfgloop.h (struct loop): Remove level field.
- 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,
- hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
- Use vector of edges instead of array.
- * tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval,
- estimate_numbers_of_iterations_loop): Ditto.
- * predict.c (predict_loops): Ditto.
- * loop-unroll.c (analyze_insns_in_loop): Ditto.
- * tree-ssa-threadupdate.c: Remove declaration of heap allocation for
- edge vectors.
- * basic-block.h: Declare heap allocation for edge vectors.
- * tree-outof-ssa.c: Ditto.
- * cfgloop.c (get_loop_exit_edges): Return vector of edges.
- * cfgloop.h (get_loop_exit_edges): Declaration changed.
- 2006-11-20 Zack Weinberg <zackw@panix.com>
- * gengtype.c (process_gc_options): Remove unnecessary forward decl.
- Add another out parameter, "skip".
- (set_gc_used_type): Adjust calls to process_gc_options. If a field
- is tagged "skip", do not mark its type used.
- 2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/25500
- * tree-sra.c (single_scalar_field_in_record_p): New function.
- (decide_block_copy): Use it.
- 2006-11-20 David Daney <ddaney@avtrex.com>
- * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
- PC to point to following instruction.
- 2006-11-20 Anatoly Sokolov <aesok@post.ru>
- PR target/18553
- PR target/29449
- * config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
- * config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
- 2006-11-20 J"orn Rennecke <joern.rennecke@st.com>
- * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
- Add sh/superh.h to tm_file.
- 2006-11-20 Carlos O'Donell <carlos@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
- * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and
- gcc_exec_prefix.
- (cpp_relocated): New function.
- * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix
- and cpp_relocated.
- * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option.
- * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated,
- replace configured prefix with gcc_exec_prefix.
- 2006-11-20 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call
- bfin_legitimate_constant_p.
- * config/bfin/bfin.md (movsi expander): Check return value of
- expand_mvoe.
- * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare.
- (expand_move): Adjust prototype.
- * config/bfin/bfin.c (expand_move): Now returns bool. Handle
- invalid constants specially.
- (bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New
- functions.
- (TARGET_CANNOT_FORCE_CONST_MEM): New macro.
- * config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol,
- sibcall_value_symbol): Allow these patterns if
- TARGET_LEAF_ID_SHARED_LIBRARY.
- * config/bfin/bfin.c (bfin_expand_call): Allow them here as well.
- (override_options): Turn on id shared library flags if -msep-data,
- but disallow the combination of these options on the command line.
- * config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA
- MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros.
- (DRIVER_SELF_SPECS): -mleaf-id-shared-library implies
- -mid-shared-library.
- (TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data.
- * doc/invoke.texi (Blackfin Options): Document new switches.
- * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some
- edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
- * tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially
- inflate costs for addresses with an out-of-bounds address.
- 2006-11-19 Andrew Pinski <pinskia@gmail.com>
- PR rtl-opt/29879
- * fwprop.c (loops): Remove.
- (forward_propagate_into): Use current_loops instead of
- loops.
- (fwprop_init): Call loop_optimizer_init instead of
- flow_loops_find.
- (fwprop_done): Call loop_optimizer_finalize instead of
- flow_loops_free.
- (fwprop): Use current_loops instead of loops.
- 2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
- PR c++/8586
- * c-opts.c (c_common_handle_option): Enable -Wwrite-strings if -Wall.
- 2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/29114
- * pa.c (emit_move_sequence): Don't split constants with PLUS for modes
- larger than BITS_PER_WORD.
- 2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR fortran/27885
- PR middle-end/28176
- * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
- to MAX_FIXED_MODE_SIZE.
- 2006-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * builtins.c (integer_valued_real_p): Handle fmin/fmax.
- (fold_builtin_fmin_fmax): New.
- (fold_builtin_1): Use it.
- * fold-const.c (fold_strip_sign_ops): Handle copysign.
- 2006-11-18 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.c (ix86_builtins): New array for ix86
- builtin function decls.
- (def_builtin): New function.
- (def_builtin_const): Likewise.
- (ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const.
- 2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
- * doc/invoke.texi (core2): Add item.
- * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
- macros.
- (TARGET_CPU_CPP_BUILTINS): Add code for core2.
- (TARGET_CPU_DEFAULT_generic): Change value.
- (TARGET_CPU_DEFAULT_NAMES): Add core2.
- (processor_type): Add new constant PROCESSOR_CORE2.
- * config/i386/i386.md (cpu): Add core2.
- * config/i386/i386.c (core2_cost): New initialized variable.
- (m_CORE2): New macro.
- (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
- x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
- x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
- x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
- x86_partial_reg_dependency, x86_memory_mismatch_stall,
- x86_accumulate_outgoing_args, x86_prologue_using_move,
- x86_epilogue_using_move, x86_arch_always_fancy_math_387,
- x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
- x86_use_incdec, x86_four_jump_limit, x86_schedule,
- x86_pad_returns): Add m_CORE2.
- (override_options): Add entries for Core2.
- (ix86_issue_rate): Add case for Core2.
- 2006-11-18 Aldy Hernandez <aldyh@redhat.com>
- * doc/invoke.texi: Fix mno-isel typo.
- 2006-11-18 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/spe.md (movv4hi_internal): Add alternative for
- easy vector constant loads.
- 2006-11-18 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- __NO_LWSYNC__ if TARGET_NO_LWSYNC.
- * config/rs6000/sync.md (lwsync): Emit plain sync if
- TARGET_NO_LWSYNC.
- 2006-11-17 DJ Delorie <dj@redhat.com>
- * reload1.c (reloads_unique_chain): New.
- (reloads_conflict): Call it.
- 2006-11-17 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/predicates.md (addsubx_operand): New.
- * config/xtensa/xtensa.c (xtensa_emit_branch): New.
- (xtensa_emit_bit_branch): New.
- (xtensa_emit_movcc): New.
- * config/xtensa/xtensa.md (any_minmax): New code macro.
- (minmax): New code attribute.
- (any_cond, any_scc, any_scc_sf): New code macros.
- (*addx2, *addx4, *addx8): Delete.
- (*addx): New.
- (*subx2, *subx4, *subx8): Delete.
- (*subx): New.
- (sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
- (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
- (*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
- (*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
- (seq, sne, sgt, sge, slt, sle): Use any_scc macro.
- (movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
- (movsfcc_internal0, movsfcc_internal1): Likewise.
- (seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
- * config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
- (xtensa_emit_bit_branch): New.
- (xtensa_emit_movcc): New.
- (function_arg_boundary): Add missing prototype.
- 2006-11-17 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.md (tstsi): Delete
- 2006-11-17 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.md (entry): Do not emit .frame directive.
- 2006-11-17 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 2006-11-17 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
- 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (execute_vrp): Do not update current_loops.
- * loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
- * doc/loop.texi: Remove documentation for cancelled functions.
- * tree-ssa-loop-im.c (loop_commit_inserts): Removed.
- (move_computations, determine_lsm): Use bsi_commit_edge_inserts
- instead.
- * cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
- (remove_path): Ensure that in delete_basic_blocks, the loops
- are still allocated.
- (add_loop): Work on valid loop structures.
- (loopify): Modify call of add_loop.
- (mfb_update_loops): Removed.
- (create_preheader): Do not update loops explicitly.
- (force_single_succ_latches, loop_version): Do not use
- loop_split_edge_with.
- (loop_split_edge_with): Removed.
- * tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
- Do not use bsi_insert_on_edge_immediate_loop.
- (split_loop_exit_edge, tree_unroll_loop): Do not use
- loop_split_edge_with.
- (bsi_insert_on_edge_immediate_loop): Removed.
- * tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not
- use loop_split_edge_with.
- * cfghooks.c: Include cfgloop.h.
- (verify_flow_info): Verify that loop_father is filled iff current_loops
- are available.
- (redirect_edge_and_branch_force, split_block, delete_basic_block,
- split_edge, merge_blocks, make_forwarder_block, duplicate_block):
- Update cfg.
- * cfgloopanal.c (mark_irreducible_loops): Work if the function contains
- no loops.
- * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
- loop_split_edge_with.
- (sms_schedule): Use current_loops.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
- * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
- current_loops.
- (rtl_loop_init, rtl_loop_done): Do not set current_loops.
- * tree-ssa-sink.c (execute_sink_code): Use current_loops.
- * ifcvt.c (if_convert): Ditto.
- * predict.c (predict_loops): Do not clear current_loops.
- (tree_estimate_probability): Use current_loops.
- (propagate_freq): Receive head of the region to propagate instead of
- loop.
- (estimate_loops_at_level): Do not use shared to_visit bitmap.
- (estimate_loops): New function. Handle case current_loops == NULL.
- (estimate_bb_frequencies): Do not allocate tovisit. Use
- estimate_loops.
- * tree-ssa-loop.c (current_loops): Removed.
- (tree_loop_optimizer_init): Do not return loops.
- (tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
- * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
- slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
- Do not update loops explicitly.
- * function.h (struct function): Add x_current_loops field.
- (current_loops): New macro.
- * tree-if-conv.c (combine_blocks): Do not update loops explicitly.
- * loop-unroll.c (split_edge_and_insert): New function.
- (unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
- use loop_split_edge_with.
- * loop-doloop.c (add_test, doloop_modify): Ditto.
- * tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
- * cfglayout.c (copy_bbs): Do not update loops explicitly.
- * lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
- * tree-vect-transform.c (vect_transform_loop): Do not update loops
- explicitly.
- * cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
- (flow_loops_free): Do not free dfs_order and rc_order.
- (flow_loops_find): Do not set dfs_order and rc_order in loops
- structure. Do not call loops and flow info verification.
- (add_bb_to_loop, remove_bb_from_loops): Check whether the block
- already belongs to some loop.
- * cfgloop.h (struct loops): Remove struct cfg.
- (current_loops, loop_split_edge_with): Declaration removed.
- (loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
- * tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
- Declaration removed.
- * Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
- * basic-block.h (split_edge_and_insert): Declare.
- * tree-cfg.c (remove_bb): Do not update loops explicitly.
- 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29801
- * tree-ssa-ccp.c (get_symbol_constant_value): New function.
- (get_default_value): Use get_symbol_constant_value.
- (set_lattice_value): ICE when the value of the constant is
- changed.
- (visit_assignment): Ignore VDEFs of read-only variables.
- 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
- formating.
- (vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
- vect_gen_niters_for_prolog_loop): Fold the emited expressions.
- 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
- select subvars of var.
- 2006-11-17 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/29584
- * tree-ssa-forwprop.c (simplify_switch_expr): Don't
- optimize if DEF doesn't have integral type.
- 2006-11-16 Mike Stump <mrs@apple.com>
- * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
- pre-darwin9 system, unless the user asks for it directly.
- (PREFERRED_DEBUGGING_TYPE): Likewise.
- * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
- * config.gcc: Add suppport for darwin9.h.
- * config/darwin9.h: Add.
- * doc/install.texi (Specific): Clarify darwin documentation.
- 2006-11-16 Richard Earnshaw <rearnsha@arm.com>
- * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
- optimizing for size.
- 2006-11-16 Mike Stump <mrs@apple.com>
- * Makefile.in (targhooks.o): Add $(OPTABS_H).
- 2006-11-16 Dirk Mueller <dmueller@suse.de>
- * tree-vrp.c (get_value_range): Use XCNEW instead
- of XNEW and memset.
- (insert_range_assertions): Use XCNEWVEC instead
- of XNEWVEC and memset.
- (vrp_initialize): Same.
- (vrp_finalize): Same.
- * tree-ssa-ccp.c (ccp_initialize): Same.
- * predict.c (tree_bb_level_predictions): Same.
- * calls.c (expand_call): Same.
- * tree-ssa-copy.c (init_copy_prop): Same.
- (fini_copy_prop): Same.
- * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
- of GGC_NEW and memset.
- 2006-11-16 Eric Botcazou <ebotcazou@adacore.com>
- PR middle-end/26306
- * gimplify.c (gimplify_expr): Only force a load for references to
- non-BLKmode volatile values.
- * doc/implement-c.texi (Qualifiers implementation): Document the
- interpretation of what a volatile access is.
- * doc/extend.texi (C++ Extensions): Rework same documentation.
- 2006-11-16 Joseph Myers <joseph@codesourcery.com>
- * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
- memory operand.
- 2006-11-16 Richard Earnshaw <rearnsha@arm.com>
- * arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for
- Thumb.
- (arm_neg_abssi2): Renamed from neg_abssi2.
- (thumb_abssi2, thumb_neg_abssi2): New patterns with splitters.
- 2006-11-16 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.c (ix86_function_sseregparm): Fix comment:
- number of arguments passed to local functions in SSE registers is 3.
- * doc/invoke.texi (Function Attributes) [sseregparm]: Correct
- number of arguments passed in SSE registers to 3.
- 2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR target/29201
- * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
- bb to ...
- (get_last_bb_insn): ... new global function.
- (basic_block.h): Declare it.
- * haifa-sched.c (create_recovery_block): Use it.
- 2006-11-15 H.J. Lu <hongjiu.lu@intel.com>
- PR middle-end/29862
- * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert.
- 2006-11-15 Paul Brook <paul@codesourcery.com>
- * config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
- _Unwind_GetTextRelBase): Move from here ...
- * config/arm/pr-support.c (_Unwind_GetDataRelBase,
- _Unwind_GetTextRelBase): ... To here.
- 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
- * tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
- addresses we generate for testing are aligned.
- 2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/29788
- * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
- to what is the const decl is a place holder for.
- 2006-11-15 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.opt: New target option -mx87regparm.
- * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno
- and float_in_x87 variables. mmx_words, sse_words: Remove.
- (X87_REGPARM_MAX): Define.
- * config/i386/i386.c (override_options): Error out for
- -mx87regparm but no 80387 support.
- (ix86_attribute_table): Add x87regparm.
- (ix86_handle_cconv_attribute): Update comments for x87regparm.
- (ix86_comp_type_attributes): Check for mismatched x87regparm types.
- (ix86_function_x87regparm): New function.
- (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
- point registers.
- (init_cumulative_args): Initialize x87_nregs and float_in_x87
- variables.
- (function_arg_advance): Process x87_nregs and x87_regno when
- floating point argument is to be passed in 80387 register.
- (function_arg): Pass XFmode arguments in 80387 registers for local
- functions. Pass SFmode and DFmode arguments to local functions
- in 80387 registers when flag_unsafe_math_optimizations is set.
- * reg-stack.c (convert_regs_entry): Disable NaN load for
- stack registers that are used for argument passing.
- * doc/extend.texi: Document x87regparm function attribute.
- * doc/invoke.texi: Document -mx87regparm.
- 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
- * tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
- * tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
- arg MODE; all callers changed. Use it to determine validity per
- machine mode instead of using Pmode for all memory references.
- (get_address_cost): Likewise add and use new arg MEM_MODE.
- 2006-11-15 Rask Ingemann Lambertsen <rask@sygehus.dk>
- J"orn Rennecke <joern.rennecke@st.com>
- * combine.c (likely_spilled_retval_1): Fix masking operation.
- (likely_spilled_retval_p): Use proper pattern for call to
- likely_spilled_retval_1.
- 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
- * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
- * config/bfin/bfin.c (legitimize_pic_address): Lose dead code
- that tests for CONSTANT_POOL_ADDRESS_P.
- 2006-11-15 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/29581
- * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
- REPLACEMENTS, FIRSTBSI arguments. If initial condition or
- type is different between Y and USE, create a temporary
- variable, initialize it at the beginning of the body bb
- and use it as replacement instead of Y.
- 2006-11-15 Paolo Bonzini <bonzini@gnu.org>
- PR middle-end/29753
- * gimplify.c (fold_indirect_ref_rhs): Use
- STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
- 2006-11-14 Richard Earnshaw <rearnsha@arm.com>
- * expmed.c (emit_store_flag_1): New function.
- (emit_store_flag): Call it. If we can't find a suitable scc insn,
- try a cstore insn.
- * expr.c (do_store_flag): If we can't find a scc insn, try cstore.
- Use do_compare_rtx_and_jump.
- * arm.h (BRANCH_COST): Increase to 2 on Thumb.
- * arm.md (cstoresi4): New define_expand.
- (cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise.
- (cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns.
- (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns.
- 2006-11-14 Caroline Tice <ctice@apple.com>
- * dwarf2out.c (debug_pubtypes_section): New static global variable.
- (pubname_entry): Add DEF_VEC_O and DEF_VEC_ALLOC_O statements for
- this type.
- (pubname_table): Redefine as a vector.
- (pubtype_table): New static global variable, defined as a vector.
- (pubname_table_allocated): Remove static global variable.
- (pubname_table_in_use): Remove static global variable.
- (PUBNAME_TABLE_INCREMENT): Remove constant.
- (size_of_pubnames): Add parameter to deal with either pubnames or
- pubtypes, and change code to deal with table being a vector.
- (add_pubname): Change to deal with table being a vector.
- (add_pubtype): New function.
- (output_pubnames): Add parameter to deal with either pubnames or
- pubtypes, and change code to deal with table being a vector.
- (gen_array_type_die): Add call to add_pubtype.
- (gen_enumeration_type_die): Add call to add_pubtype.
- (gen_struct_or_union_type_die): Add call to add_pubtype.
- (gen_subroutine_type_die): Add call to add_pubtype.
- (gen_typedef_die): Add call to add_pubtype.
- (dwarf2out_init): Add code to initialize pubname_table and
- pubtype_table vectors; also initialize debug_pubtypes_section.
- (prune_unused_types): Change to deal with pubnames being a vector.
- (dwarf2out_finish): Change to deal with pubnames being a vector; add
- pubnames table to call to output_pubnames; Add code to output pubtypes
- table if DEBUG_PUBTYPES_SECTION is defined.
- * config/darwin.c (darwin_file_start): Add DEBUG_PUBTYPES_SECTION to
- debugnames.
- * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable.
- 2006-11-14 Joseph Myers <joseph@codesourcery.com>
- * config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust
- iwmmxt_nregs if TARGET_IWMMXT_ABI.
- * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
- movv2si_internal): Support moves between core registers.
- 2006-11-14 Eric Christopher <echristo@apple.com>
- * configure: Regenerate with autoconf 2.59.
- 2006-11-14 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/27755
- * tree-ssa-pre.c: Update comments.
- (bb_bitmap_sets): Add pa_in and deferred member.
- (BB_DEFERRED): New macro.
- (maximal_set): New variable.
- (pre_stats): Add pa_insert member.
- (bitmap_set_and): Short circuit orig == dest.
- (bitmap_set_subtract_values): New function.
- (bitmap_set_contains_expr): Ditto.
- (translate_vuses_through_block): Add phiblock argument.
- (dependent_clean): New function.
- (compute_antic_aux): Update for maximal_set changes.
- (compute_partial_antic_aux): New function.
- (compute_antic): Handle partial anticipation.
- (do_partial_partial_insertion): New function.
- (insert_aux): Handle partial anticipation.
- (add_to_sets): Add to maximal set.
- (compute_avail): Ditto.
- (init_pre): Initialize maximal_set.
- (execute_pre): Do partial anticipation if -O3+.
- 2006-11-14 Paolo Bonzini <bonzini@gnu.org>
- PR rtl-optimization/29798
- * fwprop.c (use_killed_between): Check that DEF_INSN dominates
- TARGET_INSN before any other check.
- (fwprop_init): Always calculate dominators.
- (fwprop_done): Always free them.
- 2006-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and
- COND_EXPR.
- 2006-11-13 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_prepare_shift): Use a separate
- temporary for intermediates.
- 2006-11-13 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
- (sh_optimize_target_register_callee_saved): #if 0 the code
- using NOTE_INSN_LOOP_{BEG,END}.
- 2006-11-13 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (optimize_bit_field_compare): Recursively call
- fold when simplifying non-constant comparisons between bit-fields.
- 2006-11-13 Jakub Jelinek <jakub@redhat.com>
- * configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
- test.
- * configure: Rebuilt.
- 2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * config/rs6000/cell.md: New file.
- * config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New
- variable.
- (ppccell_cost): New cost matrix.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
- (rs6000_override_options): Set rs6000_always_hint to false
- for cell. Also align functions/lables/loops to 8byte
- for the Cell. Use PROCESSOR_CELL.
- (rs6000_emit_epilogue): Rename using_mfcr_multiple to
- using_mtcr_multiple.
- (rs6000_variable_issue): If the insn is a nonpipelined instruction
- on the Cell, return 0.
- (rs6000_adjust_cost): Add Cell cost adjustments.
- (is_microcoded_insn): Return true for Cell microcoded
- instructions.
- (is_nonpipeline_insn): New function.
- (rs6000_issue_rate): Add PROCESSOR_CELL.
- (rs6000_use_sched_lookahead): If Cell, then we should look ahead 8
- instructions.
- (rs6000_use_sched_lookahead_guard): New function.
- (rs6000_sched_reorder): Reorder the ready list, if the second
- to last ready insn is a nonepipeline insn on the Cell.
- * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL.
- (ASM_CPU_SPEC): Add Cell.
- * config/rs6000/rs6000.md (cpu): Add Cell.
- (cell_micro): New Attr.
- Include cell.md
- 2006-11-13 Jakub Jelinek <jakub@redhat.com>
- * configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
- style versions.
- * configure: Rebuilt.
- 2006-11-13 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop
- return value.
- (ix86_expand_lfloorceil): Likewise.
- (ix86_expand_rint): Likewise.
- (ix86_expand_floorceildf_32): Likewise.
- (ix86_expand_floorceil): Likewise.
- (ix86_expand_rounddf_32): Likewise.
- (ix86_expand_truncdf_32): Likewise.
- (ix86_expand_round): Likewise.
- 2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
- * gcc.c: Organize search path variables into $prefix relative,
- and well-known native. Add comments.
- (add_sysrooted_prefix): Add comment.
- (process_command): If !gcc_exec_prefix add $prefix based paths.
- If *cross_compile == '0', add native well-known paths.
- Assert tooldir_base_prefix is always relative.
- (main): If print_search_dirs, and if gcc_exec_prefix is set,
- use this value for 'install:' path.
- * Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp.
- 2006-11-13 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.c: Fix a typo in comment.
- 2006-11-13 Michael Matz <matz@suse.de>
- * genemit.c (gen_expand): Allocate enough memory.
- 2006-11-13 Joseph Myers <joseph@codesourcery.com>
- * config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
- __GXX_TYPEINFO_EQUALITY_INLINE but not
- __GXX_MERGED_TYPEINFO_NAMES.
- * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
- __GXX_MERGED_TYPEINFO_NAMES.
- * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
- __GXX_TYPEINFO_EQUALITY_INLINE.
- 2006-11-13 H.J. Lu <hongjiu.lu@intel.com>
- Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29680
- * tree-ssa-operands.c (access_can_touch_variable): Revert fix for
- PR 14784.
- 2006-11-12 Jason Merrill <jason@redhat.com>
- Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/28915
- * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
- vector ctors.
- * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
- vector ctors.
- * expmed.c (make_tree): Handle CONST, SYMBOL_REF.
- * tree.c (build_vector): Handle non-_CST elements.
- 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org>
- * genemit.c (gen_insn): Call gen_exp with a non-null used
- when handling multiple insns.
- (gen_expand): Likewise.
- * reorg.c (emit_delay_sequence): Copy the delay slot insn.
- * config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
- (movsi_const_16bit+1): Copy operands[1].
- (call_pcrel): Copy the call_site pattern.
- (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
- 2006-11-12 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
- condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING
- && !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
- (fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.
- 2006-11-12 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/29587
- * tree-ssa-structalias.c (process_constraint): Don't
- mark address taken due only to escaped vars constraint.
- 2006-11-12 Michael Matz <matz@suse.de>
- Roger Sayle <roger@eyesopen.com>
- PR rtl-optimization/29797
- * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
- BITS_BIG_ENDIAN targets.
- 2006-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * builtins.c (fold_builtin_cosh): New.
- (fold_builtin_1): Use it.
- * fold-const.c (negate_mathfn_p): Add llround, lround, round,
- trunc to the list of "odd" functions. Also add llrint, lrint,
- rint and nearbyint when flag_rounding_math is false.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-flow.h (name_mappings_registered_p): Declare.
- * tree-into-ssa.c (name_mappings_registered_p): New function.
- * tree-cfg.c (tree_can_merge_blocks_p): Check
- name_mappings_registered_p instead of need_ssa_update_p.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop.c (tree_vectorize): Return the result of
- vectorize_loops.
- * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
- if anything changed.
- * tree-vectorizer.h (vectorize_loops): Declaration removed.
- * tree-flow.h (vectorize_loops): Declaration changed.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
- comments.
- (issue_prefetch_ref): Move assignment to write_p out of loop.
- (determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
- SIMULTANEOUS_PREFETCHES into account.
- (loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
- * lambda-code.c (lcm): Renamed to ...
- (least_common_multiple): ... and exported.
- * tree-flow.h (least_common_multiple): Declare.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
- * tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow
- ud-chains. Handle AND_EXPR.
- (record_estimate): Record whether the estimate is realistic
- and whether it is derived from a loop exit.
- (record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref,
- infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
- functions.
- (compute_estimated_nb_iterations): Take only realistic bounds into
- account. Set estimate_state. Use double_ints.
- (infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
- and infer_loop_bounds_from_signedness. Do not consider basic blocks
- that do not have to be always executed.
- (estimate_numbers_of_iterations_loop): Set estimate_state, and use it
- to determine whether to call infer_loop_bounds_from_undefined
- and compute_estimated_nb_iterations.
- (n_of_executions_at_most): Use double_ints.
- (free_numbers_of_iterations_estimates_loop): Set estimate_state.
- (substitute_in_loop_info): Do not replace in estimated_nb_iterations.
- * double-int.c (double_int_to_tree): Improve comment.
- (double_int_fits_to_tree_p): New function.
- * double-int.h (double_int_fits_to_tree_p): Declare.
- * tree-data-ref.c: Include langhooks.h.
- (estimate_niter_from_size_of_data, estimate_iters_using_array): Removed.
- (analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
- (analyze_array): Do not pass estimate_only argument to
- analyze_array_indexes.
- (get_number_of_iters_for_loop): Build tree from the stored double_int
- value.
- (get_references_in_stmt, find_data_references_in_stmt): New functions.
- (find_data_references_in_loop): Use find_data_references_in_stmt.
- * tree-data-ref.h (struct data_ref_loc_d): New.
- (get_references_in_stmt): Declare.
- (estimate_iters_using_array): Declaration removed.
- * cfgloop.h (struct nb_iter_bound): Change type of bound to
- double_int. Improve comments. Add is_exit and realistic
- fields.
- (struct loop): Changed type of estimated_nb_iterations to double_int.
- Added estimate_state field.
- (record_estimate): Declaration removed.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * params.c (set_param_value): Initialize the "set" field.
- * params.h (struct param_info): Add "set" field.
- (PARAM_SET_P): New macro.
- (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
- L1_CACHE_LINE_SIZE): New macros.
- * toplev.c (DEFPARAM): Initialize the "set" field.
- * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
- SIMULTANEOUS_PREFETCHES): Removed.
- (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
- (tree_ssa_prefetch_arrays): Dump the values of the parameters.
- * config/sparc/sparc.c: Include params.h.
- (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
- Removed.
- * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
- Removed.
- * config/i386/i386.c: Include params.h.
- (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
- (override_options): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
- (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/ia64/ia64.c (ia64_optimization_options): Set
- SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
- * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
- Removed.
- * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
- PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
- * doc/invoke.texi: Document new params.
- 2006-11-12 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/13827
- * fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
- as ((X^Y)&C) op 0.
- 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
- * cfgloopmanip.c (update_single_exit_for_duplicated_loop,
- update_single_exit_for_duplicated_loops): New functions.
- (duplicate_loop_to_header_edge): Use
- update_single_exit_for_duplicated_loops.
- * tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
- functions only with ENABLE_CHECKING.
- 2006-11-12 Andreas Schwab <schwab@suse.de>
- * except.c (sjlj_emit_function_enter): Remove unused variable.
- 2006-11-11 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (int_binop_types_match_p): New function.
- (size_binop): Relax constraint that both arguments must both have
- exactly the same sizetype type. Instead use int_binop_types_match_p.
- (size_diffop): Likewise.
- (make_range): Use build_int_cst instead of fold_convert.
- (fold_cond_expr_with_comparison): Use build_int_cst to construct
- integer constants of the correct type.
- (fold_div_compare): Likewise.
- (fold_single_bit_test): Likewise.
- (fold_binary): Likewise.
- * stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
- has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
- 2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR rtl-opt/28812
- * alias.c (fixed_scalar_and_varying_struct_p): Don't return a
- non null value if the struct memory access is in the 0th
- aliasing set.
- 2006-11-12 Jie Zhang <jie.zhang@analog.com>
- Revert
- 2006-11-11 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
- and __BFIN__.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
- instead of builtin_define for bfin and BFIN.
- 2006-11-11 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
- and __BFIN__.
- 2006-11-11 Jan Hubicka <jh@suse.cz>
- * extend.texi (__builtin_expect): We no longer require second argument
- to be constant.
- * gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
- * builtins.c (expand_builtin_expect): Simplify.
- (expand_builtin_expect_jump): Kill.
- * final.c (final_scan_insn): Do not skip the removed notes.
- * insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
- EXPECTED_VALUE): Remove.
- * dojump.c (do_jump): Do not care about __builtin_expect.
- * predict.c (expected_value_to_br_prob): Kill.
- * function.c (expand_function_end): Do not expand
- NOTE_INSN_REPEATED_LINE_NUMBER.
- * print-rtl.c (print_rtx): Do not pretty print the removed notes.
- * expect.c (sjlj_emit_function_enter): Emit directly branch probability.
- * cfgexpand.c (add_reg_br_prob_note): Export.
- * cfgcleanup.c (rest_of_handle_jump2): Do not call
- expected_value_to_br_prob.
- * cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
- * rtl.h (add_reg_br_prob_note): Declare.
- 2006-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tree-pretty-print.c (dump_generic_node): Print sign of Inf.
- 2006-11-11 Jan Hubicka <jh@suse.cz>
- * predict.c (predict_loops): Kill RTL variant.
- 2006-11-11 Jan Hubicka <jh@suse.cz>
- * tree-pass.h (pass_purge_lineno_notes): Remove declaration.
- * modulo-sched.c (find_line_note): Remove.
- (loop_canon_p): Do not worry about line number notes.
- (sms_schedule): Likewise.
- * cse.c (cse_main): Likewise.
- * regmove.c (fixup_match_1): Likewise
- * function.c (emit_return_info_block): Likewise.
- (expand_function_end): Likewise.
- (thread_prologue_an_epilogue_insns): Likewise.
- * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
- Likewise.
- * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
- emit_note_copy_after): Kill.
- (emit_note_copy): Do not worry about line numbers.
- * jump.c (purge_line_number_notes): Kill.
- (pass_purge_lineno_notes): Kill.
- * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
- call.
- * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
- * passes.c (init_optimization_passes): Don't purge_lineno_notes.
- * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
- * tree-pass.h (pass_purge_lineno_notes): Kill.
- * sched-ebb.c (schedule_ebb): Don't rm_line_notes,
- rm_redundant_line_notes.
- * sched-rgb.c (schedule_region): Don't rm_line_notes,
- rm_redundant_line_notes.
- * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
- * haifa-sched.c: Update comment about handling notes.
- (unlink_line_notes): Kill.
- (rm_line_notes): Kill.
- (save_line_notes): Simplify.
- (rm_redundant_line_notes): Kill.
- 2006-11-11 Richard Guenther <rguenther@suse.de>
- * tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
- Remove unused tree codes.
- * tree-vrp.c (extract_range_from_unary_expr): Remove handling
- of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * tree.c (stabilize_reference): Likewise.
- * fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
- fold_unary): Likewise.
- * tree-gimple.c (is_gimple_cast): Likewise.
- * dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
- * expr.c (expand_expr_real_1): Likewise.
- * tree-eh.c (tree_could_trap_p): Likewise.
- * gimplify.c (gimplify_expr): Likewise.
- * tree-inline.c (estimate_num_insns_1): Likewise.
- * tree-cfg.c (verify_expr): Likewise.
- 2006-11-11 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
- * tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file.
- (tree_ssa_prefetch_arrays): Do not dump for removed loops.
- 2006-11-11 Richard Sandiford <richard@codesourcery.com>
- PR middle-end/27528
- * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
- constraints accept neither registers or memories.
- 2006-11-11 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
- (NO_PROFILE_COUNTERS): Define as 1.
- 2006-11-10 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
- Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
- 2006-11-10 Peter Bergner <bergner@vnet.ibm.com>
- * rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
- 2006-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().
- (fold_builtin_hypot): Likewise.
- * fold-const.c (fold_strip_sign_ops): Handle "odd" builtins.
- * fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.
- 2006-11-10 Roger Sayle <roger@eyesopen.com>
- * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
- when attempting to build INTEGER_CSTs of non-integral types.
- * expmed.c (make_tree): Use the correct type, i.e. the inner
- type, when constructing the individual elements of a CONST_VECTOR.
- 2006-11-10 Jan Hubicka <jh@suse.cz>
- * cse.c (cse_process_notes): Copy the propagated value.
- * local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
- in REG_EQUIV notes.
- * gcse.c (try_replace_reg): Copy the replacement.
- * i386.c (emit_i387_cw_initialization): Copy stored_mode.
- (assign_386_stack_local): Always return copied memory expression
- * function.c (instantiate_virtual_regs_in_insn): Copy the operand
- duplicates.
- 2006-11-10 Jan Hubicka <jh@suse.cz>
- * final.c (final): Walk from first instruction.
- * cfglayout.c (insn_locators_initialize): Remove line number notes.
- 2006-11-10 Uros Bizjak <ubizjak@gmail.com>
- PR target/29777
- * config/i386/sse.md (smulv8hi3_highpart): Change from define_insn
- to define_expand.
- (umulv8hi3_highpart): Ditto.
- (vec_widen_smult_hi_v8hi): New expander.
- (vec_widen_smult_lo_v8hi): Ditto.
- 2006-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (do_mpfr_arg3): New.
- (fold_builtin_1): Handle builtins fma, fmin and fmax.
- 2006-11-09 Eric Christopher <echristo@apple.com>
- PR bootstrap/26892
- PR bootstrap/27814
- PR other/28994
- * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
- * config.gcc (powerpc64-*-darwin*): New target.
- * config.host: Ditto.
- * config/rs6000/darwin64.h: New file.
- * config/rs6000/x-darwin64: Ditto.
- * config/rs6000/host-ppc64-darwin.c: Ditto.
- 2006-11-09 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode
- routines for integer division.
- 2006-11-09 Daniel Jacobowitz <dan@codesourcery.com>
- * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
- 2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru>
- PR middle-end/29726
- * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
- 2006-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
- * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling
- simplify_subreg with BLKmode outer mode.
- 2006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
- * doc/invoke.texi: Minor formatting fixes in option lists.
- 2006-11-08 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/29738
- * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
- (ccp_lattice_t): Remove UNKNOWN_VAL.
- (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
- Do not handle UNKNOWN_VAL.
- (get_default_value): Set initial value of virtual operands to
- VARYING.
- (get_value): Always use get_default_value on uninitialized
- operands.
- (set_value_varying, surely_varying_stmt_p): New functions.
- (set_lattice_value): Do not pass argument to get_value.
- Do not handle UNKNOWN_VAL.
- (likely_value): Follow the semantics described in the comment.
- (ccp_initialize): Use surely_varying_stmt_p. Do not mark
- phi nodes DONT_SIMULATE_AGAIN.
- (ccp_fold): Do not pass argument to get_value.
- (fold_const_aggregate_ref, visit_assignment): Ditto. Do not
- handle UNKNOWN_VAL.
- 2006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
- * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
- HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.
- 2006-11-08 Roger Sayle <roger@eyesopen.com>
- * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a
- test for inclusion rather than as a test for exclusion.
- * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
- the condition after calling fold_binary.
- * fold-const.c (fold_inf_compare): Remove in_gimple_form check.
- (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise.
- * builtins.c (fold_builtin_isascii): Likewise.
- (fold_builtin_isdigit): Likewise.
- 2006-11-08 Carlos O'Donell <carlos@codesourcery.com>
- * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
- * configure: Regenerate.
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
- * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take
- enum argument instead of bool.
- (vect_analyze_operations): Call vectorizable_type_promotion.
- * tree-vectorizer.h (type_promotion_vec_info_type): New enum
- stmt_vec_info_type value.
- (supportable_widening_operation, vectorizable_type_promotion): New
- function declarations.
- * tree-vect-transform.c (vect_gen_widened_results_half): New function.
- (vectorizable_type_promotion): New function.
- (vect_transform_stmt): Call vectorizable_type_promotion.
- * tree-vect-analyze.c (supportable_widening_operation): New function.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
- Add implementation.
- * tree-vect-generic.c (expand_vector_operations_1): Consider correct
- mode.
- * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR):
- (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes.
- * tree-inline.c (estimate_num_insns_1): Add cases for above new
- tree-codes.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * expr.c (expand_expr_real_1): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- (init_optabs): Initialize new optabs.
- * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab,
- vec_widen_smult_hi_optab, vec_widen_smult_lo_optab,
- vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab,
- vec_unpacku_lo_optab): Initialize new optabs.
- * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo):
- (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi,
- OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New
- optab indices.
- (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab):
- (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab):
- (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab):
- (vec_unpacku_lo_optab): New optabs.
- * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi):
- (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo):
- (vec_widen_smult_hi, vec_widen_smult_lo): New.
- * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR):
- (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR):
- (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New.
- * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB):
- (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH):
- (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New.
- (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New.
- (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to
- implement the unsigned unpacking patterns.
- (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
- (vec_unpacks_lo_v8hi): New signed unpacking patterns.
- (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi):
- (vec_unpacku_lo_v8hi): New unsigned unpacking patterns.
- (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi):
- (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi):
- (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi):
- (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening
- multiplication patterns.
- * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New.
- * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN):
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
- * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New.
- (rs6000_builtin_mul_widen_odd): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
- * tree-vectorizer.h (enum vect_relevant): New enum type.
- (_stmt_vec_info): Field relevant chaned from bool to enum
- vect_relevant.
- (STMT_VINFO_RELEVANT_P): Updated.
- (STMT_VINFO_RELEVANT): New.
- * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT
- instead of STMT_VINFO_RELEVANT_P.
- * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p):
- Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT,
- and boolean variable with enum vect_relevant.
- (vect_mark_stmts_to_be_vectorized): Likewise + update documentation.
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
- 2006-11-08 Richard Henderson <rth@redhat.com>
- * config/i386/sse.md (vec_widen_umult_hi_v8hi,
- vec_widen_umult_lo_v8hi): New.
- (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si,
- vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New.
- * config/i386/i386.c (ix86_expand_sse_unpack): New.
- * config/i386/i386-protos.h (ix86_expand_sse_unpack): New.
- * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi,
- vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi,
- vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi,
- vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si,
- vec_unpacks_lo_v4si): New.
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
- * tree-vect-transform.c (vectorizable_type_demotion): New function.
- (vect_transform_stmt): Add case for type_demotion_vec_info_type.
- (vect_analyze_operations): Call vectorizable_type_demotion.
- * tree-vectorizer.h (type_demotion_vec_info_type): New enum
- stmt_vec_info_type value.
- (vectorizable_type_demotion): New function declaration.
- * tree-vect-generic.c (expand_vector_operations_1): Consider correct
- mode.
- * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes.
- * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and
- VEC_PACK_SAT_EXPR.
- * tree-iniline.c (estimate_num_insns_1): Likewise.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode
- compared against the predicate of the result is not 'mode' (the input
- to the function) but a mode with half the size of 'mode'.
- (init_optab): Initialize new optabs.
- * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat):
- New optab indices.
- (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New
- optabs.
- * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab):
- (vec_pack_usat_optab): Initialize new optabs.
- * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New.
- * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New.
- 2006-11-08 Richard Henderson <rth@redehat.com>
- * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si):
- (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi):
- (vec_interleave_highv8hi, vec_interleave_lowv8hi):
- (vec_interleave_highv4si, vec_interleave_lowv4si):
- (vec_interleave_highv2di, vec_interleave_lowv2di): New.
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
- * tree-vect-transform.c (vectorizable_reduction): Support multiple
- datatypes.
- (vect_transform_stmt): Removed redundant code.
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
- * tree-vect-transform.c (vectorizable_operation): Support multiple
- datatypes.
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
- * tree-vect-transform.c (vect_align_data_ref): Removed.
- (vect_create_data_ref_ptr): Added additional argument - ptr_incr.
- Updated function documentation. Return the increment stmt in ptr_incr.
- (bump_vector_ptr): New function.
- (vect_get_vec_def_for_stmt_copy): New function.
- (vect_finish_stmt_generation): Create a stmt_info to newly created
- vector stmts.
- (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
- argument.
- (vectorizable_reduction, vectorizable_assignment): Not supported yet if
- VF is greater than the number of elements that can fit in one vector
- word.
- (vectorizable_operation, vectorizable_condition): Likewise.
- (vectorizable_store, vectorizable_load): Support the case that the VF
- is greater than the number of elements that can fit in one vector word.
- (vect_transform_loop): Don't fail in case of multiple data-types.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail
- in case of multiple data-types; the smallest type determines the VF.
- (vect_analyze_data_ref_dependence): Don't record datarefs as same_align
- if they are of different sizes.
- (vect_update_misalignment_for_peel): Compare misalignments in terms of
- number of elements rather than number of bytes.
- (vect_enhance_data_refs_alignment): Fix/Add dump printouts.
- (vect_can_advance_ivs_p): Fix a dump printout
- 2006-11-07 Eric Christopher <echristo@apple.com>
- * libgcc2.c (__bswapdi2): Rename from bswapDI2.
- (__bswapsi2): Ditto.
- * libgcc2.h: Remove transformation of bswap routines.
- * config/i386/i386.md (bswapsi2): New.
- (bswapdi2): Ditto.
- 2006-11-07 Jakub Jelinek <jakub@redhat.com>
- * c-common.c (c_common_attributes): Add gnu_inline attribyte.
- (handle_gnu_inline_attribute): New function.
- * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute.
- (merge_decls, start_decl, start_function): Likewise.
- * doc/extend.texi: Document gnu_inline attribute.
- 2006-11-07 Steve Ellcey <sje@cup.hp.com>
- PR other/25028
- * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi,
- _fixunstfdi, and _floatditf
- 2006-11-06 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
- prototype.
- * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
- (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
- lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value
- which start in an odd register.
- 2006-11-07 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.
- 2006-11-07 Josh Conner <jconner@apple.com>
- * doc/invoke.texi (fstrict-aliasing): Move implementation
- details...
- * doc/tree-ssa.texi (Alias analysis): ...here.
- 2006-11-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/29610
- * tree-cfgcleanup.c (cleanup_control_flow): Honor return value
- of tree_purge_dead_eh_edges as it may free dominators.
- * g++.dg/other/pr29610.C: New testcase.
- 2006-11-07 David Ung <davidu@mips.com>
- * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of
- costs when optimizing for size.
- (override_options): Use mips_rtx_cost_optimize_size table for cost
- calculations.
- 2006-11-07 Jie Zhang <jie.zhang@analog.com>
- * gcc.c (process_command): Treat -b as normal switch if its argument
- has no dash.
- 2006-11-07 David Ung <davidu@mips.com>
- * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
- list.
- 2006-11-06 Eric Christopher <echristo@apple.com>
- * config.gcc: Add x86_64-darwin host support.
- * config.host: Ditto.
- * config/i386/darwin64.h: New file.
- * config/i386/t-darwin64: Ditto.
- 2006-11-06 Janis Johnson <janis187@us.ibm.com>
- * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
- and output-exists-not.
- 2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/29439
- * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
- checking for overflow.
- 2006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl>
- * configure.ac: Fixed typo in case statement: :: changed to ;;
- 2006-11-06 Bob Wilson <bob.wilson@acm.org>
- * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
- count_leading_zeros, and count_trailing_zeros.
- * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
- (TARGET_FOLD_BUILTIN): Define.
- (TARGET_EXPAND_BUILTIN): Define.
- (xtensa_init_builtins): New.
- (xtensa_fold_builtin): New.
- (xtensa_expand_builtin): New.
- (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT.
- * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
- (CLZ_DEFINED_VALUE_AT_ZERO): Define.
- (CTZ_DEFINED_VALUE_AT_ZERO): Define.
- * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
- (any_extend): New code macro.
- (u, su): New code attributes.
- (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
- (nsau): Remove; replaced by clzsi2.
- (ffssi2): Use clzsi2.
- * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
- _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz.
- * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
- (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
- (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
- 2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
- * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
- set inhibit_libc.
- * config/arm/t-strongarm-elf: Likewise.
- * config/arm/t-pe: Likewise.
- * config/arm/t-arm-elf: Likewise.
- * config/arm/t-xscale-elf: Likewise.
- * config/arm/t-arm-coff: Likewise.
- * config/arm/t-xscale-coff: Likewise.
- * config/arm/t-wince-pe: Likewise.
- 2006-11-05 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/lib1funcs-4-300.asm: Guard entire file with
- #if !__SHMEDIA__ .
- 2006-11-05 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/29695
- * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
- simplification.
- 2006-11-04 Uros Bizjak <ubizjak@gmail.com>
- PR target/26915
- * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
- as a valid 80387 constant.
- (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
- * config/i386/i386.md (unnamed splitter): Split the load of
- constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed
- by negation.
- 2006-11-04 Richard Earnshaw <rearnsha@arm.com>
- * arm.c (thumb_legitimate_addres_p): Allow any constant offset
- from the soft-frame, argument and virtual registers.
- 2006-11-04 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
- patterns for standard 80387 constants.
- 2006-11-03 Paolo Bonzini <bonzini@gnu.org>
- Steven Bosscher <steven@gcc.gnu.org>
- * fwprop.c: New file.
- * Makefile.in: Add fwprop.o.
- * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
- * passes.c (init_optimization_passes): Schedule forward propagation.
- * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
- parameter.
- * timevar.def (TV_FWPROP): New.
- * common.opt (-fforward-propagate): New.
- * opts.c (decode_options): Enable forward propagation at -O2.
- * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
- * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
- canon_for_address, table_size): Remove.
- (new_basic_block, insert, remove_from_table): Remove references to
- table_size.
- (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
- simplification loop more straightforward by not calling fold_rtx
- recursively.
- (equiv_constant): Move here a small part of fold_rtx_subreg,
- do not call fold_rtx. Call avoid_constant_pool_reference
- to process MEMs.
- * recog.h (canonicalize_change_group): New.
- * doc/invoke.texi (Optimization Options): Document fwprop.
- * doc/passes.texi (RTL passes): Document fwprop.
- 2006-11-03 Geoffrey Keating <geoffk@apple.com>
- * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
- (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
- (grokdeclarator): Likewise.
- 2006-11-03 Steven Bosscher <steven@gcc.gnu.org>
- * tree-dump.c (dump_enable_all): Rename local variable
- ir_type to avoid name conflicts.
- * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
- instead of using ir_type().
- * profile.c (tree_register_profile_hooks): Likewise.
- * value-prof.c (tree_register_value_prof_hooks): Likewise.
- * basic-block.h (struct edge_def): Likewise.
- * config/arm/arm.c (legitimize_pic_address): Likewise.
- * coretypes.h (ir_type): New enum of all intermediate languages
- used in GCC.
- * cfghooks.c (ir_type): Rename to...
- (current_ir_type): ...this. Distinguish between cfgrtl and
- cfglayout mode when the current IR is RTL. Return enum ir_type.
- * cfghooks.h (ir_type): Replace with current_ir_type prototype.
- 2006-11-03 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_file_start): New function.
- (TARGET_ASM_FILE_START): Define.
- (arm_default_cpu): New variable.
- (arm_override_options): Set arm_default_cpu.
- 2006-11-03 David Ung <davidu@mips.com>
- * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
- PROCESSOR_24KC and PROCESSOR_24KF.
- * config/mips/mips.c (mips_cpu_info_table): Add processor names
- and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
- (mips_rtx_cost_data): Add costs for the 24kc.
- * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
- * config/mips/24k.md: Remove references to 24k and replace with
- uses of 24kc/24kf in the appropriate reservations.
- * doc/invoke.texi (MIPS Options): Updated.
- 2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/crt1.asm: Fix #ifdef indent.
- 2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
- Merged from STMicroelectronics sources:
- 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com>
- * config/sh/crt1.asm (vbr_600): Add missing #if.
- 2006-08-03 J"orn Rennecke <joern.rennecke@st.com>
- * sh.opt (mfused-madd): New option.
- * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
- 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
- * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
- Remove pointless handler at VBR+0.
- (vbr_200, vbr_300, vbr_500): Remove pointless handler.
- (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
- fr7. Make sure the timer handler is called with the correct FPU
- precision setting, according to the ABI.
- 2006-06-14 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
- * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
- (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
- 2006-06-09 J"orn Rennecke <joern.rennecke@st.com>
- * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept
- zero as second operand.
- 2006-04-28 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
- Fixed some bugs related to negative values, in particular -0
- and overflow at -0x80000000.
- * config/sh/divcost-analysis: Added sh4-300 figures.
- 2006-04-27 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
- 2006-04-26 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
- ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
- * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
- New files.
- * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
- -m4-340.
- 2006-04-24 J"orn Rennecke <joern.rennecke@st.com>
- SH4-300 scheduling description & fixes to SH4-[12]00 description:
- * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
- mac_mem, mem_mac, dfp_mul, fp_cmp.
- (insn_class, dfp_comp, any_fp_comp): Update.
- (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
- (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
- (muldf3_i): Likewise.
- (movsi_i): Split rI08 alternative into two separate alternatives.
- Update type.
- (movsi_ie, movsi_i_lowpart): Likewise.
- (movqi_i): Split ri alternative into two separate alternatives.
- Update type.
- * sh1.md (sh1_load_store, sh1_fp): Update.
- * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
- (mac_mem, sh4_fpscr_toggle): New insn_reservations.
- * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
- (sh4a_fp_double_arith): Likewise.
- * sh4-300.md: New file.
- * sh.c (sh_handle_option): Handle m4-300* options.
- (sh_adjust_cost): Fix latency of auto-increments.
- Handle SH4-300 differently than other SH4s. Check for new insn types.
- * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
- been set by an option.
- * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
- (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
- (mbranch-cost=): Likewise.
- * superh.h (STARTFILE_SPEC): Take -m4-340 into account.
- * sh.md (mulsf3): Remove special expansion code.
- (mulsf3_ie): Now a define_insn_and_split.
- (macsf3): Allow for TARGET_SH4.
- * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
- * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
- (expand_cbranchdi4): Likewise.
- (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
- CONST_DOUBLE if the outer code is COMPARE.
- * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
- TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
- (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
- (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs.
- Remove redundant fp_{zero,one}_operand checks.
- * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
- * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
- (expand_cbranchdi4): Likewise.
- 2006-04-20 J"orn Rennecke <joern.rennecke@st.com>
- * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
- 2006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
- * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
- constraints.
- 2006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
- * doc/invoke.texi: Fix mfp-trap-mode typo.
- 2006-11-02 Carlos O'Donell <carlos@codesourcery.com>
- * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1.
- * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call
- file_end_indicate_exec_stack.
- * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK):
- Define as 0.
- * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section
- for a non-executable stack.
- * crti.asm: Likewise.
- * crtn.asm: Likewise.
- * libunwind.S: Likewise.
- 2006-11-02 Ben Elliston <bje@au.ibm.com>
- * tree-ssa.c (warn_uninit): Use expand_location variables for
- locus and declaration locus.
- 2006-11-02 Kaz Kojima <kkojima@gcc.gnu.org>
- PR target/27405
- * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
- (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
- cmp{eq,gt,gtu}{si,di}_media.
- (*cmpne0si_media): Remove.
- (*movsicc_umin): Adjust gen_cmp*_media call.
- (unordered): Change the mode of unordered and operands[1] to
- SImode.
- (seq): Adjust gen_cmp*_media calls. Make the mode of
- a temporary result of compare SImode if needed. If the mode
- of operands[0] is DImode, extend the temporary result to DImode.
- (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
- (sunorderd): Change the mode of match_operand and unorderd to
- SImode.
- (cmpeq{sf,df}_media): Remove.
- (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
- (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
- and compare operation to SImode.
- 2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
- * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
- instructions.
- (sparc64-sun-solaris2*): Likewise.
- 2006-11-02 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
- from priority argument. Use different section for non-default
- priority.
- * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
- 2006-11-02 Eric Botcazou <ebotcazou@adacore.com>
- PR other/29639
- * except.c (switch_to_exception_section): Do not cache the section
- if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
- and flag_function_sections is set.
- 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (do_mpfr_sincos): New.
- (fold_builtin_1): Use it to fold builtin sincos.
- 2006-11-01 Roger Sayle <roger@eyesopen.com>
- * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
- it into -D_REENTRANT.
- 2006-11-01 Roger Sayle <roger@eyesopen.com>
- * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
- whether the assembler supports taking the difference of symbols in
- different sections. On x86/Solaris, GAS does but Solaris as doesn't.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
- the assembler doesn't support taking the difference of symbols in
- different sections, i.e. we're using the native solaris assembler.
- 2006-11-01 Pete Steinmetz <steinmtz@us.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
- * doc/invoke.texi: Add cpu_type power6x
- (RS/6000 and PowerPC Options): Add -mmfpgpr.
- * config.gcc: Add cpu_type power6x.
- * configure.ac: Add test for mf{t,f}gpr instructions.
- (HAVE_AS_MFPGPR): New.
- * config.in: Regenerate.
- * configure: Regenerate.
- * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
- * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
- shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
- and mftgpr attributes.
- (define_attr "cpu"): Add power6.
- Change instruction sequences to use new attributes.
- (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
- (fix_truncdfsi2_mfpgpr): New.
- (floatsidf_ppc64_mfpgpr): New.
- (floatsidf_ppc64): Added !TARGET_MFPGPR condition.
- (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
- (movdf_hardfloat64): Added !TARGET_MFPGPR condition.
- (movdi_internal64): Added !TARGET_MFPGPR and related conditions.
- (fix_truncdfsi2): Use gpc_reg_operand constraint.
- * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
- 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
- Add descriptions for insert_dword, shift,trap,var_shift_rotate,
- cntlz,exts and var_delayed_compare.
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- _ARCH_PWR6X, if features enabled.
- * config/rs6000/rs6000.opt (mmfpgpr): New.
- * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
- (cached_can_issue_more): New variable.
- (processor_costs): Add power6_cost.
- (rs6000_sched_init): New function.
- (is_dispatch_slot_restricted): Deleted.
- (set_to_load_agen): New function.
- (is_load_insn,is_store_insn): New functions.
- (adjacent_mem_locations): New function.
- (insn_must_be_first_in_group): New function.
- (insn_must_be_last_in_group): New function.
- (rs6000_sched_reorder): New function.
- (rs6000_sched_reorder2): New function.
- (TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
- TARGET_SCHED_REORDER2): Define.
- (processor_target_table): Use PROCESSOR_POWER6 for power6.
- Add power6x. Add MASK_MFPGPR for power6x.
- (POWERPC_MASKS): Add MASK_MFPGPR.
- (rs6000_override_options): Set rs6000_always_hint to false
- for power6. Set rs6000_align_branch_targets. Replace
- rs6000_sched_groups check with rs6000_align_branch_targets.
- Use PROCESSOR_POWER6.
- (last_scheduled_insn): New variable.
- (load_store_pendulum): New variable.
- (rs6000_variable_issue): Set last_scheduled_insn and
- cached_can_issue_more.
- (rs6000_adjust_cost): Add power6 cost adjustments.
- (rs6000_adjust_priority): Replace is_dispatch_slot_restricted
- with insn_must_be_first_in_group. Add power6 priority adjustments.
- (rs6000_issue_rate): Add CPU_POWER6.
- (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
- * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
- (TARGET_MFPGPR): New.
- (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
- (ASM_CPU_SPEC): Add power6x.
- (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
- conditions.
- * config/rs6000/power6.md: New file.
- 2006-11-01 Adam Nemet <anemet@caviumnetworks.com>
- * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
- HOST_WIDE_INT_PRINT to print high and low parts. Use
- HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When
- printing a hexadecimal number prefix it with 0x.
- 2006-11-01 Chris Johns <chris@contemporary.net.au>
- PR bootstrap/28400
- * Makefile.in (install-driver): Use exeext when installing
- $target-gcc-$version.
- 2006-11-01 Douglas Gregor <doug.gregor@gmail.com>
- * c-common.c (flag_cpp0x): New.
- * c-common.h (flag_cpp0x): New.
- * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
- supported, define __GXX_EXPERIMENTAL_CPP0X__.
- * c-opts.c (set_std_cxx0x): New.
- (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
- * c.opt (std=c++0x): Document.
- (std=gnu++0x): Ditto.
- * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
- * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
- 2006-11-01 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.c (ix86_expand_rint): Fix issues with
- signed zeros.
- (ix86_expand_floorceildf_32): Likewise.
- (ix86_expand_floorceil): Likewise.
- (ix86_expand_trunc): Likewise.
- 2006-10-31 Andrew Pinski <pinskia@gmail.com>
- * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
- to "GNU C89".
- 2006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
- * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
- hook.
- * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
- default.
- * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
- Override default.
- * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
- * configure.ac (use_cxa_atexit): As a special case, don't test
- for libc definition of __cxa_atexit on mingw32
- * configure: Regenerate.
- * config.gcc (i[34567]86-pc-mingw32): Default to
- enable__cxa_atexit=yes.
- 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- PR 23067
- * c-decl.c (start_struct): Don't create self-containing
- structures.
- * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
- New.
- * config/rs6000/rs6000-protos.h
- (darwin_rs6000_special_round_type_align): New.
- * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
- (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- * toplev.c (compile_file): Call final_write_globals
- even if there have been errors.
- 2006-10-31 Eric Christopher <echristo@apple.com>
- Falk Hueffner <falk@debian.org>
- * doc/extend.texi (__builtin_bswap32): Document.
- (__builtin_bswap64): Ditto.
- * doc/libgcc.texi (bswapsi2): Document.
- (bswapdi2): Ditto.
- * doc/rtl.texi (bswap): Document.
- * optabs.c (expand_unop): Don't widen a bswap.
- (init_optabs): Init bswap. Set libfuncs explicitly
- for bswapsi2 and bswapdi2.
- * optabs.h (OTI_bswap): New.
- (bswap_optab): Ditto.
- * genopinit.c (optabs): Handle bswap_optab.
- * tree.h (tree_index): Add TI_UINT32_TYPE and
- TI_UINT64_TYPE.
- (uint32_type_node): New.
- (uint64_type_node): Ditto.
- * tree.c (build_common_tree_nodes_2): Initialize
- uint32_type_node and uint64_type_node.
- * builtins.c (expand_builtin_bswap): New.
- (expand_builtin): Call.
- (fold_builtin_bswap): New.
- (fold_builtin_1): Call.
- * fold-const.c (tree_expr_nonnegative_p): Return true
- for bswap.
- * builtin-types.def (BT_UINT32): New.
- (BT_UINT64): Ditto.
- (BT_FN_UINT32_UINT32): Ditto.
- (BT_FN_UINT64_UINT64): Ditto.
- * builtins.def (BUILT_IN_BSWAP32): New.
- (BUILT_IN_BSWAP64): Ditto.
- * rtl.def (BSWAP): New.
- * genattrtab.c (check_attr_value): New.
- * libgcc2.c (__bswapSI2): New.
- (__bswapDI2): Ditto.
- * libgcc2.h (__bswapSI2): Declare.
- (__bswapDI2): Ditto.
- * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
- * simplify-rtx.c (simplify_const_unary_operation): Return
- 0 for BSWAP.
- * libgcc-std.ver (__bwapsi2): Add.
- (__bswapdi2): Ditto.
- * reload1.c (eliminate_regs_1): Add bswap.
- (elimination_effects): Ditto.
- * config/i386/i386.h (x86_bswap): New.
- (TARGET_BSWAP): Use.
- * config/i386/i386.c (x86_bswap): Set.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- * coverage.c (coverage_checksum_string): Update comment.
- * dwarf2out.c (switch_to_eh_frame_section): Update for removal
- of get_file_function_name.
- * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
- of get_file_function_name_long.
- * tree.c (get_file_function_name): Rename from
- get_file_function_name_long; improve comment; handle 'I' and 'D'
- specially when the target has ctor/dtor support; remove special
- handling for 'F'.
- (get_file_function_name): Remove.
- * tree.h (get_file_function_name): Rename from
- get_file_function_name_long.
- (get_file_function_name): Remove prototype.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
- * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
- * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
- Call dsymutil when compiling and linking one or more source files
- in one step.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- PR 15834
- * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
- 2006-10-31 Geoffrey Keating <geoffk@apple.com>
- * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
- inline static functions in c99 mode.
- PR 16622
- * doc/extend.texi (Inline): Update.
- * c-tree.h (struct language_function): Remove field 'extern_inline'.
- * c-decl.c (current_extern_inline): Delete.
- (pop_scope): Adjust test for an undefined nested function.
- Add warning about undeclared inline function.
- (diagnose_mismatched_decls): Update comments. Disallow overriding
- of inline functions in a translation unit in C99. Allow inline
- declarations in C99 at any time.
- (merge_decls): Boolize variables. Handle C99 'extern inline'
- semantics.
- (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle
- C99 inline semantics.
- (start_function): Don't clear current_extern_inline. Don't set
- DECL_EXTERNAL.
- (c_push_function_context): Don't push current_extern_inline.
- (c_pop_function_context): Don't restore current_extern_inline.
- PR 11377
- * c-typeck.c (build_external_ref): Warn about static variables
- used in extern inline functions.
- * c-decl.c (start_decl): Warn about static variables declared
- in extern inline functions.
- 2006-10-31 Roger Sayle <roger@eyesopen.com>
- PR middle-end/23470
- * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
- * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider
- pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
- or y is an even integer.
- 2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR target/24071
- * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
- * gthr-posix95.h (__gthread_active_p): Likewise.
- 2006-10-31 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
- acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
- expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
- exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
- ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
- lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
- lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
- btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
- !optimize_size.
- 2006-10-31 Steven Bosscher <steven@gcc.gnu.org>
- * opts.c (decode_options): Disable CSE skip blocks.
- 2006-10-30 Dirk Mueller <dmueller@suse.de>
- * c-common.h (strict_aliasing_warning): Fix whitespace.
- * c-decl (start_function): Move code for main decl warning ..
- * c-common.c (check_main_parameter_types): .. here.
- * c-common.h (check_main_parameter_types): Declare.
- 2006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
- 2006-10-30 Pete Steinmetz <steinmtz@us.ibm.com>
- * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
- be a PARALLEL containing sets. Return false when out_pat is not
- a PARALLEL insn.
- 2006-10-30 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.md (mul<mode>3): Split into...
- (mulsi3, muldi3): ...these separate patterns.
- 2006-10-30 Richard Sandiford <richard@codesourcery.com>
- * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
- but with each set of options separated by spaces.
- 2006-10-30 J"orn Rennecke <joern.rennecke@st.com>
- * unwind-dw2.c (uw_init_context_1): Fix test that checks if
- dwarf_reg_size_table has been initialized.
- 2006-10-30 Roger Sayle <roger@eyesopen.com>
- * builtins.c (expand_builtin_mathfn_3): Correct coding style.
- * ddg.c (print_ddg_edge): Likewise.
- * dwarf2out.c (prune_unused_types_walk): Likewise.
- * ifcvt.c (noce_try_cmove_arith): Likewise.
- * langhooks.c (add_builtin_function): Likewise.
- * reg-stack.c (subst_stack_regs_pat): Likewise.
- * tree.c (expanded_location): Likewise.
- * tree-dump.c (dequeue_and_dump): Likewise.
- 2006-10-30 David Daney <ddaney@avtrex.com>
- * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
- 2006-10-30 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/29637
- * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
- of the innertype is the innertype itself.
- 2006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
- * dwarf2out.c (file_name_acquire): Correct typo.
- 2006-10-29 Daniel Berlin <dberlin@dberlin.org>
- * tree.h (tree_value_handle): Remove struct value_set declaration.
- Change value_set to bitmap_set.
- * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
- * tree-vn.c (get_value_handle): Made inline and moved to
- tree-flow-inline.h.
- * tree-flow-inline.h: (has_stmt_ann): New function.
- * tree-ssa-pre.c (expressions): New variable.
- (next_expression_id): Ditto.
- (alloc_expression_id): New function.
- (struct value_set): Remove.
- (get_expression_id): New function.
- (get_or_alloc_expression_id): Ditto.
- (expression_for_id): Ditto.
- (clear_expression_ids): Ditto.
- (FOR_EACH_EXPR_ID_IN_SET): New macro.
- (bb_value_sets): Renamed to bb_bitmap_sets.
- All value sets replaced with bitmap_sets.
- Add visited member.
- (BB_VISITED): New macro.
- (postorder): New variable.
- (add_to_value): Removed.
- (value_exists_in_set_bitmap): Ditto.
- (value_insert_into_set_bitmap): Ditto.
- (set_new): Ditto.
- (set_copy): Ditto.
- (set_remove): Ditto.
- (set_contains_value): Ditto.
- (insert_into_set): Ditto.
- (set_equal): Ditto.
- (find_leader): Ditto.
- (bitmap_set_subtract_from_value_set): Ditto.
- (value_insert_into_set): Ditto.
- (print_value_set): Ditto.
- (debug_value_set): Ditto.
- (constant_expr_p): New function.
- (bitmap_remove_from_set): Ditto.
- (bitmap_insert_into_set): Ditto.
- (bitmap_set_free): Ditto.
- (vh_compare): Ditto.
- (sorted_array_from_bitmap_set): Ditto.
- (bitmap_set_subtract): Ditto.
- (bitmap_set_equal): Ditto.
- (debug_bitmap_set): Ditto.
- (find_leader_in_sets): Ditto.
- (bitmap_set_replace_value): Modify for bitmapped sets.
- (phi_translate): Ditto.
- (phi_translate_set): Ditto.
- (bitmap_find_leader): Ditto.
- (valid_in_sets): Ditto.
- (union_contains_value): Ditto.
- (clean): Ditto.
- (compute_antic_aux): Ditto. Mark changed blocks.
- (compute_antic): Ditto. Iterate in postorder and only over
- changing blocks.
- (compute_rvuse_and_antic_safe): Reuse postorder.
- (create_component_ref_by_pieces): Modify for bitmapped sets.
- (find_or_generate_expression): Ditto.
- (create_expression_by_pieces): Ditto.
- (insert_into_preds_of_block): Ditto.
- (changed_blocks): New variable.
- (do_regular_insertion): Broken out from insert_aux.
- (insert_aux): Modified for bitmapped sets.
- (find_existing_value_expr): New function.
- (create_value_expr_from): Use it.
- (insert_extra_phis): Removed.
- (print_bitmap_set): Renamed from bitmap_print_value_set.
- (compute_avail): Handle RETURN_EXPR.
- (init_pre): Modify for bitmapped sets.
- * tree-flow.h (has_stmt_ann): New function.
- 2006-10-29 Roger Sayle <roger@eyesopen.com>
- * builtins.c (fold_builtin_floor): Check for the availability of
- the C99 trunc function before transforming floor into trunc.
- 2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * builtins.c (fold_builtin_hypot): Rearrange recursive
- transformation before others, and also do ABS_EXPR. When
- necessary, check flag_unsafe_math_optimizations. When necessary,
- add fabs.
- 2006-10-29 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
- Fold ~X op C as X op' ~C, where op' is the swapped comparison.
- (fold_binary): ~X eq/ne C is now handled in fold_comparison.
- Fold -X eq/ne -Y as X eq/ne Y.
- 2006-10-29 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
- GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
- rather than GENERATE_MULT3_SI in the various define_peephole2s.
- (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
- Use an inclusive test for "mult" rather than "mul".
- (rotr<mode>3): Depend on ISA_HAS_ROR.
- * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
- ISA_HAS_MUL3.
- (GENERATE_MULT3_DI): Delete.
- (ISA_HAS_64BIT_REGS): Use consistent formatting.
- (ISA_HAS_MUL3): New macro.
- (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
- (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
- (ISA_HAS_CLZ_CLO): Likewise.
- (ISA_HAS_DCLZ_DCLO): Delete.
- (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
- (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
- the VR4120 and VR4130.
- (ISA_HAS_MACCHI): Use consistent formatting.
- (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
- (ISA_HAS_ROR): ...this new macro.
- (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
- (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
- (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
- 2006-10-29 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/15458
- * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
- is a constant.
- 2006-10-29 Richard Guenther <rguenther@suse.de>
- * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
- (ix86_expand_truncdf_32): Likewise.
- * config/i386/i386.c (ix86_expand_trunc): New function expanding
- trunc inline for SSE math and -fno-trapping-math and if not
- optimizing for size.
- (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
- for expanding btrunc inline for SSE math.
- 2006-10-29 Joseph Myers <joseph@codesourcery.com>
- * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
- Handle tuning for bi-arch i[34567]86-*-linux* like that for
- i[34567]86-*-solaris2.1[0-9]*.
- * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
- Define conditionally depending on TARGET_64BIT_DEFAULT.
- (SPEC_32, SPEC_64): Define.
- (LINK_SPEC): Use them.
- * doc/install.texi (--enable-targets=all): Document for x86-linux.
- 2006-10-29 Richard Guenther <rguenther@suse.de>
- * config/i386/i386-protos.h (ix86_expand_round): Declare.
- (ix86_expand_rounddf_32): Likewise.
- * config/i386/i386.c (ix86_expand_round): New function expanding
- round inline for SSE math and -fno-trapping-math and if not
- optimizing for size.
- (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
- round via ix86_expand_round.
- 2006-10-29 Richard Guenther <rguenther@suse.de>
- * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
- (ix86_expand_floorceildf_32): Likewise.
- * config/i386/i386.c (ix86_expand_sse_compare_mask): New
- static helper function.
- (ix86_expand_floorceil): Expander for floor and ceil to SSE
- math.
- (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (floordf2): Adjust to enable floor
- expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
- -fno-trapping-math is enabled and if not optimizing for size.
- (floorsf2, ceildf2, ceilsf2): Likewise.
- * config/i386/sse.md (sse_maskcmpsf3): New insn.
- (sse2_maskcmpdf3): Likewise.
- 2006-10-29 Richard Guenther <rguenther@suse.de>
- * builtins.c (expand_builtin_mathfn): Expand nearbyint as
- rint in case -fno-trapping-math is enabled.
- * config/i386/i386-protos.h (ix86_expand_rint): Declare.
- * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
- (ix86_expand_sse_fabs): Likewise.
- (ix86_expand_rint): New function expanding rint to x87 or SSE math.
- * config/i386/i386.md (rintdf2): Enable for SSE math if
- -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
- (rintsf2): Likewise.
- 2006-10-29 Richard Guenther <rguenther@suse.de>
- * genopinit.c (optabs): Change lfloor_optab and lceil_optab
- to conversion optabs.
- * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
- as conversion optab.
- * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
- (enum convert_optab_index): Add COI_lfloor and COI_lceil.
- (lfloor_optab, lceil_optab): Adjust defines.
- * builtins.c (expand_builtin_int_roundingfn): Adjust for
- lfloor and lceil optabs now being conversion optabs.
- * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
- * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
- New static helper function.
- (ix86_expand_lfloorceil): New function to expand lfloor and
- lceil inline.
- * config/i386/i386.md (lfloor<mode>2): Split into ...
- (lfloorxf<mode>2): ... x87 variant
- (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
- using ix86_expand_lfloorceil.
- (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
- Likewise.
- * doc/md.texi (lfloorMN, lceilMN): Document.
- 2006-10-29 Richard Sandiford <richard@codesourcery.com>
- * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
- -mno-shared assembler option on mips targets.
- * configure, config.in: Regenerate.
- * config/mips/linux.h (NO_SHARED_SPECS): New macro.
- (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
- * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
- 2006-10-29 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
- as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
- 2006-10-29 Kazu Hirata <kazu@codesourcery.com>
- * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
- config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
- comment typos.
- 2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
- (fold_builtin_pow): Evaluate constant arguments at compile-time
- using MPFR.
- (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
- (do_mpfr_ckconv): New helper function.
- (do_mpfr_arg1): Use do_mpfr_ckconv.
- (do_mpfr_arg2): New.
- 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
- PR tree-opt/29271
- * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
- (-fdump-rtl-sched): Rename to ..
- (-fdump-rtl-sched1): here. Also fix file extension number.
- 2006-10-28 Richard Guenther <rguenther@suse.de>
- * fold-const.c (maybe_canonicalize_comparison): Fix code
- to match comment.
- 2006-10-28 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
- (NON_QI_REG_P): Use IN_RANGE.
- (REX_INT_REGNO_P): Use IN_RANGE.
- (FP_REGNO_P): Use IN_RANGE.
- (SSE_REGNO_P): Use IN_RANGE.
- (REX_SSE_REGNO_P): Use IN_RANGE.
- (MMX_REGNO_P): Use IN_RANGE.
- (STACK_REGNO_P): New macro.
- (STACK_REG_P): Use STACK_REGNO_P.
- (NON_STACK_REG_P): Use STACK_REGNO_P.
- (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
- (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
- (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
- (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
- (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
- 2006-10-28 Eric Botcazou <ebotcazou@adacore.com>
- * except.h (output_function_exception_table): Add 'const char*' param.
- * except.c (switch_to_exception_section): Add 'const char*' param.
- If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
- and flag_function_sections is set, use a function-specific section.
- (output_function_exception_table): Add 'const char*' param.
- Adjust call to switch_to_exception_section.
- * final.c (rest_of_handle_final): Adjust calls to
- output_function_exception_table.
- * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
- * config.in: Regenerate.
- * configure: Likewise.
- 2006-10-28 Richard Guenther <rguenther@suse.de>
- PR middle-end/26899
- * fold-const.c (maybe_canonicalize_comparison_1): Helper
- for maybe_canonicalize_comparison.
- (maybe_canonicalize_comparison): New function for canonicalizing
- comparison trees.
- (fold_comparison): Call it to canonicalize comparisons with
- constants involved.
- 2006-10-28 Richard Guenther <rguenther@suse.de>
- PR target/28806
- * builtins.c (expand_builtin_int_roundingfn_2): Expand
- BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
- (expand_builtin): Adjust likewise.
- * genopinit.c (optabs[]): Add lround optab.
- * optabs.c (init_optabs): Initialize lround_optab.
- * optabs.h (enum convert_optab_index): Add COI_lround.
- (lround_optab): Define.
- * config/i386/i386-protos.h (ix86_expand_lround): Declare.
- * config/i386/i386.c (ix86_sse_copysign_to_positive): New
- static function.
- (ix86_expand_lround): New function.
- * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
- New expanders.
- * doc/md.texi (lroundMN2): Document.
- 2006-10-28 Uros Bizjak <uros@kss-loka.si>
- PR target/29377
- * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
- argument to HOST_WIDE_INT. Update function prototype.
- (round_frame_size): Change return type to HOST_WIDE_INT. Change
- "size" argument to HOST_WIDE_INT. Update function prototype.
- 2006-10-28 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.c (output_387_ffreep): Create output from a
- template string for !HAVE_AS_IX86_FFREEP.
- 2006-10-27 Eric Christopher <echristo@apple.com>
- * config/darwin.c: Fix formatting and grammar.
- 2006-10-27 Jan Hubicka <jh@suse.cz>
- * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
- to be thrown away soon when IGNORE is set.
- * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
- indicating when return value shall not be computed.
- * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
- 2006-10-27 Vladimir Makarov <vmakarov@redhat.com>
- * config/i386/i386.h (TARGET_GEODE):
- (TARGET_CPU_CPP_BUILTINS): Add code for geode.
- (TARGET_CPU_DEFAULT_geode): New macro.
- (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
- TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
- TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
- TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
- TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
- the macro values.
- (TARGET_CPU_DEFAULT_NAMES): Add geode.
- (processor_type): Add PROCESSOR_GEODE.
- * config/i386/i386.md: Include geode.md.
- (cpu): Add geode.
- * config/i386/i386.c (geode_cost): New initialized global
- variable.
- (m_GEODE, m_K6_GEODE): New macros.
- (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
- x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
- x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
- x86_schedule): Use m_K6_GEODE instead of m_K6.
- (x86_movx, x86_cmove): Set up m_GEODE.
- (x86_integer_DFmode_moves): Clear m_GEODE.
- (processor_target_table): Add entry for geode.
- (processor_alias_table): Ditto.
- * config/i386/geode.md: New file.
- * doc/invoke.texi: Add entry about geode processor.
- 2006-10-27 Mike Stump <mrs@apple.com>
- * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
- __DYNAMIC__ from here back to ...
- * config/darwin.h (CPP_SPEC): ... here.
- 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
- * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
- when choosing the minimum heapsize.
- 2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
- * gcc/unwind-dw2.h: Move cfa-related variables into
- struct frame_state_reg_info to ensure that the CFA is properly
- handled when executing DW_CFA_{remember,restore}_state.
- * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
- gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
- gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
- gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
- gcc/config/rs6000/linux-unwind.h,
- gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
- gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
- Modify to use new cfa_* fields.
- 2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.c (s390_init_frame_layout): Check positive
- frame_size.
- 2006-10-26 Ben Elliston <bje@au.ibm.com>
- * gimplify.c (get_name): Remove extraneous break.
- (gimplify_omp_for): Initialise ret with GS_OK.
- 2006-10-25 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
- Add unix98.o to link line.
- 2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
- Calculate compile-time constants using MPFR.
- (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
- BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
- 2006-10-25 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib2funcs.S: Use C-style comments.
- 2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
- * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
- (file_table_relative_p): Likewise.
- (dwarf2out_finish): Likewise.
- (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
- 2006-10-25 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c (intra_create_variable_infos):
- Don't recreate nonlocal_all if it already exists.
- 2006-10-25 Richard Guenther <rguenther@suse.de>
- PR target/28803
- * optabs.h (enum optab_index): Remove OTI_lrint.
- (enum convert_optab_index): Add COI_lrint.
- (lrint_optab): Adjust.
- (expand_sfix_optab): Declare.
- * optabs.c (expand_sfix_optab): New function.
- (init_optabs): Init lrint_optab as conversion optab.
- * genopinit.c (lrint_optab): Change to a conversion optab.
- * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
- expansion via conversion optab.
- * config/i386/i386.md (*fistdi2_1): Remove
- flag_unsafe_math_optimizations guard.
- (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
- fist<mode>2_with_temp): Likewise.
- (lrint<mode>2): Split into...
- (lrintxf<mode>2): ... x87 part
- (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
- * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
- sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
- UNSPEC_FIX_NOTRUNC matching non-vector float modes.
- * doc/md.texi (lrintMN2): Document.
- 2006-10-25 Uros Bizjak <uros@kss-loka.si>
- PR target/28909
- * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
- Use inc and dec instructions for TARGET_USE_INCDEC.
- ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
- ("sync_double_compare_and_swap<mode>"): Likewise.
- ("*sync_double_compare_and_swapdi_pic"): Likewise.
- ("*sync_compare_and_swap_cc<mode>"): Likewise.
- ("sync_double_compare_and_swap_cc<mode>"): Likewise.
- ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
- ("sync_old_add<mode>"): Likewise.
- ("sync_lock_test_and_set<mode>"): Likewise.
- ("sync_lock_test_and_set<mode>"): Likewise.
- ("sync_add<mode>"): Likewise.
- ("sync_sub<mode>"): Likewise.
- ("sync_ior<mode>"): Likewise.
- ("sync_and<mode>"): Likewise.
- ("sync_xor<mode>"): Likewise.
- 2006-10-25 Uros Bizjak <uros@kss-loka.si>
- * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
- (remainder_optab): Define corresponding macro.
- (drem_optab): Remove.
- * optabs.c (init_optabs): Initialize remainder_optab. Remove
- drem_optab initialization.
- * genopinit.c (optabs): Implement remainder_optab using
- remainder?f3 patterns. Remove drem_optab.
- * builtins.c (expand_builtin_mathfn_2): Handle
- BUILT_IN_REMAINDER{,F,L} using remainder_optab.
- (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
- expand_builtin_mathfn_2.
- (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
- depend on flag_unsafe_math_optimizations.
- * config/i386/i386.md ("remaindersf3", "remainderdf3")
- ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
- Do not depend on flag_unsafe_math_optimizations. Use
- truncxf?f expander instead of truncxf?f_i387_noop.
- ("fpremxf4", "fprem1xf4"): Do not depend on
- flag_unsafe_math_optimizations.
- ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
- flag_unsafe_math_optimizations. Use truncxf?f expander
- instead of truncxf?f_i387_noop.
- * doc/md.texi (fmod, remainder): Document standard named pattern.
- 2006-10-24 Richard Sandiford <richard@codesourcery.com>
- David Daney <ddaney@avtrex.com>
- PR middle-end/29519
- * rtlanal.c (nonzero_address_p): Remove check for values wrapping.
- 2006-10-25 Ben Elliston <bje@au.ibm.com>
- * doc/extend.texi (Variable Attributes): Typo fix.
- 2006-10-24 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
- (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
- (FRAME_POINTER_REGNUM): Update register number to 21.
- (REG_CLASS_CONTENTS): Update contents for added fpcr register.
- (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
- * config/i386/i386.c (regclass_map): Add fpcr entry.
- (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
- Add fpcr entry.
- (print_reg): Assert REGNO (x) != FPCR_REG.
- * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
- (DIRFLAG_REG): Renumber.
- (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
- (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
- (sse_prologue_save, *sse_prologue_save_insn): Renumber
- hardcoded SSE register numbers.
- * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
- hardcoded MMX register numbers.
- 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
- (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
- Update all callers.
- (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
- (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
- BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
- BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
- 2006-10-24 Richard Guenther <rguenther@suse.de>
- PR middle-end/28796
- * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
- and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
- for deciding optimizations in consistency with fold-const.c
- (fold_builtin_unordered_cmp): Likewise.
- 2006-10-24 Richard Guenther <rguenther@suse.de>
- * builtins.c (fold_builtin_floor): Fold floor (x) where
- x is nonnegative to trunc (x).
- (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
- nonnegative to FIX_TRUNC_EXPR.
- 2006-10-24 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/29567
- * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
- for TRUTH_NOT_EXPR. Clarify comments.
- 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (fold_builtin_exponent): Evaluate constant arguments
- at compile-time using MPFR. Change parameter VALUE to FUNC,
- update all callers.
- (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
- for overflow and underflow at all times and avoid folding in
- those cases.
- 2006-10-24 Ben Elliston <bje@au.ibm.com>
- * reload1.c: Formatting fixes.
- 2006-10-23 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/14784
- * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
- * tree-ssa-structalias.c (get_constraint_for,
- intra_create_variable_infos): Set is_heapvar.
- * tree-ssa-operands.c (access_can_touch_variable): Do not handle
- non-heapvar pointer variables specially.
- 2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR middle-end/29335
- * builtins.c (fold_builtin_sin, fold_builtin_cos,
- fold_builtin_tan): Fold all constant arguments. Take a "type"
- argument as necessary.
- (do_mpfr_arg1): New.
- * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
- 2006-10-23 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib1funcs.asm: Use C-style comments.
- 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
- * tree.c (local_define_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
- c_builtin_function.
- * c-tree.h (builtin_function): Rename to c_builtin_function. Change
- the signature.
- * c-decl.c (builtin_function): Rename to c_builtin_function. Move
- common code to add_builtin_function.
- * langhooks.c (add_builtin_function): New function.
- (lhd_builtin_function): New function.
- * langhooks.h (struct lang_hooks): Change the signature of
- builtin_function.
- (add_builtin_function): New function.
- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
- calls to lang_hooks.builtin_function with add_builtin_function.
- * c-common.c (decl_builtin_1): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/frv/frv.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/s390/s390.c (s390_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/sparc/sparc.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/i386/i386.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/sh/sh.c (sh_media_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/stormy16/stormy16.c (xstormy16_init_builtins):
- Replace calls to lang_hooks.builtin_function with
- add_builtin_function.
- * config/iq2000/iq2000.c (def_builtin):
- Replace calls to lang_hooks.builtin_function with
- add_builtin_function.
- * config/ia64/ia64.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/rs6000/rs6000.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- (altivec_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/arm/arm.c (def_mbuiltin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- (arm_init_tls_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/mips/mips.c (mips_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/bfin/bfin.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * langhooks-def.h (lhd_builtin_function): New function.
- (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
- 2006-10-23 Jakub Jelinek <jakub@redhat.com>
- * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
- BUILT_IN_STRNCAT_CHK.
- 2006-10-23 Jan Hubicka <jh@suse.cz>
- * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
- don't do conversion from memmove to memcpy here.
- (expand_builtin_bcopy, expand_builtin): Update call of
- expand_builtin_memmove.
- (fold_builtin_memory_op): Do folding of memmove to memcpy here.
- 2006-10-23 Paul Brook <paul@codesourcery.com>
- * stor-layout.c (start_record_layout): maximum_field_alignment
- overrides STRUCTURE_SIZE_BOUNDARY.
- 2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
- * config/s390/predicates.md ("bras_sym_operand"): Do not accept
- nonlocal function symbols if flag_pic.
- 2006-10-23 Richard Guenther <rguenther@suse.de>
- PR middle-end/27132
- PR middle-end/23295
- * builtins.c (fold_binary): Remove checks for flag_wrapv
- and flag_trapv where negate_expr_p covers these cases.
- 2006-10-23 Richard Guenther <rguenther@suse.de>
- PR middle-end/29548
- * fold-const.c (fold_plusminus_mult_expr): Check exact power
- of two on the absolute value.
- (fold_binary): Fold x * -C to -x * C if x is easily negatable
- and negating -C does not overflow.
- 2006-10-23 Richard Guenther <rguenther@suse.de>
- PR middle-end/21032
- * convert.c (convert_to_real): Fold (float)-x to -(float)x
- only if not flag_rounding_math.
- 2006-10-22 Richard Sandiford <richard@codesourcery.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
- PR target/28232
- * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
- SImode memory reference for the source of a movua.
- * config/sh/sh.md (UNSPEC_MOVUA): New macro.
- (movua): Use an unspec instead of sign_extract. Expect the source
- to have mode BLKmode.
- (extv, insv): Use a BLKmode rather than SImode memory reference
- for the source of a movua.
- 2006-10-22 Jeff Law <law@redhat.com>
- Richard Guenther <rguenther@suse.de>
- PR tree-optimization/15911
- * tree-vrp.c (extract_code_and_val_from_cond): New function.
- (register_edge_assert_for_1): Likewise.
- (register_edge_assert_for): Handle &&/&/||/| in conditionals.
- (find_conditional_asserts): Adjust for new function signature.
- (find_assert_locations): Likewise.
- 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/tmmintrin.h: Remove the duplicated content.
- 2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
- * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
- (x86_64-*-*): Likewise.
- * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
- (override_options): Check SSSE3.
- (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
- IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
- IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
- IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
- IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
- IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
- IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
- IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
- IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
- IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
- IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
- IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
- IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
- IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
- IX86_BUILTIN_PABSD128.
- (bdesc_2arg): Add SSSE3.
- (bdesc_1arg): Likewise.
- (ix86_init_mmx_sse_builtins): Support SSSE3.
- (ix86_expand_builtin): Likewise.
- * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
- * config/i386/i386.md (UNSPEC_PSHUFB): New.
- (UNSPEC_PSIGN): Likewise.
- (UNSPEC_PALIGNR): Likewise.
- Include mmx.md before sse.md.
- * config/i386/i386.opt: Add -mssse3.
- * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
- (ssse3_phaddwv4hi3): Likewise.
- (ssse3_phadddv4si3): Likewise.
- (ssse3_phadddv2si3): Likewise.
- (ssse3_phaddswv8hi3): Likewise.
- (ssse3_phaddswv4hi3): Likewise.
- (ssse3_phsubwv8hi3): Likewise.
- (ssse3_phsubwv4hi3): Likewise.
- (ssse3_phsubdv4si3): Likewise.
- (ssse3_phsubdv2si3): Likewise.
- (ssse3_phsubswv8hi3): Likewise.
- (ssse3_phsubswv4hi3): Likewise.
- (ssse3_pmaddubswv8hi3): Likewise.
- (ssse3_pmaddubswv4hi3): Likewise.
- (ssse3_pmulhrswv8hi3): Likewise.
- (ssse3_pmulhrswv4hi3): Likewise.
- (ssse3_pshufbv16qi3): Likewise.
- (ssse3_pshufbv8qi3): Likewise.
- (ssse3_psign<mode>3): Likewise.
- (ssse3_psign<mode>3): Likewise.
- (ssse3_palignrti): Likewise.
- (ssse3_palignrdi): Likewise.
- (abs<mode>2): Likewise.
- (abs<mode>2): Likewise.
- * config/i386/tmmintrin.h: New file.
- * doc/extend.texi: Document SSSE3 built-in functions.
- * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
- 2006-10-22 Ira Rosen <irar@il.ibm.com>
- * tree-vect-transform.c (vectorizable_load): Use the type of the
- return value of the mask_for_load builtin to create realign_load
- stmt.
- 2006-10-22 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
- expressions.
- 2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
- (UNSPEC_LDDQU): This.
- * config/i386/sse.md (sse3_lddqu): Updated.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- * builtins.c (expand_builtin_int_roundingfn_2): New function.
- (expand_builtin): Use it to expand lrint instead of
- expand_builtin_mathfn.
- 2006-10-21 Uros Bizjak <uros@kss-loka.si>
- PR middle-end/28252
- * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
- flag_unsafe_math_optimizations is set.
- 2006-10-21 Uros Bizjak <uros@kss-loka.si>
- PR target/19398
- * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
- patterns to use memory input operand in x87->mem->XMM
- reload sequences. Skip transformation for TARGET_K8.
- 2006-10-21 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
- force operand1 to register if both operands are memory operands.
- (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
- (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
- if both operands are memory operands.
- (truncdfsf2): Do not force operand1 to register if both operands
- are memory operands.
- 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * Makefile.in (LIBS): Add $(GMPLIBS).
- * doc/install.texi: Update GMP and MPFR requirements.
- * doc/sourcebuild.texi (need_gmp): Delete.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/3511
- * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
- got new invariant arguments during PHI translation.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- PR middle-end/26898
- * fold-const.c (fold_comparison): Fold signed comparisons
- of the form X +- C1 CMP Y +- C2.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- PR target/19116
- * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
- if flag_unsafe_math_optimizations is specified. We have
- flag_finite_math_only for that.
- * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
- or flag_unsafe_math_optimizations.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- * builtins.c (fold_builtin_classify): Fix typo.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- PR middle-end/28796
- * simplify-rtx.c (simplify_const_relational_operation):
- Do not constant-fold ORDERED and UNORDERED for
- flag_unsafe_math_optimizations but only we do not need to
- honor NaNs for the given mode.
- 2006-10-21 Richard Guenther <rguenther@suse.de>
- PR target/29512
- * config/i386/i386.c (classify_argument): Remove redundant
- walking of the BINFOs.
- (contains_128bit_aligned_vector_p): Likewise.
- 2006-10-20 Mark Mitchell <mark@codesourcery.com>
- * BASE-VER: Set to 4.3.0.
- 2006-10-20 Daniel Berlin <dberlin@dberlin.org>
- * tree.h (DECL_PTA_ARTIFICIAL): Remove.
- (tree_decl_with_vis): Remove artificial_pta_var flag.
- * tree-flow.h (referenced_var_check_and_insert): Expose.
- (nonlocal_all): New prototype.
- * tree-ssa-structalias.c (nonlocal_for_type): Remove.
- (nonlocal_all): Make global.
- (nonlocal_lookup): Remove.
- (nonlocal_insert): Ditto.
- (create_nonlocal_var): Do not call nonlocal_insert.
- (get_nonlocal_id_for_type): Remove.
- (find_global_initializers): Mark new vars we find for renaming.
- (intra_create_variable_infos): Only create one nonlocal.
- (expand_nonlocal_solutions): Remove.
- (compute_points_to_sets): Don't call it.
- (ipa_pta_execute): Ditto.
- (init_alias_heapvars): Don't create nonlocal_for_type.
- (delete_alias_heapvars): Don't remove it.
- * tree-ssa-operands.c (access_can_touch_variable): Don't prune
- nonlocal_all.
- 2006-10-19 Brooks Moses <bmoses@stanford.edu>
- * doc/install.texi (Downloading GCC): Clarify mention of
- Fortran in the "full distribution" description.
- 2006-10-19 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/28778
- Fix PR tree-optimization/29156
- Fix PR tree-optimization/29415
- * tree.h (DECL_PTA_ARTIFICIAL): New macro.
- (tree_decl_with_vis): Add artificial_pta_var flag.
- * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
- pushed into callers.
- * tree-ssa-structalias.c (nonlocal_for_type): New variable.
- (nonlocal_all): Ditto.
- (struct variable_info): Add directly_dereferenced member.
- (var_escaped_vars): New variable.
- (escaped_vars_tree): Ditto.
- (escaped_vars_id): Ditto.
- (nonlocal_vars_id): Ditto.
- (new_var_info): Set directly_dereferenced.
- (graph_size): New variable
- (build_constraint_graph): Use graph_size.
- (solve_graph): Don't process constraints that cannot change the
- solution, don't try to propagate an empty solution to our
- successors.
- (process_constraint): Set directly_dereferenced.
- (could_have_pointers): New function.
- (get_constraint_for_component_ref): Don't process STRING_CST.
- (nonlocal_lookup): New function.
- (nonlocal_insert): Ditto.
- (create_nonlocal_var): Ditto.
- (get_nonlocal_id_for_type): Ditto.
- (get_constraint_for): Allow results vector to be empty in the case
- of string constants.
- Handle results of calls properly.
- (update_alias_info): Update alias info stats on number and type of
- calls.
- (find_func_aliases): Use could_have_pointers.
- (make_constraint_from_escaped): Renamed from
- make_constraint_to_anything, and changed to make constraints from
- escape variable.
- (make_constraint_to_escaped): New function.
- (find_global_initializers): Ditto.
- (create_variable_info_for): Make constraint from escaped to any
- global variable, and from any global variable to the set of
- escaped vars.
- (intra_create_variable_infos): Deal with escaped instead of
- pointing to anything.
- (set_uids_in_ptset): Do type pruning on directly dereferenced
- variables.
- (find_what_p_points_to): Adjust call to set_uids_with_ptset.
- (init_base_vars): Fix comment, and initialize escaped_vars.
- (need_to_solve): Removed.
- (find_escape_constraints): New function.
- (expand_nonlocal_solutions): Ditto.
- (compute_points_to_sets): Call find_escape_constraints and
- expand_nonlocal_solutions.
- (delete_points_to_sets): Don't fall off the end of the graph.
- (init_alias_heapvars): Initialize nonlocal_for_type and
- nonlocal_all.
- (delete_alias_heapvars): Free nonlocal_for_type and null out
- nonlocal_all.
- 2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
- * fold-const.c (add_double): Rename to add_double_with_sign.
- Add 'unsigned_p' parameter and take it into account for the overflow.
- (mul_double): Rename to mul_double_with_sign.
- Add 'unsigned_p' parameter and take it into account for the overflow.
- (fold_div_compare): Call add_double_with_sign instead of add_double
- and mul_double_with_sign instead of mul_double, passing them the
- unsignedness of the type.
- * tree.h (add_double): Macroize.
- (add_double_with_sign): New prototype.
- (mul_double): Macroize.
- (mul_double_with_sign): New prototype.
- 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
- * config/score/crti.asm: New file.
- * config/score/crtn.asm: New file.
- * config/score/elf.h: New file.
- * config/score/mac.md: New file.
- * config/score/misc.md: New file.
- * config/score/mul-div.S: New file.
- * config/score/predicates.md: New file.
- * config/score/score7.md: New file.
- * config/score/score.c: New file.
- * config/score/score-conv.h: New file.
- * config/score/score.h: New file.
- * config/score/score.md: New file.
- * config/score/score-mdaux.c: New file.
- * config/score/score-mdaux.h: New file.
- * config/score/score-modes.def: New file.
- * config/score/score.opt: New file.
- * config/score/score-protos.h: New file.
- * config/score/score-version.h: New file.
- * config/score/t-score-elf: New file.
- * config.gcc: Add score*-*-* configurations(Update before).
- * doc/invoke.texi (Score Options): New section.
- * doc/md.texi (Score family): New section to document constraints.
- 2006-10-19 Nick Clifton <nickc@redhat.com>
- * config/arm/arm.c: Fix spelling typo.
- 2006-10-18 Tom Tromey <tromey@redhat.com>
- * doc/install.texi (Prerequisites): Mention automake 1.9.6.
- 2006-10-18 Jan Hubicka <jh@suse.cz>
- PR middle-end/29299
- * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
- are used.
- 2006-10-18 Marcin Dalecki <martin@dalecki.de>
- * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
- TSI_SAME_STMT, since that's the desired entity.
- 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
- * config/s390/contraints.md: New file.
- * config/s390/s390-protos.h (s390_mem_constraint,
- s390_O_constraint_str, s390_N_constraint_str,
- s390_float_const_zero_p): Function prototypes added.
- * config/s390/s390.c (s390_extra_constraint_str,
- s390_const_double_ok_for_constraint_p,
- s390_const_ok_for_constraint_p): Functions removed.
- (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
- s390_float_const_zero_p): New functions.
- * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
- CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
- EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
- Macro definitions removed.
- (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
- s390_extra_constraint_str): Functions removed.
- 2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
- Richard Sandiford <richard@codesourcery.com>
- PR target/29413
- * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
- * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
- 2006-10-16 Geoffrey Keating <geoffk@apple.com>
- * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
- (DWARF2_FRAME_REG_OUT): Likewise.
- * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
- (DWARF2_FRAME_REG_OUT): Likewise.
- 2006-10-17 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
- 2006-10-16 Brooks Moses <bmoses@stanford.edu>
- * doc/contrib.texi, doc/install.texi, doc/standards.texi:
- Standardize on "GNU Fortran" as the official name of the Fortran
- compiler.
- 2006-10-16 Mike Stump <mrs@apple.com>
- * doc/invoke.texi (Darwin Options): Document -mkernel.
- * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
- -mkernel support.
- (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
- SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
- (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
- (OS_MISSING_ALTIVEC): Add.
- * config/i386/i386.c (override_options): Add
- SUBSUBTARGET_OVERRIDE_OPTIONS callout.
- * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
- -mkernel, -static or -mdynamic-no-pic is given.
- (C_COMMON_OVERRIDE_OPTIONS): Add.
- * config/darwin.opt (fapple-kext): Add.
- (mkernel): Add.
- * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
- -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
- -mkernel support.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
- (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
- (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
- (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
- (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
- (flag_mkernel): Add.
- (flag_apple_kext): Add.
- (TARGET_KEXTABI): Add.
- * config/darwin.c (darwin_handle_kext_attribute): Add.
- (DARWIN_VTABLE_P): Add.
- (darwin_binds_local_p): Add partial support for rebinding vtables
- in kexts.
- (darwin_kextabi_p): Add.
- (darwin_override_options): Add.
- * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
- (darwin_kextabi_p): Add.
- (darwin_override_options): Add.
- * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
- __DYNAMIC__ and __STATIC__ here.
- 2006-10-16 Brooks Moses <bmoses@stanford.edu>
- * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
- Added mention of "make pdf" target, and Texinfo requirements for
- same.
- 2006-10-16 DJ Delorie <dj@redhat.com>
- * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
- into the GOT in case we need a subreg of the address.
- 2006-10-16 Richard Guenther <rguenther@suse.de>
- PR target/25519
- * doc/extend.texi (X86 Built-in Functions): Fix typos in
- SSE builtin documentation. Document SSE2 builtins.
- 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
- symbol in the output file for non-shared links when -nostdlib or
- -nodefaultlibs isn't specified.
- * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
- posix thread support.
- 2006-10-15 Jan Hubicka <jh@suse.cz>
- PR middle-end/29241
- * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
- declared always_inline even when not inlining.
- 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
- John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- Andrew Pinski <pinskia@gmail.com>
- PR middle-end/29111
- * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
- 2006-10-15 Jan Hubicka <jh@suse.cz>
- Richard Guenther <rguenther@suse.de>
- PR middle-end/29299
- * cgraphunit.c (cgraph_finalize_compilation_unit): Call
- process_function_and_variable_attributes on all variables, including
- those discovered during cgraph construction phase.
- 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
- * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
- 2006-10-14 Uros Bizjak <uros@kss-loka.si>
- * config/i386/athlon.md (athlon_fist): Add fisttp.
- 2006-10-13 David Edelsohn <edelsohn@gnu.org>
- Ian Lance Taylor <ian@airs.com>
- PR middle-end/29250
- * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
- CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
- recursing.
- 2006-10-14 Kazu Hirata <kazu@codesourcery.com>
- * config/score/score.c, config/score/score.h: Fix comment
- typos.
- 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- PR bootstrap/29402
- * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
- shell pipeline.
- 2006-10-13 Eric Christopher <echristo@apple.com>
- * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
- Revert this change:
- 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
- * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
- alignment supported by 32-bit ELF.
- 2006-10-13 Eric Christopher <echristo@apple.com>
- * config/darwin.c (darwin_emit_unwind_label): Strip
- name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
- 2006-10-13 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/29446
- * tree-vrp.c (fix_equivalence_set): Remove.
- (extract_range_from_assert): Do not call fix_equivalence_set.
- (debug_value_range): Print a newline.
- (compare_name_with_value): For equivalence sets with
- inconsistent value ranges conservatively bail out.
- (compare_names): Likewise.
- 2006-10-13 David Edelsohn <edelsohn@gnu.org>
- * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
- and MPFR for gfortran.
- 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
- * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
- alignment supported by 32-bit ELF.
- 2006-10-13 Paolo Bonzini <bonzini@gnu.org>
- PR c/29092
- * c-typeck.c (digest_init): Always allow initializing vectors
- that have static storage duration with compound literals.
- * tree.c (build_type_attribute_qual_variant): New, based on
- build_type_attribute_variant.
- (build_type_attribute_variant): Rewrite using the former.
- (make_vector_type): Use build_type_attribute_qual_variant to build
- type variants. Use type_hash_canon on the others.
- 2006-10-13 Daniel Berlin <dberlin@dberlin.org>
- Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
- * tree-flow-inline.h (zero_ssa_operands): Fix comment.
- 2006-10-12 Jan Hubicka <jh@suse.cz>
- PR c/28419
- * c-decl.c (c_make_fname_decl): Do not segfault in case where
- current_function_decl is set but current_function_scope is not.
- 2006-10-12 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
- emit_insn to emit eh_return_internal instruction.
- (eh_return_internal): Explicitly set pc.
- 2006-10-11 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28230
- * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
- to the correct place.
- 2006-10-11 Richard Guenther <rguenther@suse.de>
- PR inline-asm/29119
- * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
- addressable.
- 2006-10-10 Brooks Moses <bmoses@stanford.edu>
- * configure.ac: Added pdf to "Make-hooks"
- * Makefile.in: Added TEXI2PDF definition, and various pdf-file
- targets and *.pdf file patterns in cleanup targets.
- * configure: Regenerated.
- 2006-10-10 Anatoly Sokolov <aesok@post.ru>
- * config/avr/predicates.md: New file.
- * config/avr/avr.md: Include it.
- (REG_SP): New constant.
- (peepholes): Use predicates.
- (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
- difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
- sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
- 2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
- * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
- avoid alias set 0.
- 2006-10-10 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/29272
- * builtins.c (var_decl_component_p): New function.
- (fold_builtin_memset, fold_builtin_memory_op): Restrict
- single entry optimization to variables and components thereof.
- 2006-10-10 Richard Guenther <rguenther@suse.de>
- PR rtl-optimization/29323
- * except.c (set_nothrow_function_flags): For functions
- that do not bind local bail out early.
- 2006-10-10 Ben Elliston <bje@au.ibm.com>
- * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
- -mdlmzb option.
- 2006-10-09 Richard Henderson <rth@redhat.com>
- Revert emutls patch.
- 2006-10-09 Richard Guenther <rguenther@suse.de>
- PR middle-end/29254
- * cgraphunit.c (verify_cgraph_node): Bail out on earlier
- errors.
- 2006-10-09 Steve Ellcey <sje@cup.hp.com>
- PR target/27880
- * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
- * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
- * configure: Regenerate.
- * config.in: Regenerate.
- 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
- * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
- 2006-10-08 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (mips_legitimize_tls_address): Implement
- all TLS models in the same way as local exec if !TARGET_ABICALLS.
- Remove stray newline.
- 2006-10-08 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (mips_classify_symbol): Do not return
- SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
- (mips_in_small_data_p): Tweak comments.
- 2006-10-08 Richard Sandiford <richard@codesourcery.com>
- * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
- 2006-10-07 Kazu Hirata <kazu@codesourcery.com>
- * gimplify.c, sched-int.h: Fix comment typos.
- * sched-int.h: Fix comment typos.
- 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
- New macros.
- * sched-ebb.c (begin_schedule_ready): Use them.
- * haifa-sched.c (schedule_insn, move_insn, try_ready,
- add_to_speculative_block, create_check_block_twin, speculate_insn,
- fix_jump_move, move_block_after_check): Ditto.
- * sched-rgn.c (new_ready): Ditto.
- 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR rtl-optimization/29128
- * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
- * sched-ebb.c (advance_target_bb): Use it to fix condition to
- allow interblock movement of speculation checks.
- 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
- PR middle-end/29256
- * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
- casted to integer type.
- (get_address_cost): Decrease cost of [symbol + index] addressing modes
- if they are significantly more expensive than [reg + index] ones.
- 2006-10-06 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/29330
- * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
- (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
- on newly allocated ddrs.
- (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
- to VEC (loop_p, heap) pointer.
- (compute_data_dependences_for_loop): Adjust caller.
- (free_dependence_relations): Free DDR_LOOP_NEST.
- * tree-loop-linear.c (linear_transform_loops): Don't forget to
- free DEPENDENCE_RELATIONS and DATAREFS.
- PR target/28924
- * builtins.c (expand_builtin_sync_operation,
- expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
- Use convert_to_mode to handle promoted arguments.
- 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
- * print-tree.c (print_node_brief, print_node): Print sign of Inf.
- 2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
- 2006-10-05 Uros Bizjak <uros@kss-loka.si>
- * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
- "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
- Use <modeconstraint> instead of "r" as operand 1 constraint.
- 2006-10-06 Olivier Hainque <hainque@adacore.com>
- * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
- Don't recurse on the pointed-to type.
- * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
- DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
- types with components of variable size.
- 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
- 2006-10-06 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/29290
- * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
- multiple exits.
- PR target/29198
- * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
- * config/i386/predicates.md (local_symbolic_operand): Likewise.
- PR c/29091
- * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
- the number of vector elements fill the rest with zeros.
- 2006-10-05 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (mips_pass_by_reference): Do not return false
- for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
- instead.
- 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.md (subsi3): Lose expander, change previously
- unnamed pattern into subsi3. Use correct constraints/predicates.
- * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
- * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
- 2006-10-05 Ira Rosen <irar@il.ibm.com>
- * doc/loop.texi: Add data references analysis description.
- 2006-10-04 Brooks Moses <bmoses@stanford.edu>
- * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
- 2006-10-04 Richard Henderson <rth@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
- * builtin-types.def (BT_WORD): Make unsigned.
- (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
- * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
- (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
- * c-decl.c (grokdeclarator): Don't error if !have_tls.
- * c-parser.c (c_parser_omp_threadprivate): Likewise.
- * cgraph.c (decide_is_variable_needed): Look at force_output.
- Recurse for emulated tls.
- * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
- checks redundant with decide_is_variable_needed.
- (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
- * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
- emulated tls.
- * expr.c (emutls_var_address): New.
- (expand_expr_real_1): Expand emulated tls.
- (expand_expr_addr_expr_1): Likewise.
- * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
- * output.h (emutls_finish): Declare.
- * toplev.c (compile_file): Call it.
- * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
- address before wrapping in CONST.
- * varasm.c (emutls_htab, emutls_object_type): New.
- (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
- (get_emutls_object_name, get_emutls_object_type): New.
- (get_emutls_init_templ_addr, emutls_decl): New.
- (emutls_common_1, emutls_finish): New.
- (assemble_variable): When emulating tls, swap decls; generate
- constructor for the emutls objects.
- (do_assemble_alias): When emulating tls, swap decl and target name.
- (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
- for emulated tls.
- * emutls.c: New file.
- * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
- tls_object for real tls.
- 2006-10-04 Zack Weinberg <zackw@panix.com>
- Fix bug in constraint-check generator, reported by Rask Ingemann
- Lambertsen:
- * genpreds.c (add_constraint): Don't remove anything from the
- expression here.
- (write_tm_constrs_h): Detect whether "op" argument is used, and
- mark it ARG_UNUSED if it isn't.
- (write_insn_const_int_ok_for_constraint): Skip the part of the
- expression that would test whether "op" (which is not available
- here) is a CONST_INT.
- 2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
- PR c++/28448
- * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
- 2006-10-03 Geoffrey Keating <geoffk@apple.com>
- * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
- current Leopard versions.
- * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
- 2006-10-03 Kazu Hirata <kazu@codesourcery.com>
- * doc/install.texi: Fix typos.
- 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
- * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
- * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
- * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
- 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
- * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
- arg to be struct mach_header_64* instead.
- 2006-10-02 Jakub Jelinek <jakub@redhat.com>
- PR c/29154
- * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
- side effects after the outer expression's post side effects.
- 2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
- * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
- comments to reflect actual behavior and relationship between
- DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
- * doc/c-tree.texi (Working with declarations): Fix documentation
- of FIELD_DECL likewise.
- 2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
- PR c/20533
- * doc/extend.texi: Add used variable attribute description.
- 2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
- PR c/24010
- * c.opt (Woverride-init): New.
- * c-opts.c (c_common_post_options): Default warn_override_init to
- extra_warnings.
- * c-typeck.c (add_pending_init, output_init_element): Warn for
- overriding initializers without side effects.
- * doc/invoke.texi (-Woverride-init): Document.
- (-Wextra): Update.
- 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/28096
- * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
- assignment has already been used as a destination earlier in the block.
- 2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
- * builtins.c (expand_builtin_setjmp): Delete.
- (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
- <BUILT_IN_SETJMP_SETUP>: New case.
- <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
- <BUILT_IN_SETJMP_RECEIVER>: Likewise.
- * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
- (BUILT_IN_SETJMP_DISPATCHER): Likewise.
- (BUILT_IN_SETJMP_RECEIVER): Likewise.
- * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
- (lower_function_body): Initialize it to false. If it is set to true
- at the end of the processing, emit the setjmp dispatcher.
- (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
- is __builtin_setjmp and set calls_builtin_setjmp to true as well.
- <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
- on the rhs of the assignment.
- (lower_builtin_setjmp): New function.
- * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
- BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
- * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
- to detect calls that can go to non-local labels. Use specific
- helper to create the abnormal edges associated with them.
- <MODIFY_EXPR>: Likewise.
- (make_abnormal_goto_edges): New function extracted from...
- (make_goto_expr_edges): ...here. Call it for computed gotos.
- (simple_goto_p): Minor tweak.
- (tree_can_make_abnormal_goto): New predicate.
- (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
- (tree_purge_dead_abnormal_call_edges): New function.
- * tree-flow.h (tree_can_make_abnormal_goto): Declare.
- (tree_purge_dead_abnormal_call_edges): Likewise.
- (make_abnormal_goto_edges): Likewise.
- * tree-inline.c (expand_call_inline): Simplify statement frobbing.
- Purge all dead abnormal edges if the call was in the last statement.
- * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
- (execute_fixup_cfg): If there are non-local labels in the function,
- scan the basic blocks and split them at calls that can go to non-local
- labels or add missing abnormal call edges. Write down the CFG in the
- dump file.
- (pass_fixup_cfg): Remove TODO_dump_func flag.
- * unwind-sjlj.c: Poison setjmp.
- * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
- * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
- (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
- (DONT_USE_BUILTIN_SETJMP): Document it.
- 2006-09-28 Geoffrey Keating <geoffk@apple.com>
- PR target/28617
- * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
- to 1 when __ppc64__ is defined.
- * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
- darwin-64.c.
- * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
- 2006-09-28 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
- * config/ia64/unwind-hpux.c: Delete.
- 2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
- * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
- on the element before gimplifying it, instead of punting if it is of
- variable size.
- 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
- * doc/loop.texi: New file.
- * doc/gccint.texi: Reference loop.texi.
- * Makefile.in (loop.texi): Add.
- 2006-09-27 Geoffrey Keating <geoffk@apple.com>
- * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
- __sysctl.
- * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
- * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
- 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
- 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
- * doc/install.texi: Document required versions of GMP and MPFR.
- 2006-09-27 Paul Brook <paul@codesourcery.com>
- PR target/29230
- * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
- 2006-09-27 Richard Sandiford <richard@codesourcery.com>
- * reload1.c (alter_reg): Require the alignment of the stack slot to
- be at least reg_max_ref_width bytes.
- (scan_paradoxical_subregs): Record the largest width in
- reg_max_ref_width.
- 2006-09-26 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/25261
- PR middle-end/28790
- * tree-nested.c (struct nesting_info): Added static_chain_added.
- (convert_call_expr): Set static_chain_added when adding static
- chain. Handle OMP_PARALLEL and OMP_SECTION.
- 2006-09-25 Matthias Klose <doko@debian.org>
- * doc/invoke.texi: Add missing full stop.
- 2006-09-25 Richard Henderson <rth@redhat.com>
- * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
- before cgraph_function_flags_ready.
- 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
- Adam Nemet <anemet@caviumnetworks.com>
- * tree-ssa-loop-ivopts.c (aff_combination_convert,
- determine_common_wider_type): New functions.
- (get_computation_aff): Use them to simplify arithmetic between
- UBASE and CBASE if they are shortened from the same type.
- 2006-09-24 Kazu Hirata <kazu@codesourcery.com>
- PR target/28911
- * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
- -2147483647 - 1 instead of 0x80000000.
- 2006-09-23 Revital1 Eres <ERES@il.ibm.com>
- * flags.h (HONOR_NANS): Fix typo in comment.
- 2006-09-23 Uros Bizjak <uros@kss-loka.si>
- * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
- 2006-09-23 Jakub Jelinek <jakub@redhat.com>
- PR c/28706
- PR c/28712
- * tree.c (merge_attributes, attribute_list_contained): If both
- TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
- simple_cst_equal.
- * c-typeck.c (comptypes_internal): Don't consider aggregates
- in different TUs as compatible if there one set of attributes is
- not a subset of the other type's attributes.
- (composite_type): Try harder not to create a new aggregate type.
- 2006-09-22 Geoffrey Keating <geoffk@apple.com>
- * config/i386/driver-i386.c: Always define host_detect_local_cpu.
- * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
- or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
- (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
- than replicating condition above.
- * config.host (i[34567]86-*-*): Always use driver-i386.o.
- * config/darwin.h (LINK_SYSROOT_SPEC): New.
- (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
- the linker by default.
- 2006-09-22 Mike Stump <mrs@apple.com>
- * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
- code.
- 2006-09-22 Richard Guenther <rguenther@suse.de>
- PR middle-end/28964
- * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
- sort of stack variables stable.
- 2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
- PR middle-end/28690
- * explow.c (force_reg): Set REG_POINTER flag according to
- MEM_POINTER flag.
- 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/28888
- * tree-if-conv.c (combine_blocks): Rewritten.
- * tree-cfg.c (tree_verify_flow_info): Check that edges with
- EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
- 2006-09-22 Jakub Jelinek <jakub@redhat.com>
- * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
- needed.
- 2006-09-21 Richard Sandiford <richard@codesourcery.com>
- * varasm.c (copy_constant): Fix reversed gcc_assert check.
- 2006-09-21 Janis Johnson <janis187@us.ibm.com>
- * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
- 2006-09-21 Roger Sayle <roger@eyesopen.com>
- PR debug/29132
- * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
- dw_fde_current_label, to be the start of the function, i.e. the same
- value as dw_fde_begin.
- 2006-09-20 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
- * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
- (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
- (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
- (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
- (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
- (abs<mode>2, neg<mode>2): Likewise.
- * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
- (*mips_abs_ps): New define_insn.
- 2006-09-20 Josh Conner <jconner@apple.com>
- PR middle-end/25505
- * calls.c (expand_call): Allow reuse of structure return stack
- temp.
- 2006-09-20 Paul Brook <paul@codesourcery.com>
- * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
- positive offsets.
- 2006-09-20 Janis Johnson <janis187@us.ibm.com>
- * doc/extend.texi (Decimal Float): Update for latest draft TR,
- clean up terminology.
- 2006-09-20 Steve Ellcey <sje@cup.hp.com>
- PR target/28574
- * ifcvt.c (dead_or_predicable): Don't predicate then blocks
- with tablejumps in them.
- 2006-09-20 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/28046
- * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
- wrap it into TARGET_EXPR.
- 2006-09-20 Eric Christopher <echristo@apple.com>
- * config/i386/i386.c (x86_fisttp): Remove.
- * config/i386/i386.h (x86_fisttp): Ditto.
- (TARGET_FISTTP): Ditto.
- 2006-09-19 Eric Christopher <echristo@apple.com>
- * doc/tm.texi (OBJC_JBLEN): Describe.
- * config/i386/darwin.h (OBJC_JBLEN): Define.
- * config/rs6000/darwin.h: Ditto.
- 2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
- PR rtl-optimization/21299
- * reload1.c (reload): Purge invalid ASMs in the final pass.
- 2006-09-19 Steve Ellcey <sje@cup.hp.com>
- PR 28490
- * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
- pointers as legitimate constants.
- 2006-09-19 Paul Brook <paul@codesourcery.com>
- PR target/28516
- * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
- 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/28887
- * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
- component parts from the reference.
- (gather_memory_references_ref): Record the reference without the
- nonaddressable component parts.
- 2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
- PR c/25993
- * c-opts.c (c_common_handle_option): Ignore the -std options
- if the input language is assembly.
- 2006-09-17 Ira Rosen <irar@il.ibm.com>
- PR tree-opt/21591
- * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
- tag first.
- (ptr_ptr_may_alias_p): Likewise.
- (record_record_differ_p): New function.
- (base_object_differ_p): Call record_record_differ_p.
- 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/29059
- * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
- away for the expr argument.
- 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
- PR tree-opt/27742
- * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
- before using it for dumping after vectorizing loops.
- 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
- Jack Howarth <howarth@bromo.med.uc.edu>
- PR target/29030
- * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
- skip on error_mark_node.
- (rs6000_darwin64_record_arg_recurse): Likewise.
- 2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
- * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
- * doc/rtl.texi: Remove related documentation.
- 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
- * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
- printf.
- 2006-09-15 Jim Wilson <wilson@specifix.com>
- * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
- Handle symbol offsets same as they are handled in ia64_expand_move
- and move_operand.
- 2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
- * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
- Add forgotten parameter to the fprintf call.
- 2006-09-15 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
- 2006-09-15 Uros Bizjak <uros@kss-loka.si>
- * doc/contrib.texi: Add my entry.
- 2006-09-15 Nick Clifton <nickc@redhat.com>
- * doc/md.texi (Processor pipeline description): Fix typo in
- example of how to use the absence_set directive and reword the
- description to make it slightly easier to read.
- 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
- * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
- * loop-doloop.c (doloop_optimize): Use it to limit costs of
- expanding the number of iterations.
- * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
- * cfgrtl.c (emit_insn_at_entry): New function.
- * rtl.h (emit_insn_at_entry): Declare it.
- * integrate.c (emit_initial_value_sets): Use it.
- * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
- * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
- bad.
- (struct loop_work and related VEC declarations): Delete.
- (bfin_dump_loops): Print out new member bad.
- (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
- (bfin_scan_loop): Don't recurse.
- (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
- loops. No longer need to update outer loops if the current one is
- found bad. Move some validitiy checks to bfin_discover_loop.
- (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
- but changed not to check for nesting. Also changed to use the new bad
- flag.
- (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
- time. Use bitmap based test to discover loop nesting.
- 2006-09-15 Kazu Hirata <kazu@codesourcery.com>
- * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
- one line.
- 2006-09-14 Richard Guenther <rguenther@suse.de>
- Kazu Hirata <kazu@codesourcery.com>
- PR middle-end/28884.
- * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
- (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
- Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
- with TARGET_FUNCTION_VALUE.
- 2006-09-14 Anatoly Sokolov <aesok@post.ru>
- PR target/26504
- * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
- 2006-09-13 Aldy Hernandez <aldyh@redhat.com>
- * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
- of a RETURN_EXPR
- 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
- PR debug/28980
- * dwarf2out.c (loc_descriptor_from_tree_1): Handle
- FUNCTION_DECL.
- 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
- * basic_block.h (bb_has_eh_pred): Fix comment.
- 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
- * flow.c (calculate_global_regs_live): Invalidate eh registers
- on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
- (propagate_block): Handle eh registers as if they were set at basic
- block start.
- * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
- registers.
- * global.c (global_conflicts): Make eh registers to conflict with
- pseudos live at basic block begin.
- * basic_block.h (bb_has_eh_pred): New function.
- 2006-09-13 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/28982
- * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
- index of a PRE_MODIFY or POST_MODIFY address.
- * reload1.c (inc_for_reload): Use find_replacement on the original
- base and index registers.
- 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
- * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
- for -Os. Update __m128 alignment requirement.
- 2006-09-13 Jan Hubicka <jh@suse.cz>
- * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
- 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/28243
- * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
- the insn to which the note was originally attached.
- 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
- Roger Sayle <roger@eyesopen.com>
- * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
- outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
- on platforms that don't use dwarf for debug info.
- 2006-09-12 Jason Merrill <jason@redhat.com>
- PR middle-end/28493
- * builtins.c (expand_builtin_setjmp_receiver): Clobber
- hard_frame_pointer_rtx after using it to update the frame pointer.
- 2006-09-12 Roger Sayle <roger@eyesopen.com>
- * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
- (TARGET_ASM_CLOSE_PAREN): Likewise.
- * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
- (TARGET_ASM_CLOSE_PAREN): Likewise.
- 2006-09-12 Roger Sayle <roger@eyesopen.com>
- PR target/22223
- * config/alpha/alpha.c (alpha_start_function): Don't emit stack
- frame information for frames larger than 512 Kbytes on Tru64 when
- using the native assembler.
- 2006-09-12 Roger Sayle <roger@eyesopen.com>
- PR middle-end/4520
- PR bootstrap/28784
- * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
- and symbols. Instead use the implementation from cse.c's hash_rtx.
- 2006-09-12 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
- (vect_transform_loop): Likewise.
- * tree-vectorizer.c (new_loop_vec_info): Likewise.
- (new_loop_vec_info): Likewise.
- (destroy_loop_vec_info): Likewise.
- * tree-dfa.c (create_var_ann): Use GCC_CNEW.
- (create_stmt_ann): Likewise.
- (create_tree_ann): Rename to ...
- (create_tree_common_ann): ... this one; allocate only the common part
- of annotations.
- * tree-vn.c (set_value_handle): Use get_tree_common_ann.
- (get_value_handle): Likewise.
- * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
- get_tree_common_ann.
- * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
- (vinfo_for_stmt): Use stmt annotations.
- * tree-flow.h (tree_ann_common_t): New type.
- (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
- (tree_ann, get_tree_ann, create_tree_ann): New.
- * tree-flow-inline.h (get_function_ann): Do more type checking.
- (stmt_ann): Likewise.
- (tree_ann): Rename to ...
- (tree_common_ann): ... this one; return ony common_ann
- (get_tree_ann): Rename to ...
- (tree_common_ann): This one; return only common_ann.
- * tree-vect-patterns.c (vect_pattern_recog_1): Update call
- of set_stmt_info.
- 2006-09-11 Geoffrey Keating <geoffk@apple.com>
- * config.gcc (i[34567]86-*-darwin*): Set with_arch and
- with_cpu by default.
- * dwarf2out.c (dwarf_file_data): New.
- (enum dw_val_class): Add dw_val_class_file.
- (struct dw_val_struct): Add val_file.
- (file_table): Change to a hash table.
- (file_table_emitted): Delete.
- (file_table_last_lookup_index): Delete.
- (emitcount): Delete.
- (last_emitted_file): New.
- (lookup_filename): Change prototype to return a struct dwarf_file_data.
- (init_file_table): Delete.
- (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
- (AT_addr): Add comment.
- (add_AT_file): New.
- (AT_file): New.
- (get_AT_file): New.
- (print_die): Handle dw_val_class_file.
- (print_dwarf_line_table): Update for new file table structure.
- (attr_checksum): Do checksum a filename.
- (same_dw_val_p, same_attr_p): Do compare a filename.
- (size_of_die): Handle dw_val_class_file.
- (value_format): Likewise.
- (output_die): Likewise. Also, call maybe_emit_file here.
- (struct file_info): Constify filenames. Make file_idx a pointer
- to a struct dwarf_file_data.
- (struct dir_info): Constify directory names. Remove 'used' field.
- (struct file_name_acquire_data): New.
- (file_name_acquire): New.
- (output_file_names): Modify to handle new file data structures.
- (add_src_coords_attributes): Use add_AT_file.
- (add_call_src_coords_attributes): Likewise.
- (dwarf2out_imported_module_or_decl): Likewise.
- (gen_subprogram_die): Modify for new file data structures.
- (gen_variable_die): Likewise.
- (file_table_eq): New.
- (file_table_hash): New.
- (file_table_last_lookup): New.
- (lookup_filename): Rewrite to handle new file data structures.
- (maybe_emit_file): Rewrite to handle new file data structures.
- (dwarf2out_source_line): Always call lookup_filename and
- maybe_emit_file.
- (dwarf2out_init): Create file_table here.
- (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
- (file_table_relative_p): New.
- (dwarf2out_finish): Change detection of relative filenames
- to work with new file data structures. Move output_line_info call
- after debug_info output.
- 2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
- PR target/13685
- PR target/27537
- PR target/28621
- * config/i386/i386.c (override_options): Always default to 16
- byte stack boundary.
- 2006-09-11 Alexandre Oliva <aoliva@redhat.com>
- PR target/28672
- * var-tracking.c (dump_dataflow_set): Start dumping at
- register zero.
- (clobber_variable_part): Kill only the variable part in
- registers holding it, leaving other variables alone.
- 2006-09-11 Josh Triplett <josh@freedesktop.org>
- * doc/extend.texi (Other Builtins): Actually use the macro
- argument in the documentation example for
- __builtin_types_compatible_p.
- 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/28726
- * sched-deps.c (sched_analyze_reg): New function extracted from...
- (sched_analyze_1): ...here. Call it to analyze references to
- registers. Treat again writes to a stack register as writing to the
- register.
- (sched_analyze_2): ...and here. Call it to analyze references to
- registers. Treat again reads of a stack register as reading the
- register.
- 2006-09-11 Guenter Roeck <guenter@roeck-us.net>
- David Edelsohn <edelsohn@gnu.org>
- PR target/27287
- * config/rs6000/spe.md (frob_df_di): Remove %H.
- (frob_di_df): Remove %H. Change evmergelo to mr.
- (frob_di_df_2): Remove %H. Change evldd to two loads.
- 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
- * doc/cpp.texi: Fix names of charset options.
- 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/29009
- * config/i386/i386.c (override_options): Use 128-bit
- stack boundary always for 64bits.
- 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/28636
- * combine.c (force_to_mode): Test for side-effects before
- substituting by zero.
- (simplify_shift_const): Likewise for zero or other constants.
- 2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
- PR middle-end/26983
- * builtins.c (expand_builtin_setjmp): Force next_lab to be
- preserved.
- 2006-09-10 Richard Sandiford <richard@codesourcery.com>
- PR target/29006
- * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
- * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
- returned by mode_for_size, rather than the mode of src itself,
- to choose between 32-bit and 64-bit patterns.
- (mips_mem_fits_mode_p): New function.
- * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
- that the size of the source matches the size of the destination.
- (mov_<store>l, mov_<store>r): Likewise.
- 2006-09-10 Eric Christopher <echristo@apple.com>
- * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
- for literal16.
- 2006-09-09 Eric Christopher <echristo@apple.com>
- PR target/28995
- * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
- for literal16.
- 2006-09-09 Roger Sayle <roger@eyesopen.com>
- Nicolas Setton <setton@adacore.com>
- * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
- 2006-09-10 Andreas Schwab <schwab@suse.de>
- * config/m68k/m68k.md (bungt_rev): New pattern.
- 2006-09-09 Paolo Bonzini <bonzini@gnu.org>
- Dale Johannesen <dalej@apple.com>
- PR target/26778
- * regclass.c (struct reg_pref): Update documentation.
- (regclass): Set prefclass to NO_REGS if memory is the best option.
- (record_reg_classes): Cope with a prefclass set to NO_REGS.
- 2006-09-08 Eric Christopher <echristo@apple.com>
- * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
- * config/t-slibgcc-darwin: Support x86_64 multilib.
- * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
- Return 1 for x86_64-darwin.
- * config/i386/t-darwin: Add m64 multilib.
- (LIB2_SIDITI_CONV_FUNCS): Use.
- (LIB2FUNCS_EXTRA): Ditto.
- * config/i386/darwin.h: Support x86_64.
- * config/i386/i386.c (override_options): Turn on flag_pic
- for x86_64-darwin. Disable flag_omit_pointer.
- (get_pc_thunk_name): Assert !TARGET_64BIT.
- (legitimate_address_p): Disable machopic addressing for
- x86_64.
- (legitimize_pic_address): Ditto.
- (ix86_expand_move): Ditto.
- (ix86_expand_call): Ditto.
- (machopic_output_stub): Ditto.
- * config/darwin.c (machopic_select_section): Support literal16.
- (machopic_select_rtx_section): Ditto.
- * config/darwin-sections.def: Ditto.
- * config/darwin-64.c: New.
- 2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
- PR c/28504
- * c-tree.h (struct c_arg_info): Add pending_sizes.
- * c-parser.c (c_parser_parms_declarator,
- c_parser_parms_list_declarator): Initialize pending_sizes.
- * c-decl.c (get_parm_info): Initialize pending_sizes.
- (get_parm_info): Set pending_sizes.
- (grokdeclarator): Call put_pending_sizes for parameters for
- function definition only.
- 2006-09-07 Jason Merrill <jason@redhat.com>
- PR middle-end/27724
- * varasm.c (output_constant): Only strip actual no-op conversions.
- PR target/13685
- * config/i386/i386.c (override_options): Use 128-bit
- stack boundary if -msse.
- 2006-09-07 Eric Christopher <echristo@apple.com>
- * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
- comment.
- * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
- Redefine.
- 2006-09-07 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c: Remove strange characters from comment above
- dwarf2out_frame_debug_expr.
- 2006-09-07 Eric Christopher <echristo@apple.com>
- * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
- * config/darwin.h: ... to here.
- 2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.c (x86_partial_flag_reg_stall): New.
- * config/i386/i386.h (x86_partial_flag_reg_stall): New.
- (TARGET_PARTIAL_FLAG_REG_STALL): New.
- * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
- TARGET_PARTIAL_FLAG_REG_STALL.
- (*ashldi3_cconly_rex64): Likewise.
- (*ashlsi3_cmp): Likewise.
- (*ashlsi3_cconly): Likewise.
- (*ashlsi3_cmp_zext): Likewise.
- (*ashlhi3_cmp): Likewise.
- (*ashlhi3_cconly): Likewise.
- (*ashlqi3_cmp): Likewise.
- (*ashlqi3_cconly): Likewise.
- (*ashrdi3_cmp_rex64): Likewise.
- (*ashrdi3_cconly_rex64): Likewise.
- (*ashrsi3_cmp): Likewise.
- (*ashrsi3_cconly): Likewise.
- (*ashrsi3_cmp_zext): Likewise.
- (*ashrhi3_cmp): Likewise.
- (*ashrhi3_cconly): Likewise.
- (*ashrqi3_cmp): Likewise.
- (*ashrqi3_cconly): Likewise.
- (*lshrdi3_cmp_rex64): Likewise.
- (*lshrdi3_cconly_rex64): Likewise.
- (*lshrsi3_cmp): Likewise.
- (*lshrsi3_cconly): Likewise.
- (*lshrsi3_cmp_zext): Likewise.
- (*lshrhi3_cmp): Likewise.
- (*lshrhi3_cconly): Likewise.
- (*lshrqi2_cmp): Likewise.
- (*lshrqi2_cconly): Likewise.
- 2006-09-07 Uros Bizjak <uros@kss-loka.si>
- PR target/28946
- * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
- "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
- "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
- "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
- "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
- "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
- "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
- "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
- "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
- implement only CC setting effects of shift instructions.
- 2006-09-07 Martin Michlmayr <tbm@cyrius.com>
- * doc/contrib.texi: Add myself.
- 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/28862
- * stor-layout.c (relayout_decl): Don't zero the alignment if it
- was set by the user.
- 2006-09-07 Paolo Bonzini <bonzini@gnu.org>
- PR target/27117
- * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
- (divsi_inv_m1): Use them.
- (UNSPEC_DIV_INV_TABLE): New constant.
- 2006-09-06 James E Wilson <wilson@specifix.com>
- PR rtl-opt/27883
- * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
- then call count_or_remove_death_notes.
- 2006-09-06 Jason Merrill <jason@redhat.com>
- PR c++/27371
- * tree-inline.c (copy_result_decl_to_var): New fn.
- (declare_return_variable): Use it. Call declare_inline_vars here.
- (expand_call_inline): Not here.
- 2006-09-06 Diego Novillo <dnovillo@redhat.com>
- * doc/contrib.texi: Update my entry.
- 2006-09-06 Nick Clifton <nickc@redhat.com>
- * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
- 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/28937
- * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
- (canonicalize_induction_variables): Likewise.
- (tree_unroll_loops_completely): Likewise.
- (tree_ssa_prefetch_arrays): Likewise.
- (remove_empty_loops): Likewise.
- * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
- TODO_cleanup_cfg instead of directly calling
- cleanup_tree_cfg_loop.
- * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
- Likewise.
- (tree_unroll_loops_completely): Likewise.
- (remove_empty_loops): Likewise.
- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
- * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
- of tree_ssa_unswitch_loops.
- (tree_ssa_loop_ivcanon): Use the return value of
- canonicalize_induction_variables.
- (tree_ssa_empty_loop): Use the return value of
- remove_empty_loops.
- (tree_complete_unroll): Use the return value of
- tree_unroll_loops_completely.
- (tree_ssa_loop_prefetch): Use the return value of
- tree_ssa_prefetch_arrays.
- * passes.c (execute_todo): Before Cleanup CFG, set
- updating_used_alone and after cleanup CFG, call
- recalculate_used_alone.
- 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/28952
- * tree-vect-transform.c (vectorizable_condition): Move the check
- for the type after the check for simple condition.
- 2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
- PR target/28764
- * mode-switching.c (optimize_mode_switching): Make the destination
- block of an abnormal edge have no anticipatable mode. Don't
- insert mode switching code at the end of the source block of
- an abnormal edge.
- 2006-09-05 Paolo Bonzini <bonzini@gnu.org>
- PR rtl-optimization/26847
- * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
- (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
- (simplify_plus_minus): Count n_constants while filling ops. Replace
- qsort with insertion sort. Before going through the array to simplify
- pairs, sort it. Delay early exit until after the first sort, exiting
- only if no swaps occurred. Simplify pairs in reversed order, without
- special-casing the first iteration. Pack ops after simplifying pairs.
- 2006-09-05 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
- * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
- * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
- (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
- 2006-09-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28900
- * tree-if-conv.c (find_phi_replacement_condition): Gimplify
- compound conditional before creating COND_EXPR condition.
- 2006-09-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28905
- * tree-vrp.c (fix_equivalence_set): Manually implement
- !value_ranges_intersect_p to also handle symbolic ranges.
- 2006-09-05 Richard Guenther <rguenther@suse.de>
- PR middle-end/28935
- * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
- of a COND_EXPR.
- 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/27616
- * cse.c (table_size): New static variable.
- (new_basic_block): Initialize it to 0.
- (remove_from_table): Decrement it.
- (insert): Increment it.
- (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
- (fold_rtx_mem): Enforce a cap on the recursion depth. Call
- fold_rtx_mem_1 if under the cap.
- (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
- the lookup of the equivalent expression and test for equality of the
- first operand of the equivalent expression before in turn looking up
- an equivalent constant for the second operand.
- 2006-09-02 Geoffrey Keating <geoffk@apple.com>
- Revert this change:
- 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
- * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
- pointer, instead of assuming it is possible to derive the
- correct args size from a call insn.
- 2006-09-02 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/27567
- * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
- (fold_builtin_mempcpy): Rename to...
- (fold_builtin_memory_op): ... this. Optimize one element copy
- into an assignment.
- (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
- functions.
- (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
- (expand_builtin_memcpy, expand_builtin_mempcpy,
- expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
- (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
- BUILT_IN_BCOPY. Use fold_builtin_memory_op for
- BUILT_IN_MEM{CPY,PCPY,MOVE}.
- 2006-09-01 DJ Delorie <dj@redhat.com>
- * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
- (stzx_16): Likewise.
- ("stzx_24_<mode>"): Likewise.
- ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
- ("cmp<mode>_op"): New.
- (cmp<mode>): Change to expander; just save operands.
- (b<code>_op): New.
- (b<code>): Change to expander, emit compare here.
- (s<code>_op): Change to use split and expander.
- (s<code>_24_op): Likewise.
- (s<code>_<mode>): New.
- (s<code>_<mode>_24): New.
- (movqicc_<code>_<mode): New.
- (movhicc_<code>_<mode>): New.
- (s<code>): New.
- (s<code>_24): New.
- * config/m32c/m32c.c (compare_op0, compare_op1): New.
- (m32c_pend_compare): New.
- (m32c_unpend_compare): New.
- (m32c_expand_scc): New.
- (m32c_expand_movcc): Emit the compare also.
- * config/m32c/predicates.md (mra_nopp_operand): New.
- 2006-09-01 J"orn Rennecke <joern.rennecke@st.com>
- Richard Guenther <rguenther@suse.de>
- Adam Nemet <anemet@caviumnetworks.com>
- PR middle-end/27226
- * builtins.c (get_pointer_alignment): Handle more forms
- of base addresses that can be used to derive more precise
- information about alignment.
- 2006-09-01 Jason Merrill <jason@redhat.com>
- PR c++/28899
- * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
- want_value.
- * gimplify.c (voidify_wrapper_expr): Handle null type.
- 2006-09-01 Josh Conner <jconner@apple.com>
- PR c++/25505
- * tree-nrv.c (dest_safe_for_nrv_p): New function.
- (execute_return_slot_opt): Use it.
- 2006-08-31 Josh Conner <jconner@apple.com>
- PR c++/25505
- * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
- returning aggregates.
- 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/28839
- * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
- blocks in that phi arguments appear.
- 2006-08-31 Roger Sayle <roger@eyesopen.com>
- PR other/22313
- * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
- NULL, otherwise use an advance_loc4 to adjust relative to the
- current label.
- (output_cfi) <DW_CFA_set_loc>: Update the current label.
- (dwarf2out_switch_text_section): Reset the current label to avoid
- using advance_loc4 over section boundaries.
- 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
- PR target/24367
- * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
- r12 + SYMBOLIC_CONST.
- 2006-08-30 Richard Guenther <rguenther@suse.de>
- * Makefile.in (see.o): Add $(EXPR_H) dependency.
- 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/27735
- * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
- Add new argument to keep track of whether an irreducible region
- was affected. All callers changed.
- (fix_irreducible_loops): Removed.
- (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
- flags were invalidated.
- 2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
- instead of SF operands.
- (*fop_df_comm_sse): Likewise.
- (*fop_df_comm_i387): Likewise.
- (*fop_df_1_mixed): Likewise.
- (*fop_df_1_sse): Likewise.
- 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
- J"orn Rennecke <joern.rennecke@st.com>
- PR tree-optimization/17506
- * tree-ssa.c (warn_uninit): If warning about a location outside of
- the current function, note where the variable was declared.
- 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/28411
- * double-int.c (double_int_div): Use double_int_divmod.
- (double_int_divmod, double_int_sdivmod, double_int_udivmod,
- double_int_mod, double_int_smod, double_int_umod): New functions.
- * double-int.h (double_int_divmod, double_int_sdivmod,
- double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
- Declare.
- * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
- in double_int.
- (get_computation_aff, get_computation_cost_at): Handle double_int
- return type of constant_multiple_of.
- 2006-08-28 Kazu Hirata <kazu@codesourcery.com>
- PR middle-end/26632
- * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
- an implicit conversion.
- 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
- * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
- 2006-08-27 Roger Sayle <roger@eyesopen.com>
- * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
- x87 instructions.
- 2006-08-27 Kazu Hirata <kazu@codesourcery.com>
- * config/i386/crtfastmath.c: Fix a comment typo.
- 2006-08-26 Roger Sayle <roger@eyesopen.com>
- * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
- temporary visit flags on CASE_LABEL_EXPRs.
- * c-common.c (match_case_to_enum): Add function comment. Avoid
- O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
- (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and
- CASE_HIGH_SEEN for enumerated types. If the switch expression is
- a constant, only warn if that constant value isn't handled.
- 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
- PR c++/24009
- * input.h (restore_input_file_stack): Declare.
- (INPUT_FILE_STACK_BITS): Define.
- * toplev.c (fs_p, input_file_stack_history,
- input_file_stack_restored, restore_input_file_stack): New.
- (push_srcloc, pop_srcloc): Check for input_file_stack_tick
- overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack.
- (pop_srcloc): Don't free old state of stack.
- 2006-08-26 David Edelsohn <edelsohn@gnu.org>
- PR target/27544
- * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
- (PowerPC Type Attributes): New.
- 2006-08-26 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.c (function_arg_boundary): New.
- (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
- STACK_BOUNDARY.
- * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
- function_arg_boundary function that limits alignment to STACK_BOUNDARY.
- 2006-08-26 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/28683
- * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
- 3 following insns.
- 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- * flow.c (verify_wide_reg): Use internal_error for consistency failure.
- (verify_local_live_at_start): Likewise.
- 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
- PR c/27893
- * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
- omp_add_variable): Treat sizes as variable whenever not
- INTEGER_CST.
- 2006-08-26 Richard Guenther <rguenther@suse.de>
- PR middle-end/28814
- * fold-const.c (fold_binary): Fold temporary to correct
- type before constructing new comparison.
- 2006-08-25 Fariborz Jahanian <fjahanian@apple.com>
- PR c/28418
- * c-gimplify.c (gimplify_compound_literal_expr): Don't add
- variable again if DECL_SEEN_IN_BIND_EXPR_P.
- 2006-08-25 Joseph S. Myers <joseph@codesourcery.com>
- PR c/28299
- * c-decl.c (start_function): Don't try to process prototype
- information from old declaration that isn't a function.
- 2006-08-25 Jan Hubicka <jh@suse.cz>
- PR target/28621
- * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
- 2006-08-25 Alan Modra <amodra@bigpond.net.au>
- PR target/27075
- * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
- for 8 byte objects.
- 2006-08-25 J"orn Rennecke <joern.rennecke@st.com>
- PR tree-optimization/16876
- * c-typeck.c (c_convert_parm_for_inlining): Don't take early
- exit if PARM doesn't match VALUE.
- 2006-08-25 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
- literal_prefix directive.
- (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
- * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
- * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
- 2006-08-25 David Edelsohn <edelsohn@gnu.org>
- PR target/28753
- * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
- predicate to general_operand. Add 0->y and I->r alternatives.
- 2006-08-25 Kazu Hirata <kazu@codesourcery.com>
- * doc/tm.texi: Fix a typo.
- * predict.c: Fix comment typos.
- 2006-08-25 Nick Clifton <nickc@redhat.com>
- * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
- assertions of "cpu" and "machine".
- 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/28807
- * tree-ssa-operands.c (access_can_touch_variable): Don't say
- the access through a base which has an alias set of 0 cannot
- touch the variable.
- 2006-08-24 Bill Wendling <wendling@apple.com>
- * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
- 2006-08-24 Jan Hubicka <jh@suse.cz>
- * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
- 2006-08-24 Jan Hubicka <jh@suse.cz>
- PR debug/26881
- * cgraph.c: Fix comments.
- (cgraph_varpool_mark_needed_node): Mark only variables not already
- output to file.
- * cgraphunit.c: Update comments; include gt-cgraphunit.h
- (cgraph_varpool_assembled_nodes_queue): New static variable.
- (cgraph_varpool_assemble_decl): Record output decls for debug out code.
- (cgraph_varpool_output_debug_info): New function.
- (cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
- * Makefile.in: Add gt-cgraphunit.h
- 2006-08-24 Jan Hubicka <jh@suse.cz>
- * predict.c (probability_reliable_p): New predicate.
- (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
- (predict_loops): Do not predict loop exit with less than 2%
- probability.
- * basic-block.h (edge_probability_reliable_p,
- br_prob_note_reliable_p): Declare.
- * ia64.h (ia64_print_operand): Do not disable on-chip branch
- prediction when static predictor is not reliable.
- * rs6000.c (output_cbranch): Likewise.
- 2006-08-23 Stuart Hastings <stuart@apple.com>
- PR 28825
- * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
- ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
- 2006-08-21 Geoffrey Keating <geoffk@apple.com>
- PR debug/28692
- * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
- complex values, nor for generic vector values.
- 2006-08-22 Richard Guenther <rguenther@suse.de>
- PR middle-end/28776
- * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
- parameter. Convert arguments to arithmetic expression to the
- chrecs type.
- (analyze_scalar_evolution_1): Adjust caller.
- 2006-08-22 Jan Hubicka <jh@suse.cz>
- Patch by Paolo Bonzini
- * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
- my previous patch.
- 2006-08-22 Daniel Berlin <dberlin@dberlin.org>
- PR tree-optimization/28003
- * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
- before grouping aliases.
- 2006-08-22 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
- if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
- 2006-08-21 Jason Merrill <jason@redhat.com>
- PR c++/27115
- * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
- wrapper. Loop to handle nested wrappers.
- (gimplify_bind_expr): Remove temp parameter.
- (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
- and STATEMENT_LIST on the rhs.
- (gimplify_statement_list): Voidify the STATEMENT_LIST.
- (gimplify_expr): Pass pre_p to gimplify_statement_list.
- (gimplify_target_expr): Remove special BIND_EXPR handling.
- 2006-08-21 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
- #if !__SHMEDIA__ .
- 2006-08-21 Olivier Hainque <hainque@adacore.com>
- * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
- Arrange for the temporary captures of components overlapping the lhs
- to happen before the lhs is possibly cleared.
- 2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
- * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
- necessary places to pass the correct "number of registers" values
- to _Unwind_VRS_Pop.
- 2006-08-20 Jan Hubicka <jh@suse.cz>
- * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
- (create_name_tags): Instead of quadratic checking use hashtable.
- * bitmap.h: Include hashtab.h.
- (bitmap_hash): Declare.
- * bitmap.c (bitmap_hash): New function.
- 2006-08-20 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * tree-optimize.c (tree_rest_of_compilation): Do not remove edges
- twice.
- * tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
- * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
- (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
- cgraph_decide_inlining_incrementally): Update use of
- cgraph_check_inline_limits.
- * cgraph.c (edge_hash, edge_eq): New function.
- (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
- cgraph_edge_remove_caller, cgraph_node_remove_callees,
- cgraph_remove_node): Maintain call site hash.
- * cgraph.h (struct cgraph_node): Add call_site_hash.
- (cgraph_set_call_stmt): New function.
- 2006-08-20 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * reload1.c (reg_has_output_reload): Turn into regset.
- (reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
- choose_reload_regs, emit_reload_insns): Update to new
- reg_has_output_reload.
- 2006-08-20 Jan Hubicka <jh@suse.cz>
- PR middle-end/28779
- * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
- function body sizes.
- * cgraphunit.c (cgraph_analyze_function): Don't do so.
- 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net>
- PR target/28648 c:
- * tree.c (handle_dll_attribute): Return early if not a
- var or function decl.
- 2006-08-18 Joseph Myers <joseph@codesourcery.com>
- PR target/27565
- * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
- alignment of SPE vector types.
- 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
- * tree.c (is_attribute_with_length_p): Remove a duplicated assert.
- 2006-08-17 Jakub Jelinek <jakub@redhat.com>
- PR c/28744
- * cgraph.h (struct cgraph_node): Remove externally_visible
- bitfield.
- * cgraphunit.c (process_function_and_variable_attributes): Set
- local.externally_visible rather than externally_visible.
- PR c/28744
- * c-common.c (handle_externally_visible_attribute): First look
- at TREE_CODE and only if it is function or var decl, check for
- non-public objects. Don't warn for DECL_EXTERNAL.
- * cgraphunit.c (process_function_and_variable_attributes): Warn
- if externally_visible attribute is used on non-public object.
- 2006-08-17 Jan Hubicka <jh@suse.cz>
- PR tree-optimization/27865
- * reload1.c (forget_marked_reloads): New function.
- (forget_old_reloads_1): When data are passed, just mark the registers
- for later removal.
- (reload_as_needed): Use the new mechanizm.
- 2006-08-17 Alexandre Oliva <aoliva@redhat.com>
- PR target/28146
- * reload.h (reg_equiv_alt_mem_list): New declaration.
- * reload1.c (reg_equiv_alt_mem_list): New definition.
- (reload): Initialize it and release it.
- (delete_output_reload): Use it.
- * reload.c (push_reg_equiv_alt_mem): New function.
- (find_reloads_toplev): Call it.
- (find_reloads_address, find_reloads_address_1): Likewise.
- (find_reloads_subreg_address): Likewise.
- 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR rtl-optimization/28489
- * sched-ebb.c (begin_schedule_ready): Create basic block
- at the right place.
- (advance_target_bb): Skip empty blocks.
- * haifa-sched.c (bb_note): Make global.
- * sched-int.h (bb_note): Add prototype.
- 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27865
- * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
- for pointer types.
- * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
- fold_used_pointer, pointer_used_p): New functions.
- (analyze_scalar_evolution_1): Use fold_used_pointer.
- * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
- * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
- for pointers.
- 2006-08-17 Paolo Bonzini <bonzini@gnu.org>
- PR c++/28573
- * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
- or the INTEGER_CST. Fail on a CALL_EXPR.
- (fold_offsetof): Pass new argument to fold_offsetof_1.
- * c-parser.c (c_parser_postfix_expression): Don't include a NULL
- operand into an INDIRECT_REF.
- * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
- 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
- PR gcov/profile/26570
- * value-prof.c (static_values): Removed.
- (tree_find_values_to_profile): Do not set static_values.
- (find_values_to_profile): Do not free static_values.
- * profile.c (instrument_values): Do not free the values.
- (branch_prob): Free the values.
- 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com>
- * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
- 2006-08-16 Joseph S. Myers <joseph@codesourcery.com>
- PR c/27697
- * c-typeck.c (build_component_ref): Combine qualifiers of
- structure or union and field.
- 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/28071
- * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
- * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
- * tree-into-ssa.c (struct dom_dfsnum): New.
- (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
- functions.
- (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
- compute_global_livein.
- (prepare_block_for_update, prepare_use_sites_for): Mark the uses
- in phi nodes in the correct blocks.
- 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/28364
- * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
- correctly.
- (fold_affine_expr): New function.
- (may_eliminate_iv): Use fold_affine_expr.
- 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/27489
- * c-typeck.c (c_start_case): Handle invalid orig_type correctly.
- Clean up.
- 2006-08-16 Mike Stump <mrs@apple.com>
- * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
- * doc/cppopts.texi (-MD): Likewise.
- 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net>
- PR c/28287
- * c-common.c (handle_weak_attribute): Ignore and warn if
- not a FUNCTION_ or VAR_DECL.
- 2006-07-15 Mike Stump <mrs@apple.com>
- PR c/28280
- * c-parser.c (c_parser_typeof_specifier): Don't use
- c_finish_expr_stmt, open code desired semantics instead.
- 2006-08-15 Nick Clifton <nickc@redhat.com>
- * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
- fragment to tmake_file only if threads are enabled.
- * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
- * config/i386/t-gthr-win32: New file. ... here.
- 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/28649
- * c-parser.c (c_parser_compound_statement_nostart): Reset
- parser->error after each statement.
- 2006-08-15 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/28713
- * omp-low.c (lower_omp_parallel): Convert t to
- receiver_decl's type.
- (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
- source before comparison.
- PR middle-end/28724
- * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
- to itype in assignment to oldival2.
- 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
- PR c/27490
- PR c/27489
- * c-typeck.c (build_compound_expr): If the second expression
- is an error mark, then just return an error mark instead of
- creating a COMPOUND_EXPR.
- 2006-07-14 Mike Stump <mrs@apple.com>
- * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
- 2006-08-14 Kazu Hirata <kazu@codesourcery.com>
- * c-decl.c, var-tracking.c: Fix comment typos.
- 2006-08-14 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/28634
- * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
- for floating-point modes unless flag_unsafe_math_optimizations.
- 2006-08-13 Alexandre Oliva <aoliva@redhat.com>
- Andrew Pinski <pinskia@physics.uc.edu>
- PR c/27184
- * tree.c (build_array_type): Unify array types with
- unspecified index_type.
- * c-decl.c (grokdeclarator): Make sure we do not modify a
- unified incomplete array type.
- * c-typeck.c (store_init_value): Create distinct type before
- filling in the index type in an initializer from a compound
- literal.
- * c-decl.c (grokdeclarator): Remove code where we copy the
- array type over.
- 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu>
- * tree-pass.h (TODO_update_ssa): Fix which bit is used to take
- into account for TODO_dump_cgraph.
- (TODO_update_ssa_no_phi): Likewise.
- (TODO_update_ssa_full_phi): Likewise.
- (TODO_update_ssa_only_virtuals): Likewise.
- (TODO_remove_unused_locals): Likewise.
- (TODO_set_props): Likewise.
- (TODO_update_stmt_usage): Likewise.
- 2006-08-13 Dirk Mueller <dmueller@suse.de>
- * c-common.c (strict_aliasing_warning): Fix formatting.
- 2006-08-13 Matthias Klose <doko@debian.org>
- * doc/invoke.texi: Fix spelling errors.
- 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/23454
- * reorg.c (relax_delay_slots): Update comment.
- 2006-08-11 Richard Guenther <rguenther@suse.de>
- PR middle-end/28651
- * simplify-rtx.c (simplify_const_relational_operation):
- Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
- codes.
- 2006-08-10 Eric Botcazou <ebotcazou@adacore.com>
- * tree.c (build1_stat): Also propagate the TREE_CONSTANT and
- TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
- 2006-08-10 Paul Brook <paul@codesourcery.com>
- * final.c (final_scan_insn): Clear current_insn_predicate before
- outputting inline asm.
- 2006-08-10 Dorit Nuzman <dorit@il.ibm.com>
- PR tree-optimization/26197
- * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
- get_ref_base_and_extent and overlap_subvar to add only relevant
- subvars as may-aliases.
- (add_may_alias_for_new_tag): New function, factored out of
- new_type_alias.
- * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
- with additional argument.
- * tree-flow.h (new_type_alias): Takes additional argument.
- 2006-08-09 Nathan Sidwell <nathan@codesourcery.com>
- * gcov.c (no_data_file): New flag.
- (read_count_file): Set it if data file not present. Assume counts
- zero if not found.
- (output_lines): Don't name the data file, if there wasn't one.
- 2006-08-09 Eric Botcazou <ebotcazou@adacore.com>
- * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
- (rs6000_generate_compare): Tweak comments.
- * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
- 2006-08-09 Alexandre Oliva <aoliva@redhat.com>
- * var-tracking.c (enum micro_operation_type): Add MO_COPY.
- (var_debug_decl): New function.
- (var_reg_set): Follow debug decl link. Add location even if
- reg is already known to hold some other variable.
- (var_mem_set): Follow debug decl link.
- (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
- decl link. Delete other known locations of the variable part
- if requested.
- (var_reg_delete, var_mem_delete): Delete other known locations
- of the variable part if requested.
- (same_variable_part_p): New function.
- (add_stores): Select MO_COPY when appropriate.
- (vt_initialize): Handle it.
- (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete
- known locations for MO_SET and MO_CLOBBER.
- (find_variable_location_part): New function.
- (set_variable_part, delete_variable_part): Use it.
- (clobber_variable_part): New function.
- * dwarf2out.c (dwarf2out_var_location): Do not follow debug
- decl link.
- 2006-08-07 Victor Kaplansky <victork@il.ibm.com>
- PR tree-optimization/26969
- * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
- with an empty list of PHIs.
- 2006-08-06 Paolo Bonzini <bonzini@gnu.org>
- PR target/27827
- * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
- instructions.
- 2006-08-06 Andreas Schwab <schwab@suse.de>
- * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
- string. Whitespace and comment fixup.
- 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/28502
- * c-decl.c (validate_proto_after_old_defn): Return false on invalid
- argument.
- PR c/27721
- * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
- PR c/28136
- * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
- 2006-08-04 Jan Hubicka <jh@suse.cz>
- PR target/26655
- PR target/28270
- * reload.c (push_reload): Patch out the mismatching instruction;
- return early.
- (find_reload): Bail out if the instruction was patched out.
- 2006-08-04 Jan Hubicka <jh@suse.cz>
- PR tree-optimization/24888
- * tree-inline.c (expand_call_inline): Do not re-record variables.
- (declare_inline_vars): Add variable to unexpanded_var_list.
- 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- Roger Sayle <roger@eyesopen.com>
- PR rtl-optimization/26244
- * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
- inner_const are negative or greater than or equal to the bitsize of
- MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
- Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
- Simplify complicated if statement. For ASHIFT and LSHIFTRT, return
- CONST0_RTX (mode) when the new shift count is greater than or equal to
- to the bitsize of the object being shifted and XEXP (y, 0) has no side
- effects.
- 2006-08-04 Kazu Hirata <kazu@codesourcery.com>
- * tree-cfg.c: Fix a comment typo.
- 2006-08-03 Mark Mitchell <mark@codesourcery.com>
- PR c++/28148
- * varasm.c (output_constant): Give the front end another chance to
- expand constants, after stripping NOPs.
- 2006-08-03 Jan Hubicka <jh@suse.cz>
- * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
- implementation.
- 2006-08-03 Dorit Nuzman <dorit@il.ibm.com>
- PR tree-optimization/27770
- * tree-vectorizer.h (get_vectype_for_scalar_type): Function
- declaration removed (moved to tree-flow.h).
- (vect_can_force_dr_alignment_p): Likewise.
- * tree-flow.h (get_vectype_for_scalar_type): New function declaration
- (moved from tree-vectorizer.h).
- (vect_can_force_dr_alignment_p): Likewise.
- * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
- from outside the vectorizer - in particular from cgraph stage.
- * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
- the alignment of global arrays when -fsection-anchors is enabled.
- * cgraphunit.c (cgraph_increase_alignment): New function.
- (cgraph_optimize): Call cgraph_increase_alignment.
- 2006-08-03 David Edelsohn <edelsohn@gnu.org>
- PR target/27566
- * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
- not reload a SPE symbol_ref into a lo_sum address.
- 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com>
- PR debug/28063
- * dwarf2out.c (prune_unused_types_prune): Move call to
- prune_unused_types_update_strings to cover the parent DIE also.
- 2006-08-02 Jan Hubicka <jh@suse.cz>
- PR gcov/profile/28480
- * tree-cfg.c (change_bb_for_stmt): New function.
- (tree_merge_blocks, tree_split_blocks): Use it.
- 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c++/28250
- PR c++/28257
- PR c++/28259
- PR c++/28267
- * toplev.c (compile_file): Return early on errorcount or sorrycount.
- * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
- (cgraph_optimize): Likewise.
- 2006-08-01 Stuart Hastings <stuart@apple.com>
- * rtl.h (UINTVAL) New.
- * config/rs6000/rs6000.c (SMALL_INT) Use it.
- * testsuite/gcc.dg/20060801-1.c: New.
- 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
- PR debug/23336
- * c-typeck.c (build_external_type): Mark used enum types.
- * dwarf2out.c (dwarf2out_abstract_function): Save and restore
- cfun also.
- (gen_subprogram_die): Whitespace fix.
- 2006-08-01 Jan Hubicka <jh@suse.cz>
- * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
- bitmap when not needed.
- * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
- bitmaps.
- 2006-08-01 Dirk Mueller <dmueller@suse.de>
- * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
- 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- * Makefile.in: Revert part of previous patch:
- Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
- and REGS_H.
- 2006-07-30 Eric Christopher <echristo@apple.com>
- PR target/27543
- * doc/extend.texi (i386 Variable Attributes): Add anchor.
- (PowerPC Variable Attributes): New section.
- 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
- PR target/28126 (partial fix)
- * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
- 2006-07-28 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * cfgrtl.c (rtl_delete_block): Free regsets.
- * flow.c (allocate_bb_life_data): Re-use regsets if available.
- 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
- and variables used in dependencies.
- 2006-07-27 Arjan van de Ven <arjan@linux.intel.com>
- * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
- %fs for -mcmodel=kernel.
- (stack_tls_protect_test_di): Likewise.
- 2006-07-27 Carlos O'Donell <carlos@codesourcery.com>
- * Makefile.in: Use mkinstalldirs.
- 2006-07-27 H.J. Lu <hongjiu.lu@intel.com>
- PR driver/28437
- * opts-common.c (prune_options): Skip joined switches.
- 2006-07-27 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * cselib.c (cselib_process_insn): Don't remove useless values too
- often for very large hashtables.
- 2006-07-27 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * global.c (greg_obstack): New obstack.
- (allocate_bb_info): Use it.
- (free_bb_info): Likewise.
- (modify_reg_pav): Likewise.
- 2006-07-27 Roger Sayle <roger@eyesopen.com>
- * builtins.c (fold_fixed_mathfn): When long and long long are the
- same size, canonicalize llceil*, llfloor*, llround* and llrint*
- functions to their lceil*, lfloor*, lround* and lrint* forms.
- 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- PR gcc/28508
- * config/m32r/m32r.md (branch_insn): Reduce pc range for short
- branch.
- (rev_branch_insn): Likewise.
- 2006-07-27 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
- (reg_set_in_bb, max_reg_computed): New static variables.
- (regmove_optimize): Free the new array.
- (fixup_match_1): Update call of reg_is_remote_constant_p.
- 2006-07-26 Jan Hubicka <jh@suse.cz>
- PR tree-optimization/27882
- * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
- and decl fields.
- * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
- next pointer
- (cgraph_analyze_compilation_unit): Likewise.
- * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
- * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
- (cgraph_early_inlinine): Make order garbage collected.
- * Makefile.in (gt-ipa-inline): New garbagecollected file.
- 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
- * dbxout.c (output_types_sort): Add a comment.
- (output_used_types): Free the VEC.
- 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com>
- * function.c (reorder_fix_fragments): Delete.
- (reorder_blocks): Don't call it.
- (reorder_blocks_1): Put all subblocks under the origin block.
- 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/27907
- * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
- FLOAT_TRUNCATE.
- 2006-07-25 Roger Sayle <roger@eyesopen.com>
- PR middle-end/28473
- * convert.c (convert_to_integer): When transforming (T)foo(x) into
- bar(x) check that bar's result type can represent all the values of T.
- 2006-07-25 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
- 2006-07-25 Nick Clifton <nickc@redhat.com>
- * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
- size_lookup[] array.
- (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
- (ggc_pch_count_object): Likewise.
- (ggc_pch_alloc_object): Likewise.
- (ggc_pch_write_object): Likewise.
- (init_ggc): Do not attempt to initialize entries in the
- size_lookup[] array for objects whose size is greater than than
- the length of the array.
- 2006-07-25 Daniel Jacobowitz <dan@codesourcery.com>
- * dbxout.c (output_used_types_helper): Push queued types
- on a VEC.
- (output_types_sort): New.
- (output_used_types): Collect used types on a VEC and sort them
- before emission.
- 2006-07-24 Richard Guenther <rguenther@suse.de>
- PR middle-end/28463
- * cgraph.c (cgraph_remove_node): Do not check if dumps
- are enabled.
- * cgraphunit.c (cgraph_optimize): Likewise.
- 2006-07-24 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
- * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
- splitting before first stmt.
- 2006-07-24 Jan Hubicka <jh@suse.cz>
- PR rtl-optimization/28071
- * ipa-inline.c (update_caller_keys): Remove edges that
- are no longer inline candidates.
- 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
- PR debug/27473
- * dbxout.c (output_used_types_helper, output_used_types): New.
- (dbxout_symbol): Call output_used_types.
- 2006-07-23 Jan Hubicka <jh@suse.cz>
- PR c/25795
- PR c++/27369
- * cgraph.c (cgraph_varpool_nodes): Export.
- (decide_is_variable_needed): Ignored "used" attribute in
- unit-at-a-time mode.
- * cgraph.h (cgraph_varpool_nodes): Declare.
- * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
- unit-at-a-time mode.
- 2006-07-23 Roger Sayle <roger@eyesopen.com>
- PR target/28247
- * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
- mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of
- the __gthrw form of thr_keycreate.
- (__gthread_key_delete): Silence the unused argument warning.
- 2006-07-23 Steven Bosscher <steven@gcc.gnu.org>
- PR debug/25468
- * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
- Cache the last found '\0' marker to avoid quadratic behavior.
- 2006-07-23 Jan Hubicka <jh@suse.cz>
- * i386.md (subsi_3_zext): Fix output template.
- 2006-07-21 Mike Stump <mrs@apple.com>
- * doc/invoke.texi (C++ Dialect Options): Note that
- -fvisibility-inlines-hidden doesn't affect explicitly
- instantiationed inline methods.
- 2006-07-20 Roger Sayle <roger@eyesopen.com>
- * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
- if the target assembler is GNU binutils' gas.
- * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
- whether to pass GNU gas or native as command line options.
- 2006-07-20 Jason Merrill <jason@redhat.com>
- * tree.c (remove_attribute): New fn.
- * tree.h: Declare it.
- 2006-07-20 Paul Brook <paul@codesourcery.com>
- PR 27363
- * cse.c (cse_insn): Add destination addresses to hash table. Check if
- they are invalidated by this instruction.
- 2006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
- PR target/28427
- * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
- 2006-07-20 Eric Christopher <echristo@apple.com>
- PR target/26877
- * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
- 2006-07-19 Eric Christopher <echristo@apple.com>
- * config/t-slibgcc-darwin (stmp-lipo): Remove.
- Rewrite dependencies for libgcc_s.1.dylib.
- 2006-07-19 Jakub Jelinek <jakub@redhat.com>
- * except.c (duplicate_eh_regions_1): Clear next_peer.
- 2006-07-17 Nathan Sidwell <nathan@codesourcery.com>
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
- -mlongcall does not guarantee all calls will be long.
- * doc/extend.texi (long_call/short_call): Document that longcall
- does not guarantee a long call will be used.
- (longcall/shortcall): Likewise.
- 2006-07-18 Roger Sayle <roger@eyesopen.com>
- PR middle-end/28283
- * expmed.c (expand_shift): Additionally check that the shift_cost
- is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
- before implementing a LSHIFT_EXPR as a sequence of additions.
- * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
- middle-end that DImode shifts need to be synthesized by expand.
- 2006-07-18 Diego Novillo <dnovillo@redhat.com>
- PR 28410
- * tree-ssa-operands.c (access_can_touch_variable): Update
- comment.
- Return true if ALIAS is .GLOBAL_VAR.
- 2006-07-18 David Daney <ddaney@avtrex.com>
- * gcc.c (display_help): Fix typo in help text.
- 2006-07-18 Olivier Hainque <hainque@adacore.com>
- * tree.h (categorize_ctor_elements): Adjust prototype and add
- descriptive comment, both in accordance with the interface change
- described below.
- * varasm.c (constructor_static_from_elts_p): New function.
- Whether a constructor node is a valid static constant initializer
- if all its elements are.
- (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
- * output.h: Declare it.
- * expr.c (categorize_ctor_elements_1): Return whether the constructor
- is a valid constant initializer instead of computing the number of
- non-constant elements. Use constructor_static_from_elts_p for this
- purpose. Replace the head comment with an indication that this is a
- helper for categorize_ctor_elements.
- (categorize_ctor_elements): Same interface change as for the _1
- helper. Former head comment from this helper moved here, adjusted to
- account for the interface changes.
- (mostly_zeros_p): Adjust call to categorize_ctor_elements.
- (all_zeros_p): Likewise.
- * gimplify.c (gimplify_init_constructor): Decide whether we can make
- static versions of the constructor from the categorize_ctor_elements
- return value instead of the formerly computed number of non-constant
- elements.
- 2006-07-18 Paolo Bonzini <bonzini@gnu.org>
- * configure: Regenerate.
- * Makefile.in (build_libsubdir): New configure substitution
- (build_libobjdir): New variable.
- (BUILD_LIBIBERTY): Use it.
- 2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/28286
- * c-pragma.c (handle_pragma_pack): Handle invalid constants.
- 2006-07-18 Alexandre Oliva <aoliva@redhat.com>
- PR c/26993
- * c-common.c (handle_weakref_attribute): Ignore attribute in
- the same conditions the alias attribute is ignored.
- 2006-07-17 Carlos O'Donell <carlos@codesourcery.com>
- * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
- (dbxout_begin_prologue): Increment scope_labelno.
- 2006-07-17 Richard Henderson <rth@redhat.com>
- PR 27889
- * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
- if needed.
- 2006-07-17 Roger Sayle <roger@eyesopen.com>
- Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * config/i386/gmon-sol2.c: Silence compilation warnings by partially
- synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
- blocks. #include "tconfig.h" and "tsystem.h" to prototype system
- functions such as sbrk, write, etc.. Add function prototypes.
- Convert function declarations from K&R to ISO C. Cast pointers
- to "long" and "unsigned long" instead of "int" and "unsigned int".
- Convert tokens following #endif into comments.
- 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
- * invoke.texi: Remove mention of f77; Reformat table for
- inline parameter options correctly; mention that -malign-double
- is default on x86-64 targets.
- 2006-07-17 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-chrec.c (avoid_arithmetics_in_type_p): New.
- (convert_affine_scev, chrec_convert_aggressive): Use
- avoid_arithmetics_in_type_p. Do not check for the subtypes
- separately.
- 2006-07-17 Richard Sandiford <richard@codesourcery.com>
- PR middle-end/28403
- * optabs.c (expand_doubleword_shift): Wrap the call to
- do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
- 2006-07-17 Richard Sandiford <richard@codesourcery.com>
- PR middle-end/28402
- * optabs.c (expand_binop): Pass next_methods rather than methods
- to expand_doubleword_shift.
- 2006-07-17 J"orn Rennecke <joern.rennecke@st.com>
- PR other/28251
- * tree.h (dump_addr): Declare.
- * print-tree.c (dump_addr): New function.
- (print_node_brief, print_node): Use it.
- * print-rtl.c (print_rtx): Likewise.
- * common.opt (-fdump-noaddr): New option.
- * doc/invoke.texi (-fdump-noaddr): Document.
- * loop-unroll.c (si_info_hash): Make hash independent of addresses.
- (ve_info_hash): Likewise.
- 2006-07-13 Andrew Haley <aph@redhat.com>
- PR tree-optimization/19505
- * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
- edge leaving this block, make sure that the destination of this
- block has only one predecessor.
- 2006-07-17 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28238
- * tree-inline.c (copy_bb): Check if we produced valid
- gimple copying and substituting a stmt. If not, gimplify
- it.
- 2006-07-16 Eric Botcazou <ebotcazou@adacore.com>
- * optabs.c (maybe_encapsulate_block): New function extracted from...
- (emit_libcall_block): ...here. Invoke it on the block of insns to
- maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
- (emit_no_conflict_block): Likewise.
- 2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
- * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
- 2006-07-15 Roger Sayle <roger@eyesopen.com>
- * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
- a new NOP_EXPR case of the switch statement.
- 2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org>
- PR middle-end/28160
- * stor-layout.c (place_field): Take the bit field with
- an excessive size into account in the ms-bitfiled case.
- PR middle-end/28161
- * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
- the previous bit field.
- 2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
- PR target/27287
- * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
- 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com>
- * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
- signal frames correctly even when the signal was installed with
- sa_restorer set.
- 2006-07-14 Carlos O'Donell <carlos@codesourcery.com>
- * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
- (dbxout_function_end): Use local label LFBB. Remove hook
- DBX_OUTPUT_NFUN.
- (dbxout_source_line): Use local label LFBB.
- (dbxout_block): Likewise.
- (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
- (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
- * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
- and DBX_OUTPUT_NFUN.
- 2006-07-13 Janis Johnson <janis187@us.ibm.com>
- * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
- 2006-07-13 Jan Hubicka <jh@suse.cz>
- * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
- align_variable.
- * output.h (align_variable): Declare.
- * varasm.c (align_variable): Export.
- * value-prof.c (tree_value_profile_transformations): Recompute iterator
- when basic block changed.
- 2006-07-13 Nick Clifton <nickc@redhat.com>
- * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
- walking the LOG_LINKS chain.
- 2006-07-12 Geoffrey Keating <geoffk@apple.com>
- * doc/invoke.texi (C++ Dialect Options): Explain difference
- between -fvisibility-inlines-hidden and setting hidden
- visibility explicitly.
- 2006-07-12 Eric Christopher <echristo@apple.com>
- * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
- (stmp-lipo): Depend on libgcc.a.
- 2006-07-12 Kazu Hirata <kazu@codesourcery.com>
- * tree.c: Fix a comment typo.
- 2006-07-12 Naveen.H.S <naveenh@kpitcummins.com>
- * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
- dest.
- (umulhisi3_r): Likewise.
- 2006-07-12 Paolo Carlini <pcarlini@suse.de>
- PR libstdc++/27878
- * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
- x < 19, vs wchar_t support.
- 2006-07-12 Nick Clifton <nickc@redhat.com>
- * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
- instead of -isa=sh4.
- 2006-07-12 Mike Stump <mrs@apple.com>
- * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
- 2006-07-10 Eric Christopher <echristo@apple.com>
- * config/t-slibgcc-darwin: Rewrite.
- 2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
- PR bootstrap/20437
- * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
- dependencies.
- 2006-07-08 Matthias Klose <doko@debian.org>
- * doc/sourcebuild.texi: Fix typo.
- 2006-07-07 Mike Stump <mrs@apple.com>
- * toplev.c (process_options): Don't give -ffunction-sections may
- affect debugging warning for Mach-O.
- 2006-07-07 James E Wilson <wilson@specifix.com>
- * config/mips/mips.md (cpu): Add sb1a.
- * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
- addition to sb1. Adjust comments to clarify SB-1A differences from
- SB-1.
- (ir_sb1a_load): New. Modify bypasses to use it.
- (ir_sb1a_simple_alu): Likewise.
- * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
- (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
- (mips_issue_rate): Add PROCESSOR_SB1A.
- (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
- * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
- (TARGET_SB1): Add PROCESSOR_SB1A check.
- (TUNE_SB1): Likewise.
- * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
- * config/mips/mips.c (mips_store_data_bypass_p): New.
- * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
- store_data_bypass_p.
- 2006-07-08 Paul Brook <paul@codesourcery.com>
- PR target/27991
- * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
- 2006-07-07 Richard Guenther <rguenther@suse.de>
- PR middle-end/28268
- * tree.h (build_one_cst): Declare.
- * tree.c (build_one_cst): New function.
- * tree-ssa-math-opts.c (get_constant_one): Remove.
- (insert_reciprocals): Use build_one_cst.
- * fold-const.c (fold_plusminus_mult): Likewise.
- 2006-07-07 Roger Sayle <roger@eyesopen.com>
- * pointer-set.c (pointer_set_destroy): Correct whitespace.
- * cfgloopanal.c (dump_graph): Likewise.
- * dojump.c (discard_pending_stack_adjust): Likewise.
- * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
- Likewise.
- * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
- * function.c (finalize_block_changes): Likewise.
- * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
- * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
- * rtl.c (dump_rtx_statistics): Likewise.
- * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
- Likewise.
- * varray.c (dump_varray_statistics): Likewise.
- * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
- decode_decimal64, encode_decimal128, decode_decimal128,
- decimal_real_to_decimal): Likewise.
- 2006-07-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28187
- * tree-vrp.c (vrp_operand_equal_p): New function.
- (vrp_bitmap_equal_p): Likewise.
- (update_value_range): Use them to compare old and new
- max and min values.
- 2006-07-06 Roger Sayle <roger@eyesopen.com>
- * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
- a default case to switch statement to silence compiler warnings.
- 2006-07-06 Roger Sayle <roger@eyesopen.com>
- PR target/27968
- * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
- the configured assembler supports the x87's ffreep mnemonic.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/i386/i386.c (output_387_ffreep): New function.
- (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
- (output_387_reg_move): Likewise.
- 2006-07-06 Paul Eggert <eggert@cs.ucla.edu>
- Port to hosts whose 'sort' and 'tail' implementations
- treat operands with leading '+' as file names, as POSIX
- has required since 2001. However, make sure the code still
- works on pre-POSIX hosts.
- * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
- which says you should use "tail -c +N" rather than "tail +Nc".
- Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
- 2006-07-06 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
- argument name.
- 2006-07-06 David Edelsohn <edelsohn@gnu.org>
- PR target/28150
- * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
- PRE_{INC,DEC} of TFmode.
- 2006-07-06 David Edelsohn <edelsohn@gnu.org>
- Alan Modra <amodra@bigpond.net.au>
- PR target/28170
- * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
- bounds. Simplify.
- 2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- PR target/28285
- * config/alpha/predicates.md (alpha_swapped_comparison_operator):
- Remove duplicate gtu.
- 2006-07-05 Jason Merrill <jason@redhat.com>
- PR c++/13983
- PR c++/17519
- * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
- * c-common.c (handle_packed_attribute): So don't copy it here.
- * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
- 2006-07-05 Mike Stump <mrs@apple.com>
- * doc/invoke.texi (Invoking G++): Clarify prose for g++.
- 2006-07-05 H.J. Lu <hongjiu.lu@intel.com>
- PR target/26146
- * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
- 2006-07-05 Richard Guenther <rguenther@suse.de>
- PR target/28158
- * config/i386/i386.md (*negdf2_1): Restrict pattern to
- TARGET_SSE2 targets if using SSE math.
- (*absdf2_1): Likewise.
- 2006-07-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/28162
- * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
- make sure to convert the operands to the correct type.
- 2006-07-04 Paolo Bonzini <bonzini@gnu.org>
- PR tree-optimization/28218
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
- to calculate and free the dominator information.
- 2006-07-04 Peter O'Gorman <peter@pogma.com>
- * mklibgcc.in: chmod 644 before ranlib during install.
- 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
- J"orn Rennecke <joern.rennecke@st.com>
- * configure.ac (.eh_frame data check): Use diff -b.
- 2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR bootstrap/18058
- * Makefile.in (BUILD_RTL): Add build/vec.o.
- (build/gencondmd.o): Filter out -fkeep-inline-functions.
- (build/genextract): Delete.
- (build/genautomata): Likewise.
- 2006-07-04 Alan Modra <amodra@bigpond.net.au>
- PR target/28207
- * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
- 128-bit IBM long doubles for ABI_V4.
- 2006-07-03 Eric Botcazou <ebotcazou@adacore.com>
- * tree.c (range_in_array_bounds_p): New predicate.
- * tree.h (range_in_array_bounds_p): Declare it.
- * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
- return a less conservative answer.
- * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
- and flag 'is_group'.
- (IS_ELEMENT_FOR_GROUP): New macro.
- (FOR_EACH_ACTUAL_CHILD): Likewise.
- (next_child_for_group): New helper function.
- (can_completely_scalarize_p): Take into account groups.
- (sra_hash_tree): Handle RANGE_EXPR.
- (sra_elt_eq): Likewise.
- (lookup_element): Be prepared for handling groups.
- (is_valid_const_index): Delete.
- (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
- instead of is_valid_const_index.
- <ARRAY_RANGE_REF>: New case.
- (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
- is_valid_const_index.
- <ARRAY_RANGE_REF>: Do not unconditionally punt.
- (scan_dump): Dump info for groups too.
- (decide_instantiation_1): Likewise.
- (decide_block_copy): Assert that the element is not a group.
- Propagate decision to groups.
- (generate_one_element_ref): Handle RANGE_EXPR.
- (mark_no_warning): Iterate over actual childs.
- (generate_copy_inout): Likewise.
- (generate_element_copy): Likewise.
- (generate_element_zero): Likewise.
- (generate_element_init_1): Likewise.
- (dump_sra_elt_name): Handle RANGE_EXPR.
- 2006-07-03 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/26251
- * tree-ssa-threadupdate.c (redirection_block_p): New function.
- (thread_block): When optimizing for size refuse to thread jumps
- that would require duplication of blocks other than redirection
- blocks.
- 2006-07-03 Paolo Bonzini <bonzini@gnu.org>
- * configure.ac: Fix thinko in previous check-in.
- * configure: Regenerate.
- 2006-07-03 Paolo Bonzini <bonzini@gnu.org>
- PR other/27063
- * configure.ac (for lang...): Simplify nesting of conditionals.
- Test subdir_requires for non-enabled languages. Move processing
- of lang_opt_files and lang_tree_fiels below that test.
- * configure: Regenerate.
- * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
- 2006-07-01 Martin Michlmayr <tbm@cyrius.com>
- * doc/gcov.texi (Invoking Gcov): Add a missing word.
- 2006-06-30 Kazu Hirata <kazu@codesourcery.com>
- * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
- comment typos.
- 2006-06-29 Jason Merrill <jason@redhat.com>
- PR c++/26905
- PR c++/26612
- PR c++/27000
- PR c++/26984
- PR c++/19134
- * tree.c (build_decl_stat): Don't hande #pragma visibility here.
- * c-common.c (c_determine_visibility): Handle it here.
- * c-decl.c (finish_decl): Call c_determine_visibility for
- functions, too.
- * flags.h (enum symbol_visibility): Sort from most to least visibility.
- * tree.h: Likewise.
- * varasm.c (default_assemble_visibility): Likewise.
- * c-common.c (handle_visibility_attribute): Complain about trying
- to give visibility to an already defined class, or trying to change
- declared visibility. Always attach the attribute.
- PR c++/26905
- PR c++/21675
- PR c++/17470
- * attribs.c (decl_attributes): Ignore type-in-place attributes
- once the type has been defined.
- 2006-06-29 Roger Sayle <roger@eyesopen.com>
- PR middle-end/27428
- * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
- to indicate the cpplib has issued an error message for us.
- 2006-06-29 Asher Langton <langton2@llnl.gov>
- PR target/25765
- * config/i386/i386.c (ix86_output_function_epilogue): Don't
- insert a label at the end of an function under Mach-O.
- 2006-06-29 Eric Christopher <echristo@apple.com>
- Evan Cheng <evan.cheng@apple.com>
- * predicates.md (vector_all_ones_operand): New.
- (nonimmediate_or_sse_const_operand): Ditto.
- * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
- * config/i386/i386.c (standard_sse_constant_opcode): Define.
- (standard_sse_mode_p): Ditto.
- (standard_sse_constant_p): Add case for -1 vector.
- (ix86_expand_vector_move): Try to use.
- * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
- Call standard_sse_constant_opcode.
- (*movv4sf_internal): Ditto.
- (*movv2df_internal): Ditto.
- 2006-06-29 Roger Sayle <roger@eyesopen.com>
- * genpreds.c (write_match_code_switch): Correctly use XSTR instead
- of XEXP to extract the operands of a MATCH_CODE rtx.
- 2006-06-28 Andrew Pinski <pinskia@gmail.com>
- * tree.c (tree_size): Do not waste tail padding in
- struct tree_string and make the size be the same as
- build_string will generate.
- 2006-06-28 Jason Merrill <jason@redhat.com>
- PR c++/27768
- * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
- may_aliases already in the tag's annotations to the bitmap.
- 2006-06-28 Roger Sayle <roger@eyesopen.com>
- * genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
- 2006-06-28 Roger Sayle <roger@eyesopen.com>
- * genpreds.c (generate_switch_p): New function.
- (add_mode_tests): Push the new mode test down inside an AND expr
- if this allows the switch-suitable MATCH_CODE to be near the root.
- (write_match_code_switch): New function to write a MATCH_CODE as
- a switch statement.
- (write_predicate_stmts): New function to write a predicate RTX
- expression as a sequence of statements.
- (write_one_predicate_function): Use write_predicate_stmts.
- (write_tm_constrs_h): Likewise.
- 2006-06-26 Fred Fish <fnf@specifix.com>
- * config/mips/t-sb1: New file.
- * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
- tmake_file list.
- 2006-06-26 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
- 2006-06-26 Naveen H.S <naveenh@kpitcummins.com>
- Jayant Sonar <jayants@kpitcummins.com>
- Jaydeep Vipradas <jaydeepv@kpitcummins.com>
- * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
- (subsi3, subsi3_1, subsi3_2): New.
- * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
- * config/m32c/mov.md (SI mov peephole): New.
- * config/m32c/m32.c (m32c_immd_dbl_mov): New.
- * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
- 2006-06-26 Olivier Hainque <hainque@adacore.com>
- * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
- a CALL_EXPR target function declaration.
- 2006-06-26 Richard Guenther <rguenther@suse.de>
- * tree.c (build_string): Do not waste tail padding in
- struct tree_string.
- 2006-06-26 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (init_ggc): Add missing element to size_lookup
- table.
- Revert
- 2006-06-23 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
- sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
- alignment requests instead. Add verification code.
- Add struct tree_function_decl and struct tree_binfo size to
- extra_order_size_table. Add missing element to size_lookup
- table.
- 2006-06-25 Eric Botcazou <ebotcazou@adacore.com>
- PR middle-end/28151
- * fold-const.c (const_binop): Be prepared for self returning zero.
- Simplify code handling complex values.
- 2006-06-24 Olivier Hainque <hainque@adacore.com>
- * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
- (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
- aggregate types.
- 2006-06-24 Olivier Hainque <hainque@adacore.com>
- * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
- ARRAY_REF, so have the callback called for the low bound expression.
- 2006-06-23 Janis Johnson <janis187@us.ibm.com>
- * tree.h (DECIMAL_FLOAT_TYPE_P): New.
- * c-typeck.c (c_common_type): Disallow operations on decimal float
- types and other float types.
- * convert.c (convert_to_real): Don't ignore conversions involving
- decimal float types.
- 2006-06-23 Olivier Hainque <hainque@adacore.com>
- * tree.c (max_int_size_in_bytes): New function, inspired from
- code in function.c:assign_temp.
- * tree.h (max_int_size_in_bytes): Declare.
- * function.c (assign_temp): Use it.
- * gimplify.c (create_tmp_var): Relax the assertions on the type
- properties, not mandating constant size any more.
- (force_constant_size): New static function.
- (gimple_add_tmp_var): Use it, forcing variable size to a
- constant upper bound if it is not constant on entry.
- 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
- PR target/27789
- * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
- for initialization and setting of one_only flag to ...
- (i386_pe_encode_section_info): ...here.
- (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
- Recheck that the symbol has not been defined.
- 2006-06-23 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
- sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
- alignment requests instead. Add verification code.
- Add struct tree_function_decl and struct tree_binfo size to
- extra_order_size_table. Add missing element to size_lookup
- table.
- 2006-06-22 Roger Sayle <roger@eyesopen.com>
- John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR middle-end/28131
- * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
- call to lang_hooks.types.type_for_mode returned NULL_TREE.
- 2006-06-23 Ben Elliston <bje@au.ibm.com>
- * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
- negate dn -- manipulate it directly.
- 2006-06-22 Roger Sayle <roger@eyesopen.com>
- Steven Bosscher <stevenb.gcc@gmail.com>
- PR target/27531
- * reload1.c (gen_reload): Call mark_jump_label on the new insns
- generated by gen_move_insn to add REG_LABEL notes if necessary.
- 2006-06-22 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
- (leaf_entry): Remove use of MIN_ESA.
- 2006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/28121
- * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
- the entry edge.
- 2006-06-21 DJ Delorie <dj@redhat.com>
- * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
- (TN-16C-A156A/E).
- (mulhisi3_r): Likewise.
- 2006-06-21 Richard Sandiford <richard@codesourcery.com>
- PR middle-end/28034
- * coverage.c (coverage_counter_alloc): Leave the index type
- unspecified.
- (coverage_counter_alloc): Use null arguments for operands 2 and 3
- of the ARRAY_REF.
- 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
- * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
- section from the "Options for Code Generation Conventions".
- 2006-06-21 Richard Henderson <rth@redhat.com>
- PR target/26347
- PR target/27082
- * config/alpha/predicates.md (small_symbolic_operand): Deny weak
- symbols.
- (global_symbolic_operand): Allow weak symbols, even if local_p.
- 2006-06-21 Eric Botcazou <ebotcazou@adacore.com>
- * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
- (find_interesting_uses_address): Punt if above function returns true.
- 2006-06-21 Richard Guenther <rguenther@suse.de>
- * configure: Regenerated.
- 2006-06-21 Joseph Myers <joseph@codesourcery.com>
- * config/mips/mips.c (function_arg): Where one part of a
- complex argument is in registers and the other part in the stack,
- return a REG not a PARALLEL.
- 2006-06-21 Mark Mitchell <mark@codesourcery.com>
- * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
- when cross-compiling. Do not substitute libstdcxx_incdir.
- * configure: Regenerated.
- 2006-06-21 Jakub Jelinek <jakub@redhat.com>
- * varasm.c (mergeable_string_section): Check for embedded NULs and
- NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
- rather than TREE_STRING_LENGTH bytes.
- 2006-06-21 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (extra_order_size_table): Add var_ann_d,
- tree_ssa_name, bitmap_element and phi_node with 4 arguments
- sizes.
- 2006-06-21 Richrad Guenther <rguenther@suse.de>
- * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
- Limit iteration over the dominators.
- 2006-06-20 Roger Sayle <roger@eyesopen.com>
- * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
- (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
- 2006-06-20 Richard Guenther <rguenther@suse.de>
- Michael Matz <matz@suse.de>
- * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
- function.
- * alloc-pool.c (free_alloc_pool_if_empty): New function.
- * et-forest.h (et_free_pools): Prototype new function.
- * et-forest.c (et_free_tree_force): Free parent occurrence.
- (et_free_pools): New function.
- * dominance.c (free_dominance_info): Free et-forest alloc
- pools.
- 2006-06-20 Roger Sayle <roger@eyesopen.com>
- * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
- integer modes, attempt to directly construct an integer constant.
- * fold-const.c (native_encode_vector): Determine the size of each
- element from the vector type instead of the first vector element.
- * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
- if all of its elements/components are constant.
- (build_constructor_from_list): Likewise.
- 2006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27331
- * tree-data-ref.c (free_data_ref): New function.
- (create_data_ref): Fail if the data reference has unknown access
- function.
- (free_data_refs): Use free_data_ref.
- 2006-06-19 Andrew Pinski <pinskia@gmail.com>
- PR middle-end/28075
- * tree-inline.c (setup_one_parameter): Strip useless
- type conversion before adding it to the IR.
- (declare_return_variable): Likewise.
- 2006-06-19 Martin Michlmayr <tbm@cyrius.com>
- PR c/27149
- * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
- 2006-06-19 Mike Stump <mrs@apple.com>
- * tree.c (variably_modified_type_p): VM arguments don't make the
- type a VM type.
- 2006-06-19 Richard Guenther <rguenther@suse.de>
- * tree-ssa-pre.c (try_combine_conversion): Strip useless
- type conversions after folding.
- 2006-06-19 Richard Guenther <rguenther@suse.de>
- * ggc-page.c (extra_order_size_tab): Add entries with
- size of struct function and basic_block.
- (size_lookup): Extend to cover sizes up to 511.
- (ggc_alloc_stat): Adjust user.
- (ggc_pch_count_object): Likewise.
- (ggc_pch_alloc_object): Likewise.
- (ggc_pch_write_object): Likewise.
- 2006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (implies_ge_p): New function.
- (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
- correctly.
- 2006-06-19 Denis Chertykov <denisc@overta.ru>
- * config/avr/libgcc.S : Correct my wrong previous commit.
- 2006-06-19 Roger Sayle <roger@eyesopen.com>
- PR target/27861
- * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
- have stripped a SUBREG from the shift count, so we may need to
- convert_to_mode back to the type's mode before calling make_tree.
- Use new_amount instead of amount to avoid expanding a tree twice.
- 2006-06-19 Richard Guenther <rguenther@suse.de>
- PR middle-end/28045
- * fold-const.c (operand_equal_p): Check if the argument types
- have the same precision before stripping NOPs.
- 2006-06-19 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/27341
- * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
- statement we get.
- * tree-complex.c (pass_lower_complex): Update SMT usage.
- 2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
- Add a new alternative to the constraint strings. Add move of
- operand 1 to 3 to the splitter definition.
- ("doloop_si_long"): Second contraint alternative removed.
- 2006-06-08 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
- (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
- __AVR_HAVE_LPMX__.
- (AVR_HAVE_MOVW) Define.
- (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
- (ASM_SPEC): Add avr25.
- (LINK_SPEC): Add avr25.
- * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
- (base_arch_s): Add new member 'have_movw_lpmx'.
- (avr_arch_types): Init 'have_movw_lpmx'.
- (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
- attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
- attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
- (avr_override_options): Init 'avr_have_movw_lpmx_p'.
- (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
- AVR_HAVE_MOVW.
- (avr_file_start): Do not output '.arh' derective.
- * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
- (__do_copy_data): Use __AVR_HAVE_LPMX__.
- * config/avr/avr.md (mcu_enhanced): Delete.
- (mcu_have_movw): Define.
- (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
- (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
- * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
- (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
- attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
- attiny861 and at86rf401 devices.
- 2006-06-18 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
- of 4096.
- 2006-06-17 Karl Berry <karl@gnu.org>
- * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
- doc/gccint.texi, doc/install.texi (@dircategory): Use
- "Software development" instead of "Programming", following
- the Free Software Directory.
- 2006-06-17 Alexandre Oliva <aoliva@redhat.com>
- * config/i386/i386.c (legitimate_tls_address)
- <TARGET_GNU2_TLS>: Add tp after DTPOFF.
- * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
- (*tls_dynamic_gnu2_combine_64): Likewise.
- 2006-06-16 Richard Guenther <rguenther@suse.de>
- PR middle-end/27116
- * fold-const.c (negate_expr_p): Do not introduce undefined
- overflow in negating INTEGER_CSTs.
- (fold_negate_expr): Rename from negate_expr. Revert last
- change for folding BIT_NOT_EXPR. Change semantics to
- return NULL_TREE for non-simplified negations. Do not
- strip type conversions and unify type handling.
- (negate_expr): New function, wrap around fold_negate_expr
- but ensure building a tree always. Strip type conversions
- here, fold to result type.
- (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
- 2006-06-16 Roger Sayle <roger@eyesopen.com>
- PR middle-end/27802
- * reg-stack.c (subst_stack_regs): Handle noreturn function calls
- that (would) return their results in stack registers.
- 2006-06-16 Michael Matz <matz@suse.de>
- Richard Guenther <rguenther@suse.de>
- * fold-const.c (fold_truthop): Only return new tree node if
- we canonicalized something.
- 2006-06-16 Richard Guenther <rguenther@suse.de>
- * function.h (enum function_frequency): Move declaration
- out of struct function.
- (struct function): Move bool fields and the enum to the bitfield
- section. Reorder elements to avoid padding. Remove unused
- fields left over from the RTL inliner removal.
- * function.c (free_after_compilation): Do not zero removed fields.
- * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
- (ipa-type-escape.o): Likewise.
- 2006-06-16 Richard Guenther <rguenther@suse.de>
- * cgraph.h (struct cgraph_local_info): Turn bool elements
- into a bitfield.
- (struct cgraph_node): Likewise.
- (struct cgraph_varpool_node): Likewise.
- 2006-06-15 Richard Guenther <rguenther@suse.de>
- * fold-const.c (fold_truth_not_expr): Rename from
- invert_truthvalue. Give it fold_* semantics to avoid
- generating garbage.
- (invert_truthvalue): New function. Wrapper around
- fold_truth_not_expr.
- (optimize_minmax_comparison): Avoid creating garbage.
- (fold_unary): Use fold_truth_not_expr for folding
- TRUTH_NOT_EXPR.
- (fold_ternary): Replace uses of invert_truthvalue with
- fold_truth_not_expr where applicable.
- * tree.h (fold_truth_not_expr): Prototype.
- 2006-06-16 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27781
- * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
- * ipa-pure-const.c (target.h): Include.
- (analyze_function): Do not analyze functions that do not
- bind locally.
- 2006-06-15 Andrew MacLeod <amacleod@redhat.com>
- PR middle-end/27793
- * tree-dfa.c (referenced_vars_dup_list): Remove.
- (find_referenced_vars): Remove assert.
- (referenced_var_check_and_insert): Replace dup list with assert.
- * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
- * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
- 2006-06-15 Richard Guenther <rguenther@suse.de>
- * tree-ssa-structalias.c (alias_get_name): Avoid creating
- extra unused identifiers if not dumping.
- (create_variable_info_for): Likewise.
- 2006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
- (derive_constant_upper_bound): Derive more precise upper bound in
- common cases. Return type changed to double_int.
- (record_estimate): Reflect the changed return type of
- derive_constant_upper_bound.
- * double-int.c (double_int_zext, double_int_sext): Fix.
- 2006-06-15 Paolo Bonzini <bonzini@gnu.org>
- * configure.ac (CFLAGS): Get them from the toplevel or from the
- configure invocation.
- * configure: Regenerate.
- * Makefile.in (CFLAGS): Substitute value provided by configure.
- 2006-06-14 Mark Mitchell <mark@codesourcery.com>
- PR c++/26559
- * c-common.h (c_finish_omp_atomic): Adjust declaration.
- * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
- rather than calling add_stmt on it.
- * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
- 2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
- PR middle-end/27959
- * reload1.c (reload): Remove registers returned by update_eliminables
- from used_spill_regs.
- 2006-06-13 DJ Delorie <dj@redhat.com>
- * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
- 2006-06-13 Carlos O'Donell <carlos@codesourcery.com>
- * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
- html__strip_dir, html__mkdir_p. Enhance install-html target.
- * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
- * configure: Regenerate.
- 2006-06-13 Fariborz Jahanian <fjahanian@apple.com>
- * fold-const.c (fold_cond_expr_with_comparison): Check for
- Objective-C++ as language in deciding COND_EXPR transformation.
- 2006-06-06 J"orn Rennecke <joern.rennecke@st.com>
- PR target/28014:
- * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
- * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
- * config/sh/lib1funcs.h (SL, SL1): Define.
- * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
- * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
- * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
- (OBJS_Os_4_200): New variable.
- ($(T)libgcc-Os-4-200.a): Use it.
- * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
- when dividing 1 and/or by 0.
- 2006-06-13 Roger Sayle <roger@eyesopen.com>
- * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
- before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
- * configure: Regenerate.
- 2006-06-13 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
- for real instruction.
- 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR middle-end/26807
- * haifa-sched.c (check_cfg): Handle special case.
- 2006-06-13 Eric Botcazou <ebotcazou@adacore.com>
- PR debug/26754
- * gimplify.c (declare_tmp_vars): Rename into declare_vars.
- Add debug_info parameter. Chain the vars to the BLOCK instead
- of the BIND_EXPR if debug info are requested for them.
- (pop_gimplify_context): Adjust for above change.
- (gimple_add_tmp_var): Likewise.
- * tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
- Add bool parameter.
- * tree-nested.c (convert_nonlocal_reference): Adjust for above change.
- (convert_local_reference): Likewise.
- (get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
- (finalize_nesting_tree_1): Request that debug info be emitted
- for debug_var_chain.
- 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
- for PR target/27863.
- 2006-06-13 Richard Guenther <rguenther@suse.de>
- PR middle-end/27536
- * except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
- 2006-06-13 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27830
- * tree-inline.c (copy_body_r): For copying the operand
- of an ADDR_EXPR make sure to fold &* afterwards.
- 2006-06-12 Eric Botcazou <ebotcazou@adacore.com>
- * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
- lvalues in the fb_none case with side-effects.
- 2006-06-12 Kazu Hirata <kazu@codesourcery.com>
- * tree-flow.h: Remove the prototype for
- compute_phi_arg_on_exit.
- * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
- protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
- Remove.
- 2006-06-12 Mark Shinwell <shinwell@codesourcery.com>
- * builtins.c (expand_builtin_return_addr): Only use
- frame_pointer_rtx when count == 0 and we are expanding
- __builtin_return_address.
- 2006-06-12 Fred Fish <fnf@specifix.com>
- * config/mips/mips.c (mips_file_start): Create special section
- ".gcc_compiled_longXX" for o64 ABI as well as EABI.
- 2006-06-11 Eric Christopher <echristo@apple.com>
- PR middle-end/27948
- * stor-layout.c (place_field): Remove check for
- remaining_in_alignment when aligning at the end of a run.
- 2006-06-11 Eric Christopher <echristo@apple.com>
- PR 27542
- * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
- pragma.
- 2006-06-11 Roger Sayle <roger@eyesopen.com>
- PR target/27858
- Revert incorrect fix for PR target/27158
- 2006-05-08 Roger Sayle <roger@eyesopen.com>
- * reload.c (find_reloads_toplev): Only return the simplified SUBREG
- of a reg_equiv_constant if the result is a legitimate constant.
- 2006-06-11 Roger Sayle <roger@eyesopen.com>
- PR target/27158
- * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
- extract a CONST_VECTOR element and interpret it as an integer.
- (vspltis_constant): Use const_vector_elt_as_int instead of the
- macro CONST_VECTOR_ELT in order to handle FP vector modes.
- * config/rs6000/predicates.md (easy_vector_const): Consider
- floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
- 2006-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
- PR middle-end/27942
- * stor-layout.c (update_alignment_for_field): Don't add extra
- alignment for packed non-bitfield fields in ms_bitfield_layout_p
- code.
- 2006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org>
- * config/mips/t-rtems: Add EL/EB multilib variants.
- 2006-06-09 Mike Stump <mrs@apple.com>
- * c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
- 2006-06-09 David Daney <ddaney@avtrex.com>
- * doc/install.texi: Add binutils version recommendation for mips-*-*.
- 2006-06-09 Andreas Krebbel <krebbel1@de.ibm.com>
- * reload.c (find_reloads): Unset force_reload for 'X' constraint.
- 2006-06-09 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26998
- * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
- of signed types, only TYPE_MIN_VALUE is special, but for both,
- minimum and maximum value. Likewise VR_ANTI_RANGE is special
- in this case, as is -fwrapv.
- 2006-06-08 Mike Stump <mrs@apple.com>
- PR target/26427
- * config/darwin.c (darwin_asm_output_anchor): Disable
- -fsection-anchors on darwin for now.
- * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
- * rs6000/rs6000.c (optimization_options): Likewise.
- 2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR target/27421
- * config/i386/i386.c (classify_argument): Skip fields with invalid
- types in unions.
- 2006-06-08 Steven Bosscher <steven@gcc.gnu.org>
- * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
- (cse_insn): Likewise for the stack_pointer_rtx.
- 2006-06-08 Roger Sayle <roger@eyesopen.com>
- * tree-ssa-dom.c (record_conditions): Only record "unordered"
- conditions from floating point comparisons.
- 2006-06-08 Paolo Bonzini <bonzini@gnu.org>
- PR middle-end/27733
- * expmed.c (struct alg_hash_entry): Fix type of field T
- to match synth_mult argument.
- (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
- 2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR target/27863
- * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
- block boundaries.
- 2006-06-08 Richard Guenther <rguenther@suse.de>
- PR middle-end/27116
- * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
- only, if overflow is defined and not trapping.
- (negate_expr): Likewise.
- 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27872
- * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
- flag on the new exit edge of the unrolled loop.
- 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26449
- * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
- 2006-06-07 Andrew MacLeod <amacleod@redhat.com>
- PR middle-end/27793
- * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
- referenced_variables with matching DECL_UID's.
- (find_referenced_vars): Make sure duplicate list is empty to start.
- (referenced_var_p): Remove.
- (referenced_var_check_and_insert): Renamed from referenced_var_insert.
- Check if var is in the list, and add if needed. Update the duplicate
- list if a different var is in the list with the same DECL_UID.
- (add_referenced_var): Call routine to check and insert.
- * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
- * tree-flow.h (referenced_vars_dup_list): External declaration.
- 2006-06-07 Fred Fish <fnf@specifix.com>
- * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
- into single entry.
- 2006-06-07 Paolo Bonzini <bonzini@gnu.org>
- PR target/27390
- * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
- the imaginary and real parts of a clobbered register.
- Emit insn to set the imaginary part.
- 2006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
- * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
- in lieu of unwind-dw2-fde.c.
- 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
- 2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
- PR target/27842
- * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
- ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
- ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
- V4SImode temporaries and operations instead.
- 2006-06-06 Joseph S. Myers <joseph@codesourcery.com>
- * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
- dp-bit.c.
- 2006-06-06 Mike Stump <mrs@apple.com>
- * Makefile.in: Rename to htmldir to build_htmldir to avoid
- installing during build.
- 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
- value to 0.
- * doc/invoke.texi (max-sched-extend-regions-iters): Document.
- * config/ia64/ia64.c (params.h): New header.
- (ia64_optimization_options): New function to adjust parameters.
- * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
- * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
- * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
- 2006-06-05 Kazu Hirata <kazu@codesourcery.com>
- * stor-layout.c (debug_rli): Fix a typo in a debug message.
- 2006-06-05 Steve Ellcey <sje@cup.hp.com>
- PR target/27051
- * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
- 2006-06-05 Dorit Nuzman <dorit@il.ibm.com>
- Victor Kaplansky <victork@il.ibm.com>
- PR tree-optimization/26360
- * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
- stmts.
- 2006-06-04 Roger Sayle <roger@eyesopen.com>
- Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/27382
- * c-common.c (c_common_truthvalue_conversion): Explicitly check
- for LABEL_DECL before calling DECL_WEAK.
- PR c/27150
- * c-typeck.c (build_binary_op): Likewise, explicitly check for
- LABEL_DECL and PARM_DECL.
- 2006-06-05 Joseph S. Myers <joseph@codesourcery.com>
- PR c/25161
- PR c/27020
- * c-decl.c (grokdeclarator): Disallow variably modified types at
- file scope. Avoid marking shared array type of constant size as
- VLA.
- 2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c++/27601
- * c-common.c (fold_offsetof_1): Handle static members.
- 2006-06-04 Eric Christopher <echristo@apple.com>
- * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
- (debug_rli): Output value for remaining_in_alignment.
- (update_alignment_for_field): Unconditionalize
- ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
- extra alignment code.
- (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
- ms_bitfield_layout_p code. Rewrite handling of structure fields.
- * tree.h (record_layout_info_s): Remove prev_packed.
- * doc/extend.texi (ms_struct): Add documentation of format.
- 2006-06-04 Mark Shinwell <shinwell@codesourcery.com>
- * tree.h: Declare folding_initializer.
- * builtins.c (fold_builtin_constant_p): Give definite answer
- if folding inside an initializer.
- * fold-const.c: Define folding_initializer.
- (START_FOLD_INIT): Save and then set folding_initializer.
- (END_FOLD_INIT): Restore folding_initializer.
- 2006-06-04 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27039
- * fold-const.c (fold_comparison): Handle pointer comparison
- again for all comparison codes. Compare offsets in signed
- size type.
- (fold_binary): Move code from here.
- 2006-06-03 Roger Sayle <roger@eyesopen.com>
- PR target/26223
- * config/i386/i386.c (construct_container): Split static issued_error
- flag into issued_sse_arg_error, issued_sse_ret_error and
- issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
- requires the use of x87 registers and the user explicitly
- specified the -mno-80387 command line option.
- 2006-06-02 Geoffrey Keating <geoffk@apple.com>
- * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
- HAVE_DECL_SIGALTSTACK.
- (MC_FLD): New.
- (segv_handler): Use MC_FLD.
- * configure.ac: Check for a sigaltstack declaration.
- Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
- * configure: Regenerate.
- * config.in: Regenerate.
- 2006-06-03 J"orn Rennecke <joern.rennecke@st.com>
- PR other/27850
- * Makefile.in (stmp-fixinc): Fix typo.
- 2006-06-02 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
- are type correct. Clean-up.
- <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
- <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
- 2006-06-01 DJ Delorie <dj@redhat.com>
- * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
- shift, as we've disabled the "switch" insn that needs it.
- 2006-06-01 Per Bothner <bothner@bothner.com>
- Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
- * c-opts.c (finish_options): Use internal line 0 for <command-line>.
- * c-ppoutput.c (cb_define): Don't increment line 0.
- 2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
- * doc/invoke.texi: Add cpu_type power6.
- * config.gcc: Add cpu_type power6.
- * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
- to power5+ with Altivec.
- * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
- 2006-05-30 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.h (SET_ASM_OP): Define.
- 2006-06-01 Kazu Hirata <kazu@codesourcery.com>
- * config/bfin/bfin.c: Fix comment typos.
- 2006-06-01 Paolo Bonzini <bonzini@gnu.org>
- PR 25453
- * doc/install.texi: Document --enable-bootstrap and
- --disable-bootstrap.
- 2006-06-01 Paolo Bonzini <bonzini@gnu.org>
- * doc/install.texi: Document that InfoZIP can replace jar.
- 2006-05-31 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
- isn't available, directly generate the simpler x87 patterns without
- the (use (const_int 0)).
- * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
- implementation isn't available.
- (*negdf2_1): Likewise.
- (*negxf2_1): XF mode negation is always done using the x87.
- (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
- 2006-05-31 Roger Sayle <roger@eyesopen.com>
- * builtins.c (fold_builtin_cabs): Delete prototype. Require an
- additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
- cabs(z).
- (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
- 2006-05-31 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
- * config/bfin/bfin.c (basic-block.h): Include.
- (struct machine_function): New.
- (bfin_init_machine_status): New.
- (override_options): Initialize init_machine_status.
- (bfin_hardware_loop): New.
- (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
- (DEF_VEC_P (loop_info)): New.
- (DEF_VEC_ALLOC_P (loop_info,heap)): New.
- (struct loop_info): New.
- (loop_info): New typedef.
- (struct loop_work): New.
- (loop_work): New typedef.
- (DEF_VEC_O (loop_work)): New.
- (DEF_VEC_ALLOC_O (loop_work,heap)): New.
- (bfin_dump_loops): New.
- (bfin_bb_in_loop): New.
- (bfin_scan_loop): New.
- (bfin_optimize_loop): New.
- (bfin_reorg_loops): New.
- (bfin_reorg): Use bfin_reorg_loops.
- * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
- loop registers.
- (I_REGNO_P): Simplify.
- (DP_REGNO_P, DPREG_P): New macros.
- (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
- REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
- (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- Add LT_REGS, LC_REGS, LB_REGS.
- (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
- 'l' for LB_REGS.
- (REGNO_REG_CLASS): Deal with loop registers.
- * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
- letters.
- (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
- New constants for loop registers.
- (UNSPEC_LSETUP_END): New.
- (seq_insns): New define_attr. Set it for appropriate insns.
- (movsi_insn): Add alternatives for move from/to
- loop count registers.
- (doloop_end): New define_expand.
- (loop_end): New define_insn.
- (define_split for bad doloop_end): New.
- (lsetup_with_autoinit): New define_insn.
- (lsetup_without_autoinit): New define_insn.
- (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
- * config/bfin/predicates.md (lc_register_operand): New.
- (lt_register_operand): New.
- (lb_register_operand): New.
- (nondp_register_operand): New.
- (nondp_reg_or_memory_operand): New.
- * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
- 2006-05-31 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.c (bfin_delegitimize_address): New.
- (TARGET_DELEGITIMIZE_ADDRESS): Define.
- 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
- * Makefile.in (CATALOGS): Add po/ prefix.
- * configure: Regenerated.
- 2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
- PR target/27829
- * arm.c (arm_print_operand case 'S'): Validate that the operand is
- a shift operand before calling shift_op. Avoid redundant call of
- shift_op.
- 2006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
- DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_expand_insv): Check that the value
- we're inserting is a singlt-bit constant.
- 2006-05-30 Roger Sayle <roger@eyesopen.com>
- * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
- width to HOST_WIDE_INT to avoid comparison warnings on some targets.
- 2006-05-30 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/23452
- * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
- to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
- (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
- complex values and with -ffast-math for FP complex values.
- 2006-05-30 Kazu Hirata <kazu@codesourcery.com>
- * c-common.h: Remove the prototype for yyparse.
- * rtl.h: Remove the prototype for init_loop.
- 2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
- * cse.c (validate_canon_reg, cse_insn): Don't change insns without
- calling recog.
- 2006-05-30 Roger Sayle <roger@eyesopen.com>
- * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
- and rotate cases.
- <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
- log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
- 2006-05-30 Dirk Mueller <dmueller@suse.de>
- PR c/27273
- * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
- for CONSTANT_CLASS_P expresisons.
- 2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/27718
- * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
- 2006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27779
- * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
- initial_condition instead of CHREC_LEFT.
- 2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
- * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
- * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
- Make prototypes ISO C90.
- 2006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
- Leehod Baruch <leehod.baruch@weizmann.ac.il>
- * see.c (see_analyze_one_def): Correct check.
- (see_get_extension_data): Check if extension is parallel.
- (see_get_extension_reg): Likewise.
- 2006-05-30 Uros Bizjak <uros@kss-loka.si>
- PR target/27790
- * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
- into register for (code == GTU).
- 2006-05-29 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/24964
- * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
- <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
- signaling NaNs. Optimize -x*-x as x*x for all float modes, and
- abs(x)*abs(x) as x*x for scalar floating point modes.
- 2006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
- PR middle-end/27745
- * lambda-code.c (perfect_nestify): Don't copy statements
- in the inner loop: move them to the inner loop header.
- 2006-05-29 Diego Novillo <dnovillo@redhat.com>
- PR 26237
- * c-tree.texi: Document OpenMP directives and clauses.
- 2006-05-29 Kazu Hirata <kazu@codesourcery.com>
- * varasm.c (globalize_decl): Fix indentation.
- 2006-05-29 Diego Novillo <dnovillo@redhat.com>
- PR 26242
- * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
- pass_fre, pass_store_ccp, pass_copy_prop,
- pass_store_copy_prop, pass_merge_phi, pass_nrv,
- pass_return_slot, pass_object_size, pass_lim,
- pass_linear_transform, pass_empty_loop, pass_complete_unroll,
- pass_loop_prefetch and pass_stdarg.
- 2006-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.opt (mfdpic): New option.
- * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
- (EXTRA_MULTILIB_PARTS): Likewise.
- (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
- (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
- multilib.
- * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
- (CRT_CALL_STATIC_FUNCTION): New.
- * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
- -shared.
- (CRT_CALL_STATIC_FUNCTION): New.
- * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
- FD-PIC moves.
- (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
- (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
- (initialize_trampoline): Changed to handle FD-PIC code generation.
- (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
- (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
- (override_options): Disallow -mid-shared-library -mfdpic combination.
- Can't do unaligned ops if FD-PIC.
- Turn off flag_pic if trying to generate non-id-shared-library
- non-fdpic code, since it's not supported.
- (bfin_assemble_integer): New function.
- (TARGET_ASM_INTEGER): Define.
- * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
- __BFIN_FDPIC__.
- * config/bfin/crtn.s: Restore them.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
- if TARGET_FDPIC.
- (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
- LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
- (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
- (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
- (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
- call-used.
- (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
- FDPIC_REGS and FDPIC_FPTR_REGS.
- (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
- * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
- UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
- (load_funcdescsi): New pattern.
- (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
- sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
- call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
- 2006-05-29 Kazu Hirata <kazu@codesourcery.com>
- * gcse.c, rtlanal.c: Remove obsolete comments associated with
- loop.c.
- * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
- * tree-flow.h: Remove the prototype for add_type_alias.
- * tree-ssa-alias.c (add_type_alias): Remove.
- 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
- * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
- config/fr30/fr30.md, config/i386/i386-interix.h,
- config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
- config/sh/superh64.h, config/v850/v850.c, df-core.c,
- df-problems.c, df.h, except.c, final.c, haifa-sched.c,
- lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
- reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
- tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
- Follow spelling conventions.
- * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
- Follow spelling conventions.
- 2006-05-27 Richard Guenther <rguenther@suse.de>
- PR middle-end/27773
- * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
- to produce a constant of value 1 of generic type.
- 2006-05-27 Dirk Mueller <dmueller@suse.de>
- * cgraphunit.c (decide_is_function_needed): Fix wrong
- PR reference.
- 2006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
- PR rtl-optimization/27661
- * reload.c (find_reloads): When reloading a VOIDmode constant
- as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
- use Pmode as mode of the reload register.
- 2006-05-26 Eric Botcazou <ebotcazou@adacore.com>
- * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
- is enabled at -O and above.
- 2006-05-26 Steven Bosscher <steven@gcc.gnu.org>
- PR target/27571
- * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
- table data.
- 2006-05-25 Mark Mitchell <mark@codesourcery.com>
- PR c++/20103
- * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
- for anonymous variables explicitly declared by front ends.
- 2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
- * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
- (struct alias_info): Add new field ref_all_symbol_mem_tag.
- * tree-ssa-alias.c (compute_may_aliases): If the program contains
- ref-all pointers, run a finalization pass for them.
- (compute_flow_insensitive_aliasing): Skip ref-all pointers.
- (finalize_ref_all_pointers): New function.
- (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
- regular pointer type to a ref-all pointer type.
- (get_tmt_for): Return the special memory tag for ref-all pointers.
- 2006-05-25 Richard Guenther <rguenther@suse.de>
- PR middle-end/27743
- * fold-const.c (fold_binary): Do not look at the stripped
- op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
- 2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
- * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
- for LT and GT if the computed range is effectively empty.
- 2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/27627
- * pa/pa-modes.def: Use mips_single_format, mips_double_format and
- mips_quad_format formats instead of ieee_single_format,
- ieee_double_format and ieee_quad_format formats, respectively.
- 2006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27639
- PR tree-optimization/26719
- * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
- call to scev_probably_wraps_p.
- * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
- used_in_pointer_arithmetic_p, convert_step): Removed.
- (nowrap_type_p): New function.
- (scev_probably_wraps_p): Rewritten.
- * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
- chrec_convert if chrec_convert_aggressive might have been used.
- * tree-chrec.c (convert_affine_scev, chrec_convert_1,
- scev_direction): New functions.
- (chrec_convert): Changed to a wrapper over chrec_convert_1.
- * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
- instead of convert_step.
- * tree-flow.h (scev_probably_wraps_p): Declaration changed.
- (convert_step): Declaration removed.
- (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
- 2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-core.c: Added to header comments.
- * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
- df_ur_bb_info, df_urec_bb_info): Added comments.
- * df-problems (df_ref_bitmap, ru, rd, lr, ur,
- urec, ri problems): Fixed header comments.
- (df_ru_transfer_function): Fixed in-out set dyslexia when copying
- code from df_rd_transfer_function.
- 2006-05-23 Richard Sandiford <richard@codesourcery.com>
- * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
- (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
- MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
- 2006-05-23 Joseph Myers <joseph@codesourcery.com>
- * expr.c (undefined_operand_subword_p): New.
- (emit_move_multi_word): Do not generate move from undefined bits
- of a paradoxical subreg.
- 2006-05-23 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/27736
- * combine.c (replaced_rhs_value): New variable.
- (combine_instructions): Set it.
- (distribute_notes): When distributing a note in replaced_rhs_insn,
- check whether the value was used in replaced_rhs_value.
- 2006-05-23 Andrew MacLeod <amacleod@redhat.com>
- PR c++/26757
- * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
- add_referenced_var instead of add_referenced_tmp_var.
- * tree-complex.c (create_one_component_var): Use add_referenced_var.
- * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
- add_referenced_var.
- * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
- tree_optimize_tail_calls_1): Use add_referenced_var.
- * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
- * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
- Use add_referenced_var.
- * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
- * gimplify.c (force_gimple_operand): Use add_referenced_var.
- * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
- Use add_referenced_var.
- * tree-dfa.c (struct walk_state): Remove.
- (find_referenced_vars): Remove walk state and vars_found hash table.
- (make_rename_temp): Use add_referenced_var.
- (find_vars_r): Pass less parameters to add_referenced_var.
- (referenced_var_p): New. Is var in referenced_var hash table.
- (referenced_var_insert): Assert var isn't already in hash table.
- (add_referenced_var): Don't need walk_state parameter. Add var if it
- isn't already in the hash table.
- (add_referenced_tmp_var): Remove.
- (find_new_referenced_vars_1): Use add_referenced_var.
- * tree-ssa-pre.c (create_expression_by_pieces,
- insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
- Use add_referenced_var.
- * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
- * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
- lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
- add_referenced_var.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
- vect_create_data_ref_ptr, vect_create_destination_var,
- vect_init_vector, vect_build_loop_niters,
- vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
- vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
- Use add_referenced_var.
- * tree-outof-ssa.c (create_temp): Use add_referenced_var.
- * tree-flow.h (add_referenced_tmp_var): Remove prototype
- (add_referenced_var): Add prototype.
- * tree-ssa-structalias.c (get_constraint_for,
- intra_create_variable_infos): Use add_referenced_var.
- 2006-05-23 Alexandre Oliva <aoliva@redhat.com>
- * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
- big-endian paradoxical subregs.
- * var-tracking.c (struct micro_operation_def): Document that,
- for modify micro operations, insn is the subsequent instruction.
- (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
- (var_reg_set, var_mem_set): ... new functions.
- (add_stores): Record subsequent insn.
- (compute_bb_dataflow): Use new functions for MO_USE.
- (emit_notes_in_bb): Use new functions for MO_USE. Emit use
- notes after the insn, and modify notes before the insn known
- to be the subsequent one.
- (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
- 2006-05-23 Kazu Hirata <kazu@codesourcery.com>
- PR target/27696
- * config/i386/i386.c (ix86_expand_builtin): Use
- gen_sse3_monitor64 for TARGET_64BIT.
- 2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
- PR rtl-optimization/26375
- PR rtl-optimization/26855
- * df-problems (df_ru_bb_local_compute_process_def): Removed update
- to gen set.
- (df_ru_bb_local_compute): Reversed statements and removed bogus
- comment explaining why they should be in wrong order.
- (df_ru_dump, df_rd_dump): Enhanced debug info.
- * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
- debug info.
- * ddg.c (add_deps_for_def): Converted use of reaching defs to
- reaching uses and fixed space problem.
- 2006-05-23 Jan Hubicka <jh@suse.cz>
- * cgraphunit.c (decide_is_function_needed): Also nested functions
- and functions declared inline can be optimized out at -O0.
- 2006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
- * doc/install.texi (Configuration): Remove reference to CrossGCC
- FAQ which was gone.
- (Building): Ditto.
- 2006-05-22 Kazu Hirata <kazu@codesourcery.com>
- PR target/27266
- * config/i386/i386.c (ix86_expand_branch): Jump to simple if
- ix86_compare_emitted is non-NULL.
- 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c++/27451
- * stmt.c (expand_asm_operands): Skip asm statement with erroneous
- clobbers.
- 2006-05-22 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/25514
- * combine.c (replaced_rhs_insn): New variable.
- (combine_instructions): Set replaced_rhs_insn when trying to replace
- a SET_SRC with a REG_EQUAL note.
- (distribute_notes): Use replaced_rhs_insn when determining the live
- range of a REG_DEAD register.
- 2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
- Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
- attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
- attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
- atmega164p, atmega324p, atmega644p, atmega644, atmega329,
- atmega3290, atmega649, atmega6490, atmega406, atmega640,
- atmega1280, atmega1281, at90can32, at90can64, at90usb646,
- at90usb647, at90usb1286 and at90usb1287 devices.
- * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
- * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
- 2006-05-22 Richard Sandiford <richard@codesourcery.com>
- * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
- 2006-05-22 Richard Guenther <rguenther@suse.de>
- Revert
- 2006-01-31 Richard Guenther <rguenther@suse.de>
- Paolo Bonzini <bonzini@gnu.org>
- * doc/install.texi (--disable-libgcc-math): Document.
- 2006-05-22 Richard Guenther <rguenther@suse.de>
- Revert
- 2006-01-31 Richard Guenther <rguenther@suse.de>
- * doc/invoke.texi (-msselibm): Document.
- * target.h (expand_library_builtin): New target hook.
- * builtins.c (expand_builtin): Use expand_library_builtin.
- (default_expand_library_builtin): New function.
- * gcc.c (LINK_GCC_MATH_SPEC): Define.
- (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
- (link_gcc_math_spec): Declare.
- (static_specs): Add link_gcc_math_spec.
- * expr.h (default_expand_library_builtin): Declare.
- * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
- (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
- * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
- * config/i386/i386.opt (msselibm): New target option.
- * config/i386/i386.c (ix86_builtin_function_variants): New array.
- (ix86_init_sse_abi_builtins): New function.
- (ix86_expand_library_builtin): Likewise.
- (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
- (override_options): Handle error conditions wrt -msselibm.
- (ix86_builtins): Add function codes for SSE2 ABI builtins.
- (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
- * doc/extend.texi (__builtin_sse2_*): Document new target specific
- builtins.
- 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/27420
- * c-common.c (self_promoting_args_p): Skip erroneous args.
- PR c/26818
- * c-decl.c (finish_struct): Skip erroneous fields.
- 2006-05-22 Nick Clifton <nickc@redhat.com>
- * config/cris/cris.opt (march): Remove VarExists attribute.
- (max-stackframe=): Likewise.
- 2006-05-22 Kazu Hirata <kazu@codesourcery.com>
- * doc/rtl.texi: Fix a typo.
- * see.c: Fix comment typos.
- * tree-ssa-structalias.h (alias_info): Remove num_references.
- 2006-05-21 Mike Stump <mrs@apple.com>
- * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
- (BAD2): Add.
- (darwin_pragma_options): Use BAD instead.
- (darwin_pragma_unused): Likewise.
- (darwin_pragma_ms_struct): Likewise.
- 2006-05-21 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
- 2006-05-21 Kazu Hirata <kazu@codesourcery.com>
- PR rtl-optimization/27671
- * simplify-rtx.c (simplify_relational_operation_1): Fix
- simplifications of (eq/ne (xor x y) y) and
- (eq/ne (xor x y) x).
- PR tree-optimization/26622.
- * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
- on arg1.
- 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
- * tree-cfg.c: Prune whitespace.
- (debug_tree_cfg): Point to correct header containing the
- TDF_* defines.
- 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
- PR middle-end/25776
- * cgraphunit.c (verify_cgraph_node): Typo in error message.
- 2006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/25776
- * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
- or sorry count is non zero.
- 2006-05-20 Andreas Schwab <schwab@suse.de>
- * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
- 2006-05-19 Daniel Berlin <dberlin@dberlin.org>
- Kenneth Zadeck <zadeck@naturalbridge.com>
- PR rtl-optimization/26855
- * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
- multiword refs.
- (df_scan_alloc): Added code to properly handle multiword hard
- registers and add all_blocks parameter.
- (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
- code to properly handle multiword hard registers.
- (df_rescan_blocks): Added code to remove deleted blocks from
- bitmap.
- (df_ref_create_structure, df_ref_record): Added code to properly
- handle subregs.
- (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
- and set DF_REF_PARTIAL.
- (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
- (df_uses_record): Added DF_REF_PARTIAL for subreg.
- (df_scan_add_problem): Added flags parameter.
- (df_ref_create_structure): Changed switching structure.
- (df_bb_refs_record): Fixed case where duplicate artificial refs
- were created. Changed location of flags.
- (df_record_entry_block_defs): Added code to make stack pointer
- live in entry block. Refined cases where frame pointer is needed.
- Changed location of flags.
- (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
- (df_set_state): Removed function.
- (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
- df_insn_create_insn_record, df_insn_refs_delete,
- df_ref_create_structure): Formatting changes.
- * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
- df_delete_basic_block): New function.
- (df_init): Changed location of flags.
- (df_add_problem): Added flags parameter and the way flags are
- processed.
- (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
- debug_df_chain): Improved debugging output.
- (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
- (df_refs_chain_dump): Removed df parameter.
- (df_iterative_dataflow): Added consistency check.
- (df_prune_to_subcfg): Made public.
- (df_analyze_problem): Added blocks_to_init parameter and made
- public.
- (df_ref_record, df_bb_refs_record, df_mark_reg,
- df_record_exit_block_uses): Whitespace changes.
- (df_dump): Whitespace changes.
- * df.h: Some reordering to remove forward references.
- (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
- DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
- (df_ref_flags.DF_REF_CLOBBER): Deleted field.
- (dataflow.flags): New field.
- (df.flag): Deleted field.
- (df_alloc_function): Added additional bitmap parameter.
- (df_dependent_problem_function): New type.
- (df_problem.changeable_flags): New field.
- (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
- DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
- (df_mw_hardreg): New struct.
- (DF_INSN_UID_MWS): New macro.
- (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
- parameter.
- (df_add_problem, df_ru_add_problem, df_rd_add_problem,
- df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
- df_ri_add_problem, df_scan_add_problem): Added flags parameter.
- (df_set_state): Removed function.
- (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
- * df-problems.c (df_chain_dump): Removed df parameter.
- (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
- df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
- parameter.
- (df_ru_alloc, df_rd_alloc): Now resets all blocks.
- (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
- df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
- Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
- DF_REF_MUST_CLOBBER cases.
- (df_ru_bb_local_compute_process_def,
- df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
- df_lr_bb_local_compute, df_ur_bb_local_compute,
- df_chain_create_bb): Made subreg aware.
- (df_ru_bb_local_compute, df_rd_bb_local_compute,
- df_lr_bb_local_compute, df_lr_bb_local_compute,
- df_chain_create_bb): Cleanup to use proper macros.
- (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
- code to fixup bitvectors.
- (df_ri_alloc): Cleared lifetime.
- (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
- df_create_unused_note): New function.
- (df_ri_bb_compute, df_ri_compute): Added code to create/update
- REG_DEAD and REG_UNUSED notes as well as register information.
- (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
- df_chains_dump): Fixed crash if problem was never run.
- (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
- df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
- df_ri_add_problem): Processes flags in uniform manner.
- (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
- df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
- df_rd_dump, df_urec_free_bb_info): Formatting changes.
- (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
- df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
- df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
- df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
- df_ur_dump, df_urec_free_bb_info, df_urec_dump,
- df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
- * modulo-sched.c (sms_schedule): Added flag parameter to calls.
- * see.c (see_initialize_data): Ditto.
- * final.c (rest_of_clean_state) Added regstack_completed.
- * rtl.h (regstack_completed): Ditto.
- * reg-stack.c (regstack_completed): Ditto.
- 2006-05-19 Mike Stump <mrs@apple.com>
- * c-tree.h (default_conversion): Remove.
- * c-common.h (default_conversion): Add.
- 2006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (valid_value_p): New function.
- (adjust_range_with_scev): Fail if the value of bound is not
- simple.
- 2006-05-19 Richard Sandiford <richard@codesourcery.com>
- * config/mips/linux-unwind.h: Include <asm/unistd.h>
- (mips_fallback_frame_state): Use syscall numbers to determine
- the appropriate li instruction for the current ABI. Only use
- __NR_sigreturn for o32.
- 2006-05-19 Nicolas Setton <setton@adacore.com>
- * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
- * langhooks.c (lhd_dwarf_name): New function.
- * langhooks-def.h (lhd_dwarf_name): Declare.
- (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
- * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
- 2006-05-19 Richard Sandiford <richard@codesourcery.com>
- * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
- libgcc2.h.
- (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
- MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
- LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
- * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
- Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
- determine the size of Wtype, etc.
- * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
- (swfloatfuncs): New variable.
- (dwfloatfuncs): Likewise.
- (lib2funcs): Remove floating-point conversion functions from
- initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
- the set of conversion routines needed. Allow entries to specify
- an object name, filename and word size. Update users accordingly.
- * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
- * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
- Revert:
- 2006-02-08 Roger Sayle <roger@eyesopen.com>
- PR target/22209
- * config/fixtfdi.c: New libgcc source file.
- * config/fixunstfdi.c: New source file.
- * config/floatditf.c: New source file.
- * config/floatunditf.c: New souce file.
- * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
- files above instead of config/mips/_tilib.c.
- * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
- 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
- * pa/pa-hpux11.h (LIB_SPEC): Update comment.
- 2006-05-18 Mike Stump <mrs@apple.com>
- Fix up vla, vm and [*] sematics.
- PR c/18740
- PR c/7948
- PR c/25802
- PR c/27673
- * c-tree.h (struct c_arg_info): Add had_vla_unspec.
- (c_vla_unspec_p): Add.
- (c_vla_type_p): Add.
- * c-decl.c (struct c_scope): Add had_vla_unspec.
- (build_array_declarator): Add support for [*].
- (grokdeclarator): Likewise.
- (grokparms): Likewise.
- (get_parm_info): Likewise.
- * c-objc-common.c (c_vla_unspec_p): Likewise.
- * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
- * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
- typeof when argument is a variably modified type not inside sizeof or alignof.
- (c_parser_direct_declarator_inner): Propagate errors.
- (c_parser_sizeof_expression): Add support for [*].
- (c_parser_parms_declarator): Initialize had_vla_unspec.
- (c_parser_parms_list_declarator): Likewise.
- * c-typeck.c (c_vla_type_p): Add.
- (composite_type): Add support for vla compositing.
- (comptypes_internal): Add support for vla compatibility.
- (c_expr_sizeof_expr): Evaluate vla arguments.
- * tree.c (variably_modified_type_p): Update comment for [*].
- 2006-05-18 Michael Matz <matz@suse.de>
- PR target/27599
- * config.host: Make assignments to host_xmake_file cumulative.
- * config.host (*-darwin*): Test $host, not $target.
- 2006-05-12 Stuart Hastings <stuart@apple.com>
- * config/i386/i386.opt (-mstackrealign): New flag.
- * config/i386/i386.c (force_align_arg_pointer): New attribute.
- (ix86_handle_cconv_attribute): Emit error when
- force_align_arg_pointer attribute collides with too many regparms.
- (ix86_function_regparm): Limit regparms when used with
- force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
- Support stack-realigning prologue in non-main functions. Emit
- warning for nested functions under -mstackrealign, emit error for
- nested functions with force_align_arg_pointer attribute.
- * doc/extend.texi (force_align_arg_pointer): Document it.
- * doc/invoke.texi (-mstackrealign): Document it.
- 2006-05-17 Kazu Hirata <kazu@codesourcery.com>
- PR rtl-optimization/27477
- * combine.c (try_combine): Don't split a parallel consisting
- of two sets into two individual sets if both sets reference
- cc0.
- 2006-05-17 H.J. Lu <hongjiu.lu@intel.com>
- * config/arm/arm.opt (target_fpe_name): Remove VarExists.
- * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
- * doc/options.texi (VarExists): Updated.
- 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * unwind-dw2.c: Add declarations for uw_update_context and
- uw_frame_state_for.
- * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
- detected, advance frame state and context once to skip over stub.
- 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
- PR middle-end/20256
- PR middle-end/26435
- * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
- Call rewrite_into_loop_closed_ssa only when something changed.
- * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
- * lambda-code.c (can_convert_to_perfect_nest): Declared.
- (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
- Test for perfect_nest_p here. Fix formating.
- (replace_uses_equiv_to_x_with_y): Fix formating.
- (stmt_uses_op): Removed.
- (can_convert_to_perfect_nest): Removed loopivs parameter.
- Complete the test by checking the scalar dependences.
- (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
- Fix formating.
- 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
- PR bootstrap/22541
- From Dan Kegel <dank@kegel.com>:
- * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
- 2006-05-17 Eric Botcazou <ebotcazou@adacore.com>
- * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
- if the element type is variably modified without recursing.
- 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
- PR middle-end/27332
- * tree-loop-linear.c (try_interchange_loops): Test for
- no data dependences.
- 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27548
- * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
- range of ssa names that appear on abnormal edges.
- * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
- * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
- 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
- PR middle-end/27620
- * expr.c (safe_from_p): Handle CONSTRUCTOR again.
- 2006-05-17 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/27415
- * tree.h (OMP_PARALLEL_COMBINED): Define.
- * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
- (new_omp_context): Add is_combined_parallel argument.
- (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
- new_omp_context caller.
- (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
- Adjust gimplify_scan_omp_clauses callers.
- (omp_is_private): Issue errors if iteration variable is firstprivate
- or reduction in the current context.
- * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
- on combined parallel workshare constructs.
- 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
- * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
- (gcc-options.o): New rule.
- * optc-gen.awk: Protect variables for gcc-options.o with
- #ifdef GCC_DRIVER/#endif.
- 2006-05-16 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/27373
- * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
- (forward_propagate_addr_expr): Update call.
- 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
- * doc/options.texi: Move the Negative option.
- 2006-05-16 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/22303
- * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
- from STRING_CSTs.
- (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
- ccp_fold did not simplify the statement.
- 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
- PR driver/26885
- * Makefile.in (GCC_OBJS): New.
- (OBJS-common): Add opts-common.o.
- (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
- (cpp$(exeext)): Likewise.
- (gcc.o): Also depend on opts.h.
- (opts-common.o): New.
- * common.opt (gcoff): Add Negative(gdwarf-2).
- (gdwarf-2): Add Negative(gstabs).
- (gstabs): Add Negative(gstabs+).
- (gstabs+): Add Negative(gvms).
- (gvms): Add Negative(gxcoff).
- (gxcoff): Add Negative(gxcoff+).
- (gxcoff+): Add Negative(gcoff).
- * config/i386/i386.opt (m32): Add Negative(m64).
- (m64): Add Negative(m32).
- * doc/options.texi: Document the Negative option.
- * gcc.c: Include "opts.h".
- (main): Call prune_options after expandargv.
- * optc-gen.awk: Generate common declarations for all flag
- variables in options.c. Output the neg_index field.
- * opts.c (find_opt): Moved to ...
- * opts-common.c: Here. New file.
- * opts.h (cl_option): Add a neg_index field.
- (find_opt): New.
- (prune_options): Likewise.
- 2006-05-16 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/27573
- * omp-low.c (expand_omp_parallel): Don't assert
- .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
- instead search for it.
- PR c/27499
- * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
- is signed.
- 2006-05-16 Andreas Schwab <schwab@suse.de>
- * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
- defmac.
- 2006-05-15 Roger Sayle <roger@eyesopen.com>
- PR target/26600
- * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
- integer constants other than zero are only legitimate on TARGET_64BIT.
- <CONST_VECTOR> Only zero vectors are legitimate.
- (ix86_cannot_force_const_mem): Integral and vector constants can
- always be put in the constant pool.
- 2006-05-16 DJ Delorie <dj@redhat.com>
- * crtstuff.c (__dso_handle): Set section from
- TARGET_LBIGCC_SDATA_SECTION if defined.
- * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
- * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
- 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
- PR target/27599
- * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
- host_xmake_file.
- 2006-05-16 Ben Elliston <bje@au.ibm.com>
- * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
- 2006-05-15 Per Bothner <per@bothner.com>
- * tree.c: (last_annotated_node): Use source_locus typedef.
- This permits bootstrapping with --enable-mapped-location.
- 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/26830
- * tree-into-ssa.c (struct ssa_name_info): Add age field.
- (info_for_ssa_name, current_info_for_ssa_name_age,
- blocks_to_update): New variables.
- (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
- (clear_ssa_name_info, initialize_flags_in_bb,
- mark_block_for_update): New functions.
- (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
- (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
- prepare_def_site_for): Use mark_block_for_update.
- (mark_def_interesting): Assert that the processed block is marked in
- blocks_to_update. Do not take blocks argument.
- (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
- argument.
- (rewrite_update_init_block, rewrite_update_stmt): Only process
- blocks with statements to rewrite.
- (delete_update_ssa): Do not clear SSA_NAME_AUX.
- (update_ssa): Initialize and free blocks_to_update. Do not
- clear flags on statements. Do not use blocks bitmap.
- * tree.h (SSA_NAME_AUX): Removed.
- (struct tree_ssa_name): Removed aux field.
- * print-tree.c (print_node): Do not print SSA_NAME_AUX.
- 2006-05-15 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27603
- * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
- Do computations in original type.
- 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
- * see.c: Code style changes such as redundant paranthesis,
- redundant intialization of local variables etc.
- (see_main): Declared now as static.
- * doc/invoke.texi: Update that -fsee is not enabled by
- default at -O3.
- 2006-05-15 Jakub Jelinek <jakub@redhat.com>
- * omp-low.c (check_omp_nesting_restrictions): New function.
- (scan_omp_1): Call it.
- PR middle-end/27416
- * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
- construct, return *VAR.
- 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
- PR rtl-optimization/27406
- * bt-load.c (migrate_btr_def): Skip the block having abnormal
- edges.
- 2006-05-14 Roger Sayle <roger@eyesopen.com>
- PR rtl-optimization/27538
- * combine.c (expand_compound_operation): Call gen_lowpart
- before calling simplify_shift_const.
- 2006-05-14 Roger Sayle <roger@eyesopen.com>
- PR rtl-optimization/22563
- * expmed.c (store_fixed_bit_field): When using AND and IOR to store
- a fixed width bitfield, always force the intermediates into psuedos.
- 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
- PR 27501
- * mkconfig.sh: Use operator = instead of == for test.
- 2006-05-13 Nick Clifton <nickc@redhat.com>
- * dwarf2out.c (dbx_reg_number): Check return value from
- LEAF_REG_REMAP and only use it if it is valid.
- (multiple_reg_loc_descriptor): Likewise.
- 2006-05-13 Richard Guenther <rguenther@suse.de>
- * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
- host_xmake_file.
- 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
- * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
- information attached to non-INSNs such as NOTEs.
- (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
- 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
- On contraint.
- * config/s390/s390.md: Adjust comment describing On constraint.
- 2006-05-11 Jan Hubicka <jh@suse.cz>
- * cgraphunit.c (decide_is_function_needed): Don't force always_inline
- to be output at -O0.
- 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR middle-end/27384
- * fold-const.c (size_binop): Move sanity check for arguments to
- the beginning of the function.
- PR middle-end/27488
- * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
- expression.
- 2006-05-11 Richard Guenther <rguenther@suse.de>
- PR middle-end/27529
- * fold-const.c (fold_unary): Handle intermediate conversion
- to a pointer type like intermediate conversion to an integer
- type in folding of (T1)(T2)var to var.
- Match the code to the comment in the final conversion for
- (T1)(T2)var to (T1)var regarding to type precision. Rather
- than disallow T1 being of pointer type, assert that both T1
- and var are of pointer type or not. Make sure not to fall
- over the frontends lazyness wrt array to pointer decay though.
- 2006-05-10 Richard Earnshaw <rearnsha@arm.com>
- * arm.c (arm_struct_value_rtx): Delete.
- (TARGET_STRUCT_VALUE_RTX): Use the default definition.
- (arm_init_cumulative_args): Always initialize nregs to zero.
- 2006-05-10 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27532
- * tree-object-size.c (plus_expr_object_size): Fix typo.
- 2006-05-10 Kazu Hirata <kazu@codesourcery.com>
- PR target/24949
- * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
- ashrdi_const, ashrdi3): Use a scratch register.
- 2006-05-10 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27302
- * fold-const.c (operand_equal_p): For two comparisons,
- try comparison of one comparison code swapped if that yields
- the same code.
- 2006-05-10 Ben Elliston <bje@au.ibm.com>
- * tree-pretty-print.c (pretty_print_string): No need to handle
- '\0' as a special character.
- * tree.h: Include "hashtab.h".
- (iterative_hash_expr): Use hashval_t in its prototype.
- * Makefile.in (TREE_H): Add $(HASHTAB_H).
- 2006-05-09 Steve Ellcey <sje@cup.hp.com>
- PR bootstrap/26872
- * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
- (hppa*64*-*-hpux11*): Ditto.
- (hppa[12]*-*-hpux11*): Ditto.
- 2006-05-09 David Edelsohn <edelsohn@gnu.org>
- PR target/26545
- * config/rs6000/aix41.h (TARGET_64BIT): Define.
- 2006-05-09 Michael Matz <matz@suse.de>
- * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
- host_extra_gcc_objs and host_xmake_file.
- (<*-*-linux*>): Don't overwrite host_xmake_file.
- * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
- * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
- (host_detect_local_cpu): Declare.
- (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
- * config/i386/i386.c (override_options): Handle -mtune=native
- as -mtune=generic.
- * config/i386/x-i386: New file.
- * config/i386/driver-i386.c: New file.
- * doc/invoke.texi (<i386 and x86-64 Options>): Describe
- cpu-type "native".
- 2006-05-09 Dirk Mueller <dmueller@suse.de>
- Richard Guenther <rguenther@suse.de>
- PR middle-end/27498
- * fold-const.c (fold_read_from_constant_string): Relax check
- for matching types to matching modes.
- 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/27335
- * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
- loops.
- 2006-05-08 Chao-ying Fu <fu@mips.com>
- Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
- (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
- * config/mips/mips.md (UNSPEC_SCC): New constant.
- * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
- * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
- (mips_emit_compare): Use it.
- (mips_expand_vcondv2sf): New function.
- 2006-05-08 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/27093
- * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
- renaming when they become not-used_alone.
- 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
- relocation and relocation stubs.
- 2006-05-08 Eric Christopher <echristo@apple.com>
- * unwind-dw2-fde-darwin.c (examine_objects): Only check data
- section for ppc.
- 2006-05-08 Jan Hubicka <jh@suse.cz>
- PR middle-end/24561
- * cgraphunit.c (decide_is_function_needed): When not optimizing even
- unused static functions are needed.
- 2006-05-08 Roger Sayle <roger@eyesopen.com>
- PR target/27158
- * reload.c (find_reloads_toplev): Only return the simplified SUBREG
- of a reg_equiv_constant if the result is a legitimate constant.
- 2006-05-08 Uros Bizjak <uros@kss-loka.si>
- PR target/27277
- * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
- standard 80387 constants, raise the cost to prevent
- compress_float_constant() to generate load from memory.
- 2006-05-08 Kazu Hirata <kazu@codesourcery.com>
- * config/arm/constraints.md (c): Fix a typo.
- * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
- typos.
- 2006-05-07 H.J. Lu <hongjiu.lu@intel.com>
- PR target/24879
- * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
- inline function.
- (_mm_mwait): Likewise.
- * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
- "mwait".
- (sse3_monitor): Make it 32bit only.
- (sse3_monitor64): New. 64bit monitor.
- 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR target/27421
- * config/i386/i386.c (classify_argument): Skip fields with invalid
- types.
- 2006-05-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27409
- * tree-ssa-structalias.c (get_constraint_for_component_ref):
- Do not try to find zero-sized subvars.
- 2006-05-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27136
- * tree-ssa-loop-niter.c (get_val_for): Correct function
- comment, assert requirements.
- (loop_niter_by_eval): Stop processing if the iterated
- value did not simplify.
- 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
- * opts.c (flag_see): remove its setting at -O3.
- 2006-05-07 Richard Earnshaw <rearnsha@arm.com>
- * genpeep.c (main): Make insn-peep.c depend on flags.h.
- * arm/constraints.md: New file.
- * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
- (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
- (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
- (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
- (EXTRA_MEMORY_CONSTRAINT): Likewise.
- * arm.md: Include constraints.md.
- (thumb_movsi_insn): Use satisfies_constraint_J.
- (movhi, movqi): Use satisfies_constraint_I.
- 2006-04-29 Anatoly Sokolov <aesok@post.ru>
- * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
- for atmeg a645 device.
- 2006-05-06 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27151
- * tree-vect-transform.c (vectorizable_condition): Punt on
- values that have a different type than the condition.
- 2006-05-03 Aldy Hernandez <aldyh@redhat.com>
- PR/21391
- * c-parser.c (c_parser_cast_expression): Only insert casts into
- hash table if pointer.
- * function.c (used_types_insert_helper): Rename from
- used_types_insert.
- (used_types_insert): Call used_types_insert_helper.
- * function.h (used_types_insert): Accept only one argument.
- 2006-05-05 David Edelsohn <edesohn@gnu.org>
- * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
- scratch with output modifier.
- 2006-05-04 David Edelsohn <edelsohn@gnu.org>
- PR target/26481
- * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
- with output modifier.
- 2006-05-04 Richard Sandiford <richard@codesourcery.com>
- PR target/26765
- * config/mips/mips.c (mips_symbolic_address_p): Return true
- for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
- SYMBOL_GOTTPREL, and SYMBOL_TLS.
- 2006-05-04 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/14287
- PR tree-optimization/14844
- PR tree-optimization/19792
- PR tree-optimization/21608
- PR tree-optimization/27090
- * tree-ssa-pre.c (try_combine_conversion): New function.
- (compute_avail): After constructing the value-handle
- expression, use try_combine_conversion to combine NOP_EXPRs
- with previous value-handle expressions and use the result if it
- is available.
- 2006-05-04 Joseph S. Myers <joseph@codesourcery.com>
- * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
- 2006-05-04 Jan Hubicka <jh@suse.cz>
- PR middle-end/25962
- * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
- 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/predicates.md (const01_rtx): Tell generator programs
- that this only matches CONST_INTs. All users changed to VOIDmode
- operands.
- * config/bfin/bfin.c: Include "optabs.h".
- (bfin_rtx_costs): Some costs for vector operations, to allow combine
- to do more work.
- (enum bfin_builtins): Add a number of fractional and vector builtins.
- (bfin_init_builtins): Likewise.
- (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
- (safe_vector_operand, bfin_expand_binop_builtin,
- bfin_expand_unop_builtin): New functions.
- (bfin_expand_builtin): Handle the new builtins.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
- __ADSPBLACKFIN__.
- 2006-05-04 Leehod Baruch <leehod@il.ibm.com>
- * see.c: New file.
- * Makefile.in (OBJS-common): Add see.o.
- (see.o): Add dependencies.
- * common.opt (fsee): New flag for the see optimization was added.
- * opts.c (flag_see): Initialized.
- * passes.c (init_optimization_passes, pass_see): New pass.
- * rtl.h (see_main): Declaration as extern.
- * timevar.def (TV_SEE): New.
- * tree-pass.h (pass_see): Declaration as extern.
- * invoke.texi (-fsee): Document.
- * recog.c (validate_simplify_insn): New function.
- * recog.h (validate_simplify_insn): Declaration as extern.
- * df-problems.c (df_chain_dump): Check for NULL.
- 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
- Daniel Berlin <dberlin@dberlin.org>
- * cfgrtl.c (insert_insn_bb_end_new): New function.
- * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
- 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
- * df.h (struct web_entry): Moved from web.c.
- (union_defs): Declaration as extern.
- (unionfind_root): Likewise.
- (unionfind_union): Likewise.
- * web.c (struct web_entry): Moved to df.h.
- (unionfind_root): Remove static declaration.
- (unionfind_union): Likewise.
- (union_defs): Likewise and generalize to use callback function.
- (web_main): Update arguments for union_defs function call.
- 2006-05-04 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26447
- * tree-ssa-pre.c (realify_fake_stores): For necessary loads
- produce SSA_NAME copies before the store stmt to avoid
- breaking exception handling.
- 2006-05-04 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/27388
- * gimplify.c (omp_is_private): If var is shared in some outer context,
- return false instead of true. Stop searching on parallel context
- boundary.
- 2006-05-03 Alexandre Oliva <aoliva@redhat.com>
- PR java/8260
- * coverage.c: Use get_gcov_unsigned_t() instead of
- unsigned_type_node all over.
- 2006-05-02 Andrew MacLeod <amacleod@redhat.com>
- PR tree-optimization/27381
- * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
- maintain the same immediate_use links.
- * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
- node rather than segfaulting.
- 2006-05-03 Jakub Jelinek <jakub@redhat.com>
- PR fortran/27395
- * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
- rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
- bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
- 2006-05-02 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/26626
- * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
- always.
- * tree-ssa-operands.c (access_can_touch_variable): Allow
- typecasting through union pointers.
- 2006-05-02 Jakub Jelinek <jakub@redhat.com>
- PR c++/26943
- * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
- (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
- to find if var will be a global variable even in the nested context.
- (omp_copy_decl): Only check for global variable at the end, it might
- be overridden in outer contexts.
- (scan_sharing_clauses): For global variables don't create a field.
- (lower_rec_input_clauses): Do nothing for global shared variables.
- Emit a barrier at the end of ILIST if there were any decls in both
- firstprivate and lastprivate clauses.
- (lower_send_clauses): Do nothing for global variables except for
- COPYIN.
- 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
- * tree.c (unsigned_type_for, signed_type_for): Make sure a type
- of the correct signedness is returned.
- 2006-05-02 Jeff Law <law@redhat.com>
- PR tree-optimization/27364
- * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
- multiply expressions.
- 2006-05-02 Tom Tromey <tromey@redhat.com>
- * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
- 2006-05-02 Kazu Hirata <kazu@codesourcery.com>
- PR target/27387
- * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
- -mthumb -fPIC are used.
- 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
- Joshua Kinard <kumba@gentoo.org>
- PR target/25871
- * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
- with 64-bit pointers.
- 2006-05-02 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (add_minipool_forward_ref): Check if insn
- and pool overlap.
- (create_fix_barrier): Check that a suitable barrier location is
- found.
- (arm_reorg): Include ftmp->address in allowable range of addresses.
- 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
- PR ada/27366
- * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
- on Cygwin.
- 2006-05-02 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/27337
- * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
- around RESULT_DECL for result passed by reference.
- (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
- * omp-low.c (use_pointer_for_field): Don't look at
- DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
- (scan_omp_1): Call remap_decl on RESULT_DECLs.
- (lower_rec_input_clauses): Don't allocate VLA memory for the second
- time or var for passing by reference for
- OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
- TREE_ADDRESSABLE variables when passing by reference.
- * omp-low.c (dump_omp_region): Fix output formatting.
- PR middle-end/27328
- * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
- (expand_omp_parallel): Likewise.
- * tree-cfg.c (move_sese_region_to_fn): Likewise.
- PR middle-end/27325
- * omp-low.c (lower_omp_sections): Call maybe_catch_exception
- on statement list containing also constructors and destructors.
- (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
- PR middle-end/27310
- * except.c (duplicate_eh_regions): Fix clearing of
- cfun->eh->region_array entries.
- 2006-05-01 DJ Delorie <dj@redhat.com>
- * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
- build!=host.
- (gcc_cv_objdump): Likewise.
- * configure: Regenerated.
- 2006-05-01 Kazu Hirata <kazu@codesourcery.com>
- PR target/27374
- * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
- templates for case 3 and 4.
- 2006-05-01 DJ Delorie <dj@redhat.com>
- * vec.c: Include bconfig.h when appropriate.
- * Makefile.in (build/vec.o): Adjust dependencies.
- * mkconfig.sh: Make sure config.h isn't used for build machine
- compiles.
- 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
- variables.
- (mark_phi_for_rewrite): New function.
- (insert_phi_nodes_for, mark_use_interesting): Call
- mark_phi_for_rewrite.
- (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
- (update_ssa): Initialize and free phis_to_rewrite.
- 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/27291
- * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
- folded to a constant.
- 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27283
- * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
- not whole # of iteration descriptions.
- (niter_for_exit): Return just # of iterations. Fail if # of iterations
- uses abnormal ssa name.
- (niter_for_single_dom_exit): Ditto.
- (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
- return just the number of iterations.
- 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/27144
- * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
- (record_estimate): Only record constant upper bound.
- (infer_loop_bounds_from_undefined): Call
- compute_estimated_nb_iterations just once.
- (proved_non_wrapping_p): Renamed to ...
- (n_of_executions_at_most): ... this. Expect bound to be a constant.
- (convert_step_widening, scev_probably_wraps_p): Call
- n_of_executions_at_most instead of proved_non_wrapping_p.
- (substitute_in_loop_info): Do not replace values in bounds.
- * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
- comments.
- 2006-05-01 Richard Henderson <rth@redhat.com>
- PR c/27358
- * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
- c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
- CPP_PRAGMA.
- 2006-05-01 Roger Sayle <roger@eyesopen.com>
- * c-typeck.c (parser_build_binary_op): Don't call the function
- unsigned_conversion_warning to spot operand/result type overflow.
- (build_binary_op): Instead, call convert_and_check instead of
- convert to report the problem when the operands are promoted.
- * c-common.c (unsigned_conversion_warning): Make static.
- * c-common.h (unsigned_conversion_warning): Delete prototype.
- 2006-05-01 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26726
- * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
- problem ...
- (find_interesting_uses_address): ... we work around here
- by folding INDIRECT_REFs in the substituted base.
- 2006-05-01 Diego Novillo <dnovillo@redhat.com>
- * omp-low.c (dump_omp_region): Add newlines.
- 2006-04-30 Roger Sayle <roger@eyesopen.com>
- * common.opt (Woverflow): New command line option.
- * c-common.c (constant_expression_warning): Check warn_overflow.
- (overflow_waring): Pass OPT_Woverflow to warning.
- (unsigned_conversion_warning): Likewise.
- (convert_and_check): Likewise.
- * doc/invoke.texi: Document new command line option.
- 2006-04-30 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.c (rs6000_override_options): Enable
- TARGET_NO_FP_IN_TOC for section anchors.
- (optimization_options): Enable section anchors for all
- non-"Objective" languages.
- 2006-04-28 Eric Christopher <echristo@apple.com>
- * config/darwin-c.c (darwin_ms_struct): Move this
- (darwin_set_default_type_attributes): and this...
- * config/darwin.c: ... here.
- * config/darwin.h (darwin_ms_struct): Declare.
- 2006-04-28 Andrew MacLeod <amacleod@redhat.com>
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
- 2006-04-28 Roger Sayle <roger@eyesopen.com>
- PR c/25309
- * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
- (push_array_bounds): Delete prototype. Change BOUNDS argument to
- an unsigned HOST_WIDE_INT.
- (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
- array index.
- (really_start_incremental_init): No need to call convert because
- bitsize_zero_node is already of type bitsizetype.
- (push_init_level): Extract the value of constructor_index as an
- unsigned HOST_WIDE_INT quantity, using tree_low_cst.
- (process_init_element): Likewise.
- 2006-04-28 Joseph S. Myers <joseph@codesourcery.com>
- * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
- value before passing to make_relative_prefix.
- 2006-04-28 Alan Modra <amodra@bigpond.net.au>
- PR middle-end/27260
- * builtins.c (expand_builtin_memset): Expand val in original mode.
- 2006-04-27 Eric Christopher <echristo@apple.com>
- * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
- with #ifndef/#endif.
- * config/darwin-c.c (darwin_ms_struct): New.
- (darwin_pragma_ms_struct): Ditto.
- (darwin_set_default_type_attributes): Ditto.
- * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
- * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
- Register ms_struct pragma.
- * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
- (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
- * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
- darwin_set_default_type_attributes if TARGET_MACHO.
- 2006-04-27 Andrew MacLeod <amacleod@redhat.com>
- PR tree-optimization/26854
- * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
- * doc/tree-ssa.texi: Update immuse iterator documentation.
- * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
- * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
- first_safe_imm_use, next_safe_imm_use): Remove.
- (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
- (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
- (move_use_after_head): New. Helper function to sort immuses in a stmt.
- (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
- (first_imm_use_stmt): New. Get first stmt in an immuse list.
- (next_imm_use_stmt): New. Get next stmt in an immuse list.
- (first_imm_use_on_stmt): New. Get first immuse on a stmt.
- (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
- (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
- * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
- (perfect_nestify): Use new iterator.
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
- iterator.
- * tree-flow.h (struct immediate_use_iterator_d): Add comments.
- (next_imm_name): New field in struct immediate_use_iterator_d.
- (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
- (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
- FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
- * tree-cfg.c (replace_uses_by): Use new iterator.
- * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
- * tree-ssa-operands.c (correct_use_link): Remove.
- (finalize_ssa_use_ops): No longer call correct_use_link.
- 2006-04-27 Stuart Hastings <stuart@apple.com>
- * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
- * config/t-darwin (crt3.o): Use it.
- * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
- 'pmode', use Pmode instead of SImode for SYMBOL_REF.
- * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
- call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
- call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
- support.
- 2006-04-27 Roger Sayle <roger@eyesopen.com>
- * expmed.c (store_fixed_bit_field): If we're not optimizing for
- size, force the intermediate into a new pseudo rather instead of
- performing both a bitwise AND and a bitwise IOR in memory.
- 2006-04-27 Richard Guenther <rguenther@suse.de>
- PR rtl-optimization/26685
- * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
- this one "max-flow-memory-locations".
- 2006-04-27 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/25148
- * tree-vrp.c (compare_values): Remove code dealing with
- comparisons against type min/max value. Honour overflow
- and negative constants in code dealing with comparisons
- of plus and minus expressions.
- (value_inside_range): Use fold_binary with LE_EXPR and
- GE_EXPR rather than compare_values.
- 2006-04-27 Dirk Mueller <dmueller@suse.de>
- * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
- prototype for SSE.
- 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
- * basic-block.h (safe_insert_insn_on_edge): Removed.
- * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
- 2006-04-26 David Edelsohn <edelsohn@gnu.org>
- Paolo Bonzini <bonzini@gnu.org>
- PR middle-end/27282
- * combine.c (simplify_and_const_int_1): Use gen_int_mode.
- (simplify_and_const_int): Same.
- 2006-04-26 Aldy Hernandez <aldyh@redhat.com>
- * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
- 2006-04-26 Jakub Jelinek <jakub@redhat.com>
- PR c/26171
- * cgraph.c (cgraph_varpool_finalize_decl): Don't call
- cgraph_varpool_assemble_pending_decls if -fopenmp, unless
- cgraph_global_info_ready.
- PR middle-end/26913
- * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
- PR c/25996
- * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
- either decl or init is error_mark_node.
- PR middle-end/25989
- * tree-flow.h (struct omp_region): Add sched_kind.
- * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
- instead of extracting omp for data.
- (expand_omp_for): Save extracted sched_kind.
- 2006-04-25 Roger Sayle <roger@eyesopen.com>
- * expmed.c (store_bit_field): Also check whether the bitsize is
- valid for the machine's "insv" instruction before moving the
- target into a pseudo for use with the insv.
- * config/i386/predicates.md (const8_operand): New predicate.
- * config/i386/i386.md (extv, extzv, insv): Use the new
- const8_operand predicate where appropriate.
- 2006-04-25 DJ Delorie <dj@redhat.com>
- * doc/install.texi (Specific): Clarify that this is not a list of
- supported hosts or targets.
- 2006-04-25 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/26725
- * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
- block's BB_DIRTY flag.
- 2006-04-25 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
- are no branches.
- * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
- to print an integer.
- 2006-04-25 David Edelsohn <edelsohn@gnu.org>
- * varasm.c (align_variable): New function.
- (get_block_for_decl): Apply align_variable to DECL before
- calculating section information.
- (assemble_variable): Split out alignment computation.
- 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
- * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
- machines.
- 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
- * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
- MODE_PARTIAL_INT mode.
- * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
- * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
- for CONST_INTs.
- (hard_regno_mode_ok): V2PDImode is ok for accumulators.
- * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
- V2PDImode.
- * config/bfin/predicates.md (const01_operand, vec_shift_operand):
- New predicates.
- * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
- New constants.
- (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
- MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
- MACFLAG_IH): Likewise.
- (movstricthi_1): Renamed from "*movstricthi".
- (load_accumulator, load_accumulator_pair, movsi_insv, insv,
- ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
- abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
- movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
- movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
- movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
- addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
- sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
- addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
- mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
- ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
- flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
- flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
- flag_macv2hi_parts, flag_macv2hi_parts_acconly,
- flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
- * doc/rtl.texi (ss_ashift): Improve wording.
- 2006-04-24 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (verify_marks_clear): New.
- (prune_unused_types): Call verify_marks_clear initially, not
- prune_unmark_dies.
- 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
- * rtl.def (SS_ASHIFT, SS_NEG): New codes.
- * doc/rtl.texi: Document them.
- * simplify-rtx.c (simplify_unary_operation,
- simplify_binary_operation_1): Don't abort when we see them.
- 2006-04-24 Mark Mitchell <mark@codesourcery.com>
- Revert:
- 2006-04-23 Mark Mitchell <mark@codesourcery.com>
- * configure.ac: Completely disregard languages that are not
- enabled.
- * configure: Regenerated.
- 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
- Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27236
- * tree-inline.c (copy_body_r): Make sure to copy
- TREE_THIS_VOLATILE flag.
- 2006-04-24 Richard Guenther <rguenther@suse.de>
- PR middle-end/26869
- * tree-complex.c (update_parameter_components): Don't handle
- unused parameters which have no default def.
- 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
- Richard Guenther <rguenther@suse.de>
- PR tree-optimization/27218
- * tree-inline.c (expand_call_inline): Strip useless type
- conversions for the return slot address.
- 2006-04-24 Richard Guenther <rguenther@suse.de>
- * cfgloop.h (struct loops): Remove unused field array. Reorder
- state after num.
- (LOOP_PREFETCH): Remove.
- 2006-04-24 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/22525
- * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
- variable, adjust types of generated expressions.
- 2006-04-23 H.J. Lu <hongjiu.lu@intel.com>
- * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
- (tree-vect-patterns.o): Likewise.
- (jump.o): Likewise.
- (cselib.o): Likewise.
- (loop-doloop.o): Likewise.
- (regclass.o): Likewise.
- (reload1.o): Likewise.
- (explow.o): Replace target.h with $(TARGET_H).
- (ipa-prop.o): Likewise.
- (ipa-cp.o): Likewise.
- (ipa-inline.o): Likewise.
- (reorg.o): Likewise.
- (reg-stack.o): Likewise.
- 2006-04-23 Eric Botcazou <ebotcazou@adacore.com>
- * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
- 2006-04-23 Mark Mitchell <mark@codesourcery.com>
- * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
- * configure.ac: Completely disregard languages that are not
- enabled.
- * configure: Regenerated.
- PR c++/26534
- * c-common.h (c_build_bitfield_integer_type): Declare.
- * c-decl.c (c_build_bitfield_integer_type): Move to ...
- * c-common.c (c_build_bitfield_integer_type): ... here.
- 2006-04-23 Roger Sayle <roger@eyesopen.com>
- PR target/21283
- * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
- a SImode SUBREG of a floating point register after no_new_pseudos.
- 2006-04-23 Roger Sayle <roger@eyesopen.com>
- * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
- identify potentially eliminable registers to additionally catch
- VIRTUAL_INCOMING_ARGS_REGNUM.
- (addsi3): Update the conditions on when to use addsi_small_int.
- 2006-04-23 Roger Sayle <roger@eyesopen.com>
- PR target/16641
- * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
- STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
- rtx to stack_pointer_rtx or frame_pointer_rtx directly.
- 2006-04-23 Eric Botcazou <ebotcazou@adacore.com>
- * fold-const.c (range_predecessor): Use operand_equal_p
- as the predicate for equality.
- (range_successor): Likewise.
- 2006-04-22 Kazu Hirata <kazu@codesourcery.com>
- Revert:
- * config/soft-fp/op-common.h: Fix a typo.
- 2006-04-22 Frank Ch. Eigler <fche@redhat.com>
- PR libmudflap/26864
- * common.opt (flag_mudflap_threads): Overload flag_mudflap.
- * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
- 2006-04-22 Kazu Hirata <kazu@codesourcery.com>
- * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
- Fix comment typos.
- * doc/tm.texi: Fix a typo.
- 2006-04-21 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (struct die_struct): Document that die_sib makes
- a circular linked list.
- (FOR_EACH_CHILD): New.
- (reverse_die_lists): Delete.
- (reverse_all_dies): Delete.
- (add_dwarf_attr): Correct documentation.
- (remove_child_with_prev): New.
- (remove_child_TAG): Update for change to die_struct, use
- remove_child_with_prev.
- (add_child_die): Update for change to die_struct.
- (splice_child_die): Use remove_child_with_prev and add_child_die.
- (print_die): Use FOR_EACH_CHILD.
- (die_checksum): Likewise.
- (assign_symbol_names): Likewise.
- (output_location_lists): Likewise.
- (build_abbrev_table): Likewise.
- (calc_die_sizes): Likewise.
- (mark_dies): Likewise.
- (unmark_dies): Likewise.
- (unmark_all_dies): Likewise.
- (output_die): Likewise.
- (prune_unused_types_mark): Likewise.
- (prune_unused_types_walk): Likewise.
- (same_die_p): Update for change to die_struct.
- (break_out_includes): Likewise.
- (prune_unused_types_prune): Likewise.
- (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
- (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
- it's already clear.
- (dwarf2out_finish): Don't call reverse_all_dies.
- 2006-04-21 Eric Christopher <echristo@apple.com>
- * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
- in comments and function names.
- 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR c/25875
- * c-typeck.c (digest_init): Robustify.
- * c-typeck.c (pop_init_level): Simplify.
- 2006-04-21 Steve Ellcey <sje@cup.hp.com>
- * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
- 2006-04-21 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_override_options): Error on iWMMXt and
- hardware floating point.
- 2006-04-21 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
- NON_FLOAT_REGS.
- 2006-04-21 Nick Clifton <nickc@redhat.com>
- * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
- OPT_EXTRA_PARTS.
- 2006-04-21 Alan Modra <amodra@bigpond.net.au>
- PR target/27230
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
- C++ lang type in traceback table for Objective-C++.
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
- 2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
- 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR mudflap/26789
- * tree-mudflap.c (mudflap_finish_file): Skip function when there
- were errors. Remove check for erroneous objects.
- 2006-04-20 Jeff Law <law@redhat.com>
- PR tree-optimization/26854
- * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
- checking for zero or one use.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
- * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
- * tree-ssa-reassoc.c (negate_value): Similarly.
- (reassociate_bb): Similarly.
- 2006-04-20 Jakub Jelinek <jakub@redhat.com>
- PR C/27558
- * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
- TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
- than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
- 2006-04-20 Alan Modra <amodra@bigpond.net.au>
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
- fp regs if the last fp arg doesn't fit in regs.
- 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
- PR target/27182
- * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
- that the last insn has the REG_INC note.
- 2006-04-19 Carlos O'Donell <carlos@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
- PR c/26774
- * stor-layout.c (update_alignment_for_field): Do not align
- ERROR_MARK nodes.
- (place_union_field): Place union field at the start of the union.
- (place_field): Move ERROR_MARK check later, and use the current
- allocation position to maintain monotonicity.
- 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
- * dominance.c: Include timevar.h.
- (calculate_dominance_info): Use TV_DOMINANCE.
- * timevar.def (TV_DOMINANCE): New timevar.
- * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
- 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
- PR rtl-optimization/14261
- * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
- move would be an INSV insn.
- (noce_process_if_block): Don't optimize if the destination is a
- ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
- 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.md: Add comments with the instructions emitted
- by an insn pattern if macros are used.
- 2006-04-19 Alan Modra <amodra@bigpond.net.au>
- PR rtl-optimization/26026
- * fold-const.c (fold_binary): Optimize div and mod where the divisor
- is a known power of two shifted left a variable amount.
- 2006-04-18 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
- to hash table twice when the debug_str section has SECTION_MERGE.
- 2006-04-18 Joseph S. Myers <joseph@codesourcery.com>
- * config/soft-fp: New directory. From glibc.
- * config/soft-fp/t-softfp: New.
- * config/soft-fp/README: New.
- * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
- * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
- (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
- (LIBGCC_DEPS): Add $(SFP_MACHINE).
- * config.gcc: Use rs6000/t-fprules-fpbit or
- rs6000/t-fprules-softfp and soft-fp/t-softfp together with
- rs6000/t-fprules.
- * config/rs6000/sfp-machine.h: New. Based on glibc.
- * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
- New.
- * config/rs6000/t-fprules: Remove fp-bit rules.
- * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
- * config/rs6000/t-linux64: Likewise. Remove duplicates from
- LIB2FUNCS_EXTRA. Remove fp-bit rules.
- (softfp_wrap_start, softfp_wrap_end): New.
- 2006-04-18 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
- 2006-04-18 Devang Patel <dpatel@apple.com>
- * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
- 2006-04-18 Nick Clifton <nickc@redhat.com>
- * config/sh/t-symbian: Add rule to build sh-c.o
- * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
- of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
- (sh_symbian_encode_section_info): Likewise.
- 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
- * builtins.c (expand_builtin_strcmp): Cover label definition of
- do_libcall with HAVE_cmpstrnsi.
- 2006-04-18 Kazu Hirata <kazu@codesourcery.com>
- * function.c (temp_slots_at_level, max_slot_level): Use VEC
- instead of VARRAY.
- * function.h (temp_slot_p): New.
- (function): Change the type of x_used_temp_slots to
- VEC(temp_slot_p,gc) *.
- 2006-04-18 Nick Clifton <nickc@redhat.com>
- * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
- flag_strength_reduce.
- * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
- 2006-04-18 Paolo Bonzini <bonzini@gnu.org>
- PR target/27117
- Partial revert of revision 112637
- 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
- Dale Johannesen <dalej@apple.com>
- PR target/19653
- * regclass.c (struct reg_pref): Update documentation.
- (regclass): Set prefclass to NO_REGS if memory is the best option.
- (record_reg_classes): Cope with a prefclass set to NO_REGS.
- 2006-04-18 Paolo Bonzini <bonzini@gnu.org>
- PR tree-optimization/26821
- * tree-ssa-math-opts.c (get_constant_one): New.
- (insert_reciprocals): Use it.
- 2006-04-17 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (free_AT): Delete.
- (remove_AT): Update string ref counts.
- (remove_child_TAG): Don't call free_die.
- (free_die): Delete.
- (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
- or DW_TAG_GNU_EINCL.
- (prune_unused_types_walk_attribs): Reset string refcounts.
- (prune_unused_types_update_strings): New.
- (prune_unused_types_prune): Don't make unnecessary stores. Don't
- call free_die. Do call prune_unused_types_update_strings.
- (prune_unused_types): Empty debug_str_hash.
- 2006-04-17 Roger Sayle <roger@eyesopen.com>
- * expr.c (expand_assignment): Optimize away no-op moves where the
- source and destination are equal and have no side-effects.
- 2006-04-17 Richard Guenther <rguenther@suse.de>
- PR target/26826
- * reload.c (push_reload): Guard calls to get_secondary_mem
- for memory subregs.
- 2006-04-16 Kazu Hirata <kazu@codesourcery.com>
- * alias.c (reg_base_value, old_reg_base_value): Change the
- type to VEC(rtx,gc) *.
- (REG_BASE_VALUE, find_base_value, record_set,
- init_alias_analysis): Use VEC instead of VARRAY.
- * alias.c (alias_sets): Change the type to
- VEC(alias_set_entry,gc) *.
- (get_alias_set_entry, new_alias_set, record_alias_subset): Use
- VEC instead of VARRAY.
- (last_alias_set): Remove.
- * cgraph.h (cgraph_edge_p): New.
- Update the prototype of cgraph_function_versioning.
- * cgraphunit.c (cgraph_copy_node_for_versioning,
- cgraph_function_versioning): Use VEC instead of VARRAY.
- * ipa-cp.c (ipcp_insert_stage): Likewise.
- 2006-04-16 Roger Sayle <roger@eyesopen.com>
- PR target/26961
- * fold-const.c (fold_ternary): When converting "A ? B : C" into either
- "A op B" or "A op C", we may need to convert A to the type of B and C.
- 2006-04-16 Adam Nemet <anemet@caviumnetworks.com>
- * target.h (struct gcc_target): Add mode_rep_extended.
- * rtlanal.c (num_sign_bit_copies_in_rep): New global.
- (init_num_sign_bit_copies_in_rep): Initialize it using
- mode_rep_extended.
- (truncate_to_mode): Use it.
- (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
- * targhooks.h (default_mode_rep_extended): Declare it.
- * targhooks.c (default_mode_rep_extended): Define it.
- * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
- default_mode_rep_extended.
- (TARGET_INITIALIZER): Include it.
- * doc/tm.texi (Misc): Document it.
- * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
- (mips_truncated_to_mode): New function.
- 2006-04-16 Roger Sayle <roger@eyesopen.com>
- PR middle-end/25474
- * expr.c (compress_float_constant): Copy the narrow constant into
- a new pseudo before extending it to its final width.
- 2006-04-16 Roger Sayle <roger@eyesopen.com>
- Andrew Pinski <pinskia@gcc.gnu.org>
- Dale Johannesen <dalej@apple.com>
- PR target/24076
- * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
- special case code to implement V8HImode and V16QImode with SSE2.
- 2006-04-15 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.c (ix86_va_start): Ensure all integer constant
- trees are constructed with a suitable tree type.
- 2006-04-15 Roger Sayle <roger@eyesopen.com>
- * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
- (integer_onep): Likewise.
- (integer_all_onesp): Likewise.
- (integer_pow2p): Likewise.
- (integer_nonzerop): Likewise.
- (real_zerop): Likewise.
- (real_onep): Likewise.
- (real_twop): Likewise.
- (real_minus_onep): Likewise.
- (int_size_in_bytes): Likewise.
- (host_integerp): Likewise.
- 2006-04-15 Kazu Hirata <kazu@codesourcery.com>
- * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
- jump.c, mips-tfile.c, omp-low.c, sched-int.h,
- tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
- * tree-ssa-structalias.h (alias_info): Remove num_references.
- 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
- (output_bvb patterns): Likewise.
- * pa.c (output_bb): Use 'bb' insn for long branch case.
- (output_bvb): Likewise use '{bvb|bb}' for long branch case.
- (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
- 1. Correct length operand for alternatives 1 and 2.
- (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
- 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
- 2006-04-14 Roger Sayle <roger@eyesopen.com>
- * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
- is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
- were accidentally reverted by r112959.
- 2006-04-15 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26823
- * except.h (eh_region_outermost): New prototype.
- * except.c (eh_region_outermost): New function.
- * tree-cfg.c (find_outermost_region_in_block): Use it.
- 2006-04-14 Kazu Hirata <kazu@codesourcery.com>
- * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
- of VARRAY.
- * reload1.c (reg_equiv_memory_loc_varray): Rename to
- reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
- (init_reload, reload): Use VEC instead of VARRAY.
- * reload.h: Update the prototype for
- reg_equiv_memory_loc_varray.
- 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
- Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
- register save area.
- 2006-04-13 Uros Bizjak <uros@kss-loka.si>
- PR middle-end/27134
- * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
- to expand fallback builtin function call.
- 2006-04-14 Alan Modra <amodra@bigpond.net.au>
- PR middle-end/27095
- * builtins.c: (expand_builtin_memset): Stabilize args before expansion
- and emit libcall here in case the builtin fails.
- (expand_builtin_strcmp): Always emit the libcall here on failure.
- 2006-04-14 Kazu Hirata <kazu@codesourcery.com>
- * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
- * flow.c (reg_n_info): Change the type to
- VEC(reg_info_p,heap) *.
- * regclass.c (allocate_reg_info, free_reg_info): Use VEC
- instead of VARRAY.
- * regs.h (reg_info_p): New.
- (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
- REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
- REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
- instead of VARRAY.
- 2006-04-13 Eric Botcazou <ebotcazou@adacore.com>
- * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
- defaulting to 100.
- * params.h (MAX_SCHED_READY_INSNS): New macro.
- * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
- past MAX_SCHED_READY_INSNS during the first scheduling pass.
- (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
- the ready list for 1 cycle during the first scheduling pass.
- * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
- 2006-04-13 Richard Henderson <rth@redhat.com>
- PR libgomp/26651
- * gimple-low.c (lower_omp_directive): Remove dead code.
- (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
- * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
- * omp-low.c (struct omp_region): Move to tree-flow.h.
- (root_omp_region): Export.
- (omp_regions, lookup_omp_region): Remove.
- (determine_parallel_type): Update for struct omp_region changes.
- (dump_omp_region): Dump regions with block numbers.
- (new_omp_region): Take type and block instead of stmt; malloc
- instead of ggc.
- (free_omp_region_1, free_omp_regions): New.
- (expand_parallel_call): Take entry_stmt as argument; update for
- changes to omp_region.
- (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
- (remove_exit_barriers): New.
- (expand_omp_parallel): Update for struct omp_region changes.
- (expand_omp_synch): Likewise.
- (expand_omp): Likewise.
- (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
- (expand_omp_for_static_chunk): Likewise.
- (expand_omp_for): Likewise.
- (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
- (expand_omp_sections): Similarly, with GOMP_sections_end.
- (expand_omp_single): New.
- (build_omp_regions_1): Update for OMP_CONTINUE.
- (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
- (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
- OMP_SECTIONS_SECTIONS.
- (lower_omp_single_simple): Don't emit barrier here.
- (lower_omp_single_copy): Likewise.
- (lower_omp_single): Fix bindings, and lower to straightline now.
- (lower_omp_master, lower_omp_ordered): Likewise.
- (lower_omp_critical): Likewise.
- (lower_omp_for): Likewise. Emit OMP_CONTINUE.
- * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
- omp edges, free it afterward.
- (make_omp_sections_edges): Remove.
- (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
- (move_stmt_r): Handle OMP_CONTINUE.
- * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
- statement pointers to basic blocks. Add type member.
- (root_omp_region, new_omp_region, free_omp_regions): Declare.
- * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
- * tree-inline.c (estimate_num_insns_1): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree-ssa-operands.c (get_expr_operands): Likewise.
- * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
- (OMP_RETURN): Rename from OMP_RETURN_EXPR.
- (OMP_CONTINUE): New.
- * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
- (OMP_SECTIONS_SECTIONS): Remove.
- (OMP_SECTION_LAST): New.
- (OMP_RETURN_NOWAIT): New.
- 2006-04-13 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (native_encode_vector, native_interpret_real):
- Correct obvious mistakes in the previous check-in.
- 2006-04-13 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (native_encode_expr): New function to encode
- the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
- or VECTOR_CST into a specified buffer.
- (native_encode_int): New function.
- (native_encode_real): New function.
- (native_encode_complex): New function.
- (native_encode_vector): New function.
- (native_interpret_expr): Inverse of native_encode_expr to convert
- a target representation into an INTEGER_CST, REAL_CST etc...
- (native_interpret_int): New function.
- (native_interpret_real): New function.
- (native_interpret_complex): New function.
- (native_interpret_vector): New function.
- (fold_view_convert_expr): New function to constant fold/evaluate
- a VIEW_CONVERT_EXPR of a suitable constant expression.
- (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
- Change call of build1 to fold_build1 when constructing a
- VIEW_CONVERT_EXPR.
- 2006-04-13 Paolo Bonzini <bonzini@gnu.org>
- Ulrich Weigand <uweigand@de.ibm.com>
- PR target/27006
- * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
- to be even.
- 2006-04-13 Alan Modra <amodra@bigpond.net.au>
- PR target/26459
- * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
- optimize to lo_sum for DFmode if !TARGET_FPRS.
- 2006-04-12 Kazu Hirata <kazu@codesourcery.com>
- * tree-ssa-alias.c (set_initial_properties, init_alias_info,
- delete_alias_info, compute_flow_sensitive_aliasing,
- group_aliases): Use VEC instead of VARRAY.
- * tree-ssa-structalias.c (update_alias_info): Likewise.
- * tree-ssa-structalias.h (alias_info): Change the type of
- processed_ptrs to VEC(tree,heap) *.
- 2006-04-12 J"orn Rennecke <joern.rennecke@st.com>
- PR target/27060
- * config/sh/lib1funcs.h: New file, broken out of:
- * config/sh/lib1funcs.asm.
- * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
- New macros.
- * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
- * config/sh/lib1funcs-Os-4-200.asm: New file.
- * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
- * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
- (EXTRA_MULTILIB_PARTS): Include it.
- ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
- ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
- * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
- * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
- TARGET_SH2.
- 2006-04-12 Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
- * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
- tpa_compact, root_var_init, type_var_init): Use VEC instead of
- VARRAY.
- * tree-ssa-live.h: Include vecprim.h.
- (tree_partition_associator_d): Change the type of
- first_partition to VEC(int,heap) *.
- (tpa_first_partition): Use VEC instead of VARRAY.
- * Makefile.in (GTFILES): Move functions.h after tree.h.
- * function.c (reset_block_changes, record_block_change,
- check_block_change, free_block_changes): Use VEC instead of
- VARRAY.
- * function.h (function): Change the type of
- ib_boundaries_block to VEC(tree,gc) *.
- * tree-inline.c (copy_cfg_body): Initialize
- ib_boundaries_block to NULL instead of (varray_type) 0.
- 2006-04-12 Roger Sayle <roger@eyesopen.com>
- * expr.c (emit_group_store): Correct operand order in call to
- subreg_lowpart_offset. Always create paradoxical SUBREGs with
- a SUBREG_BYTE of zero.
- 2006-04-12 Richard Guenther <rguenther@suse.de>
- * profile.c (compute_branch_probabilities): Remove code
- encapsulated in !ir_type (), which are remanents of the
- removed RTL profiling code.
- * rtl-profile.c: Remove.
- 2006-04-12 Alan Modra <amodra@bigpond.net.au>
- * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
- magic NULL_RTX comment.
- (function_arg): Store entire fp arg to mem if any part should go
- on stack.
- (rs6000_arg_partial_bytes): Adjust for above change.
- 2006-04-11 Roger Sayle <roger@eyesopen.com>
- * dwarf2out.c (output_call_frame_info): Create debug_frame_section
- if it hasn't been initialized by dwarf2out_init.
- 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
- * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
- symbolic constants in branch patterns.
- 2006-04-11 Roger Sayle <roger@eyesopen.com>
- * caller-save.c: #include "addresses.h" after #include "tm_p.h".
- 2006-04-11 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/27073
- * gcse.c (try_replace_reg): Revert last change. Continue to search
- for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
- on the former.
- 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
- aggregate types other than record and union types.
- (function_arg): Likewise.
- (function_arg_pass_by_reference): In 64-bit mode, return 0 for
- small arrays.
- (function_value): In 64-bit mode, return objects that require it
- in FP registers.
- 2006-04-11 Roger Sayle <roger@eyesopen.com>
- * dwarf2out.c (premark_used_types): Remove problematic prototype.
- 2006-04-11 Jakub Jelinek <jakub@redhat.com>
- * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
- 2006-04-03 Jeff Law <law@redhat.com>
- PR/27087
- * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
- alias information too.
- 2006-04-10 Mike Frysinger <vapier@gentoo.org>
- * Makefile.in (gcc-cross): Add $(exeext) to target name.
- 2006-04-10 Aldy Hernandez <aldyh@redhat.com>
- PR/21391
- * dwarf2out.c (struct die_struct): Add die_perennial_p field.
- (premark_used_types_helper): New.
- (premark_used_types): New.
- (gen_subprogram_die): Call premark_used_types.
- (prune_unused_types_walk): Do not prune perennial dies.
- * function.c (used_types_insert): New.
- * function.h (struct function): Add used_types_hash field.
- (used_types_insert): Add prototype.
- * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
- * c-parser.c (c_parser_cast_expression): Save casted types in used
- types hash table.
- 2006-04-11 Mark Mitchell <mark@codesourcery.com>
- PR target/26459
- * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
- rs6000_explicit_options.float_gprs.
- 2006-04-10 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
- from ix86_expand_vector_init_low_nonzero. Take an additional
- one_var argument indicating which element is non-zero. Support
- one_var != 0 for V4SFmode and V4SImode by permuting the result.
- (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
- with one_var instead of ix86_expand_vector_init_low_nonzero.
- 2006-04-10 Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
- tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
- global.o, cfglayout.o, lambda-code.o, reg-stack.o,
- build/genextract.o): Depend on vecprim.h.
- * cfglayout.c, df-problems.c, function.c, genextract.c,
- global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
- tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
- vecprim.h.
- * vecprim.h: New.
- 2006-04-10 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
- Declare VECs of this type.
- (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
- (remove_children): Delete.
- (add_dwarf_attr): Use VEC routines.
- (add_AT_flag): Update for changes to add_dwarf_attr.
- (add_AT_int): Likewise.
- (add_AT_unsigned): Likewise.
- (add_AT_long_long): Likewise.
- (add_AT_vec): Likewise.
- (add_AT_string): Likewise.
- (add_AT_die_ref): Likewise.
- (add_AT_fde_ref): Likewise.
- (add_AT_loc): Likewise.
- (add_AT_loc_list): Likewise.
- (add_AT_addr): Likewise.
- (add_AT_lbl_id): Likewise.
- (add_AT_lineptr): Likewise.
- (add_AT_macptr): Likewise.
- (add_AT_offset): Likewise.
- (add_AT_range_list): Likewise.
- (get_AT): Use VEC_iterate.
- (remove_AT): Use VEC_ordered_remove.
- (free_die): Fold remove_children into here; have it use VEC_iterate.
- (print_die): Use VEC_iterate on attrs.
- (reverse_die_lists): Don't reverse attr lists.
- (die_checksum): Use VEC_iterate on attrs.
- (same_die_p): Likewise.
- (output_location_lists): Likewise.
- (build_abbrev_table): Likewise.
- (size_of_die): Likewise.
- (unmark_all_dies): Likewise.
- (output_abbrev_section): Likewise.
- (output_die): Likewise.
- (prune_unused_types_walk_attribs): Likewise.
- 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
- * doc/install.texi (*-*-solaris2*): Point to the configure page.
- 2006-04-10 Jakub Jelinek <jakub@redhat.com>
- PR debug/27057
- * dwarf2out.c (is_symbol_die): Return true also for namespaces.
- 2006-04-09 Roger Sayle <roger@eyesopen.com>
- * expr.c (store_constructor): Don't bother clearing target if
- we're about to assign a vector to it using vec_init_optab.
- 2006-04-10 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (lhs_may_store_to): New function.
- (recalculate_used_alone): Handle LHS of calls.
- 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/27034
- PR target/26508
- * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
- * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
- (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
- (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
- (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
- (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
- section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
- stubs. Add ".align 8" directives before all ".dword" directives.
- (GTHREAD_USE_WEAK): Revise comment.
- (TARGET_ATTRIBUTE_WEAK): Define.
- * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
- dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
- * stublib.c: New file.
- PR target/26743
- PR target/11254
- PR target/10274
- * pa.md (cbranch patterns): Revise arguments used in calls to
- output_cbranch, output_bb and output_bvd. Add long branch length
- attributes.
- (fbranch patterns): Handle long branches.
- (jump): Revise length check. Revise arguments for output_lbranch call.
- Add long branch length attributes.
- (decrement_and_branch_until_zero): Add long branch length attributes.
- (output_movb, output_parallel_addb and output_parallel_movb patterns):
- Likewise. Revise arguments for output_parallel_addb and
- output_parallel_movb calls.
- * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
- output_parallel_movb and output_parallel_addb): Update prototypes.
- * pa.c (output_cbranch): Revise arguments. Correct handling of
- nullification in long branches.
- (output_lbranch): Add new argument to control extraction of delay
- instruction.
- (output_bb): Handle long branches.
- (output_bvb, output_dbra, output_movb, output_parallel_movb,
- output_parallel_addb): Likewise.
- 2006-04-09 Richard Sandiford <richard@codesourcery.com>
- PR rtl-optimization/27073
- * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
- not REG_EQUIVs.
- 2006-04-08 Daniel Berlin <dberlin@dberlin.org>
- * tree.h (tree_memory_tag): Add old_used_alone.
- (SMT_OLD_USED_ALONE): New macro.
- * tree-ssa-alias.c (recalculate_used_alone): Stop
- marking things for renaming unnecessarily.
- 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
- * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
- config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
- config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
- haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
- sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
- tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
- tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
- spelling convensions.
- * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
- doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
- typos. Follow spelling conventions.
- 2006-04-07 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_function_arg): Structures are always
- passed on the stack.
- (m32c_init_cumulative_args): When a function returns a structure,
- always pass the pointer to that return area on the stack.
- (m32c_function_arg_advance): Don't increment the parameter number
- if we're processing the returned structure pointer.
- (pushm_info): Reverse order of registers.
- 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
- number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
- estimate_numbers_of_iterations_loop): Use build_int_cst instead of
- build_int_cst_type.
- * tree-chrec.c (chrec_fold_multiply_poly_poly,
- chrec_fold_multiply): Same.
- * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
- force_expr_to_var_cost): Same.
- * tree-mudflap.c (mf_xform_derefs_1): Same.
- * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
- 2006-04-07 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
- treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
- insn.
- 2006-04-07 Jan Hubicka <jh@suse.cz>
- * ipa-inline.c (cgraph_early_inlining): Collect garbage.
- 2006-04-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26135
- * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
- loads for store copy-prop.
- (copy_prop_visit_stmt): Likewise.
- 2006-04-05 Robert Millan <robertmh@gnu.org>
- * config/i386/linux.h: Add a comment to mark macros that are
- being overriden in config/k*bsd-gnu.h.
- * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
- DYNAMIC_LINKER.
- * config/knetbsd-gnu.h: Ditto.
- 2006-04-06 Jan Hubicka <jh@suse.cz>
- PR profile/20815
- PR profile/26399
- * coverage.c (coverage_checksum_string): Reorganize loop to not read
- after buffer.
- 2006-04-06 Mike Stump <mrs@apple.com>
- * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
- for HAVE_nonlocal_goto to be consistent.
- (expand_builtin_nonlocal_goto): Likewise.
- (expand_builtin_strcmp): Use #ifdef instead of #if
- for HAVE_cmpstrnsi to be consistent.
- 2006-04-05 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
- vs m32c.
- 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
- got-relative addressing for anything but SImode.
- * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
- even if the calling function doesn't modify them.
- 2006-04-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26919
- * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
- to cgraph_estimate_size_after_inlining.
- 2006-04-05 Alan Modra <amodra@bigpond.net.au>
- * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
- 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
- PR tree-optimization/26996
- * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
- VECTOR_TYPE variables.
- 2006-04-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26763
- * fold-const.c (fold_comparison): Move folding of
- PTR + CST CMP PTR + CST ...
- (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
- 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
- * doc/install.texi (Prerequisites): Refine some wording on
- bootstrapping and ksh.
- Move the version numbers of DejaGnu here from the testing section
- and fix casing of names.
- Fix markup and clarify wording for autogen requirements.
- Refer to GCJ instead of just java.
- Refer to SVN instead of CVS.
- Describe diffutils as useful instead of necessary.
- (Downloading the source): Refer to SVN instead of CVS.
- Adjust a link to our web site accordingly.
- (Configuration): Fix casing of Bison.
- (Building): Refer to SVN instead of CVS.
- Fix a sentence on the use of Bison and remove duplicate (and
- incorrect) version number of Bison requirement.
- Remove one redundant list of packages needed for building.
- (Specific): Avoid reference to CVS.
- 2006-04-04 Eric Christopher <echristo@apple.com>
- * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
- (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
- (rs6000_handle_struct_attribute): New.
- (rs6000_ms_bitfield_layout_p): Ditto.
- 2006-04-04 Geoffrey Keating <geoffk@apple.com>
- * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
- NULL for dso parameter to atexit_common.
- 2006-04-04 Eric Christopher <echristo@apple.com>
- * config/i386/i386.c (machopic_output_stub): Output \t
- between instructions and operands.
- 2006-04-04 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.c (num_insns_constant_wide): Change
- satisfies_constraint_[IL] to explicit tests on value.
- 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
- set_nb_iterations_in_loop): Use build_int_cst instead of
- build_int_cst_type.
- * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
- build_int_cst instead of convert.
- 2006-04-04 Carlos O'Donell <carlos@codesourcery.com>
- * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
- new value 2 for incoming.
- * function.c (expand_function_start): Call struct_value_rtx
- with incoming as 2.
- * config/sparc/sparc.md: Comment updated_return.
- * config/sparc/sparc.opt: Add -mstd-struct-return option.
- * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
- struct return if sparc_std_struct_return and incoming is 2.
- (print_operand): Do not adjust return if
- sparc_std_struct_return.
- 2006-04-04 Roger Sayle <roger@eyesopen.com>
- * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
- convert in the middle-end.
- * expr.c (store_expr, store_constructor, get_inner_reference,
- expand_expr_real_1, string_constant, try_casesi, try_tablejump):
- Likewise.
- * tree.c (build_range_type): Likewise.
- 2006-04-04 Tom Tromey <tromey@redhat.com>
- * doc/install.texi (Prerequisites): Mention jar.
- 2006-04-04 Daniel Berlin <dberlin@dberlin.org>
- * doc/tree-ssa.texi (Preserving the virtual ssa form): New
- subsection.
- 2006-04-04 Matthias Klose <doko@debian.org>
- * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
- PR bootstrap/26764
- PR bootstrap/27334
- * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
- strings.
- 2006-04-03 Geoffrey Keating <geoffk@apple.com>
- * doc/extend.texi (Function Attributes): Rewrite visibility
- attribute documentation.
- * doc/invoke.texi (C++ Dialect Options): Rewrite
- -fvisibility-inlines-hidden documentation to describe something
- entirely different, although in practise compatible.
- (Code Gen Options): Warn about system headers in -fvisibility=
- documentation.
- * doc/extend.texi (Other Builtins): Document that
- __builtin_nan is a compile-time constant only when its argument
- is valid.
- 2006-04-03 Adam Nemet <anemet@caviumnetworks.com>
- * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
- trying to remove TRUNCATE check if all bits outside the new mode
- are identical to the sign bit.
- 2006-04-03 Jeff Law <law@redhat.com>
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
- and operand scanning in some common cases.
- 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
- Dale Johannesen <dalej@apple.com>
- PR target/19653
- * regclass.c (struct reg_pref): Update documentation.
- (regclass): Set prefclass to NO_REGS if memory is the best option.
- (record_reg_classes): Cope with a prefclass set to NO_REGS.
- * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
- into account. For non-registers, equate an empty preferred
- reload class to a `!' in the constraint; move the if clause to
- do so after those that reject the insn.
- (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
- return NO_REGS.
- (find_dummy_reload): Likewise.
- * doc/tm.texi (Register Classes): Document what it means
- if PREFERRED_*_RELOAD_CLASS return NO_REGS.
- * config/i386/i386.c (ix86_preferred_reload_class): Force
- using SSE registers (and return NO_REGS for floating-point
- constants) if math is done with SSE.
- (ix86_preferred_output_reload_class): New.
- * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
- * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
- * config/i386/i386.md: Remove # register preferences.
- 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
- PR bootstrap/26992
- * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
- chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
- the type of nb_iter.
- (instantiate_parameters_1): Convert the operands before calling
- chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
- * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
- 2006-04-02 Roger Sayle <roger@eyesopen.com>
- * builtins.c (dummy_object): Use build_int_cst instead of convert.
- * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
- instead of convert.
- * dojump.c (do_jump): Likewise.
- * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
- * gimplify.c (gimple_boolify, gimplify_init_constructor,
- gimplify_boolean_expr): Likewise.
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- * varasm.c (array_size_for_constructor): Likewise.
- * tree-object-size.c (compute_object_offset): Likewise.
- 2006-04-02 Roger Sayle <roger@eyesopen.com>
- PR middle-end/26977
- * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
- NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
- 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
- PR tree-optimization/26939
- * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
- 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
- at_stmt. Convert the type of operands before calling
- build_polynomial_chrec.
- (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
- add_to_evolution_1.
- (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
- (instantiate_parameters_1): Convert the type of operands before calling
- build_polynomial_chrec.
- * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
- chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
- reset_evolution_in_loop): Insert asserts to check the types of the
- operands.
- (chrec_type): Moved...
- (eq_evolutions_p): Use operand_equal_p.
- * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
- the types of the operands.
- (chrec_type): ...here.
- * tree-data-ref.c (create_data_ref): Convert the operands before
- calling chrec_replace_initial_condition.
- (same_access_functions, analyze_subscript_affine_affine,
- analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
- (compute_subscript_distance, analyze_ziv_subscript,
- analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
- analyze_miv_subscript): Convert the operands before calling
- chrec_fold_minus or chrec_fold_plus.
- 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-data-ref.c (compute_all_dependences): Use a pointer to
- the dependence_relations vector.
- (compute_data_dependences_for_loop): Adjust call to
- compute_all_dependences.
- 2006-04-01 Roger Sayle <roger@eyesopen.com>
- Richard Henderson <rth@redhat.com>
- * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
- gimple_boolify on the condition before calling gimplify_expr.
- 2006-03-31 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
- to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
- the frame size. Update to use the new macros.
- * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
- * config/xtensa/ieee754-df.S: Likewise.
- 2006-03-31 Richard Henderson <rth@redhat.com>
- * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
- (make_edges): ... here. Control fallthru creation with a local
- variable. Do not play with fake edges.
- (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
- (make_goto_expr_edges): Don't play with fake edges. Make for_call
- a boolean.
- 2006-04-01 Joseph S. Myers <joseph@codesourcery.com>
- * dwarf2.h (DW64_CIE_ID): Define.
- * dwarf2out.c (DWARF_CIE_ID): Define.
- (output_call_frame_info): Output 0xffffffff before standard 8-byte
- length header. Use DWARF_CIE_ID.
- (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
- dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
- 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/linux-atomic.asm: New file.
- * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
- 2006-03-31 DJ Delorie <dj@redhat.com>
- * config/m32c/cond.md: Set condition flags properly throughout.
- * config/m32c/minmax.md: Likewise.
- * config/m32c/prologue.md: Likewise.
- * config/m32c/bitops.md: Likewise.
- * config/m32c/muldiv.md: Likewise.
- * config/m32c/mov.md: Likewise.
- * config/m32c/addsub.md: Likewise.
- * config/m32c/m32c.md: Likewise.
- * config/m32c/jump.md: Likewise.
- * config/m32c/shift.md: Likewise.
- * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
- conditionally output the pattern for this.
- * config/m32c/m32c.c (flags_needed_for_conditional): New.
- (m32c_compare_redundant): New.
- (m32c_output_compare): New.
- * config/m32c/m32c-protos.h (m32c_output_compare): New.
- * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
- dest, not src. Allow other 4-byte modes.
- 2006-03-30 Denis Chertykov <denisc@overta.ru>
- * doc/md.texi: Refer to avr/constraints.md instead of
- avr/avr.h.
- 2006-03-30 Roger Sayle <roger@eyesopen.com>
- * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
- signed vs. unsigned comparison failures on some hosts.
- 2006-03-31 Alan Modra <amodra@bigpond.net.au>
- PR target/26459
- * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
- change to FLOAT_REGS.
- * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
- (rs6000_override_options): Use it.
- (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
- only for -mabi=spe/no-spe and -mabi=altivec.
- 2006-03-30 Geoffrey Keating <geoffk@apple.com>
- * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
- !Zdynamiclib.
- 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
- * Makefile.in: Rename docdir to gcc_docdir.
- 2006-03-30 Roger Sayle <roger@eyesopen.com>
- PR target/17959
- * expr.c (emit_group_store): Optimize group stores into a pseudo
- register by using a paradoxical subreg to initialize the destination
- if the first or last member of the group specifies a "low part".
- 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- PR target/26734
- * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
- * target.h (struct gcc_target.speculate_insn): Change type of the
- second parameter to 'int'.
- * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
- the second operand of the DEPS_LIST.
- (copy_DEPS_LIST_list): Update reference to the second operand of the
- DEPS_LIST.
- * rtl.h (alloc_DEPS_LIST): Update signature.
- * sched-int.h (ds_t): Change typedef to 'int'.
- (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
- 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * haifa-sched.c (try_ready): Change condition to restore
- non-speculative pattern of the instruction.
- (process_insn_depend_be_in_spec): Code to keep probability of the
- speculative dependence non-decreasing.
- 2006-03-30 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
- (single_move_for_movmem): ... this. Also change all uses.
- (bfin_expand_strmov): Renamed to...
- (bfin_expand_movmem): ... this. Also change all uses.
- * config/bfin/bfin.md (movstrsi): Renamed to...
- (movstrsi): ...this.
- 2006-03-30 Paolo Bonzini <bonzini@gnu.org>
- PR tree-optimization/26830
- * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
- (copy_prop_visit_stmt): Remove write-only variable ann.
- (init_copy_prop): Check variable loop depth here. Do not simulate
- memory-tag and virtual operand PHIs except for store copy prop.
- 2006-03-30 Richard Guenther <rguenther@suse.de>
- * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
- variants with double arguments.
- 2006-03-29 David Edelsohn <edelsohn@gnu.org>
- * genpreds.c (write_tm_constrs_h): Delete variable p.
- * genconditions.c (write_header): Add tm-constrs.h to included
- headers.
- * genpeep.c (main): Add toplev.h to included headers.
- * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
- (build/genpeep.o): Add toplev.h dependency.
- * config/rs6000/constraints.md: Add "W" constraint.
- 2006-03-29 Roger Sayle <roger@eyesopen.com>
- * stor-layout.c (mode_for_size_tree): Remove restiction on type
- sizes by correctly testing whether the size fits a host integer.
- (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
- to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
- SImode range for the default sizetype and bitsizetype.
- 2006-03-29 Roger Sayle <roger@eyesopen.com>
- * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
- and TREE_CONSTANT_OVERFLOW bits of the argument. Return
- quickly if the argument is already of the correct type.
- Call fold_build1 instead of build1. Tidy up blank lines.
- 2006-03-29 David Edelsohn <edelsohn@gnu.org>
- * genemit.c (main): Add tm-constrs.h to included headers.
- * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
- * genpeep.c (main): Add tm-constrs.h to included headers.
- * genpreds.c (write_satisfies_constraint_fns): Rename to ...
- (write_tm_constrs_h): this and write complete file.
- (write_tm_preds_h): Do not emit satisfies_constraint fns.
- (write_insn_preds_c): Add tm-constrs.h to included headers.
- (gen_constrs): New variable.
- (parse_option): Parse "-c".
- (main): Invoke write_tm_constrs_h.
- * genrecog.c (write_header): Add tm-constrs.h to included headers.
- * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
- (object_out_file): Add tm-constrs.h dependency.
- (insn-emit.o): Same.
- (insn-output.o): Same.
- (insn-peep.o): Same.
- (insn-preds.o): Same.
- (insn-recog.o): Same.
- (tm-constsr.h): New target.
- (s-constrs-h): New target.
- * config/rs6000/constraints.md: New file.
- * config/rs6000/rs6000.c: Include tm-constrs.h.
- (num_insn_constant_wide): Convert to satisfies_constraint.
- (rs6000_rtx_costs): Convert to satisfies_constraint.
- * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- (EXTRA_MEMORY_CONSTRAINT): Delete.
- (EXTRA_ADDRESS_CONSTRAINT): Delete.
- * config/rs6000/predicates.md: Convert to satisfies_constraint.
- * config/rs6000/rs6000.md: Include constraints.md. Convert to
- satisfies_constraint.
- * config/i386/i386.c: Include tm-constrs.h.
- 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
- * tree-data-ref.c (find_data_references_in_loop,
- compute_data_dependences_for_loop): Use pointers to VEC.
- (analyze_all_data_dependences): Adjust calls.
- * tree-data-ref.h (find_data_references_in_loop,
- compute_data_dependences_for_loop): Adjust declarations.
- * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
- compute_data_dependences_for_loop.
- 2006-03-29 Paul Brook <paul@codesourcery.com>
- * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
- (movdf_vfp): Ditto.
- 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
- PR tree-optimization/26859
- * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
- division by zero.
- (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
- for the step after fold_convert.
- 2006-03-29 Paul Brook <paul@codesourcery.com>
- * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
- (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
- 2006-03-29 Paul Brook <paul@codesourcery.com>
- PR middle-end/23623
- * targhooks.c (default_narrow_bitfield): New fuction.
- * targhooks.h (default_narrow_bitfield): add prototype.
- * target.h (gcc_target): Add narrow_volatile_bitfield.
- * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
- * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
- * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
- * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
- 2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
- * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
- tmake_file.
- * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
- (NR_C_MODES): Add TDmode, DDmode and SDmode.
- (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
- (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
- (s390_function_arg_float): Allow SDmode and DDmode values to be
- passed in floating point registers.
- (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
- check with SCALAR_FLOAT_MODE_P.
- (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
- 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/25985
- * tree-ssa-loop-niter.c (number_of_iterations_le,
- number_of_iterations_ne): Make comments more precise.
- (number_of_iterations_cond): Add only_exit argument. Use the
- fact that signed variables do not overflow only when only_exit
- is true.
- (loop_only_exit_p): New.
- (number_of_iterations_exit): Pass result of loop_only_exit_p to
- number_of_iterations_cond.
- 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/26643
- * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
- bit_field_refs.
- 2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
- (divsi3_i4_int): Likewise.
- 2006-03-28 Roger Sayle <roger@eyesopen.com>
- * expr.c (emit_group_store): Only create a new pseudo reg if the
- quantity it needs to hold isn't already a suitable pseudo.
- 2006-03-28 Jeff Law <law@redhat.com>
- * timevar.def (TV_TREE_PHI_CPROP): New timevar.
- * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
- 2006-03-28 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
- the equivalent ~X & Y, and the symmetry related transformations.
- (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
- ~X & Y, and symmetry related transforms.
- 2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- Revert my 2006-03-27 patches.
- 2006-03-28 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
- ~(T1)X, when T1 and T2 are integer types of the same precision
- and (T2)X isn't an extension.
- 2006-03-28 Jeff Law <law@redhat.com>
- PR tree-optimization/26796
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
- need EH edge cleanups rather than purging them immediately.
- (eliminate_degenerate_phis): Handle queued EH cleanups.
- 2006-03-28 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
- from parent_var.
- 2006-03-27 Roger Sayle <roger@eyesopen.com>
- PR middle-end/22524
- * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
- cast BIT_NOT_EXPR operand to the correct type.
- 2006-03-27 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-loop-linear.c: Don't include varray.h.
- (gather_interchange_stats, try_interchange_loops,
- linear_transform_loops): Use VEC instead of VARRAY.
- * lambda-mat.c: Don't include varray.h.
- * tree-chrec.c: Same.
- * lambda-trans.c: Same.
- * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
- VEC instead of VARRAY.
- * tree-vectorizer.h: Idem.
- * tree-data-ref.c (dump_data_references,
- dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
- initialize_data_dependence_relation, finalize_ddr_dependent,
- compute_all_dependences, find_data_references_in_loop,
- compute_data_dependences_for_loop, analyze_all_data_dependences,
- free_dependence_relation, free_dependence_relations,
- free_data_refs): Idem.
- * tree-data-ref.h (data_reference_p, subscript_p): New.
- (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
- VEC instead of VARRAY.
- (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
- (find_data_references_in_loop, compute_data_dependences_for_loop,
- dump_ddrs, dump_dist_dir_vectors, dump_data_references,
- dump_data_dependence_relations, free_dependence_relations,
- free_data_refs): Adjust declaration.
- (lambda_transform_legal_p): Move declaration here...
- * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
- vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
- vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
- vect_analyze_data_refs): Use VEC instead of VARRAY.
- * lambda.h (lambda_transform_legal_p): ...from here.
- * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
- * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
- * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
- tree-chrec.o): Don't depend on VARRAY_H.
- 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * rtl.def (Copyright): Update date.
- (DEPS_LIST): Change type of the second operand to 'int'.
- * target.h (Copyright): Update date.
- (struct gcc_target.speculate_insn): Change type of the second parameter
- to 'int'.
- * lists.c (Copyright): Update date.
- (alloc_DEPS_LIST): Change signature. Update reference to the second
- operand of the DEPS_LIST.
- (copy_DEPS_LIST_list): Update reference to the second operand of the
- DEPS_LIST.
- * rtl.h (Copyright): Update date.
- (alloc_DEPS_LIST): Update signature.
- * sched-int.h (Copyright): Update date.
- (ds_t): Change typedef to 'int'.
- (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
- 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * haifa-sched.c (Copyright): Update date.
- (try_ready): Change condition to restore non-speculative pattern
- of the instruction.
- (process_insn_depend_be_in_spec): Code to keep probability of the
- speculative dependence non-decreasing.
- 2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com>
- * regrename.c (replace_oldest_value_addr): Initialize a variable to
- shut up the compiler.
- 2006-03-27 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
- to use lib prefix for target.
- ($(T)libic_invalidate_array_4-200.a): Likewise.
- ($(T)libic_invalidate_array_4a.a): Likewise.
- 2006-03-27 Andrew Stubbs <andrew.stubbs@st.com>
- J"orn Rennecke <joern.rennecke@st.com>
- * superh.opt: New file.
- * sh.c (boardtype, osruntime): Remove.
- * superh.h (SUBTARGET_OPTIONS): Remove.
- * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
- * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed
- arguments with ^ and/or [].
- * config.gcc (sh-*-*): Add quoting to account for quirk of
- Solaris /bin/sh.
- Replace == with = in enable_incomplete_targets test.
- * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
- with MASK_LITTLE_ENDIAN.
- * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
- * config/sh/sh.opt: Added to some comments.
- * config/sh/superh.h: Removed some chaff.
- * config/sh/sh.opt: Add m4-[1234]00* options.
- * config/sh/sh.c (sh_handle_option): Likewise.
- * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
- (ic_invalidate_array_4-100.o): New rule.
- ($(T)libic_invalidate_array_4-100.a): Likewise.
- (ic_invalidate_array_4-200.o): Likewise.
- ($(T)libic_invalidate_array_4-200.a): Likewise.
- (ic_invalidate_array_4a.o): Likewise.
- ($(T)libic_invalidate_array_4a.a): Likewise.
- * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
- * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
- m4-200*, and m4a*.
- * config/sh/crt1.asm: Merged in profiling code.
- * config/sh/superh.h (STARTFILE_SPEC): Override.
- * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
- Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
- * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
- * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
- * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
- MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
- * sh.opt (mpretend-cmove): New option.
- * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
- * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
- (movsicc): Add TARGET_PRETEND_CMOVE code.
- 2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390-protos.h (s390_hard_regno_mode_ok,
- s390_class_max_nregs): New function prototypes.
- * config/s390/s390.c (REGNO_PAIR_OK): New macro.
- (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
- * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
- CLASS_MAX_NREGS): Macro bodies replaced by function calls.
- 2006-03-26 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (add_location_or_const_value_attribute): Call
- tree_add_const_value_attribute if nothing else works.
- (reference_to_unused): New.
- (rtl_for_decl_init): Use reference_to_unused to decide whether
- to output an initializer.
- 2006-03-27 Alan Modra <amodra@bigpond.net.au>
- PR target/26459
- * config/rs6000/rs6000.md (DF reg move peephole): Prevent
- peephole removing spe frob_di_df_2.
- 2006-03-26 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
- (subscript_dependence_tester_1): Declared.
- (print_dir_vectors, print_dist_vectors): New.
- (debug_data_dependence_relation): New.
- (dump_data_dependence_relation): Print more details.
- (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
- (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
- (save_dist_v, save_dir_v, add_outer_distances,
- build_classic_dist_vector_1): New.
- (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
- Don't test for lambda_vector_lexico_pos.
- (same_access_functions, add_multivariate_self_dist,
- add_other_self_distances, dir_from_dist): New.
- (build_classic_dir_vector): Replace implementation almost identical to
- build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
- dir_from_dist.
- (subscript_dependence_tester_1): New.
- (subscript_dependence_tester): Handle the lexicographically negative
- distance vectors by recomputing the dependence relation.
- (compute_affine_dependence): Remove parameter loop_nest_depth.
- (compute_self_dependence): Don't call compute_subscript_distance.
- (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
- Add a parameter for the loop_nest.
- (find_loop_nest_1, find_loop_nest): New.
- (compute_data_dependences_for_loop): Compute the loop nest, and give
- up if the nest is not well formed.
- * tree-data-ref.h (loop_p): New.
- (struct data_dependence_relation): Replace size_vect field with
- loop_nest, a vec of loops.
- (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
- (DDR_LOOP_NEST): New.
- (print_dir_vectors, print_dist_vectors,
- debug_data_dependence_relation): Declared.
- (index_in_loop_nest): New.
- * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
- DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
- distance.
- 2006-03-25 Adam Nemet <anemet@caviumnetworks.com>
- * simplify-rtx.c (simplify_relational_operation): Call
- simplify_relational_operation_1 even if mode is VOIDmode.
- 2006-03-25 Daniel Berlin <dberlin@dberlin.org>
- PR tree-optimization/26804
- * tree.h (DECL_CALL_CLOBBERED): New macro.
- (tree_decl_common): Add call_clobbered_flag.
- * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
- (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
- (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
- (mark_non_addressable): Ditto.
- * tree-ssa.c (verify_call_clobbered): New function.
- (verify_alias_info): Use it.
- * tree-pass.h (pass_reset_cc_flags): New prototype.
- * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
- (reset_cc_flags): New function.
- * passes.c (init_optimization_passes): Call reset_cc_flags after
- initializing referenced_vars.
- 2006-03-25 Uros Bizjak <uros@kss-loka.si>
- Roger Sayle <roger@eyesopen.com>
- PR middle-end/26717
- * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
- to 1.0 for non-real operands. Implement A / A optimization for
- complex operands.
- 2006-03-25 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/i386.c (size_cost): Correct the comment for
- cost of storing fp registers.
- (i386_cost): Likewise.
- (i486_cost): Likewise.
- (pentium_cost): Likewise.
- (pentiumpro_cost): Likewise.
- (k6_cost): Likewise.
- (athlon_cost): Likewise.
- (k8_cost): Likewise.
- (pentium4_cost): Likewise.
- (nocona_cost): Likewise.
- (generic64_cost): Likewise.
- (generic32_cost): Likewise.
- 2006-03-24 Denis Chertykov <denisc@overta.ru>
- * config/avr/avr-protos.h (extra_constraint): Delete.
- (extra_constraint_Q): New declaration.
- * config/avr/constraints.md: New file.
- * config/avr/avr.md: Include it.
- (REG_X, REG_Y, REG_Z, REG_W): New constants.
- (TMP_REGNO, ZERO_REGNO): Likewise.
- (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
- * config/avr/avr.c (avr_reg_class_from_letter): Delete.
- (extra_constraint): Delete.
- (extra_constraint_Q): Test for memory constraint 'Q'.
- * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
- (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- (TMP_REGNO): Delete.
- (ZERO_REGNO): Delete.
- 2006-03-24 Jeff Law <law@redhat.com>
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
- directly. Call mark_new_vars_to_rename slightly earlier.
- 2006-03-24 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
- (is_cxx): Likewise.
- (gen_compile_unit_die): Use new language types for Objective-C and
- Objective-C++.
- (dwarf2out_decl): Use is_cxx rather than testing explicitly against
- DW_LANG_C_plus_plus.
- PR 26793
- * config/t-darwin (crt3.o): Work around bug 26840.
- * config/darwin-crt3.c: Rewrite.
- * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
- 2006-03-24 Carlos O'Donell <carlos@codesourcery.com>
- * doc/invoke.texi: Document -femit-class-debug-always
- * common.opt: Add -femit-class-debug-always.
- 2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.c (s390_decompose_address): Allow SImode for
- index and base register.
- (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
- print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
- with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
- REGNO_OK_FOR_INDEX_P.
- * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
- ADDR_REGNO_P.
- (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
- REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
- REG_OK_FOR_BASE_P): Definitions removed.
- 2006-03-24 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26611
- * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
- non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
- set yet or weren't marked as local yet.
- 2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
- * regrename.c (scan_rtx_address): Initialize a variable to shut up
- the compiler.
- 2006-03-24 Eric Botcazou <ebotcazou@adacore.com>
- * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
- (rs6000_legitimate_small_data_p): Delete.
- * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
- (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
- and make static. Add forward declaration. Update uses.
- (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
- of offsettable_memref_p.
- * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
- Use rs6000_offsettable_memref_p instead of a less accurate predicate.
- 2006-03-24 Jeff Law <law@redhat.com>
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
- around bug in immediate-use iterator.
- 2006-03-24 Alan Modra <amodra@bigpond.net.au>
- PR target/26607
- * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
- or __LITTLE_ENDIAN__.
- 2006-03-23 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
- * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
- * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
- * config/sh/sh.opt (mdiv=): Amend description.
- * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
- (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
- (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
- SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
- (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
- Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
- * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
- (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
- TARGET_DIVIDE_CALL_FP.
- 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * haifa-sched.c (choose_ready): Fix type of the local variable.
- Move local variables. Add comment.
- (check_reg_live): Change signature. Make callable from debugger.
- * sched-int.h (check_reg_live): Update signature.
- * sched-ebb.c (check_reg_live): Update parameters.
- * sched-rgn.c (check_reg_live): Ditto.
- (region_head_or_leaf_p): Check pointer before dereferencing.
- * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
- before reload on optimization levels below 1.
- 2006-03-23 Richard Henderson <rth@redhat.com>
- * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
- tls symbols.
- PR target/26347
- * config/alpha/predicates.md (local_symbolic_operand): Reject
- weak symbols.
- 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/26795
- * tree-ssa-pre.c (create_value_expr_from): Don't reject
- expressions which have overflowed constants.
- 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
- * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
- 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz>
- * cfgloopmanip.c (create_loop_notes): Removed.
- * final.c (final_scan_insn): Do not handle loop notes.
- * jump.c (squeeze_notes): Ditto.
- * cfglayout.c (skip_insns_after_block,
- duplicate_insn_chain): Ditto.
- * cfgcleanup.c (rest_of_handle_jump2): Do not call
- create_loop_notes.
- * cfgloop.h (create_loop_notes): Declaration removed.
- 2006-03-23 Richard Sandiford <richard@codesourcery.com>
- * varasm.c (output_constant_pool): Restore fnname and fndecl
- arguments.
- (assemble_start_function): Adjust call accordingly.
- (assemble_end_function): Likewise.
- 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR mudflap/26789
- * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
- PR mudflap/26790
- * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
- 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- PR driver/22600
- * system.h (ICE_EXIT_CODE): New macro.
- * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
- (diagnostic_action_after_output): Likewise.
- * gcc.c (fatal_ice): New function.
- (execute): Use it instead of fatal.
- (fancy_abort): Likewise.
- * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
- 2006-03-22 Jeff Law <law@redhat.com>
- * loop-unroll.c (analyze_iv_to_split_insn): Handle
- iv_analyze_result returning false.
- 2006-03-22 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
- 2006-03-22 Richard Henderson <rth@redhat.com>
- PR middle-end/26084
- * except.c (duplicate_eh_regions_0): New.
- (duplicate_eh_region_1): Duplicate the children of the node as
- well as the node itself. Link them up properly.
- (duplicate_eh_region_2): Merge into ...
- (duplicate_eh_regions): ... here. Take copy_region argument, and
- copy only a sub-tree if asked. Simplify copying and fixup.
- (eh_region_outer_p): New.
- * except.h (duplicate_eh_regions): Update decl.
- (eh_region_outer_p): Declare.
- * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
- (lower_omp_master): Likewise.
- (lower_omp_ordered): Likewise.
- * tree-cfg.c (struct move_stmt_d): Add new_label_map.
- (move_stmt_r): Use it to remap labels. Handle recursion vs
- remap_decls_p properly.
- (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR.
- (find_outermost_region_in_block): New.
- (new_label_mapper): New.
- (move_sese_region_to_fn): Copy eh information to the new function
- properly.
- * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
- argument.
- * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
- number.
- 2006-03-22 Richard Sandiford <richard@codesourcery.com>
- * doc/md.texi (-mshared): Mention that -mshared code can be linked
- into shared libraries.
- 2006-03-22 Richard Sandiford <richard@codesourcery.com>
- * doc/md.texi: Refer to i386/constraints.md instead of
- i386/predicates.md.
- * config/i386/constraints.md: New file, extracted from...
- * config/i386/predicates.md: ...here.
- * config/i386/i386.md: Include constraints.md.
- 2006-03-21 Jason Merrill <jason@redhat.com>
- * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
- PR middle-end/20297
- * expr.c (init_block_move_fn): Force default visibility.
- (init_block_clear_fn): Likewise.
- * builtins.c (expand_builtin_fork_or_exec): Likewise.
- * targhooks.c (default_external_stack_protect_fail): Likewise.
- 2006-03-21 Richard Sandiford <richard@codesourcery.com>
- * config/mips/predicates.md (const_call_insn_operand): Allow direct
- calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
- * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
- Use TARGET_OLDABI instead of !TARGET_NEWABI.
- (loadgp): Use mips_current_loadgp_style.
- (loadgp_noshared): New pattern.
- (sibcall_internal): Use MIPS_CALL.
- (sibcall_value_internal): Likewise.
- (sibcall_value_multiple_internal): Likewise.
- (call_internal): Likewise.
- (call_value_internal): Likewise.
- (call_value_multiple_internal): Likewise.
- (call_split): Use MIPS_CALL and add an 'S' constraint.
- (call_value_split): Likewise.
- (call_value_multiple_split): Likewise.
- * config/mips/mips.opt (-mabicalls): Tweak docstring.
- (-mshared): New option.
- * config/mips/mips-protos.h (mips_loadgp_style): New enum.
- (mips_current_loadgp_style): Declare.
- * config/mips/mips.c (mips_classify_symbol): Avoid using
- SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL
- rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
- TARGET_ABSOLUTE_ABICALLS.
- (override_options): Adjust comments. Improve the warning that is
- issued when -mabicalls and -G are used together.
- (mips_file_start): Remove comment.
- (mips_current_loadgp_style): New function.
- (mips_gnu_local_gp): New variable.
- (mips_emit_loadgp): Use mips_current_loadgp_style. Handle
- LOADGP_ABSOLUTE.
- (mips_output_function_prologue): Use mips_current_laodgp_style.
- (mips_expand_prologue): Call mips_emit_loadgp before emitting
- the cprestore instruction.
- (mips_extra_live_on_entry): Fix reversed test. Don't make $25
- live for TARGET_ABSOLUTE_ABICALLS.
- * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
- (ASM_SPEC): Pass down -mshared and -mno-shared.
- (MIPS_CALL): New macro.
- * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
- definition.
- * doc/invoke.texi (-mabicalls): Update documentation.
- (-mshared): Document.
- 2006-03-21 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/unwind-hpux.c: New file.
- * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
- 2006-03-21 Steve Ellcey <sje@cup.hp.com>
- PR libgomp/26384
- * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
- 2006-03-21 Jeff Law <law@redhat.com>
- * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
- type conversions of a VR_VARYING source to a wider type.
- 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
- tm_file on Solaris 10 and later.
- (sparc64-*-solaris2*): Likewise.
- (sparc-*-solaris2*): Likewise.
- * config/sol26.h: Rename to config/sol2-6.h.
- * config/sol2-10.h: New file.
- 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/26781
- * tree-ssa-pre.c (create_component_ref_by_pieces):
- Handle STRING_CST.
- 2006-03-21 Jakub Jelinek <jakub@redhat.com>
- PR c++/26690
- * tree.c (get_callee_fndecl): If CALL is error_mark_node,
- return it immediately.
- 2006-03-21 Michael Matz <matz@suse.de>
- * genautomata.c (<struct state>, num_out_arcs, presence_signature):
- New members.
- (remove_arc, add_arc): Update num_out_arcs member.
- (set_out_arc_insns_equiv_num): Returns nothing instead of number
- of out arcs.
- (cache_presence): New function.
- (compare_states_for_equiv): New function.
- (state_is_differed): Don't take number of outargs, adjust callers.
- Use new invariant for speeding up.
- (init_equiv_class): Create initial classes based on sorted
- input.
- (partition_equiv_class): Don't track out_arcs_num.
- (evaluate_equiv_classes): Call cache_presence on all states and
- sort them.
- 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
- * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
- (bfin_valid_reg_p): Test for pseudos explicitly and use only
- REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all
- callers changed.
- * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
- (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
- (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
- (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
- macros.
- (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
- REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
- (REGNO_REG_CLASS): ARGP is in PREGS.
- * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
- IREGS.
- (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
- to deal with those addresses.
- * addresses.h: New file.
- * caller-save.c: Include "addresses.h".
- (init_caller_save): Use new base_reg_class function.
- * rtl-factoring.c: Include "addresses.h".
- (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
- * recog.c: Include "addresses.h".
- (preprocess_constraints): Use new base_reg_class function.
- * regrename.c: Include "addresses.h".
- (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
- functions. Keep track of a new var INDEX_CODE to compute valid
- classes.
- (replace_oldest_value_addr): Likewise.
- (replace_oldest_value_mem): Use base_reg_class.
- * reload.c: Include "addresses.h".
- (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
- (find_reloads): Use new base_reg_class function.
- (find_reloads_address): Likewise; also use regno_ok_for_base_p.
- (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
- all callers and prototype changed.
- * reload1.c: Include "addresses.h".
- (maybe_fix_stack_asms): Use base_reg_class.
- * regclass.c: Include "addresses.h".
- (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
- (init_reg_autoinc): Use new base_reg_class function.
- (record_reg_classes): Likewise.
- (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
- OUTER_CODE and INDEX_CODE. All callers and prototype changed.
- Use new args to compute necessary class.
- * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
- regrename.o, rtl-factoring.o): Update dependencies.
- * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
- (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
- REG_OK_FOR_INDEX_P): Delete documentation.
- 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com>
- * config.gcc (sparc-*-solaris2*): Change the default CPU setting
- from V7 to V9 for Solaris 7 and above.
- 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl>
- * doc/invoke.texi: Document new flag -fargument-noalias-anything.
- * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
- argument pointers may not alias any other storage.
- * common.opt: Define option -fargument-noalias-anything.
- * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
- alias semantics is specified by flag_argument_noalias > 2.
- 2006-03-20 Jeff Law <law@redhat.com>
- * tree-pass.h (pass_phi_only_copy_prop): Delete.
- (pass_phi_only_cprop): Declare.
- * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
- with phi_only_cprop
- * tree-ssa-dom.c (degenerate_phi_result): New function.
- (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
- (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
- (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
- (eliminate_degenerate_phis): Likewise.
- (pass_phi_only_cprop): New pass descriptor.
- * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
- support code. Callers updated.
- (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
- (store_copy_prop): Likewise.
- (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
- 2006-03-20 Jason Merrill <jason@redhat.com>
- PR c++/21764
- * c-pragma.c (visstack): Move out of handle_pragma_visibility.
- (push_visibility, pop_visibility): Likewise.
- * c-pragma.h: Declare them.
- 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
- * config/sh/sh.c (find_regmode_weight): Change the type of the first
- parameter and use get_ebb_head_tail.
- (sh_md_init_global): Adjust uses of find_regmode_weight.
- 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com>
- * function.h (struct function) <x_tail_recursion_reentry>:
- Rename to x_stack_check_probe_note.
- (tail_recursion_reentry): Rename to stack_check_probe_note.
- * function.c: Replace tail_recursion_reentry with
- stack_check_probe_note everywhere.
- (expand_function_start): Only emit a note for
- stack_check_probe_note with -fstack-protect.
- * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
- * emit-rtl.c (remove_unnecessary_notes): Remove.
- (pass_remove_unnecessary_notes): Remove.
- * rtl.h (remove_unnecessary_notes): Remove prototype.
- * final.c (final_start_function): Don't call remove_unnecessary_notes.
- * tree-pass.h (pass_remove_unnecessary_notes): Remove.
- * passes.c (pass_remove_unnecessary_notes): Don't run it.
- 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/26629
- * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
- (valid_in_set): Handle ARRAY_REF.
- Change "if min_variant or VH" to asserts.
- (create_component_ref_by_pieces): Handle ARRAY_REF.
- (create_expression_by_pieces): Likewise.
- (can_PRE_operation): ARRAY_REFs can now be PRE'd.
- 2006-03-20 David Edelsohn <edelsohn@gnu.org>
- * genpreds.c (write_insn_extra_address_constraint): Argument `c'
- is operand of switch, not str[0].
- 2006-03-20 Alan Modra <amodra@bigpond.net.au>
- * config/rs6000/rs6000.c (rs6000_handle_option): Use
- TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
- 2006-03-19 David Edelsohn <edelsohn@gnu.org>
- * genpreds.c (write_tm_preds_h): Add semicolon and newline at
- end of insn_extra_address_constraint declaration.
- 2006-03-19 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
- (no-sum-in-toc): Same.
- * config/rs6000/rs6000.c (rs6000_handle_option): Use new
- variables.
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
- NO_FP_IN_TOC for -fPIC instead of mask.
- * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
- (BOOT_LDFLAGS): Delete.
- (LDFLAGS): Delete.
- * config/rs6000/t-aix52: Same.
- * config/rs6000/rs6000.md (store_multiple_power): Delete.
- (stmsi[345678]_power): New.
- 2006-03-17 Steve Ellcey <sje@cup.hp.com>
- * config/ia64/ia64.opt: Add empty line to end of file.
- 2006-03-17 Richard Guenther <rguenther@suse.de>
- PR middle-end/26721
- * builtins.c (get_pointer_alignment): For component style references
- adjust alignment to the component type alignment. Make sure
- to adjust alignment for component access of constants.
- 2006-03-17 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.md (strlensi): Emit barrier after
- unconditional jump.
- 2006-03-17 Paul Brook <paul@codesourcery.com>
- * doc/install.texi: Docuemnt --with-mode.
- * config.gcc: Add --with-mode for arm*-*-*.
- * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
- 2006-03-17 J"orn Rennecke <joern.rennecke@st.com>
- * sh.c (max_labelno_before_reorg): New variable.
- (sh_reorg): Initialize it.
- (find_barrier): Check max_labelno_before_reorg before using
- label_to_alignment. Take length of explicit alignment insns
- into account. When seeing a UNSPECV_CONST_END, return it.
- * sh.c (fixup_mova): Set mode of affected label to QImode.
- (untangle_mova): New function.
- (find_barrier): Use it. Check mode of label before decrementing
- num_mova.
- (sh_reorg): Likewise.
- Set mode of all insns back to VOIDmode.
- * sh.c (MOVA_LABELREF): New macro.
- (mova_p, fixup_mova, sh_reorg): Use it.
- (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
- ADDR_DIFF_VEC matches mova.
- 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com>
- * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
- with ATTRIBUTE_UNUSED.
- 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
- * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
- pointer, instead of assuming it is possible to derive the
- correct args size from a call insn.
- 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- * rtl.h (CONST_INT_P): Define.
- * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
- instead of GET_CODE(x) == CONST_INT.
- (vax_rtx_costs): Likewise.
- (vax_output_int_move): Likewise.
- (vax_output_int_add): Likewise.
- (legitimate_constant_address_p): Likewise.
- (index_term_p): Likewise.
- * config/vax/vax.h (PRINT_OPERAND): Likewise.
- * config/vax/vax.md (and<mode>3): Likewise.
- (ashrsi3): Likewise.
- (extv): Likewise.
- (movstricthi): Likewise.
- (movstrictqi): Likewise.
- (rotrsi3): Likewise.
- (five unnamed insns): Likewise.
- 2006-03-16 Geoffrey Keating <geoffk@apple.com>
- * doc/tm.texi (SDB and DWARF): Add extra parameter to
- ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
- * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
- * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
- Pass to ASM_OUTPUT_DWARF_OFFSET.
- * dwarf2out.c (debug_frame_section): New.
- (output_call_frame_info): Use debug_frame_section. Pass it to
- dw2_asm_output_offset.
- (output_die): Pass appropriate section to dw2_asm_output_offset.
- (output_compilation_unit_header): Likewise.
- (output_pubnames): Likewise.
- (output_aranges): Likewise.
- (enum dw_val_class): Break dw_val_class_lbl_offset into
- dw_val_class_lineptr and dw_val_class_macptr.
- (add_AT_lbl_offset): Delete.
- (add_AT_lineptr): New.
- (add_AT_macptr): New.
- (AT_lbl): Expect a lineptr or macptr.
- (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
- (attr_checksum): Likewise.
- (same_dw_val_p): Likewise.
- (size_of_die): Likewise.
- (value_format): Likewise.
- (output_die): Likewise.
- (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
- add_AT_lbl_offset.
- * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
- * config/i386/i386.c (x86_file_start): Call darwin_file_start.
- * config/darwin-protos.h (darwin_file_start): New.
- (darwin_asm_output_dwarf_offset): New.
- * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
- * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
- darwin_file_start.
- * config/darwin.c (darwin_emit_unwind_label): Don't output label
- if not EH section; simplify.
- (darwin_file_start): New.
- (darwin_asm_output_dwarf_offset): New.
- * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
- mark as 'debug'.
- (DEBUG_INFO_SECTION): Likewise.
- (DEBUG_ABBREV_SECTION): Likewise.
- (DEBUG_ARANGES_SECTION): Likewise.
- (DEBUG_MACINFO_SECTION): Likewise.
- (DEBUG_LINE_SECTION): Likewise.
- (DEBUG_LOC_SECTION): Likewise.
- (DEBUG_PUBNAMES_SECTION): Likewise.
- (DEBUG_STR_SECTION): Likewise.
- (DEBUG_RANGES_SECTION): Likewise.
- (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
- (ASM_OUTPUT_DWARF_OFFSET): New.
- 2006-03-16 Joseph S. Myers <joseph@codesourcery.com>
- * config.gcc (tm_defines): Always add to previous value rather
- than replacing it.
- 2006-03-16 Richard Sandiford <richard@codesourcery.com>
- * config/mips/predicates.md (splittable_const_int_operand): New,
- split from move_operand.
- (splittable_symbolic_operand): New.
- (move_operand): Add commentary. Use splittable_const_int_operand.
- Inline mips_atomic_symbolic_constant_p.
- * config/mips/mips.md: Add combine splitters for handling moves
- of splittable_const_int_operands and splittable_symbolic_operands.
- * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
- (mips_split_symbol): Declare.
- (mips_move_integer): Declare.
- * config/mips/mips.c (mips_split_p): Make global.
- (TARGET_MIN_ANCHOR_OFFSET): Override default.
- (TARGET_MAX_ANCHOR_OFFSET): Likewise.
- (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
- (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
- (mips_offset_within_object_p): Handle block symbols.
- (mips_atomic_symbolic_constant_p): Delete.
- (mips_cannot_force_const_mem): Return false for constants that
- mips_legitimize_move can handle.
- (mips_use_blocks_for_constant_p): New function.
- (mips_split_symbol): Make global.
- (mips_move_integer): Likewise. Add a temporary register argument.
- (mips_legitimize_const_move): Use splittable_const_int_operand and
- splittable_symbolic_operand.
- (mips_use_anchors_for_symbol_p): New function.
- * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
- (mips_split_p): Declare.
- 2006-03-16 Richard Sandiford <richard@codesourcery.com>
- * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
- (mips*-*-linux*): Likewise.
- 2006-03-16 Roger Sayle <roger@eyesopen.com>
- Daniel Speyer <dspeyer@wam.umd.edu>
- PR middle-end/18259
- * tree-dump.c (dump_real): New function.
- (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
- * Makefile.in (REAL_H): New macro for dependencies on real.h.
- (tree-dump.o): Add $(REAL_H) to the dependencies.
- 2006-03-16 Roger Sayle <roger@eyesopen.com>
- PR middle-end/21781
- * real.c (real_from_string): If the mantissa is zero, don't bother
- parsing the exponent as the result should always be zero.
- 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com>
- * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
- 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * config/ia64/ia64.c (stops_p): Added explicit initialization.
- (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
- ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
- ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
- ia64_sched_finish_global): New static functions to implement
- hooks from gcc_target.sched.
- (spec_check_no, max_uid, pending_data_specs): New static variables.
- (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
- ia64_spec_check_src_p): New static functions.
- (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
- (TARGET_SCHED_ADJUST_COST): Removed.
- (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
- TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
- TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
- TARGET_SCHED_GEN_CHECK,
- TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
- TARGET_SCHED_SET_SCHED_FLAGS): New macros.
- (update_set_flags, group_barrier_needed, set_src_needs_barrier):
- Fixed to handle speculation checks.
- (rtx_needs_barrier): Fixed to handle speculative loads and
- their checks.
- (ia64_variable_issue): Added code to count speculative loads and their
- checks.
- (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
- speculative loads.
- (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
- New enumerations.
- (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
- New constants.
- (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
- (ia64_reorg): Reset stops_p to NULL after it is freed.
- * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
- UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
- (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f,
- chk_a.
- (data_speculative, control_speculative, check_load): New attributes.
- (mov<mode>_advanced, mov<mode>_speculative,
- mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
- zero_extend<mode>di2_speculative,
- zero_extend<mode>di2_speculative_advanced): New patterns for
- data and control speculative loads.
- (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
- check loads.
- (advanced_load_check_clr_<mode>, speculation_check_<mode>):
- New pattern for data and control speculation checks.
- (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
- ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
- reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
- Auxiliary definitions for the patterns.
- * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
- 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
- constraints.
- (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
- for speculation.
- (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
- * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
- 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
- New resource constraints.
- (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
- for speculation.
- (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
- * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
- msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
- msched-in-control-spec, msched-ldc, msched-control-ldc,
- msched-spec-verbose, msched-prefer-non-data-spec-insns,
- msched-prefer-non-control-spec-insns,
- msched-count-spec-in-critical-path): New flags to tune speculative
- scheduling.
- * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
- msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
- msched-in-control-spec, msched-ldc, msched-control-ldc,
- msched-spec-verbose, msched-prefer-non-data-spec-insns,
- msched-prefer-non-control-spec-insns,
- msched-count-spec-in-critical-path): Document new flags.
- 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * target.h (struct spec_info_def): New opaque declaration.
- (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
- speculate_insn, needs_block_p, gen_check,
- first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
- * target-def.h (TARGET_SCHED_ADJUST_COST_2,
- TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
- TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
- TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
- TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
- gcc_target.sched.
- (TARGET_SCHED): Use new macros.
- * rtl.h (copy_DEPS_LIST_list): New prototype.
- * sched-int.h (struct sched_info): Change signature of new_ready field,
- adjust all initializations. New fields: add_remove_insn,
- begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
- region_head_or_leaf_p.
- (struct spec_info_def): New structure declaration.
- (spec_info_t): New typedef.
- (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
- recovery_block, orig_pat.
- (glat_start, glat_end): New variables declaraions.
- (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
- New access macros.
- (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
- DETACH_LIFE_INFO, USE_GLAT.
- (enum SPEC_SCHED_FLAGS): New enumeration.
- (NOTE_NOTE_BB_P): New macro.
- (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
- attach_life_info, debug_spec_status, check_reg_live): New functions.
- (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
- all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
- sched-ebb.c
- (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
- * ddg.c (get_block_head_tail): Adjust all uses.
- * modulo-sched.c (get_block_head_tail): Adjust all uses.
- (sms_sched_info): Initialize new fields.
- (contributes_to_priority): Removed.
- * haifa-sched.c (params.h): New include.
- (get_block_head_tail): Adjust all uses.
- (ISSUE_POINTS): New macro.
- (glat_start, glat_end): New global variables.
- (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
- nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
- old_last_basic_block, before_recovery, current_sched_info_var,
- rgn_n_insns, luid): New static variables.
- (insn_cost1): New function. Move logic from insn_cost to here.
- (find_insn_reg_weight1): New function. Move logic from
- find_insn_reg_weight to here.
- (reemit_notes, move_insn, max_issue): Change signature.
- (move_insn1): Removed.
- (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
- extend_bb): New static functions to support extension of scheduler's
- data structures.
- (generate_recovery_code, process_insn_depend_be_in_spec,
- begin_speculative_block, add_to_speculative_block,
- init_before_recovery, create_recovery_block, create_check_block_twin,
- fix_recovery_deps): New static functions to support
- generation of recovery code.
- (fix_jump_move, find_fallthru_edge, dump_new_block_header,
- restore_bb_notes, move_block_after_check, move_succs): New static
- functions to support ebb scheduling.
- (init_glat, init_glat1, attach_life_info1, free_glat): New static
- functions to support handling of register live information.
- (associate_line_notes_with_blocks, change_pattern, speculate_insn,
- sched_remove_insn, clear_priorities, calc_priorities, bb_note,
- add_jump_dependencies): New static functions.
- (check_cfg, has_edge_p, check_sched_flags): New static functions for
- consistancy checking.
- (debug_spec_status): New function to call from debugger.
- (priority): Added code to handle speculation checks.
- (rank_for_schedule): Added code to distinguish speculative instructions.
- (schedule_insn): Added code to handle speculation checks.
- (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
- Fixed to handle ebbs.
- (move_insn): Added code to handle ebb scheduling.
- (max_issue): Added code to use ISSUE_POINTS of instructions.
- (choose_ready): Added code to choose between speculative and
- non-speculative instructions.
- (schedule_block): Added code to handle ebb scheduling and scheduling of
- speculative instructions.
- (sched_init): Initialize new variables.
- (sched_finish): Free new variables. Print statistics.
- (try_ready): Added code to handle speculative instructions.
- * lists.c (copy_DEPS_LIST_list): New function.
- * sched-deps.c (extend_dependency_caches): New function. Move logic
- from create_dependency_caches to here.
- (get_dep_weak, ds_merge): Make global.
- * genattr.c (main): Code to output prototype for
- dfa_clear_single_insn_cache.
- * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
- (output_dfa_clean_insn_cache_func): Code to output
- dfa_clear_single_insn_cache function.
- * sched-ebb.c (target_n_insns): Remove. Adjust all users to use
- n_insns.
- (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
- Removed.
- (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
- New static variables.
- (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
- fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
- struct sched_info.
- (ebb_sched_info): Initialize new fields.
- (get_block_head_tail): Adjust all uses.
- (compute_jump_reg_dependencies): Fixed to use glat_start.
- (schedule_ebb): Code to remove unreachable last block.
- (schedule_ebbs): Added code to update register live information.
- * sched-rgn.c (region_sched_info): Initialize new fields.
- (get_block_head_tail): Adjust all uses.
- (last_was_jump): Removed. Adjust users.
- (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
- add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
- Implement new hooks.
- (check_dead_notes1): New static function.
- (struct region): New fields: dont_calc_deps, has_real_ebb.
- (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
- (BB_TO_BLOCK): Fixed to handle EBBs.
- (EBB_FIRST_BB, EBB_LAST_BB): New macros.
- (ebb_head): New static variable.
- (debug_regions, contributes_to_priority): Fixed to handle EBBs.
- (find_single_block_regions, find_rgns, find_more_rgns): Initialize
- new fields.
- (compute_dom_prob_ps): New assertion.
- (check_live_1, update_live_1): Fixed to work with glat_start instead of
- global_live_at_start.
- (init_ready_list): New assertions.
- (can_schedule_ready_p): Split update code to begin_schedule_ready.
- (new_ready): Add support for BEGIN_CONTROL speculation.
- (schedule_insns): Fixed code that updates register live information
- to handle EBBs.
- (schedule_region): Fixed to handle EBBs.
- (init_regions): Use extend_regions and check_dead_notes1.
- * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
- PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
- * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
- TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
- TARGET_SCHED_GEN_CHECK,
- TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
- TARGET_SCHED_SET_SCHED_FLAGS): Document.
- * doc/invoke.texi (max-sched-insn-conflict-delay,
- sched-spec-prob-cutoff): Document.
- 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
- inter_tick, queue_index.
- (struct sched_info): Change signature of init_ready_list field.
- Adjust all initializations.
- (RESOLVED_DEPS): New access macro.
- (ready_add): Remove prototype.
- (try_ready): Add prototype.
- * sched-rgn.c (init_ready_list): Use try_ready.
- (schedule_region): Initialize
- current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
- * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info.
- (init_ready_list): Use try_ready.
- (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
- * lists.c (remove_list_elem): Remove `static'.
- (remove_free_INSN_LIST_elem): New function.
- * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
- * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
- (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
- New constants.
- (readyp): New variable.
- (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
- change_queue_index, resolve_dep): New static functions.
- (try_ready): New function. Adjust callers in sched-rgn.c and
- sched-ebb.c to use it instead of ready_add.
- (clock_var): Move at the begining of file.
- (rank_for_schedule): Fix typo.
- (queue_insn): Add assertion. Handle QUEUE_INDEX.
- (ready_lastpos): Enforce assertion.
- (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument,
- update all callers.
- (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
- (schedule_insn): Rewrite to use try_ready and resolve_dep.
- (queue_to_ready): Use free_INSN_LIST_list.
- (early_queue_to_ready): Fix typo.
- (schedule_block): Init readyp. Move init_ready_list call after the
- initialization of clock_var. Fix error in rejecting insn by
- targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code
- that previously corrected INSN_TICKs. Add code for handling
- QUEUE_INDEX.
- (set_priorities): Fix typo.
- (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
- Clarify comment and code that keeps current_sched_info->next_tail
- non-null.
- 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- * sched-rgn.c (extend_rgns): New static function.
- (find_rgns): Use it.
- (gather_region_statistics, print_region_statistics): New static
- functions.
- * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
- * doc/invoke.texi (max-sched-extend-regions-iters): Document.
- 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
- Andrey Belevantsev <abel@ispras.ru>
- * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
- * lists.c (unused_deps_list): New variable.
- (free_list): Add assertions to verify the proper distinguishing
- between INSN_LISTs and DEPS_LISTs.
- (find_list_elem, remove_list_elem, remove_list_node): New static
- functions.
- (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
- remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
- remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
- (alloc_INSN_LIST): Assert that the list we're working on is indeed
- an INSN_LIST.
- (free_INSN_LIST_node): Likewise.
- * modulo-sched.c (current_sched_info): Initialize flags field.
- * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
- * rtl.def (DEPS_LIST): Define.
- * rtl.h: Declare new functions from lists.c.
- * sched-deps.c (spec_dependency_cache): New static variable.
- (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
- (add_dependence): Change return type to void. Move the logic to ...
- (add_or_update_back_dep_1): ... here. Handle speculative dependencies.
- (delete_all_dependences): Add comment about forward_dependency_cache.
- Handle spec_dependency_cache. Handle DEPS_LISTs.
- (fixup_sched_groups): Clarify the change of priority of output
- and anti dependencies.
- (sched_analyze_2): Adjust add_dependence calls to create data
- speculative dependence.
- (add_forward_dependence): Renamed to add_forw_dep, change prototype.
- Adjust all callers. Handle DEPS_LISTS.
- (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in
- presence of speculation.
- (init_dependency_caches, free_dependency_caches):
- Handle spec_dependency_cache.
- (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
- estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
- New static functions.
- (add_or_update_back_dep, add_or_update_back_forw_dep,
- add_back_forw_dep, delete_back_forw_dep): New functions.
- * sched-int.h (ds_t, dw_t): New typedefs.
- (struct sched_info): Add new field flags.
- (struct haifa_insn_data): Add new bitfield has_internal_dep.
- Prototype new sched-deps.c functions.
- (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
- (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
- MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
- BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
- SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
- SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
- New constants.
- (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
- New enums.
- * sched-rgn.c (current_sched_info): Initialize flags field.
- (schedule_insns): Initialize current_sched_info before the sched_init
- call.
- * sched-ebb.c (current_sched_info): Initialize flags field.
- (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
- Call add_or_update_back_dep instead of add_dependence.
- Create control speculative dependencies.
- (schedule_insns): Initialize current_sched_info before the sched_init
- call.
- 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
- fs->signal_frame.
- (sh_fallback_frame_state): Likewise.
- 2006-03-15 Geoffrey Keating <geoffk@apple.com>
- * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
- Do switch on default_use_cxa_atexit.
- (powerpc*-*-darwin*): Build crt2.o on powerpc.
- * config/darwin-crt3.o: New.
- * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
- to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use.
- (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
- OS version.
- * config/rs6000/t-darwin: Move crt2.o building to here.
- * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
- Mac OS version for using __cxa_get_exception_ptr. Don't test versions
- of __cxa_atexit.
- 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- * config/vax/vax.c (nonindexed_address_p): Change logical negation
- from '! xxx' to '!xxx' for coding-style conformance.
- * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
- (EXTRA_CONSTRAINT): Likewise.
- * config/vax/vax.md (four unnamed insns): Likewise.
- 2006-03-15 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (minipool_pad): New.
- (add_minipool_forward_ref): Include pool alignment padding in address
- calculation.
- (push_minipool_fix): Set minipool_pad.
- (minipool_pad): Ditto.
- 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- * config/vax/vax.c (split_quadword_operands): Use MEM_P()
- instead of GET_CODE() == MEM and REG_P() instead of
- GET_CODE() == REG.
- (print_operand_address): Likewise.
- (vax_address_cost): Likewise.
- (vax_rtx_costs): Likewise.
- (vax_notice_update_cc): Likewise.
- (vax_output_int_add): Likewise.
- (INDEX_REGISTER_P): Likewise.
- (BASE_REGISTER_P): Likewise.
- (nonindexed_address_p): Likewise.
- (vax_mode_dependent_address_p): Likewise.
- * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
- (PRINT_OPERAND): Likewise.
- * config/vax/vax.md (ashlsi3): Likewise.
- (ashlsi3): Likewise.
- (some more unnamed insns): Likewise.
- 2006-03-15 Kazu Hirata <kazu@codesourcery.com>
- * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
- iterator-style macro.
- (mark_control_dependent_edges_necessary): Update the use of
- EXECUTE_IF_CONTROL_DEPENDENT.
- 2006-03-15 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/predicates.md (cache_address_operand): Special.
- (ua_address_operand): Likewise.
- 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz>
- * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
- loop notes.
- * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
- 2006-03-15 Andreas Schwab <schwab@suse.de>
- * gensupport.c (identify_predicable_attribute): Don't free p_false
- when it is still in use.
- 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
- the default setting here.
- 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com>
- * tree-pass.h (pass_cfg): Remove.
- * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
- * passes.c (pass_cfg): Don't run it.
- 2006-03-14 Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
- * reg-stack.c (stack_regs_mentioned_data): Change the type to
- VEC(char,heap) *.
- (stack_regs_mentioned): Update the uses of
- stack_regs_mentioned_data. Don't access the array beyond its
- end.
- (reg_to_stack): Update the uses of stack_regs_mentioned_data.
- Don't include gt-reg-stack.h.
- * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
- * system.h (UNALIGNED_WORD_ASM_OP): Poison.
- * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
- PR middle-end/26684
- * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
- STACK_REGS.
- 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
- 2006-03-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26672
- * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
- SSA form.
- 2006-03-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26667
- * ipa-inline.c (cgraph_check_inline_limits): Walk the correct
- node for the callees. Always allow inlining if it will shrink
- the function size.
- 2006-03-14 Richard Guenther <rguenther@suse.de>
- PR middle-end/26659
- * builtins.c (get_pointer_alignment): Prefer alignment
- information from decls over that from types.
- 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/26657
- * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
- 2006-03-14 Joseph S. Myers <joseph@codesourcery.com>
- * config/rs6000/rs6000.opt (mdlmzb): New option.
- (msched-prolog, msched-epilog): Use Var not Mask.
- * doc/invoke.texi (-mdlmzb): Document.
- * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
- MASK_SCHED_PROLOG.
- (rs6000_override_options): Enable -mdlmzb for 405 and 440.
- * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
- 2006-03-13 Uttam Pawar <uttamp@us.ibm.com>
- PR rtl-optimization/25739
- * bt-load.c (augment_live_range): Free tos pointer.
- * gensupport.c (identify_predicable_attribute): Free
- p_false pointer.
- * gcov.c (create_file_names): Free name pointer.
- 2006-03-13 Roger Sayle <roger@eyesopen.com>
- PR middle-end/26557
- * stmt.c (emit_case_nodes): Handle the case where the index is a
- CONST_INT, where the comparison mode is specified by the index type.
- 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
- is defined.
- 2006-03-13 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
- (*branch_fp_inverted): Likewise.
- 2006-03-13 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/25989
- * omp-low.c (expand_omp_for_generic): Mark istart0
- and iend0 as addressable.
- 2006-03-13 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
- 2006-03-13 Jeff Law <law@redhat.com>
- * tree-vrp.c (stmt_interesting_for_vrp): Some statements with
- virtual operands are interesting.
- (vrp_visit_stmt): Corresponding changes.
- 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
- of RETS.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
- TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
- * config/bfin/crti.S: Use it instead of __PIC__.
- * config/bfin/crtn.S: Likewise.
- * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
- call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
- not if flag_pic.
- Lose 'G' modifier for call operand.
- * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
- recognize 'G' modifier.
- 2006-03-13 Eric Botcazou <ebotcazou@adacore.com>
- PR middle-end/18859
- * gimplify.c (gimplify_switch_expr): Discard empty ranges.
- * stmt.c (expand_case): Likewise.
- 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26254
- * loop-invariant.c (seq_insns_valid_p): New function.
- (move_invariant_reg): Only emit new code if it is valid.
- 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
- * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
- Removed.
- (force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
- (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
- (commit_one_edge_insertion): Do not look for loop notes.
- 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
- * jump.c (follow_jumps): Do not check for loop notes. Move check for
- flag_test_coverage out of loop.
- 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
- * final.c (shorten_branches): Remove outdated comment, and turn
- the if branch that guards it to continue.
- 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
- * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
- * cfgloop.h (struct loop): Remove unused fields.
- 2006-03-13 Kazu Hirata <kazu@codesourcery.com>
- * doc/invoke.texi (-fdump-rtl-loop): Remove.
- (-dL, -fdump-rtl-loop2): Update the dump file names
- * doc/invoke.texi: Update dump file names.
- 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com>
- * predict.c (estimate_probability): Remove.
- * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
- * basic-block.h (estimate_probability): Remove prototype.
- * passes.c (finish_optimization_passes): Dump branch prediction or
- profiling heuristics to the .profile tree dump.
- (init_optimization_passes): Unqueue pass_branch_prob.
- * doc/invoke.texi (-fdump-rtl-bp): Remove.
- 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
- * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
- * rtl.h (LABEL_NEXTREF): Remove field accessor.
- 2006-03-11 Eric Botcazou <ebotcazou@adacore.com>
- * function.h (frame_offset_overflow): Declare.
- * function.c (frame_offset_overflow): New function.
- (assign_stack_local_1): Call it to detect that the offset overflows.
- * cfgexpand.c (alloc_stack_frame_space): Likewise.
- 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com>
- * config/sh/sh.c: Include alloc-pool.h.
- (label_ref_list_pool): New alloc pool.
- (label_ref_list_t): New type for lists of labels.
- (struct pool_node): Make wend a label_ref_list_t.
- (add_constant): Use the new type, eradicate LABEL_NEXTREF
- references.
- (dump_table): Likewise.
- (sh_reorg): Set up the alloc pool before using add_constant and
- dump_table, and destroy it when finishing.
- 2006-03-11 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips.c: Remove redundant comment.
- 2006-03-10 Jason Merrill <jason@redhat.com>
- PR c/26004
- * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
- the target was declared 'register'.
- 2006-03-10 Adam Nemet <anemet@caviumnetworks.com>
- * genpreds.c (write_insn_constraint_len): Change definition of
- insn_constraint_len to return size_t to match the declaration.
- 2006-03-10 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
- start at zero.
- (m32c_expand_insv): Fix test for an AND mask.
- 2006-03-10 Richard Guenther <rguenther@suse.de>
- PR middle-end/26565
- * builtins.c (get_pointer_alignment): Handle component
- references for field alignment.
- 2006-03-10 J"orn Rennecke <joern.rennecke@st.com>
- * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
- when building with libgloss.
- (sh*elf): Implement --without-fp option.
- (sh64-superh-linux*): Don't multilib.
- 2006-03-10 J"orn Rennecke <joern.rennecke@st.com>
- * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
- 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
- * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
- Set it when one of the replacement functions returned true.
- Return TODO_cleanup_cfg if cfgchanged is true.
- (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
- 2006-03-09 Adam Nemet <anemet@caviumnetworks.com>
- * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
- instead of gen_lowpart.
- 2006-03-09 Richard Sandiford <richard@codesourcery.com>
- * config/mips/mips-protos.h (mips_output_conditional_branch): Change
- interface.
- (mips_output_order_conditional_branch): Declare.
- * config/mips/mips.h (MIPS_BRANCH): New macro.
- * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
- for the comparison. Use gen_condjump.
- (mips_output_conditional_branch): Rework interface to take the
- asm templates for a direct branch and the inverse of a direct branch.
- (mips_output_order_conditional_branch): New function.
- (mips_builtin_branch_and_move): New function.
- (mips_expand_builtin_compare): Use it. Use VOIDmode for the
- branch condition. Use gen_single_cc as the condition for
- __builtin_mips_upper_* or __builtin_mips_lower_*.
- (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
- Use VOIDmode for the branch condition.
- * config/mips/predicates.md (order_operator): New predicate.
- * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
- (branch_fp): Rename to...
- (*branch_fp): ...this. Remove mode from comparison operator.
- Use new mips_output_conditional_branch interface.
- (branch_fp_inverted): Rename to...
- (*branch_fp_inverted): ...this and update as for *branch_fp.
- (*branch_zero<mode>): Rename to...
- (*branch_order<mode>): ...this. Remove mode from comparison operator.
- Use mips_output_order_conditional_branch. Only accept ordered
- comparisons.
- (*branch_zero<mode>_inverted): Rename to...
- (*branch_order<mode>_inverted): ...this and update as for
- *branch_order<mode>.
- (*branch_equality<mode>): Accept zero as the second operand to
- the equality operator. Use the new mips_output_conditional_branch
- interface.
- (*branch_equality<mode>_inverted): Likewise.
- (condjump): New expander.
- * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
- operator.
- * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
- (bc1any2t, bc1any2f): Likewise.
- (single_cc): New expander.
- (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
- 2006-03-09 Richard Sandiford <richard@codesourcery.com>
- * doc/md.texi: Update documentation of MIPS constraints.
- * config/mips/constraints.md: New file.
- * config/mips/mips.md: Include it.
- * config/mips/mips.c (mips_char_to_class): Delete.
- (override_options): Don't initialize mips_char_to_class.
- * config/mips/mips.h (mips_char_to_class): Delete.
- (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT_Y): Delete.
- (EXTRA_CONSTRAINT_STR): Delete.
- (CONSTRAINT_LEN): Delete.
- (EXTRA_MEMORY_CONSTRAINT): Delete.
- 2006-03-09 Diego Novillo <dnovillo@redhat.com>
- * tree-cfg.c (move_block_to_fn): Remove the statements from the
- original fn's eh regions.
- 2006-03-09 Eric Botcazou <ebotcazou@adacore.com>
- * fold-const.c (build_range_check): Make sure to use a valid type to
- apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
- transformation.
- (range_predecessor): New static function.
- (range_successor): Likewise.
- (merge_ranges): Use them to compute predecessors and successors of
- range bounds.
- 2006-03-09 Roger Sayle <roger@eyesopen.com>
- PR middle-end/26561
- * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
- X op C3, consider whether C3 overflows towards +Inf or -Inf.
- 2006-03-08 DJ Delorie <dj@redhat.com>
- * config/m32c/addsub.md (addqi3): Disparage a0/a1.
- (addpsi3): Expand to include memory operands. Remove
- reload-specific splits.
- * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
- (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
- (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
- (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
- (shift1_qi, shift1_hi, insv): New.
- * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
- (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
- cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
- cond_to_int): New.
- * config/m32c/m32c-protos.h: Update as needed.
- * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
- default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
- Fail for unrecognized R* constraints.
- (m32c_cannot_change_mode_class): Be more picky about pseudos.
- (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
- (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
- Add Sp constraint.
- (m32c_init_libfuncs): New.
- (m32c_legitimate_address_p): Add debug wrapper.
- (m32c_rtx_costs): New.
- (m32c_address_cost): New.
- (conversions): Add 'B' prefix.
- (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
- operands, or word regnames for QI operands. 'B' prints bit
- position.
- (m32c_expand_setmemhi): New.
- (m32c_expand_movmemhi): New.
- (m32c_expand_movstr): New.
- (m32c_expand_cmpstr): New.
- (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
- (m32c_expand_neg_mulpsi3): Handle non-ints.
- (m32c_cmp_flg_0): New.
- (m32c_expand_movcc): New.
- (m32c_expand_insv): New.
- (m32c_scc_pattern): New.
- * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
- a0/a1 out of SIregs.
- (STORE_FLAG_VALUE): New.
- * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
- code macros.
- (no_insn): New.
- * config/m32c/mov.md: Make constraints more liberal.
- (zero_extendqihi2): Optimize r0/r1 case.
- * config/m32c/muldiv.md (mulpsi3): Check for intvals.
- * config/m32c/predicates.md (m32c_any_operand): New.
- (m32c_nonimmediate_operand): New.
- (m32c_hl_operand): New.
- (m32c_r3_operand): New.
- (ap_operand): New.
- (ma_operand): New.
- (memsym_operand): New.
- (memimmed_operand): New.
- (a_qi_operand): New.
- (m32c_eqne_operator): New.
- (m32c_1bit8_operand): New.
- (m32c_1bit16_operand): New.
- (m32c_1mask8_operand): New.
- (m32c_1mask16_operand): New.
- * config/m32c/blkmov.md: New file.
- * config/m32c/t-m32c (MD_FILES): Add blkmov.
- 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
- * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
- unsigned to fix signed/unsigned comparison issue in
- DWARF2_FRAME_REG_OUT.
- (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
- unsigned comparison issue in DWARF2_FRAME_REG_OUT.
- * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
- of ptr into the ENABLE_CHECKING section.
- 2006-03-08 Jeff Law <law@redhat.com>
- * tree-vrp.c (infer_value_range): Only count pointer uses
- and dereferences if -fdelete-null-pointer-checks is enabled.
- * tree-vrp.c (find_assert_locations): Infer value ranges for
- single use pointers, but do not create ASSERT_EXPRs for them.
- When a non-null range is inferred for a pointer, backwards
- propagate that range to other equivalent pointers through the
- use-def chain.
- 2006-03-08 Paolo Bonzini <bonzini@gnu.org>
- PR bootstrap/26500
- * Makefile.in (dvi, html, install-info): Invoke the corresponding
- language hook targets.
- * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
- objcp/Make-lang.in: Create stub rules for dvi, html, install-info
- if language hook targets were missing.
- 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-opfinalize.h: Removed.
- * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
- dependency.
- * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
- (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
- INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
- add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
- finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
- finalize_ssa_v_must_def_ops): New.
- 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
- block as parameter.
- 2006-03-07 Geoffrey Keating <geoffk@apple.com>
- * varasm.c (assemble_end_function): Say that 'fnname' is unused.
- * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
- addresses with offsets; reorganize.
- * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
- (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
- (expand_builtin_init_dwarf_reg_sizes): Likewise.
- 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
- PR target/26588
- * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
- 2006-03-08 Ben Elliston <bje@au.ibm.com>
- * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
- 2006-03-07 Aldy Hernandez <aldyh@redhat.com>
- PR gomp/26238
- * doc/passes.texi (Tree-SSA passes): Document omp lowering and
- expansion.
- 2006-03-07 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26587
- * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
- 2006-03-07 Richard Sandiford <richard@codesourcery.com>
- * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
- 2006-03-07 Richard Sandiford <richard@codesourcery.com>
- * hooks.c (hook_bool_mode_rtx_true): New function.
- * hooks.h (hook_bool_mode_rtx_true): Declare.
- * toplev.c (compile_file): Call output_shared_constant_pool.
- * varasm.c (shared_constant_pool): New variable.
- (assemble_start_function, assemble_end_function): Remove arguments
- from call to output_constant_pool.
- (create_constant_pool): New function, split out from...
- (init_varasm_status): ...here.
- (force_const_mem): Choose between the shared and per-function constant
- pools. Set current_function_uses_const_pool when reusing old entries
- as well as when creating new ones.
- (mark_constant): Ignore data argument.
- (mark_constants): Remove pool argument.
- (mark_constant_pool): Likewise. Use current_function_uses_const_pool
- to decide whether the function uses a constant pool.
- (output_constant_pool_contents): New function, split out from...
- (output_constant_pool): ...here.
- (output_shared_constant_pool): New function.
- (init_varasm_once): Initialize shared_constant_pool.
- * output.h (output_constant_pool): Delete.
- (output_shared_constant_pool): Declare.
- * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
- * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
- 2006-03-06 Nick Clifton <nickc@redhat.com>
- * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
- flag_strength_reduce.
- 2006-03-06 Ben Elliston <bje@au.ibm.com>
- * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
- x86_64-*-linux* configurations.
- * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
- (LIBGCC2_WORDS_BIG_ENDIAN): Define.
- 2006-03-05 Kazu Hirata <kazu@codesourcery.com>
- * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
- Remove.
- * basic-block.h: Remove the extern for
- rediscover_loops_after_threading.
- * cfgloop.c (cancel_loop): Make it static.
- * cfgloop.h: Remove the prototype for cancel_loop.
- * flow.c (recompute_reg_usage): Make it static.
- * rtl.h: Remove the prototype for recompute_reg_usage.
- * function.c (use_return_register): Make it static.
- * function.h: Remove the prototype.
- 2006-03-05 Kazu Hirata <kazu@codesourcery.com>
- * recog.c (volatile_mem_p, validate_change_maybe_volatile):
- Remove.
- * recog.h: Remove the prototype for
- validate_change_maybe_volatile.
- 2006-03-05 Kazu Hirata <kazu@codesourcery.com>
- * rtlanal.c (replace_reg): Remove.
- * rtl.h: Remove the prototype for replace_reg.
- 2006-03-05 Kazu Hirata <kazu@codesourcery.com>
- * regclass.c (reg_scan_update): Remove.
- (reg_scan_mark_refs): Remove the last argument.
- * rtl.h: Remove the prototype for reg_scan_update.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
- combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
- config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
- config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
- df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
- loop-invariant.c, omp-low.c, opts.c, passes.c,
- rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
- tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
- tree-ssa-structalias.c, tree-ssa-threadedge.c,
- tree-ssa-threadupdate.c, tree-vect-patterns.c,
- tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
- unwind-dw2.c: Fix comment typos. Follow spelling conventions.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
- * dwarf2out.h: Remove the prototype for
- dwarf2out_add_library_unit_info.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * tree.c (add_var_to_bind_expr): Remove.
- * tree.h: Remove the prototype for add_var_to_bind_expr.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * regclass.c (n_non_fixed_regs): Remove.
- (init_reg_sets_1, globalize_reg): Remove all uses of
- n_non_fixed_regs.
- * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * rtlanal.c (insns_safe_to_move_p): Remove.
- * rtl.h: Remove the prototype for insns_safe_to_move_p.
- 2006-03-04 Kazu Hirata <kazu@codesourcery.com>
- * expmed.c (expand_mult_add): Remove.
- * expr.h: Remove the prototype for expand_mult_add.
- 2006-03-04 Jakub Jelinek <jakub@redhat.com>
- * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
- and REG_SAVED_VAL_EXP constants.
- * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
- (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
- Handle regs stored by value.
- (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
- (execute_cfa_program): Handle DW_CFA_val_offset,
- DW_CFA_val_offset_sf and DW_CFA_val_expression.
- (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
- value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
- (uw_install_context_1): Handle target regs stored by value.
- 2006-03-03 Daniel Berlin <dberlin@dberlin.org>
- * tree-sra.c (tree_sra): Return todoflags;
- (generate_one_element): Set TODO_update_smt_usage if needed.
- (pass_sra): Remove TODO_update_smt_usage.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
- parameter.
- (tree_ssa_forward_propagate_single_use_vars): Return
- TODO_update_smt_usage if we need to update SMT usage.
- (pass_forwprop): Remove TODO_update_smt_usage.
- 2006-03-03 Diego Novillo <dnovillo@redhat.com>
- * tree-ssa-operands.c: Tidy whitespace. Fix spelling.
- (correct_use_link): Remove reference to get_stmt_operands.
- (update_stmt_operands): Likewise.
- (get_modify_expr_operands): New function factored out of
- parse_ssa_operands and get_expr_operands.
- Try to create V_MUST_DEFs for LHS by default.
- (get_expr_operands) <case MODIFY_EXPR>: Call
- get_modify_expr_operands.
- <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
- <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
- (parse_ssa_operands) <case MODIFY_EXPR>: Call
- get_modify_expr_operands.
- 2006-03-03 Kazu Hirata <kazu@codesourcery.com>
- * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
- * tree-flow.h: Remove the prototype for
- referenced_var_lookup_if_exists.
- 2006-03-03 Steve Ellcey <sje@cup.hp.com>
- PR rtl-optimization/26345
- PR target/19061
- * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
- 2006-03-03 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/26524
- * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
- fold_convert to create a constant of the appropriate type.
- 2006-03-03 Richard Sandiford <richard@codesourcery.com>
- * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
- SYMBOL_REF_IN_BLOCK_P.
- * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
- of SYMBOL_FLAG_IN_BLOCK.
- * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
- instead of SYMBOL_REF_IN_BLOCK_P.
- * explow.c (use_anchored_address): Likewise.
- * rtl.c (rtx_size): Likewise.
- * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
- instead of SYMBOL_FLAG_IN_BLOCK.
- (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
- SYMBOL_REF_IN_BLOCK_P.
- (assemble_variable): Likewise.
- (output_constant_def_contents): Likewise.
- (output_constant_pool): Likewise.
- (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
- instead of SYMBOL_FLAG_IN_BLOCK.
- * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
- SYMBOL_REF_IN_BLOCK_P.
- (SYMBOL_REF_BLOCK): Likewise.
- (SYMBOL_REF_OFFSET): Likewise.
- (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
- SYMBOL_REF_IN_BLOCK_P.
- (SYMBOL_FLAG_IN_BLOCK): Replace with...
- (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
- (SYMBOL_REF_IN_BLOCK_P): Replace with...
- (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
- 2006-03-03 Jakub Jelinek <jakub@redhat.com>
- * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
- 2006-03-02 Roger Sayle <roger@eyesopen.com>
- * simplify-rtx.c (simplify_unary_operation): When simplifying
- (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
- that we perform the right shift in the appropriate mode, and
- then extend or truncate the result to requested mode.
- 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz>
- * gengtype.c (main): Handle double_int type.
- * tree.h (struct tree_int_cst): Make type of int_cst double_int.
- * double-int.c: New file.
- * double-int.h: New file.
- * system.h: Include doubleint.h.
- * Makefile.in (SYSTEM_H): Include double-int.h.
- (double-int.o): Add.
- 2006-03-03 Joseph S. Myers <joseph@codesourcery.com>
- PR bootstrap/26478
- * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
- copying over it.
- 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (remove_range_assertions): Do not update statements
- unnecessarily.
- 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
- * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
- cleanup.
- * gcse.c (rest_of_handle_gcse): Ditto.
- * except.c (gate_handle_eh): Ditto.
- * cfgcleanup.c (rest_of_handle_jump2): Ditto.
- * basic-block.h (CLEANUP_PRE_LOOP): Remove.
- 2006-03-02 Eric Christopher <echristo@apple.com>
- * config/i386/i386.c (machopic_output_stub): Add indirection to
- jump.
- 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
- * loop.c: Removed.
- 2006-03-02 David S. Miller <davem@sunset.davemloft.net>
- Sun Niagara specific optimizations.
- * config.gcc: Recognize niagara as target.
- * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
- (TARGET_CPU_niagara): Define.
- (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
- (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
- (CPP_CPU_SPEC): Handle -mcpu=niagara.
- (ASM_CPU_SPEC): Likewise.
- (PROCESSOR_NIAGARA): New enum entry.
- (REGISTER_MOVE_COST): Handle Niagara.
- (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
- * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
- (sparc_override_options): Recognize "niagara", set appropriate
- default MASK_* values for it, and align functions to 32-bytes
- by default just like ULTRASPARC/ULTRASPARC3.
- (sparc_initialize_trampoline): Handle niagara like ultrasparc.
- (sparc64_initialize_trampoline): Likewise.
- (sparc_use_sched_lookahead): Use zero for niagara.
- (sparc_issue_rate): Use one for niagara.
- * config/sparc/niagara.md: New file.
- * config/sparc/sparc.md: Include it.
- * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
- ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
- when default cpu is niagara.
- (CPP_CPU_SPEC): Handle -mcpu=niagara.
- (ASM_CPU_SPEC): Likewise.
- * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
- when default cpu is niagara.
- (ASM_CPU_SPEC): Handle -mcpu=niagara.
- * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
- just like v9/ultrasparc/ultrasparc3.
- * doc/invoke.texi: Add documentation for "niagara" and improve
- existing documentation for ultrasparc variants.
- 2006-03-02 Diego Novillo <dnovillo@redhat.com>
- * tree-ssa-operands.c (update_stmt_operands): Update documentation.
- 2006-03-02 Richard Sandiford <richard@codesourcery.com>
- * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
- (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
- and say that only one is needed.
- * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
- * target.h (have_switchable_bss_sections): New hook.
- * explow.c (use_anchored_address): Check that the symbol is in a block.
- * varasm.c (tls_comm_section, comm_section, lcomm_section)
- (bss_noswitch_section): New variables.
- (get_unnamed_section): Add SECTION_UNNAMED to the flags.
- (get_noswitch_section): New function.
- (get_block_for_section): Allow SECT to be null.
- (unlikely_text_section_p): Use SECTION_STYLE.
- (bss_initializer_p): New function.
- (get_variable_section): Move earlier in file. Take a new argument,
- prefer_noswitch_p. Move bss checks from assemble_variable to here.
- Return one of the new *_sections in such cases.
- (get_block_for_decl): New function, extracting some logic from
- use_blocks_for_decl_p.
- (change_symbol_section): Remove in favor of...
- (change_symbol_block): ...this new function.
- (use_blocks_for_decl_p): Remove checks now performed by
- get_block_for_decl.
- (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
- (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
- (emit_local, emit_bss, emit_common): ...these new functions.
- Return true if the alignment was honored.
- (emit_tls_common): New function.
- (asm_emit_uninitialised): Delete.
- (assemble_variable_noswitch): New function, split out from...
- (assemble_variable): ...here. Don't make decisions about common
- variables here. Globalize all public decls that go into non-common
- sections. Check whether SYMBOL_REF_BLOCK is null.
- (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
- (output_constant_pool): Likewise.
- (init_varasm_once): Initialize the new section variables.
- (have_global_bss_p): New function.
- (categorize_decl_for_section): Use bss_initializer_p.
- (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
- (place_block_symbol): Assert that the symbol must be in a block.
- * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
- (TARGET_INITIALIZER): Include it.
- * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
- * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
- (SECTION_MACH_DEP): Bump by two.
- (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
- (unnamed_section): Mention SECTION_UNNAMED in comment.
- (named_section): Likewise SECTION_NAMED.
- (noswitch_section_callback): New type.
- (noswitch_section): New structure.
- (section): Add a noswitch_section alternative.
- (SECTION_STYLE): New macro.
- (tls_comm_section, comm_section, lcomm_section): Declare.
- (bss_noswitch_section, have_global_bss_p): Declare.
- * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
- * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
- Override.
- * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
- * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
- Override.
- 2006-03-02 Daniel Berlin <dberlin@dberlin.org>
- * tree-vrp.c (execute_vrp): Return value.
- * regrename.c (rest_of_handle_regrename): Ditto.
- * tree-into-ssa.c (rewrite_into_ssa): Ditto.
- * tree-complex.c (tree_lower_complex): Ditto.
- (tree_lower_complex_O0): Ditto.
- * tracer.c (rest_of_handle_tracer): Ditto.
- * postreload-gcse.c (rest_of_handle_gcse2): Ditto.
- * postreload.c (rest_of_handle_postreload): Ditto.
- * tree-tailcall.c (execute_tail_recursion): Ditto.
- (execute_tail_calls): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree.h (init_function_for_compilation): Ditto.
- * ipa-cp.c (ipcp_driver): Ditto.
- * tree-scalar-evolution.c (scev_const_prop): Ditto.
- * tree-scalar-evolution.h (scev_const_prop): Ditto.
- * final.c (compute_alignments): Ditto.
- (rest_of_handle_final): Ditto.
- (rest_of_handle_shorten_branches): Ditto.
- (rest_of_clean_state): Ditto.
- * omp-low.c (execute_expand_omp): Ditto.
- (execute_lower_omp): Ditto.
- * tree-ssa-dse.c (tree_ssa_dse): Ditto.
- * ipa-reference.c (static_execute): Ditto.
- * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
- * reorg.c (rest_of_handle_delay_slots): Ditto.
- (rest_of_handle_machine_reorg): Ditto.
- * cgraphunit.c (rebuild_cgraph_edges): Ditto.
- * flow.c (recompute_reg_usage): Ditto.
- (rest_of_handle_remove_death_notes): Ditto.
- (rest_of_handle_life): Ditto.
- (rest_of_handle_flow2): Ditto.
- * tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
- * tree-ssa-ccp.c (do_ssa_ccp): Ditto.
- (do_ssa_store_ccp): Ditto.
- (execute_fold_all_builtins): Ditto.
- * mode-switching.c (rest_of_handle_mode_switching): Ditto.
- * modulo-sched.c (rest_of_handle_sms): Ditto.
- * ipa-pure-const.c (static_execute): Ditto.
- * cse.c (rest_of_handle_cse): Ditto.
- (rest_of_handle_cse2): Ditto.
- * web.c (rest_of_handle_web): Ditto.
- * tree-stdarg.c (execute_optimize_stdarg): Ditto.
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
- * tree-nrv.c (tree_nrv): Ditto.
- (execute_return_slot_opt): Ditto.
- * tree-ssa-alias.c (compute_may_aliases): Ditto.
- (create_structure_vars): Ditto.
- * loop-init.c (rtl_loop_init): Ditto.
- (rtl_loop_done): Ditto.
- (rtl_move_loop_invariants): Ditto.
- (rtl_unswitch): Ditto.
- (rtl_unroll_and_peel_loops): Ditto.
- (rtl_doloop): Ditto.
- * gimple-low.c (lower_function_body): Ditto.
- (mark_used_blocks): Ditto.
- * tree-ssa-sink.c (execute_sink_code): Ditto.
- * ipa-inline.c (cgraph_decide_inlining): Ditto.
- (cgraph_early_inlining): Ditto.
- * global.c (rest_of_handle_global_alloc): Ditto.
- * jump.c (cleanup_barriers): Ditto.
- (purge_line_number_notes): Ditto.
- * ifcvt.c (rest_of_handle_if_conversion): Ditto.
- (rest_of_handle_if_after_reload): Ditto.
- * tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
- (tree_ssa_loop_im): Ditto.
- (tree_ssa_loop_unswitch): Ditto.
- (tree_vectorize): Ditto.
- (tree_linear_transform): Ditto.
- (tree_ssa_loop_ivcanon): Ditto.
- (tree_ssa_empty_loop): Ditto.
- (tree_ssa_loop_bounds): Ditto.
- (tree_complete_unroll): Ditto.
- (tree_ssa_loop_prefetch): Ditto.
- (tree_ssa_loop_ivopts): Ditto.
- (tree_ssa_loop_done): Ditto.
- * predict.c (tree_estimate_probability): Ditto.
- * recog.c (split_all_insns_noflow): Ditto.
- (rest_of_handle_peephole2): Ditto.
- (rest_of_handle_split_all_insns): Ditto.
- * tree-eh.c (lower_eh_constructs): Ditto.
- * regmove.c (rest_of_handle_regmove): Ditto.
- (rest_of_handle_stack_adjustments): Ditto.
- * local-alloc.c (rest_of_handle_local_alloc): Ditto.
- * function.c (instantiate_virtual_regs): Ditto.
- (init_function_for_compilation): Ditto.
- (rest_of_handle_check_leaf_regs): Ditto.
- * gcse.c (rest_of_handle_jump_bypass): Ditto.
- (rest_of_handle_gcse): Ditto.
- * ipa-type-escape.c (type_escape_execute): Ditto.
- * alias.c (rest_of_handle_cfg): Ditto.
- * tree-if-conv.c (main_tree_if_conversion): Ditto.
- * profile.c (rest_of_handle_branch_prob): Ditto.
- * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
- * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
- * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
- * tree-dfa.c (find_referenced_vars): Ditto.
- * except.c (set_nothrow_function_flags): Ditto.
- (convert_to_eh_region_ranges): Ditto.
- (rest_of_handle_eh): Ditto.
- * emit-rtl.c (unshare_all_rtl): Ditto.
- (remove_unnecessary_notes): Ditto.
- * except.h (set_nothrow_function_flags): Ditto.
- (convert_to_eh_region_ranges): Ditto.
- * cfgexpand.c (tree_expand_cfg): Ditto.
- * tree-cfgcleanup.c (merge_phi_nodes): Ditto.
- * tree-ssa-pre.c (do_pre): Ditto.
- (execute_fre): Ditto.
- * cfgcleanup.c (rest_of_handle_jump): Ditto.
- (rest_of_handle_jump2): Ditto.
- * tree-sra.c (tree_sra): Ditto.
- * tree-mudflap.c (execute_mudflap_function_ops): Ditto.
- (execute_mudflap_function_decls): Ditto.
- * tree-ssa-copy.c (do_copy_prop): Ditto.
- (do_store_copy_prop): Ditto.
- * ipa-prop.h (ipcp_driver): Ditto.
- * cfglayout.c (insn_locators_initialize): Ditto.
- * tree-ssa-forwprop.c
- (tree_ssa_forward_propagate_single_use_vars): Ditto.
- * cfglayout.h (insn_locators_initialize): Ditto.
- * tree-ssa-dce.c (tree_ssa_dce): Ditto.
- * tree-ssa.c (execute_early_warn_uninitialized): Ditto.
- (execute_late_warn_uninitialized): Ditto.
- * rtl.h (cleanup_barriers): Ditto.
- (split_all_insns_noflow): Ditto.
- (purge_line_number_notes): Ditto.
- (unshare_all_rtl): Ditto.
- (remove_unnecessary_notes): Ditto.
- (recompute_reg_usage): Ditto.
- (variable_tracking_main): Ditto.
- * integrate.c (emit_initial_value_sets): Ditto.
- * integrate.h (emit_initial_value_sets): Ditto.
- * tree-optimize.c (execute_free_datastructures): Ditto
- (execute_free_cfg_annotations): Ditto.
- (execute_fixup_cfg): Ditto.
- (execute_cleanup_cfg_pre_ipa): Ditto.
- (execute_cleanup_cfg_post_optimizing): Ditto.
- (execute_init_datastructures): Ditto.
- * tree-object-size.c (compute_object_sizes): Ditto.
- * combine.c (rest_of_handle_combine): Ditto.
- * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
- * bb-reorder.c (duplicate_computed_gotos): Ditto.
- (rest_of_handle_reorder_blocks): Ditto.
- (rest_of_handle_partition_blocks): Ditto.
- * var-tracking.c (variable_tracking_main): Ditto.
- * tree-profile.c (tree_profiling): Ditto.
- * tree-vect-generic.c (expand_vector_operations): Ditto.
- * reg-stack.c (rest_of_handle_stack_regs): Ditto.
- * sched-rgn.c (rest_of_handle_sched): Ditto.
- (rest_of_handle_sched2): Ditto.
- * basic-block.h (free_bb_insn): Ditto.
- * tree-ssa-structalias.c (ipa_pta_execute): Ditto.
- * tree-cfg.c (execute_build_cfg): Ditto.
- (remove_useless_stmts): Ditto.
- (split_critical_edges): Ditto.
- (execute_warn_function_return): Ditto.
- (execute_warn_function_noreturn): Ditto.
- * tree-ssa-reassoc.c (execute_reassoc): Ditto.
- * cfgrtl.c (free_bb_for_insn): Ditto.
- * passes.c (execute_one_pass): Run additional
- todos returned by execute function.
- * tree-pass.h (struct tree_opt_pass): Make execute
- return a value.
- 2006-03-02 Richard Guenther <rguenther@suse.de>
- * tree-ssa-alias.c (find_used_portions): Consider taking
- the address as making the variable not write-only.
- 2006-03-02 Nick Clifton <nickc@redhat.com>
- * config.gcc (default_use_cxa_atexit): Extend the description of
- this configure variable. Set its default value to "yes" for
- Linux, NetBSD and ELF targets on the assumption that they will
- use C libraries with the __cxa_atexit function.
- 2006-03-02 Ben Elliston <bje@au.ibm.com>
- * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
- parameter as unused to suppress a build warning.
- 2006-03-02 Ben Elliston <bje@au.ibm.com>
- * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
- config/dfp-bit.c.
- 2006-03-01 Roger Sayle <roger@eyesopen.com>
- PR other/26489
- * gthr-posix.h (__gthrw2): Define to take three parameters, the
- declared name, the weak reference name, and the typeof name.
- (__gthrw): Avoid expanding the declared name suffix.
- (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
- 2006-03-01 Jakub Jelinek <jakub@redhat.com>
- * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
- from DWARF 3.
- (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
- DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
- DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
- DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
- DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
- (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
- (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
- DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
- (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
- DW_DS_leading_separate, DW_DS_trailing_separate): New.
- (DW_END_default, DW_END_big, DW_END_little): New.
- (DW_END_lo_user, DW_END_hi_user): Define.
- (DW_LNE_lo_user, DW_LNE_hi_user): Define.
- (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
- (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
- DW_LANG_D): New.
- 2006-03-01 Diego Novillo <dnovillo@redhat.com>
- * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
- Update all users.
- * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
- Update all users.
- (TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
- Update all users.
- * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
- Update all users.
- * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
- to 'symbol_mem_tag'.
- Update all users.
- * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
- rename.
- 2006-03-01 Roger Sayle <roger@eyesopen.com>
- * builtins.c (fold_builtin_copysign): Delete unreachable code.
- 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/25761
- * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
- MACHO_DYNAMIC_NO_PIC_P.
- (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
- 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/26389
- * config/darwin-protos.h (darwin_asm_output_anchor):
- Declare.
- * config/darwin-sections.def (cstring_section):
- Add SECTION_MERGE to the flags.
- (literal4_section): Likewise.
- (literal8_section): Likewise.
- (objc_selector_refs_section): Likewise.
- (objc_cls_refs_section): Likewise.
- * config/darwin.c (darwin_asm_output_anchor): New
- function.
- * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
- 2006-03-01 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/26443
- * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
- to todo and PROP_tmt_usage to properties_destroyed.
- * tree-ssa-ccp.c (pass_ccp): Ditto.
- (pass_store_ccp): Ditto.
- * tree-ssa-dom.c (pass_dominator): Ditto.
- 2006-03-01 Diego Novillo <dnovillo@redhat.com>
- * tree-ssa-operands.c: Cleanup whitespace.
- (get_asm_expr_operands): Move before first invocation.
- (get_indirect_ref_operands): Likewise.
- (get_tmr_operands): Likewise.
- (get_call_expr_operands): Likewise.
- (append_def): Likewise.
- (append_use): Likewise.
- (append_v_may_def): Likewise.
- (append_v_must_def): Likewise.
- (add_call_clobber_ops): Likewise.
- (add_call_read_ops): Likewise.
- (add_stmt_operand): Likewise.
- (add_virtual_operand): Likewise.
- (build_ssa_operands): Likewise.
- 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/26022
- Revert:
- PR middle-end/24437
- * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
- with a call expr to ...
- * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
- 2006-03-01 Diego Novillo <dnovillo@redhat.com>
- * tree-vrp.c (extract_range_from_assert): Remove special
- handling for types with super-types.
- 2006-03-01 Ben Elliston <bje@au.ibm.com>
- * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
- and powerpc64-*-linux* configurations.
- * config/t-dfprules: New file.
- * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
- Compile dfp-bit.c from the source directory using -DWIDTH and
- $DFP_CFLAGS to control the compilation of that file, rather than
- generating width-specific versions in the build directory.
- * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
- (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
- 2006-02-28 Zack Weinberg <zackw@panix.com>
- * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
- continues to work.
- 2006-02-28 Eric Christopher <echristo@apple.com>
- * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
- Set up IN_LIBGCC definition of TARGET_64BIT.
- * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
- 2006-02-28 Roger Sayle <roger@eyesopen.com>
- PR middle-end/14752
- * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
- BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these
- cases via the construction of "expr != 0".
- 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
- * alias.c (alias_invariant, alias_invariant_size): Remove.
- (record_base_value): Remove.
- (memrefs_conflict_p): Don't look at alias_invariant.
- (end_alias_analysis): Don't free it.
- * alias.h (record_base_value): Remove prototype.
- 2006-02-28 Paolo Bonzini <bonzini@gnu.org>
- Adam Nemet <anemet@caviumnetworks.com>
- * rtl.h (truncated_to_mode): Declare it.
- (struct rtl_hooks): Add reg_truncated_to_mode hook.
- * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
- (RTL_HOOKS_INITIALIZER): Include it.
- * rtlhooks.c (reg_truncated_to_mode_general): New function.
- * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
- reg_truncated_to_mode.
- * rtlanal.c (truncated_to_mode): Define it.
- * simplify-rtx.c (simplify_unary_operation_1): Use it.
- 2006-02-28 Jeff Law <law@redhat.com>
- * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
- conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
- the range allowed by TYPE_PRECISION.
- * tree.h (strct phi_arg_d): Remove unused NONZERO field.
- 2006-02-28 Dorit Nuzman <dorit@il.ibm.com>
- PR tree-optimization/26419
- * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
- values of n.
- 2006-02-27 Zack Weinberg <zackw@panix.com>
- * doc/md.texi: Fix typo in previous change.
- 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df.c: Remove.
- 2006-02-27 Zack Weinberg <zackw@panix.com>
- * rtl.def (define_constraint, define_register_constraint)
- (define_memory_constraint, define_address_constraint): New MD forms.
- * gensupport.c (process_rtx): Put define_constraint etc on the
- predicate queue.
- * genpreds.c (process_define_predicate): Adjust comment. Validate
- the name, and call validate_exp to validate the expression.
- (mark_mode_tests, write_extract_subexp): Can assume correct input.
- (write_predicate_expr): Likewise. NAME argument no longer necessary;
- all callers changed.
- (validate_exp, needs_variable, struct constraint_data)
- (constraints_by_letter_table, first_constraint, last_constraint_ptr)
- (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
- (const_dbl_constraints, constraint_max_namelen)
- (have_register_constraints, have_memory_constraints)
- (have_address_constraints, have_address_constraints)
- (have_extra_constraints, have_const_int_constraints)
- (have_const_dbl_constraints, mangle, add_constraint)
- (process_define_constraint, process_define_register_constraint)
- (write_enum_constraint_num, write_lookup_constraint)
- (write_insn_constraint_len, write_regclass_for_constraint)
- (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
- (write_insn_extra_memory_constraint)
- (write_insn_extra_address_constraint)
- (write_satisfies_constraint_fns): New.
- (write_tm_preds_h): If we have new-style constraint definitions,
- prototype the functions generated from them, and define the
- old constraint interface (still used by generic code) in terms of
- those functions.
- (write_insn_preds_c): If we have new-style constraint definitions,
- generate all relevant functions from those definitions.
- (main): Handle define_constraint etc.
- * genoutput.c (struct constraint_data, indep_constraints)
- (mdep_constraint_letters, constraints_by_letter_table, note_constraint)
- (mdep_constraint_len): New data structures and functions, defined
- #ifdef USE_MD_CONSTRAINTS.
- (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
- (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
- use new logic to validate operand constraints against constraint
- definitions.
- (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
- defined.
- * defaults.h: If none of the old-style constraint macros are
- defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
- old-style macros; and poison REG_CLASS_FROM_LETTER,
- CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
- EXTRA_CONSTRAINT.
- * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
- * doc/md.texi: Document new constraint-definition mechanism and the
- C interface it provides. Remove references to old mechanism
- elsewhere in the document.
- (Machine Constraints): Use pathnames relative to gcc directory,
- i.e. config/ARCH/FILE. Change i386 section to refer to
- config/i386/predicates.md; update that section to match docstrings.
- * doc/tm.texi: Move all documentation of the old constraint-
- definition macros to their own section, clearly mark as obsolete.
- * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
- (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
- definitions.
- * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
- (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
- * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
- constraint strings.
- (splits and peepholes): Use satisfies_constraint_*.
- * config/i386/i386.c (memory_address_length)
- (ix86_attr_length_immediate_default): Use satisfies_constraint_*.
- 2006-02-27 Daniel Berlin <dberlin@dberlin.org>
- * lambda-code.c (can_convert_to_perfect_nest): Allow any type of
- scalar operation to be put back into the loop.
- 2006-02-27 Jakub Jelinek <jakub@redhat.com>
- PR other/26208
- * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
- (extract_cie_info): Handle S flag in augmentation string.
- (execute_cfa_program): If context->signal_frame, execute also
- fs->pc == context->ra instructions.
- (uw_frame_state_for): If context->signal_frame, don't subtract one
- from context->ra to find FDE.
- (uw_update_context_1): Set context->signal_frame to
- fs->signal_frame.
- (_Unwind_GetIPInfo): New function.
- * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
- * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
- of _Unwind_GetIP.
- * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
- * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
- * unwind-compat.c (_Unwind_GetIPInfo): New function.
- * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
- * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
- * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
- * config/i386/linux-unwind.h (x86_fallback_frame_state,
- x86_64_fallback_frame_state): Set fs->signal_frame.
- * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
- (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
- (frob_update_context): Likewise. Workaround missing S flag in
- Linux 2.6.12 - 2.6.16 kernel vDSOs.
- * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
- Remove the psw_addr + 1 hack.
- 2006-02-27 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-structalias.c (get_constraint_for): Move code to deal
- with aggregates here.
- (find_func_aliases): Remove code for &<aggregate> from here.
- 2006-02-26 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
- (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
- Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
- as (X & C) ne/eq 0.
- 2006-02-26 Roger Sayle <roger@eyesopen.com>
- PR middle-end/19983
- * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
- 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
- * opts.c (decode_options): Do not handle flag_strength_reduce.
- (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
- and OPT_fstrength_reduce.
- * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
- flag_prefetch_loop_arrays for being nonzero.
- * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
- no-ops.
- (fprefetch-loop-arrays-rtl): Removed.
- (flag_prefetch_loop_arrays): Do not specify the value.
- * doc/passes.texi: Update documentation of loop optimizer
- passes.
- * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
- -frerun-loop-opt): Remove.
- 2006-02-26 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26421
- * tree-ssa-alias.c (find_used_portions): Don't treat parameters
- in function calls that are ADDR_EXPRs as using the whole structure.
- 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
- * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
- * tree-pass.h (pass_loop_optimize): Remove.
- * passes.c (pass_loop_optimize): Never run it.
- * toplev.c (backend_init): Don't call init_loop.
- * opts.c (flag_loop_optimize_set): Remove.
- (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
- (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
- the old RTL loop optimizer when profiling enabled.
- * predict.c (tree_estimate_probability): Always strip builtin_expect.
- * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
- pre-headers for the sake of the old RTL loop optimizer.
- * Makefile.in: Remove all references to loop.o.
- * doc/invoke.texi: Remove all references to -floop-optimize
- and -frerun-loop-opt.
- 2006-02-26 Zack Weinberg <zackw@panix.com>
- * doc/md.texi (Machine Constraints): Refer to all files with paths
- relative to gcc directory (i.e. config/CPU/file). Add missing
- @table @code ... @end table to M32C subsection.
- 2006-02-26 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
- (X & 1) == 0.
- <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
- 2006-02-26 Roger Sayle <roger@eyesopen.com>
- James A. Morrison <phython@gcc.gnu.org>
- PR middle-end/21137
- * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
- when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
- new constant C2<<C1, or as (X<0) or (X,false) depending upon the
- signedness of the shift operation.
- 2006-02-26 Dorit Nuzman <dorit@il.ibm.com>
- PR tree-optimization/26359
- * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
- 2006-02-25 Roger Sayle <roger@eyesopen.com>
- * simplify-rtx.c (simplify_relational_operation_1): Simplify
- (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y
- as X == 0, and some symmetry related transformations.
- Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line.
- 2006-02-25 Roger Sayle <roger@eyesopen.com>
- PR middle-end/23673
- * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
- and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some
- symmetry related transformations. Fold (X^C1) == C2 as
- X == (C1^C2).
- 2006-02-25 Juergen Weigert <jw@suse.de>
- Richard Guenther <rguenther@suse.de>
- * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
- 2006-02-24 Adam Nemet <anemet@caviumnetworks.com>
- * combine.c (gen_lowpart_or_truncate): Call
- simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
- 2006-02-24 Diego Novillo <dnovillo@redhat.com>
- * doc/invoke.texi: Move -fopenmp description to "Options for
- Code Generation".
- Remove reference to -lgomp.
- 2006-02-24 David Edelsohn <edelsohn@gnu.org>
- * doc/install.texi: Require GNU tar version 1.14.
- 2006-02-24 Geoffrey Keating <geoffk@apple.com>
- * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
- * doc/invoke.texi (C++ Dialect Options): Document
- -fno-use-cxa-get-exception-ptr.
- * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
- * configure: Regenerate.
- * c.opt (fuse-cxa-get-exception-ptr): New.
- * c-opts.c (c_common_handle_option): Handle
- OPT_fuse_cxa_get_exception_ptr.
- * c-common.c (flag_use_cxa_atexit): Update documentation.
- (flag_use_cxa_get_exception_ptr): New.
- * c-common.h (flag_use_cxa_get_exception_ptr): New.
- * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
- documentation.
- (C_COMMON_OVERRIDE_OPTIONS): New.
- 2006-02-24 Roger Sayle <roger@eyesopen.com>
- PR middle-end/24952
- * combine.c (try_combine): Explicitly check whether GET_CODE is
- a SET or a CLOBBER, instead on checking that it isn't a USE.
- 2006-02-24 Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_comparison): New subroutine of fold_binary
- containing transformations common to both the equality and
- ordering relational operators, factored out of fold_binary.
- (fold_binary): Separate out the equality operators (EQ_EXPR
- and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
- LE_EXPR and GE_EXPR), calling fold_comparison to perform the
- transformations common to both.
- (fold_div_compare): Fix latent bugs in the previously unreachable
- LT_EXPR and GE_EXPR cases.
- 2006-02-24 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.c (rs6000_init_builtins): Change
- decl libname for clog to __clog on AIX.
- * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
- 2006-02-24 Alan Modra <amodra@bigpond.net.au>
- PR target/26453
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
- output traceback table for thunks. Localise rs6000_stack_info call.
- 2006-02-23 Roger Sayle <roger@eyesopen.com>
- Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * gthr-posix.h (__gthrw): Fix typo in comment.
- 2006-02-23 Geoffrey Keating <geoffk@apple.com>
- * doc/cpp.texi (Character sets): Document that we do support
- input files to be in any character set.
- 2006-02-23 Jeff Law <law@redhat.com>
- * tree.h (PHI_ARG_NONZERO): Remove.
- * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
- (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
- node to the new node.
- PR tree-optimization/26425
- * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
- min/max, then assume its varying.
- 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26316
- * rtlanal.c (enum may_trap_p_flags): New.
- (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore
- MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
- (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
- (may_trap_after_code_motion_p): New function.
- * loop-invariant.c (find_identical_invariants): Fix dump formating.
- (find_invariant_insn): Use may_trap_after_code_motion_p.
- * rtl.h (may_trap_after_code_motion_p): Declare.
- 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz>
- * emit-rtl.c (immed_double_const): Cleanup.
- 2006-02-23 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/26376
- * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
- remove assert.
- 2006-02-23 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26412
- * gimplify.c (omp_add_variable): Guard variable size decl test with
- DECL_SIZE (decl) check.
- 2006-02-23 Richard Guenther <rguenther@suse.de>
- PR middle-end/26439
- * tree-ssa-structalias.c (find_func_aliases): Handle complex types
- like aggregate types.
- 2006-02-23 Jakub Jelinek <jakub@redhat.com>
- * configure.ac: Add --with{,out}-long-double-128 configure option.
- (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
- * configure: Rebuilt.
- * config.in: Rebuilt.
- * doc/install.texi (Options specification): Document
- --with-long-double-128.
- * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
- (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
- * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
- (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
- 2006-02-23 Aldy Hernandez <aldyh@redhat.com>
- * config/s390/s390.c (override_options): Handle
- TARGET_DEFAULT_LONG_DOUBLE_128.
- * config/alpha/alpha.c (override_options): Handle
- TARGET_DEFAULT_LONG_DOUBLE_128.
- * config/sparc/sparc.c (sparc_override_options): Handle
- TARGET_DEFAULT_LONG_DOUBLE_128.
- 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com>
- * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
- (real-install-headers-tar, real-install-headers-cpio)
- (real-install-headers-cp): New targets.
- 2006-02-22 Richard Sandiford <richard@codesourcery.com>
- * tree.h (variable_section): Delete.
- * varasm.c (variable_section): Delete.
- 2006-02-22 Paolo Bonzini <bonzini@gnu.org>
- * install.texi: Add notes on install.texi2html.
- (Building in parallel): Do not use footnotes.
- 2006-02-21 Aldy Hernandez <aldyh@redhat.com>
- PR libgomp/26234
- * doc/install.texi (Configuration): Document --disable-libgomp.
- 2006-02-21 Geoffrey Keating <geoffk@apple.com>
- * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
- 2006-02-21 Alexandre Oliva <aoliva@redhat.com>
- * config/i386/sse.md (vec_extractv2df_1_sse): New.
- (vec_extractv2df_0_sse): New.
- 2006-02-21 Alexandre Oliva <aoliva@redhat.com>
- * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
- * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
- * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
- * dwarf2out.c (build_cfa_loc): New offset parameter. Add it
- to the result of the expression.
- (def_cfa_1): Adjust.
- (frame_pointer_cfa_offset): Rename to...
- (frame_pointer_fb_offset): ... this. Adjust all uses.
- (convert_cfa_to_loc_list): Rename to...
- (convert_cfa_to_fb_loc_list): ... this. New offset parameter.
- Pass it on to build_cfa_loc.
- (compute_frame_pointer_to_cfa_displacement): Rename to...
- (compute_frame_pointer_to_fb_displacement): ... this. New
- offset parameter. Use it in computation.
- (gen_subprogram_die): Compute cfa_fb_offset with the new
- macro, and use it to compute the fb loc list and the
- displacement.
- 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/bfin/predicates.md (cc_operand): Delete predicate. All uses
- replaced with register_operand.
- * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
- non-DREG is expensive.
- * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
- * config/bfin/bfin.md (movbi): Fix constraints and template for moves
- involving memory.
- 2006-02-21 Joseph S. Myers <joseph@codesourcery.com>
- * doc/install.texi2html: Use set -e.
- 2006-02-21 Richard Sandiford <richard@codesourcery.com>
- * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
- (ASM_OUTPUT_SHARED_LOCAL): Delete.
- * doc/invoke.texi (-fshared-data): Delete.
- * common.opt (fshared-data): Delete.
- * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
- (assemble_static_space): Remove #if 0 code.
- * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
- (ASM_OUTPUT_SHARED_LOCAL): Poison.
- * config/cris/cris.h: Remove FIXME.
- 2006-02-21 Paolo Bonzini <bonzini@gnu.org>
- * doc/sourcebuild.texi (Front End Directory): No more double-colon
- hooks.
- 2006-02-21 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26379
- * combine.c (simplify_shift_const_1): Disable nested shifts
- optimization for vector shifts.
- 2006-02-20 Roger Sayle <roger@eyesopen.com>
- PR tree-optimization/26361
- * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
- of unsigned integer types.
- 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-chrec.c (eq_evolutions_p): New.
- * tree-chrec.h (eq_evolutions_p): Declared.
- * tree-data-ref.c: Fix formatting.
- (datadep_stats, dependence_stats): New.
- (gcd): Moved...
- (print_direction_vector): New.
- (dump_data_dependence_relation): Use print_direction_vector.
- (object_analysis, create_data_ref): Handle COMPONENT_REF.
- (compute_subscript_distance): Static.
- (initialize_data_dependence_relation): Static. Get the number
- of loops surrounding the references from the callers, and initialize
- DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
- base_object_differ_p analyzers.
- (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
- compute_overlap_steps_for_affine_1_2,
- analyze_subscript_affine_affine): Count the classified dependences.
- Print a message when a test failed.
- (can_use_analyze_subscript_affine_affine): New.
- (analyze_siv_subscript): Compute the data dependences on symbolic
- scevs that verify can_use_analyze_subscript_affine_affine.
- (chrec_steps_divide_constant_p): Returns true, false, or unknown.
- (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
- Handle symbolic scevs.
- (analyze_overlapping_iterations): Let symbolic affine scevs to be
- analyzed.
- (subscript_dependence_tester): Moved...
- (build_classic_dist_vector, build_classic_dir_vector): Don't use
- lambda_vector_clear on newly allocated vectors. Get nb_loops from
- DDR_SIZE_VECT instead of getting it in parameter.
- (subscript_dependence_tester): ... here. Take as a parameter
- loop_nest_depth. Call build_classic_dist_vector and
- build_classic_dir_vector.
- (compute_affine_dependence): Update subscript_dependence_tester
- parameters. Update datadep_stats counters. Call
- compute_subscript_distance.
- (compute_self_dependence): Save the dist and dir vectors. Call
- compute_subscript_distance.
- (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
- (compute_all_dependences): Reorder parameters as they were before
- conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
- compute_subscript_distance. Update the use of
- compute_affine_dependence and initialize_data_dependence_relation.
- (find_data_references_in_loop): Handle COMPONENT_REF.
- (compute_data_dependences_for_loop): Initialize dependence_stats.
- Don't call build_classic_dist_vector and build_classic_dir_vector.
- Update the parameters of initialize_data_dependence_relation and
- compute_all_dependences. Print the statistics from datadep_stats.
- (analyze_all_data_dependences): Static. Not used until the pass for
- checking the data dependences is contributed.
- * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
- DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
- (initialize_data_dependence_relation, compute_affine_dependence,
- analyze_all_data_dependences, compute_subscript_distance): Removed.
- (print_direction_vector): New.
- * lambda.h (gcd): ... here.
- (lambda_vector_gcd): Moved here from gcd_vector.
- * lambda-code.c (gcd, gcd_vector): Removed.
- (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting.
- * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
- 2006-02-20 Diego Novillo <dnovillo@redhat.com>
- * ipa-type-escape.c: Tidy some comments and white space.
- * tree-ssa-operands.c: Likewise.
- 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/25879
- * tree-pretty-print.c (debug_tree_chain): Walk the chains.
- (dump_decl_name): Do not walk the decl tree chains.
- * tree-pass.h (TDF_CHAIN): Remove.
- 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
- * Makefile.in (C): Remove
- (PROTO): Remove
- (.PHONY): Remove C and PROTO
- 2006-02-20 Roger Sayle <roger@eyesopen.com>
- PR middle-end/26236
- * doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now
- deprecated CHAR_TYPE tree code.
- 2006-02-20 Paolo Bonzini <bonzini@gnu.org>
- * configure.ac (target_list): Add install-info, dvi, html.
- * configure: Regenerate.
- * ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in,
- java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in,
- treelang/Make-lang.in: Do not use double-colon rules.
- 2006-02-20 Daniel Berlin <dberlin@dberlin.org>
- * tree.h (struct tree_memory_tag): Add is_used_alone member.
- (TMT_USED_ALONE): New macro.
- * tree-pass.h (PROP_tmt_usage): New property.
- (TODO_update_tmt_usage): New todo.
- * tree-ssa-alias.c (updating_used_alone): New variable.
- (recalculate_used_alone): New function.
- (compute_may_aliases): Set updating_used_alone, call
- recalculate_used_alone.
- * tree-sra.c (pass_sra): Note that this pass destroys
- PROP_tmt_usage, and add TODO_update_tmt_usage.
- * tree-ssa-forwprop.c (pass_forwprop): Ditto.
- * tree-flow.h (updating_used_alone): Prototype.
- (recalculate_used_alone): Ditto.
- * passes.c (execute_todo): Add code to set updating_used_alone,
- and call recalculate.
- * tree-ssa-operands.c (add_virtual_operand): Only append bare def
- for clobber if used alone, and add assert to verify used_alone
- status.
- 2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com>
- * config/s390/s390.c (legitimize_pic_address): Assertions checking
- for non tls symbols added.
- (legitimize_address): Do nothing for PLUS expressions if one of the
- addends is a tls symbol reference.
- 2006-02-20 Paolo Bonzini <bonzini@gnu.org>
- PR bootstrap/25476
- * Makefile.in (LDFLAGS): Define from autoconf substitution.
- * Makefile.in (BOOTSTRAPPING): New.
- (quickstrap): New definition if BOOTSTRAPPING=yes.
- * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
- * configure.ac: Substitute all_selected_languages with the languages
- that were configured. For all the other variables except
- lang_specs_files, include all the languages in the tree.
- * configure: Regenerate.
- * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
- if there is one. Run the commands to run fixincludes in the same
- subshell.
- * doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
- * doc/install.texi: Document exact conventions for searching target tools.
- Document --with-build-time-tools. Document toplevel bootstrap. Document
- something more about building an Ada cross-compiler. Don't list GNU Make
- requirements which affect all platforms.
- 2006-02-19 Roger Sayle <roger@eyesopen.com>
- PR middle-end/19543
- * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
- only equivalent if the have both the same mode and precision.
- 2006-02-20 Ben Elliston <bje@au.ibm.com>
- * doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.
- 2006-02-19 Roger Sayle <roger@eyesopen.com>
- Steven Bosscher <stevenb.gcc@gmail.com>
- * gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
- constant pool references to identify stack mode constants.
- * rtlanal.c (constant_pool_constant_p): New predicate to check
- whether operand is a floating point constant in the pool.
- * rtl.h (constant_pool_constant_p): Prototype here.
- * loop.c (scan_loop): Avoid hoisting constants from the constant
- pool on STACK_REGS targets.
- (load_mems): Likewise.
- * loop-invariant.c (get_inv_cost): Make hoisting constant pool
- loads into x87 registers expensive in terms of register pressure.
- 2006-02-19 Roger Sayle <roger@eyesopen.com>
- * gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
- __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
- 2006-02-19 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
- * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define.
- 2006-02-19 Daniel Berlin <dberlin@dberlin.org>
- * doc/invoke.texi: Document -fipa-pta.
- * common.opt: Add ipa-pta option.
- * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed.
- (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code.
- (do_ds_constraint): Ditto.
- (get_constraint_for): Only add to referenced_vars if
- referenced_vars exists.
- (insert_into_field_list): Rewrite to do this unsorted.
- (insert_into_field_list_sorted): Rename old insert_into_field_list
- to this.
- (create_function_info_for): Use insert_into_field_list_sorted.
- (create_variable_info_for): Rewrite so it uses unsorted version,
- since the field list is sorted.
- (intra_create_variable_infos): Only add to referenced_vars if
- referenced_vars exists.
- (ipa_pta_execute): Init heapvars, and delete when done.
- * passes.c (init_optimization_passes): Add call to pass_ipa_pta.
- 2006-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * doc/install.texi: Add missing `@samp'.
- 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
- * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
- Use the arguments.
- 2006-02-18 Mark Wielaard <mark@klomp.org>
- * doc/contrib.texi (Contributors): Add classpath/libgcj hackers
- who added new 4.1 features, bug fixes and integration support.
- 2006-02-18 David Edelsohn <edelsohn@gnu.org>
- PR target/26350
- * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
- MEM for ABI_V4 pic.
- 2006-02-18 Richard Sandiford <richard@codesourcery.com>
- * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
- * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
- (copy_insn_1): Likewise. Don't copy each field individually.
- Reindent.
- * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
- of RTX_SIZE.
- * reload1.c (eliminate_regs): Use shallow_copy_rtx.
- * rtl.c (rtx_size): Rename variable to...
- (rtx_code_size): ...this.
- (rtx_size): New function.
- (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
- (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually.
- Reindent.
- (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
- * rtl.h (rtx_code_size): New variable.
- (rtx_size): Change from a variable to a function.
- (RTX_SIZE): Rename to...
- (RTX_CODE_SIZE): ...this.
- PR target/9703
- PR tree-optimization/17106
- * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
- (Anchored Addresses): New section.
- * doc/invoke.texi (-fsection-anchors): Document.
- * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
- (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
- (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
- * hooks.c (hook_bool_mode_rtx_false): New function.
- * hooks.h (hook_bool_mode_rtx_false): Declare.
- * gengtype.c (create_optional_field): New function.
- (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
- SYMBOL_REF_IN_BLOCK_P is true.
- * target.h (output_anchor, use_blocks_for_constant_p): New hooks.
- (min_anchor_offset, max_anchor_offset): Likewise.
- (use_anchors_for_symbol_p): New hook.
- * toplev.c (compile_file): Call output_object_blocks.
- (target_supports_section_anchors_p): New function.
- (process_options): Check that -fsection-anchors is only used on
- targets that support it and when -funit-at-a-time is in effect.
- * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
- if the decl doesn't have one.
- * dwarf2out.c: Remove instantiations of VEC(rtx,gc).
- * expr.c (emit_move_multi_word, emit_move_insn): Pass the result
- of force_const_mem through use_anchored_address.
- (expand_expr_constant): New function.
- (expand_expr_addr_expr_1): Call it. Use the same modifier when
- calling expand_expr for INDIRECT_REF.
- (expand_expr_real_1): Pass DECL_RTL through use_anchored_address
- for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant.
- * expr.h (use_anchored_address): Declare.
- * loop-unroll.c: Don't declare rtx vectors here.
- * explow.c: Include output.h.
- (validize_mem): Call use_anchored_address.
- (use_anchored_address): New function.
- * common.opt (-fsection-anchors): New switch.
- * varasm.c (object_block_htab, anchor_labelno): New variables.
- (hash_section, object_block_entry_eq, object_block_entry_hash)
- (use_object_blocks_p, get_block_for_section, create_block_symbol)
- (use_blocks_for_decl_p, change_symbol_section): New functions.
- (get_variable_section): New function, split out from assemble_variable.
- (make_decl_rtl): Create a block symbol if use_object_blocks_p and
- use_blocks_for_decl_p say so. Use change_symbol_section if the
- symbol has already been created.
- (assemble_variable_contents): New function, split out from...
- (assemble_variable): ...here. Don't output any code for
- block symbols; just pass them to place_block_symbol.
- Use get_variable_section and assemble_variable_contents.
- (get_constant_alignment, get_constant_section, get_constant_size): New
- functions, split from output_constant_def_contents.
- (build_constant_desc): Create a block symbol if use_object_blocks_p
- says so. Or into SYMBOL_REF_FLAGS.
- (assemble_constant_contents): New function, split from...
- (output_constant_def_contents): ...here. Don't output any code
- for block symbols; just pass them to place_section_symbol.
- Use get_constant_section and get_constant_alignment.
- (force_const_mem): Create a block symbol if use_object_blocks_p and
- use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS.
- (output_constant_pool_1): Add an explicit alignment argument.
- Don't switch sections here.
- (output_constant_pool): Adjust call to output_constant_pool_1.
- Switch sections here instead. Don't output anything for block symbols;
- just pass them to place_block_symbol.
- (init_varasm_once): Initialize object_block_htab.
- (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
- (default_asm_output_anchor, default_use_aenchors_for_symbol_p)
- (place_block_symbol, get_section_anchor, output_object_block)
- (output_object_block_htab, output_object_blocks): New functions.
- * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
- (TARGET_ASM_OUT): Include it.
- (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
- (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
- (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
- (TARGET_INITIALIZER): Include them.
- * rtl.c (rtl_check_failed_block_symbol): New function.
- * rtl.h: Include vec.h. Declare heap and gc rtx vectors.
- (block_symbol, object_block): New structures.
- (rtx_def): Add a block_symbol field to the union.
- (BLOCK_SYMBOL_CHECK): New macro.
- (rtl_check_failed_block_symbol): Declare.
- (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
- (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
- (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
- (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
- * output.h (output_section_symbols): Declare.
- (object_block): Name structure.
- (place_section_symbol, get_section_anchor, default_asm_output_anchor)
- (default_use_anchors_for_symbol_p): Declare.
- * Makefile.in (RTL_BASE_H): Add vec.h.
- (explow.o): Depend on output.h.
- * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
- (TARGET_MAX_ANCHOR_OFFSET): Likewise.
- (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
- (rs6000_use_blocks_for_constant_p): New function.
- 2006-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
- 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/25680
- * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
- IMAGPART_EXPR.
- 2006-02-18 Diego Novillo <dnovillo@redhat.com>
- * tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
- is_aliased.
- Update all users.
- 2006-02-18 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26334
- * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
- instead of DECL_REGISTER.
- 2006-02-18 Olivier Hainque <hainque@adacore.com>
- PR ada/13408
- * pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
- 2006-02-18 Joseph S. Myers <joseph@codesourcery.com>
- PR target/24837
- * config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
- * opth-gen.awk: Handle Var and InverseMask together.
- * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
- * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
- (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
- (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
- used together.
- (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
- LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
- * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
- UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER): Define.
- (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
- * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
- TARGET_GLIBC.
- * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
- * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- (TARGET_C99_FUNCTIONS): Don't define.
- * config/i386/linux.h (DYNAMIC_LINKER): Rename to
- GLIBC_DYNAMIC_LINKER.
- (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
- * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
- GLIBC_DYNAMIC_LINKER64): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
- LINUX_DYNAMIC_LINKER64.
- * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
- GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
- UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
- and LINUX_DYNAMIC_LINKER32.
- * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
- TARGET_GLIBC.
- * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
- (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
- UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
- CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
- (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
- (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
- * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
- UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER): Define.
- (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
- * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
- GLIBC_DYNAMIC_LINKER64): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
- LINUX_DYNAMIC_LINKER64.
- * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
- UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
- * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
- GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
- UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
- (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
- (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
- (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
- * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * doc/invoke.texi (-muclibc): Remove caveat about supported
- targets.
- 2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
- * doc/cpp.texi (__TIMESTAMP__): Document.
- 2006-02-17 Roger Sayle <roger@eyesopen.com>
- PR middle-end/25600
- * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
- C is one less than the width of X (and related transformations).
- * simplify-rtx.c (simplify_unary_operation_1): Transform
- (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
- depending on STORE_FLAG_VALUE, were C is one less then the
- width of X.
- 2006-02-17 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/26341
- * tree-ssa-operands.c (add_virtual_operand): Remove assert
- about NAME_MEMORY_TAG's.
- 2006-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/26255
- * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
- with hardware float support, and software float support. Add fcpy
- alternative to hardware patterns. Add alternatives to copy between
- general and floating-point registers to the 32-bit pattern.
- * pa.c (pa_secondary_reload): Don't abort if reload tries to find a
- secondary reload to load a QI or HI mode constant into a floating
- point register.
- * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
- * pa64-regs.h (VALID_FP_MODE_P): Likewise.
- 2006-02-17 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/26272
- * config/rs6000/darwin.md (load_macho_picbase_si): Add
- pc to the pattern.
- (load_macho_picbase_di): Likewise.
- 2006-02-16 Jeff Law <law@redhat.com>
- * tree-vrp.c (set_value_range_to_nonnegative): New function.
- (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
- (ssa_name_nonzero_p): Likewise.
- (get_value_range): Return NULL if VRP is not running.
- (extract_range_from_expr): Fallback to tree_expr_XXX_p if
- VRP routines do not discover a range.
- (vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
- * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
- * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
- (tree_expr_nonnegative_p): Similarly.
- * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
- (restore_nonzero_vars_to_original_value): Remove.
- (unsafe_associative_fp_binop): Remove.
- (tree_ssa_dominator_optimize): Remove initialization and
- finalization of nonzero_vars and nonzero_vars_stack.
- (dom_opt_initialize_block): No longer push marker on
- nonzero_vars_stack.
- (dom_opt_finalize_block): No longer call
- restore_nonzero_vars_to_original_value.
- (record_equivalences_from_phis): No longer look for
- nonzero PHI arguments.
- (cprop_into_successor_phis): No longer propagate nonzero
- property into PHI arguments. Lose unused argument. Caller
- updated.
- (record_equivalences_from_stmt): No longer record nonzero
- values for SSA_NAMEs.
- (lookup_avail_expr): No longer use nonzero_vars.
- * stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly
- for sizetype when sizetype is unsigned.
- 2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com>
- PR rtl-optimization/25603
- * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
- (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
- * reload1.c (choose_reload_regs): Added call of regno_clobbered_p
- with new meaning of SETS.
- 2006-02-16 Joseph S. Myers <joseph@codesourcery.com>
- PR target/20353
- PR target/24578
- PR target/24837
- * config/linux.opt: New file.
- * config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER): Define.
- (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC.
- * config.gcc (*-*-linux*): Define extra_options.
- (*-*-*uclibc*): Define UCLIBC_DEFAULT.
- (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
- * config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to
- GLIBC_DYNAMIC_LINKER.
- * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise.
- (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define.
- (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
- * doc/invoke.texi (GNU/Linux Options): New section.
- 2006-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sparc.md (setjmp): Rewrite.
- (setjmp_32): Delete.
- (setjmp_64): Likewise.
- 2006-02-16 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-operands.c (access_can_touch_variable): Fix typo in
- previous change.
- 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz>
- * loop-invariant.c (invariant_for_use, check_dependencies): Fail for
- read-write uses.
- 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26296
- * Makefile.in (loop-invariant.c): Add except.h dependency.
- * loop-invariant.c: Include except.h.
- (find_invariant_insn): Ignore insns satisfying can_throw_internal.
- 2006-02-16 Paul Brook <paul@codesourcery.com>
- * reload1.c (emit_reload_insns): Invalidate dead input registers used
- for reloads.
- 2006-02-16 Bernd Schmidt <bernd.schmidt@analog.com>
- PR rtl-optimization/25636
- * local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
- when deciding whether an insn is an initializing insn.
- 2006-02-15 Daniel Berlin <dberlin@dberlin.org>
- * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
- (tree_code_size): Ditto.
- * tree.h (struct tree_memory_tag): Remove parent_var.
- (struct tree_struct_field_tag): New.
- (SFT_OFFSET): New.
- (SFT_SIZE): New.
- (union tree_node): Add sft member.
- * tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
- specially here.
- (create_sft): Add size and offset argument, set SFT_OFFSET and
- SFT_SIZE.
- (create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE.
- * treestruct.def: Add TS_STRUCT_FIELD_TAG.
- * tree-flow-inline.h (get_subvar_at): Update for
- SFT_OFFSET/SFT_SIZE.
- (var_can_have_subvars): Ditto.
- (overlap_subvar): Ditto.
- * print-tree.c (print_node): Print out interesting things for
- SFT's.
- * tree-flow.h (struct subvar): Remove offset and size members.
- * tree-ssa-operands.c (get_expr_operands): Update for
- get_indirect_ref_operands changes.
- (get_indirect_ref_operands): Call add_virtual_operand instead of
- add_stmt_operand. Only recurse on base var if requested.
- (access_can_touch_variable): New function.
- (add_stmt_operand): Split virtual operand handling into ...
- (add_virtual_operand): Here. Add offset, size, and for_clobber
- arguments. Prune alias sets.
- (add_call_clobber_ops): Call add_virtual_operand.
- 2006-02-15 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26300
- * combine.c (make_extraction): Bail out if ORIG_POS is negative.
- * tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather
- than TREE_CODE as index into omp_clause_num_ops array.
- 2006-02-15 Uttam Pawar <uttamp@us.ibm.com>
- PR rtl-optimization/26184
- * modulo-sched.c (generate_reg_moves): Free bitmap vector
- uses_of_defs.
- * modulo-sched.c (sms_schedule): Free g_arr pointer.
- * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
- must_precede, must_follow and tobe_scheduled.
- PR other/26147
- * opts.c (common_handle_option): Free new_option pointer.
- * df-core.c (df_analyze): Free postorder pointer.
- 2006-02-15 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
- * Makefile.in: Fix the examples about the use of stamps
- 2006-02-15 Michael Matz <matz@suse.de>
- PR middle-end/22275
- * stor-layout.c (layout_decl): Zero-width bitfields aren't
- influenced by maximum_field_alignment or DECL_PACKED.
- (update_alignment_for_field): Ditto.
- (place_field): Ditto.
- * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
- this behaviour.
- 2006-02-15 Paolo Bonzini <bonzini@gnu.org>
- * cfg.c (dump_flow_info): Get dump flags as an additional parameter.
- (debug_flow_info): Pass it.
- * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
- * bb-reorder.c (reorder_basic_blocks): Likewise.
- * cfgcleanup.c (rest_of_handle_jump2): Likewise.
- * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
- * flow.c (life_analysis, recompute_reg_usage): Likewise.
- * gcse.c (gcse_main, bypass_jumps): Likewise.
- * ifcvt.c (rest_of_handle_if_conversion): Likewise.
- * local-alloc.c (rest_of_handle_local_alloc): Likewise.
- * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
- * profile.c (compute_branch_probabilities, branch_prob): Likewise.
- * rtl.h (dump_flow_info): Adjust prototype.
- * tracer.c (rest_of_handle_tracer, tracer): Likewise.
- * var-tracking.c (variable_tracking_main): Likewise.
- * passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
- * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
- options.
- 2006-02-15 Marcin Dalecki <martin@dalecki.de>
- * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
- construction.
- 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/26209
- * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
- * tree-cfgcleanup.c (cleanup_control_flow): Remove dead
- eh edges.
- * tree-cfg.c (replace_uses_by): Do not alter cfg.
- 2006-02-14 Roger Sayle <roger@eyesopen.com>
- PR middle-end/23670
- * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
- (X,Y) and the corresponding symmetry related transformations.
- (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
- (X,Y) and its symmetry related transformations.
- 2006-02-14 Roger Sayle <roger@eyesopen.com>
- * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
- and GEU.
- 2006-02-14 Adam Nemet <anemet@caviumnetworks.com>
- * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
- 2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- PR bootstrap/26053
- * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
- support COMDAT group.
- * configure: Regenerate.
- 2006-02-14 Roger Sayle <roger@eyesopen.com>
- PR middle-end/26279
- PR middle-end/26280
- PR middle-end/26283
- * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.
- 2006-02-14 Daniel Berlin <dberlin@dberlin.org>
- Fix PR tree-optimization/26260
- * doc/invoke.texi (max-fields-for-field-sensitive): Document
- param.
- * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
- * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
- * tree-ssa-structalias.c (create_variable_info_for): Use
- MAX_FIELDS_FOR_FIELD_SENSITIVE.
- 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz>
- * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
- Document.
- * tree-ssa-loop-niter.c (number_of_iterations_ne,
- number_of_iterations_lt, number_of_iterations_cond): Remember the shape
- of the ending condition.
- * tree-ssa-loop-manip.c: Include params.h.
- (build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
- tree_unroll_loop): New functions.
- * tree-pass.h (pass_loop_prefetch): Declare.
- * loop.c (rest_of_handle_loop_optimize): Test for
- -fprefetch-loop-arrays-rtl.
- * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
- * timevar.def (TV_TREE_PREFETCH): New timevar.
- * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
- pass_loop_prefetch): New.
- * tree-cfgcleanup.c: Include tree-scalar-evolution.h.
- (cleanup_tree_cfg_loop): Call scev_reset.
- * common.opt (fprefetch-loop-arrays-rtl): Add.
- * tree-ssa-loop-prefetch.c: New file.
- * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
- (new_temp_expr_table): Initialize expr_vars.
- (free_temp_expr_table): Cleanup expr_vars.
- (check_replaceable, find_replaceable_in_bb): Prevent accumulating
- expressions from being merged into one.
- * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
- (struct tree_niter_desc): Add control, bound and cmp fields.
- (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
- Declare.
- * Makefile.in (tree-ssa-loop-prefetch.o): Add.
- (tree-cfgcleanup.o): Add SCEV_H dependency.
- (tree-ssa-loop-manip.o): Add PARAMS_H dependency.
- * passes.c (init_optimization_passes): Add pass_loop_prefetch.
- 2006-02-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/26258
- * tree-ssa-structalias.c (find_func_aliases): Handle aggregates
- in PHI argument processing.
- 2006-02-13 Adam Nemet <anemet@caviumnetworks.com>
- * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
- new expression in the requested machine mode.
- 2006-02-13 Roger Sayle <roger@eyesopen.com>
- * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
- directly, instead let do_compare_rtx_and_jump handle this for us.
- * expr.c (expand_expr_real_1): Likewise.
- * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move
- before do_jump_by_parts_greater.
- (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
- * expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
- 2006-02-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa/quadlib.c: Use defines instead of enum qfcmp_magic.
- 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26235
- * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
- (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown
- format.
- 2006-02-13 Jeff Law <law@redhat.com>
- * tree-vrp.c (extract_range_from_binary_expr): Remove handling of
- TRUTH_XOR_EPR.
- 2006-02-13 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/26092
- * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
- twice if decl is a builtin. When trying again, call get_callee_fndecl
- first to verify it is still a builtin.
- 2006-02-13 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (base_type_die): Don't add AT_name here.
- (subrange_type_die): Don't add AT_name here.
- (modified_type_die): Rearrange code flow. Do add AT_name here.
- 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26247
- PR rtl-optimization/26248
- * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
- 2006-02-13 Richard Sandiford <richard@codesourcery.com>
- * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
- * config/fixtfdi.c: Likewise.
- * config/fixunstfdi.c: Likewise.
- * config/floatditf.c: Likewise.
- 2006-02-13 Roger Sayle <roger@eyesopen.com>
- PR middle-end/24427
- * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
- into (X,C2) if C1 is a subset of the bits of C2. Transform
- (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as
- (X&(C1&~C2))|C2.
- <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
- 2006-02-13 Josh Conner <jconner@apple.com>
- PR target/25376
- * varasm.c (function_section): Check for section name before
- calling select_section on targets that define
- USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use
- unlikely_text_section instead of hot_function_section if
- first_function_block_is_cold.
- 2006-02-13 J"orn Rennecke <joern.rennecke@st.com>
- PR middle-end/25335
- * reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
- 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26222
- * function.c (assign_stack_temp_for_type): Do not reuse stack slots
- after tree->rtl expansion.
- * loop-invariant.c (move_invariant_reg): Use force_operand on rhs
- before passing it to emit_move_insn.
- 2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
- * doc/invoke.texi (-Write-strings): Document that it is enabled by
- default.
- * c.opt (-Wwrite-strings): Declare variable warn_write_strings.
- Clarify documentation.
- * c-common.h (warn_write_strings): Remove.
- * c-common.c (warn_write_strings): Likewise.
- * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
- default for C++.
- 2006-02-12 Roger Sayle <roger@eyesopen.com>
- PR middle-end/25724
- * dojump.c (do_jump): Call do_compare_rtx_and_jump.
- (do_jump_parts_zero_rtx): New function renamed from
- do_jump_parts_equality_rtx. Made static. Add a mode argument.
- (do_jump_parts_equality_rtx): New function split out from
- do_jump_parts_equality. Old implementation renamed as above.
- Call do_jump_parts_zero_rtx if either operand is zero.
- (do_jump_parts_equality): Call do_jump_parts_equality_rtx to
- do all of the heavy lifting.
- (do_compare_rtx_and_jump): Handle multi-word comparisons by
- calling either do_jump_by_parts_greater_rtx or
- do_jump_by_parts_equality_rtx.
- * expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
- * expmed.c (do_cmp_and_jump): Now multi-word optimization has
- moved to do_compare_rtx_and_jump, call it directly.
- * stmt.c (do_jump_if_equal): Remove static prototype. Add a
- mode argument. Call do_compare_rtx_and_jump.
- (emit_case_nodes): Update calls to do_jump_if_equal.
- 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26225
- * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
- 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26232
- * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
- 2006-02-11 Jason Merrill <jason@redhat.com>
- PR tree-opt/24365
- * tree-inline.c (declare_return_variable): Just don't use the
- modify target if it's a gimple complex reg and the return slot
- isn't.
- 2006-02-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * doc/contrib.texi: Update my entry.
- 2006-02-10 Geoffrey Keating <geoffk@apple.com>
- * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
- 2006-02-10 Diego Novillo <dnovillo@redhat.com>
- * tree-inline.c (estimate_num_insns_1): Make OpenMP directives
- expensive.
- 2006-02-10 Zdenek Dvorak <dvorakz@suse.cz>
- * doc/invoke.texi (-floop-optimize2): Removed.
- * toplev.c (process_options): Remove handling of flag_loop_optimize2.
- * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
- Test flag_branch_on_count_reg only if HAVE_doloop_end.
- * common.opt (floop-optimize2): Removed.
- (fmove-loop-invariants): Enabled by default.
- 2006-02-10 Sebastian Pop <pop@cri.ensmp.fr>
- * tree-if-conv.c (combine_blocks): Free the result of
- get_loop_exit_edges.
- 2006-02-10 Jeff Law <law@redhat.com>
- * fold-const.c (tree_expr_nonzero_p): Fix thinko.
- PR tree-optimization/26213
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
- loop trying to follow SSA_NAME_VALUE chains.
- 2006-02-10 Richard Guenther <rguenther@suse.de>
- * tree-dfa.c (get_ref_base_and_extent): When computing maxsize
- deal with structures that end in implicitly variable sized arrays.
- 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/24762
- * df-scan.c (df_bb_refs_record): Record correct registers defined on
- eh edges.
- 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
- (struct ivopts_data): Add regs_used field.
- (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
- (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
- instead of loop_data->regs_used;
- (free_loop_data): Do not free aux fields for loops.
- (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
- and tree_ssa_iv_optimize_finalize.
- 2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
- 2006-02-09 J"orn Rennecke <joern.rennecke@st.com>
- PR target/26141
- * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
- computing the effective result type.
- 2006-02-09 J"orn Rennecke <joern.rennecke@st.com>
- PR inline-asm/16194
- * tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
- (tree_overlaps_hard_reg_set): Declare.
- * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return
- type and signature to match function type expected by walk_tree.
- (tree_overlaps_hard_reg_set): New function.
- (decl_conflicts_with_clobbers_p): Rename to:
- (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument.
- Use tree_overlaps_hard_reg_set. Changed caller.
- * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
- decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
- * cris.c (cris_md_asm_clobbers): Likewise.
- 2006-02-09 Bernd Schmidt <bernd.schmidt@analog.com>
- * reload1.c (emit_input_reload_insns): Delete code that tries to
- inherit using find_equiv_reg.
- 2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
- * c-common.h (flag_const_strings): Don't declare.
- * c-common.c (flag_const_strings): Remove.
- * c.opt (fconst_strings): Remove.
- * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>.
- <OPT_Wwrite_strings>: Don't set flag_const_strings.
- (c_common_init_options): Don't set flag_const_strings.
- * doc/invoke.texi (-fno-const-strings): Remove documentation.
- 2006-02-09 Richard Earnshaw <richard.earnshaw@arm.com>
- * arm.md (tlobits_cbranch): New pattern.
- * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
- testing a single bit.
- 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/26179
- * tree-ssa-pre.c (create_component_ref_by_pieces):
- Handle RETURN_DECL like VAR_DECL.
- 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/26134
- * fold-const.c (fold_indirect_ref_1): Fold
- "*(foo *)&complexfoo" to "__real__ complexfoo"
- and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
- 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
- * tree-flow-inline.h (var_can_have_subvars):
- Volatile variables should not have subvariables.
- 2006-02-09 Diego Novillo <dnovillo@redhat.com>
- PR 26180
- * tree-vrp.c (vrp_int_const_binop): Detect overflow when
- multiplying unsigned values.
- Tidy comments.
- 2006-02-09 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sparc.c (tls_call_delay): Fix oversight.
- 2006-02-08 Jason Merrill <jason@redhat.com>
- PR c++/25979
- * tree.def: Elaborate on difference from MODIFY_EXPR.
- * doc/c-tree.texi (INIT_EXPR): Likewise.
- * gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
- (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
- (gimplify_target_expr): Likewise.
- (gimplify_cond_expr): Remove target handling.
- (gimplify_modify_expr): Don't clobber INIT_EXPR code here.
- (gimplify_expr): Clobber it here.
- (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
- Do return slot optimization if we have an INIT_EXPR.
- PR tree-opt/24365
- * tree-inline.c (declare_return_variable): Also clear
- DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
- PR c++/16405
- * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
- PR middle-end/22439
- * gimplify.c (gimplify_one_sizepos): Fix typo.
- 2006-02-08 Jeff Law <law@redhat.com>
- PR tree-optimization/21417
- * tree-ssa-threadedge.c (thread_across_edge): Reject threading
- across a backedge if the control statement at the end of the
- block is data dependent on other statements in the same block.
- (record_temporary_equivalences_from_stmts): Remove over-conservative
- test for threading across backedges.
- * tree-ssa-dce.c (remove_dead_statement): When removing a dead
- control statement, handle all three special cases in the same
- manner as they all have the same desired solution. No longer
- special case edge flag updating when the post dominator is
- the exit block.
- 2006-02-08 Roger Sayle <roger@eyesopen.com>
- * tree.def (CHAR_TYPE): Remove.
- * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
- * dwarf2out.c (base_type_die, is_base_type): Likewise.
- (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
- (gen_string_type_die): Delete unreachable function.
- * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
- * tree.c (build_int_cst_wide, type_contains_placeholder_1,
- type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
- * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
- * builtins.c (type_to_class): Likewise.
- * fold-const.c (fold_convert, build_range_check,
- merge_ranges): Likewise.
- * expr.c (count_type_elements): Likewise.
- * c-pretty-print.c (pp_c_type_specifier): Likewise.
- * stor-layout.c (layout_type): Likewise.
- * ipa-type-escape.c (type_to_consider): Likewise.
- * gimplify.c (omp_firstprivatize_type_sizes,
- gimplify_type_sizes): Likewise.
- * explow.c (promote_mode): Likewise.
- * tree-sra.c (is_sra_scalar_type): Likewise.
- * varasm.c (output_constant): Likewise.
- * tree-inline.c (remap_type_1): Likewise.
- * convert.c (convert_to_pointer, convert_to_real,
- convert_to_integer, convert_to_complex): Likewise.
- 2006-02-08 Daniel Berlin <dberlin@dberlin.org>
- * df-scan.c (df_def_record_1): A set destination may
- be a parallel regardless of mode.
- 2006-02-08 Roger Sayle <roger@eyesopen.com>
- PR target/22209
- * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
- * config/mips/_tilib.c: Remove.
- * config/fixtfdi.c: New libgcc source file.
- * config/fixunstfdi.c: New source file.
- * config/floatditf.c: New source file.
- * config/floatunditf.c: New souce file.
- * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
- files above instead of config/mips/_tilib.c.
- * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
- 2006-02-08 Jeff Law <law@redhat.com>
- PR tree-optimization/26169
- * tree-vrp.c (execute_vrp): Perform any queued SSA updates before
- threading jumps.
- 2006-02-08 Zdenek Dvorak <dvorakz@suse.cz>
- * df.h (DF_REG_SIZE): Return the length of the initialized
- part of the array.
- 2006-02-08 Nathan Sidwell <nathan@codesourcery.com>
- * config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
- __muldf3): Return a correctly signed zero.
- 2006-02-08 Paolo Bonzini <bonzini@gnu.org>
- * passes.c (register_one_dump_file): Accept the current properties
- instead of pass number. Adjust call to dump_register. Remove
- duplicated code.
- (register_dump_files): Now a wrapper around...
- (register_dump_files_1): ... this one. Do not modify the pass
- structure.
- (next_pass_1): Cosmetic fix.
- (execute_todo): Keep second parameter only. Use curr_properties
- instead of fetching it from the pass structure. Check and set
- last_verified.
- (execute_one_pass): Handle TODO_set_props. Use curr_properties
- instead of fetching it from the pass structure. Fix calls to
- execute_todo. Update curr_properties and initialize .vcg RTL dump
- after running the pass. Reset last_verified.
- * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump
- at the beginning.
- (FIRST_AUTO_NUMBERED_DUMP): New.
- (dump_register): Remove "num" parameter, assign it within the
- function.
- (get_dump_file_name): Modify template for dumps.
- * tree-dump.h (dump_register): Adjust prototype.
- * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning.
- (PROP_trees): Add PROP_gimple_lomp.
- (TODO_set_props): New.
- * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf.
- * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
- * cfgexpand.c (pass_expand): Destroy PROP_trees.
- 2006-02-08 Jakub Jelinek <jakub@redhat.com>
- * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
- (sparc64-*-linux*): Likewise.
- * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
- * config/sparc/t-linux: New file.
- * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
- __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
- (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
- -m32 -mlong-double-128.
- * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
- * config/alpha/t-linux: New file.
- * config/alpha/libgcc-alpha-ldbl.ver: New file.
- * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
- __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
- (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
- * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
- __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
- (CPP_ARCH32_SPEC): Remove.
- 2006-02-07 Uttam Pawar <uttamp@us.ibm.com>
- PR tree-optimization/26145
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free
- bbs pointer.
- 2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/26109
- * pa.c (attr_length_indirect_call): Don't return length 8 for distances
- >= 240000 when generating code for SOM runtime.
- (output_indirect_call): Don't use "b,l" instruction for indirect calls
- to $$dyncall when generating code for SOM runtime..
- 2006-02-07 Dirk Mueller <dmueller@suse.com>
- PR c++/18150
- * doc/invoke.texi (-Wsequence-point): Update documentation
- that -Wsequence-point is implemented for C++ as well.
- 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
- * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
- (LIB_SPEC): Likewise.
- * doc/invoke.texi (SPARC options): Document -pthread.
- 2006-02-07 Geoffrey Keating <geoffk@apple.com>
- * config/i386/i386.c (ix86_delegitimize_address): Support Darwin
- PIC addresses.
- 2006-02-07 Roger Sayle <roger@eyesopen.com>
- * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
- Correct comment describing BOOLEAN_TYPE.
- 2006-02-07 Dirk Mueller <dmueller@suse.com>
- * c.opt: C++ frontend supports -Wdiv-by-zero.
- * c-opts.c (c_common_handle_option): Remove dead case.
- 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
- * configure.ac (TLS assembler check): Do not enable TLS by
- default on SPARC/Solaris before version 10.
- * configure: Regenerate.
- 2006-02-07 David Edelsohn <edelsohn@gnu.org>
- * doc/invoke.texi (xl-compat): Document conversion and support
- routine names.
- 2006-02-07 Jeff Law <law@redhat.com>
- * tree-vrp.c (find_conditional_asserts): Update comments.
- (simplify_stmt_for_jump_threading): New.
- (identify_jump_threads, finalize_jump_threads): New.
- (vrp_finalize): Call identify_jump_threads.
- (execute_vrp): Call finalize_jump_threads.
- * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field.
- (vrp_element, vrp_data, vrp_element_p): Remove.
- (vrp_hash_elt, vrp_variables_stack): Remove.
- (vrp_hash, vrp_eq, record_range): Remove.
- (simplify_cond_and_lookup_avail_expr): Remove.
- (extract_range_from_cond): Remove.
- (thread_across_edge): Relocated into tree-ssa-threadedge.c.
- (simplify_stmt_for_jump_threading): New.
- (dom_thread_across_edge): New wrapper.
- (tree_ssa_dominator_optimize): No longer initialize or
- finalize any of the VRP datastructures. Remove iteration
- step and simplify as a result of removal of iteration step.
- (pass_dominator): Perform a cfg cleanup after DOM.
- (dom_opt_finalize_block): Use the new common routines
- for threading jumps. Simplify stack management slightly.
- No longer need to unwind VRP state.
- (record_equivalences_from_incoming_edge): No longer record
- VRP information.
- (eliminate_redundant_computations): No longer call
- simplify_cond_and_lookup_avail_expr.
- * tree-flow.h (potentially_threadable_block): Prototype.
- (thread_across_edge): Likewise.
- * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o
- (tree-ssa-threadedge.o): Add dependencies.
- * tree-ssa-threadedge.c: New file.
- * passes.c (init_optimization_passes): Merge PHIs before
- calling VRP. Run VRP again late in the SSA optimization pipeline.
- 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
- * df-core.c (df_set_blocks): Do not dereference function pointers.
- (df_finish1): Likewise.
- (df_hybrid_search_forward): Likewise.
- (df_hybrid_search_backward): Likewise.
- (df_iterative_dataflow): Likewise.
- (df_analyze_problem): Likewise.
- (df_compact_blocks): Likewise.
- (df_dump): Likewise.
- * df-scan.c (df_rescan_blocks): Likewise.
- (df_record_entry_block_defs): Likewise.
- * genconditions.c (write_conditions): Guard the definition of
- 'insn_conditions' with the check on GCC version.
- (write_writer): Guard the traversal 'insn_conditions' with
- the check on GCC version.
- 2006-02-07 Richard Guenther <rguenther@suse.de>
- PR c++/26140
- Revert
- 2006-01-30 Richard Guenther <rguenther@suse.de>
- PR c++/23372
- * gimplify.c (gimplify_target_expr): Handle easy cases
- without creating a temporary.
- 2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com>
- * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
- use of float in probability computations. Use edge probabilities
- in place of statically computed probabilities.
- (min_spec_prob): New static variable.
- (schedule_insns): Initialize it.
- (GET_SRC_PROB): Removed.
- * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob.
- 2006-02-07 Alexandre Oliva <aoliva@redhat.com>
- PR debug/24444
- * config/ia64/unwind-ia64.c: Revert last change.
- * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
- (INCOMING_FRAME_SP_OFFSET): Define.
- 2006-02-06 Roger Sayle <roger@eyesopen.com>
- * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.
- 2006-02-07 Ben Elliston <bje@au.ibm.com>
- * config/i386/i386.c (ix86_scalar_mode_supported_p): New.
- (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook.
- (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit.
- (ix86_return_in_memory): Handle TDmode.
- (ix86_libcall_value): Handle SDmode, DDmode, TDmode.
- (ix86_value_regno): Return non-TDmode decimal float modes in %eax.
- 2006-02-06 Richard Sandiford <richard@codesourcery.com>
- * reorg.c (dbr_schedule): Use dump_file instead of file.
- 2006-02-06 Steve Ellcey <sje@cup.hp.com>
- PR target/25917
- * config/ia64/predicates.md (extr_len_operand): New predicate.
- * config/ia64/ia64.md (extv): Tighten constraints.
- (extzv): Ditto.
- (*tbit_and_2): Ditto.
- (*tbit_and_3): Ditto.
- (*tbit_or_2): Ditto.
- (*tbit_or_3): Ditto.
- (*bit_zero): Ditto.
- (*bit_one): Ditto.
- 2006-02-06 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/23359
- * config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
- 2006-02-06 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (execute_vrp): Do not pass dump argument to.
- loop_optimizer_init and loop_optimizer_finalize
- * tree-ssa-sink.c (execute_sink_code): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init,
- tree_ssa_loop_done): Ditto.
- * tree-ssa-pre.c (init_pre, fini_pre): Ditto.
- * sched-ebb.c: Include output.h.
- (schedule_ebbs): Do not use dump argument.
- * value-prof.h (struct profile_hooks): Remove profile_dump_file.
- * loop.c (loop_dump_stream): Removed.
- (loop_optimize, rest_of_handle_loop_optimize): Do not use dump
- argument.
- (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump,
- emit_prefetch_instructions, loop_bivs_find, loop_bivs_check,
- final_biv_value, loop_biv_eliminable_p, loop_givs_rescan,
- loop_iterations, strength_reduce, record_biv, record_giv,
- final_giv_value, check_final_value, check_ext_dependent_givs,
- combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems,
- try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use
- dump_file instead of loop_dump_stream.
- * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call
- argument dump_file.
- * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use
- dump argument.
- * flow.c (life_analysis, rest_of_handle_life): Ditto.
- * haifa-sched.c: Include output.h
- (schedule_insns, sched_init): Do not use dump argument.
- * mode-switching.c (optimize_mode_switching): Ditto.
- * modulo-sched.c (stats_file): Removed.
- (print_node_sched_params): Do not call argument dump_file.
- (sms_schedule_by_order, loop_canon_p, sms_schedule,
- rest_of_handle_sms): Do not use dump argument. Use dump_file instead
- of stats_file.
- * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not
- use dump argument.
- * loop-init.c (loop_optimizer_init, loop_optimizer_finalize,
- rtl_loop_init, rtl_loop_done): Ditto.
- * global.c (global_alloc, rest_of_handle_global_alloc): Ditto.
- * predict.c (combine_predictions_for_bb, tree_estimate_probability):
- Ditto.
- * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto.
- * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto.
- * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize,
- rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto.
- * emit-rtl.c (renumber_insns): Ditto.
- * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr,
- expand_gimple_basic_block, tree_expand_cfg): Ditto.
- * regclass.c (regclass): Ditto.
- * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts,
- remove_ssa_form, rewrite_out_of_ssa): Ditto.
- * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1,
- convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs):
- Ditto.
- * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto.
- * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file
- to regclass.
- * gcse.c (gcse_file, debug_stderr): Removed.
- (gcse_main, bypass_jumps, rest_of_handle_jump_bypass,
- rest_of_handle_gcse): Do not use dump argument.
- (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets,
- one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb,
- pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass,
- compute_code_hoist_vbeinout, compute_code_hoist_data,
- one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores,
- compute_store_table, build_store_vectors, insert_insn_start_bb,
- insert_store, remove_reachable_equiv_notes, replace_store_insn,
- store_motion): Use dump_file instead of gcse_file.
- * ipa-type-escape.c (type_escape_execute): Remove debugging comments.
- * profile.c (profile_dump_file): Removed.
- (branch_prob): Use dump_file instead of profile_dump_file.
- * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument
- dump_file.
- * tree-ssa-copy.c (dump_copy_of): Ditto.
- * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass
- dump file to life_analysis.
- * bt-load.c (branch_target_load_optimize): Ditto.
- * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to
- renumber_insns.
- * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs,
- regclass, dbr_schedule): Declaration changed.
- * sched-int.h (sched_init): Declaration changed.
- * tree-profile.c (tree_profile_dump_file): Removed.
- (tree_profile_hooks): Removed profile_dump_file hook.
- * rtl-profile (rtl_profile_dump_file): Removed.
- (rtl_profile_hooks): emoved profile_dump_file hook.
- * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration
- changed.
- * c-gimplify.c (c_genericize): Do not call local variable dump_file.
- * tree-cfg.c (build_tree_cfg): Ditto.
- * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency.
- * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm):
- Declaration changed.
- * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to
- life_analysis and schedule_insns.
- * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to
- life_analysis.
- * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to
- dbr_schedule.
- * config/mips/mips.c (mips_reorg): Ditto.
- * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to
- schedule_ebbs.
- 2006-02-06 Aldy Hernandez <aldyh@redhat.com>
- * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
- (s390_mangle_fundamental_type): New.
- * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
- Define.
- * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
- (alpha_mangle_fundamental_type): New.
- * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
- Define.
- * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
- Define.
- * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
- Define.
- * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
- (sparc_mangle_fundamental_type): New.
- 2006-02-06 Jakub Jelinek <jakub@redhat.com>
- * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
- (s390x-*-linux*): Likewise.
- * config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
- * config/s390/t-linux: New file.
- 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com>
- * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>,
- sync_and<mode>, sync_xor<mode>): Operand 0 is in-out.
- 2006-02-06 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.
- (ANTIC_SAFE_LOADS): New macro.
- (find_or_generate_expression): Add prototype.
- (set_contains_value): Allow null set for sake of not always having
- to allocate ANTIC_SAFE_LOADS.
- (phi_translate): Move placement of AGGREGATE_TYPE_P check.
- Allow COMPONENT_REF too.
- (valid_in_set): Allow COMPONENT_REF.
- Check ANTIC_SAFE_LOADS too.
- (compute_antic_aux): Print out ANTIC_SAFE_LOADS.
- (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and
- rename.
- (can_PRE_operation): Add COMPONENT_REF.
- (create_component_ref_by_pieces): New function.
- (create_expression_by_pieces): Use create_component_ref_by_pieces.
- (insert_aux): Move AGGREGATE_TYPE_P check here.
- (compute_avail): Set bb local stmt uids.
- (pass_pre): Use TODO_update_ssa_only_virtuals.
- 2006-02-06 Ben Elliston <bje@au.ibm.com>
- * configure.ac: Unconditionally disable decimal float by default.
- * configure: Regenerate.
- 2006-02-06 Ben Elliston <bje@au.ibm.com>
- * read-rtl.c (read_name): Terminate reading on EOF.
- 2006-02-06 Ben Elliston <bje@au.ibm.com>
- * dfp.c (decimal_real_arithmetic): Change second argument type
- from int to enum tree_code. Do not always return true, but now
- return result of any call to decimal_do helper functions.
- * dfp.h (decimal_real_arithmetic): Update prototype.
- 2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr>
- * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
- 2006-02-05 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/25251
- * tree-cfg.c (cleanup_dead_labels): Also don't remove
- forced labels.
- 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-vrp.c (cfg_loops): Removed.
- (adjust_range_with_scev, vrp_visit_assignment, execute_vrp):
- Use current_loops instead of cfg_loops. Pass flags to
- loop_optimizer_init.
- * cfgloopmanip.c (fix_loop_structure): Update only available
- information.
- * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to
- loop_optimizer_init.
- * modulo-sched.c (build_loops_structure): Removed.
- (sms_schedule): Use loop_optimizer_init.
- * loop-init.c (loop_optimizer_init): Use flags to determine
- which properties of loops to prepare.
- (rtl_loop_init): Pass flags to loop_optimizer_init.
- * tree-ssa-sink.c (execute_sink_code): Ditto.
- * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
- * tree-ssa-pre.c (init_pre): Ditto.
- * cfgloop.h (LOOPS_NORMAL): New.
- (loop_optimizer_init): Declaration changed.
- 2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
- * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
- pa/t-pa.
- * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
- pa/t-pa.
- * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
- pa/x-ada.
- * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
- * pa/t-pa64: Delete quadlib.c rule.
- * pa/x-ada: Revert last change.
- * pa/t-pa: Revert last change. Delete quadlib.c rule.
- 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz>
- PR rtl-optimization/26087
- * rtlanal.c (canonicalize_condition): Do not cross basic block
- boundaries.
- 2006-02-04 Alexandre Oliva <aoliva@redhat.com>
- PR debug/24444
- * config/ia64/ia64.c: Include debug.h.
- (MAX_ARTIFICIAL_LABEL_BYTES): New.
- (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
- (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
- (process_epilogue, process_set, process_for_unwind_directive):
- Output unwind info only if requested. Add CFA info if requested.
- Add new arguments as needed. Adjust callers.
- * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
- incorrect default.
- (DWARF2_FRAME_INFO): Define to zero.
- * config/ia64/unwind-ia64.c: Remove code that compensated for
- the CFA offset error fixed above.
- * config/ia64/t-ia64 (ia64.o): Depend on debug.h.
- * dwarf2out.c (DWARF2_FRAME_INFO): Define default.
- (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
- -funwind-tables and -fexceptions to enable frame info.
- (dwarf2out_frame_init): Define initial CFA even if
- DWARF2_UNWIND_INFO is disabled. Call initial_return_save if
- DWARF2_UNWIND_INFO is nonzero, not just defined.
- (dwarf2out_frame_finish): Output non-EH call frame info only
- if DWARF2_FRAME_INFO is nonzero.
- (convert_cfa_to_loc_list,
- compute_frame_pointer_to_cfa_displacement): Define even if
- unwind info is not supported.
- (gen_subprogram_die): Use the above unconditionally. Remove
- legacy alternate code.
- * toplev.c (compile_file): Compile in call to
- dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
- (lang_dependent_init): Ditto for dwarf2out_frame_init.
- 2006-02-04 David Edelsohn <edelsohn@gnu.org>
- Jakub Jelinek <jakub@redhat.com>
- * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
- IBM extended float format long double as "g" on powerpc*-linux.
- 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/25926
- * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
- * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
- 2006-02-03 Jason Merrill <jason@redhat.com>
- PR c++/25979
- * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
- PR middle-end/25977
- * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
- on the return slot if it's an NRV.
- 2006-02-03 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER.
- (dump_use, add_derived_ivs_candidates, determine_use_iv_cost,
- rewrite_use): Do not handle USE_OUTER.
- (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer,
- add_iv_outer_candidates, may_replace_final_value,
- determine_use_iv_cost_outer, rewrite_use_outer): Removed.
- (find_interesting_uses_op): Functionality of
- find_interesting_uses_outer_or_nonlin moved here.
- (find_interesting_uses_outside): Use find_interesting_uses_op.
- 2006-02-03 Alan Modra <amodra@bigpond.net.au>
- PR target/25960
- * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
- 2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com>
- Ulrich Weigand <uweigand@de.ibm.com>
- PR target/25864
- * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
- "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
- * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
- * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
- and dxr fields.
- (z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
- (s390_rtx_costs): Use the new fields to calculate rtx costs.
- (s390_secondary_input_reload_class, s390_secondary_output_reload_class):
- Define secondary reloads for TFmode moves.
- (constant_modes): Add TFmode.
- (NR_C_MODES): Set to 8.
- * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
- builtin define.
- (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
- (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
- (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
- CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
- * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
- fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
- (FPR mode macro): Add TFmode.
- (DSF mode macro): New.
- (<de>, <dee> mode attributes): Removed.
- (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
- ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
- "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
- "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
- "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
- "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
- "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
- "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
- "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
- "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
- "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
- "*negabs<mode>2", "sqrt<mode>2"):
- Changed <de> to <xde>. R constraint replaced by <Rf>.
- ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
- <Rf>.
- ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
- ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
- ("*movtf_64", "*movtf_31"): New insn definitions followed by 5
- splitters.
- ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
- "extenddftf2", "extendsftf2"): New expanders.
- ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
- "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
- "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
- * config/s390/s390.opt (mlong-double-128, mlong-double-64):
- New options.
- * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
- * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
- __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
- __floatditf): Add a GCC_4.1.0 symbol version tag.
- * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
- the new options.
- 2006-02-02 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/25377
- * config/i386/i386.c (ix86_function_ok_for_sibcall):
- Use targetm.binds_local_p instead of TREE_PUBLIC.
- 2006-02-02 Roger Sayle <roger@eyesopen.com>
- * tree.h (TYPE_STRING_FLAG): Document that this field may be used
- on INTEGER_TYPEs to indicate that it denotes a character type.
- * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on
- signed_char_type_node, unsigned_char_type_node and char_type_node.
- * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to
- INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit
- a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed.
- 2006-02-02 Zdenek Dvorak <dvorakz@suse.cz>
- Daniel Berlin <dberlin@dberlin.org>
- * tree-tailcall.c (arg_needs_copy_p): New function.
- (eliminate_tail_call): Use arg_needs_copy_p.
- (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis.
- (add_virtual_phis): New function.
- 2006-02-02 Jakub Jelinek <jakub@redhat.com>
- * config/sparc/sparc.c (sparc_output_scratch_registers): Use
- #ignore instead of #scratch for %g7 .register directive.
- 2006-02-02 Andreas Tobler <a.tobler@schweiz.ch>
- * config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
- object files.
- 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com>
- * flow.c (calculate_global_regs_live): Assert that there aren't any
- EDGE_FAKE edges.
- 2006-02-02 Paolo Bonzini <bonzini@gnu.org>
- * tree-flow-inline.h (bsi_after_labels): Rewrite, return
- what its name says.
- * lambda-code.c (perfect_nestify): Use bsi_insert_before on
- bsi_after_labels iterator.
- * tree-if-conv.c (find_phi_replacement_condition,
- replace_phi_with_cond_modify_expr): Likewise.
- * tree-scalar-evolution.c (scev_const_prop): Likewise.
- * tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise.
- 2006-02-02 Diego Novillo <dnovillo@redhat.com>
- * tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes.
- 2006-02-02 Diego Novillo <dnovillo@redhat.com>
- PR 25990
- * tree-cfg.c (move_block_to_fn): Clear out the basic block
- array after growing it.
- 2006-02-01 Steve Ellcey <sje@cup.hp.com>
- PR middle-end/24901
- * fold-const.c (fold_checksum_tree): Change type of buf.
- 2006-02-01 Bernd Schmidt <bernd.schmidt@analog.com>
- * reload.c (push_secondary_reload): Initialize t_icode.
- 2006-02-01 Jakub Jelinek <jakub@redhat.com>
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
- -msoft-float -mlong-double-128 only issue a warning, but don't
- swich to DFmode long double.
- 2006-02-01 Hans-Peter Nilsson <hp@axis.com>
- * cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1
- has a constant equivalent, iterate over equivalents for arg0,
- calling simplify_relational_operation and if there's a result
- cheaper than X, apply fold_rtx and return the result.
- 2006-02-01 Jan Hubicka <jh@suse.cz>
- * opts.c (no_unit_at_a_time_default): New global variable.
- (decode_options): Use it.
- * opts.h (no_unit_at_a_time_default): Declare.
- 2006-02-01 Paul Brook <paul@codesourcery.com>
- * function.c (assign_parm_setup_reg): Use function argument promotion
- rules.
- * expr.c (expand_expr_real_1): Use function argument promotion rules
- for PARM_DECLs.
- 2006-02-01 Steve Ellcey <sje@cup.hp.com>
- * gcc.c (process_command): Change j to 'unsigned int'.
- 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/26001
- * expr.c (expand_expr_real_1) <case ARRAY_REF>:
- Use the corrected index for the character
- out of the string constant.
- 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu>
- * mode-switching.c (optimize_mode_switching): Fix size
- allocated for bb_info[n_entities].
- 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu>
- * gcc.c (main): Correct type that is allocated for
- explicit_link_files.
- 2006-01-31 Jakub Jelinek <jakub@redhat.com>
- * config/s390/s390.c (init_alignment_context): Set
- ALIAS_SET_MEMORY_BARRIER on the MEM.
- * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise.
- 2006-01-31 Uttam Pawar <uttamp@us.ibm.com>
- PR middle-end/25933
- * loop-unroll.c (unroll_loop_runtime_iterations): Free
- dom_bbs pointer.
- * tree-ssa-live.c (type_var_init): Allocate bitmap after
- call to tpa_init.
- 2006-01-31 Marcin Dalecki <martin@dalecki.de>
- * tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
- * regrename.c: Ditto.
- * tree-ssa-loop-im.c: Ditto.
- * tree-dump.c: Ditto.
- * tree-complex.c: Ditto.
- * genrecog.c: Ditto.
- * tree-ssa-threadupdate.c: Ditto.
- * tracer.c: Ditto.
- * java/class.c: Ditto.
- * java/jcf-parse.c: Ditto.
- * java/resource.c: Ditto.
- * java/except.c: Ditto.
- * java/jvspec.c: Ditto.
- * java/jcf-write.c: Ditto.
- * java/jcf-path.c: Ditto.
- * java/gjavah.c: Ditto.
- * java/zextract.c: Ditto.
- * java/jcf-io.c: Ditto.
- * java/jcf.h: Ditto.
- * java/buffer.c: Ditto.
- * java/lang.c: Ditto.
- * java/parse-scan.y: Ditto.
- * java/lex.c: Ditto.
- * java/lex.h: Ditto.
- * cfgloopmanip.c: Ditto.
- * postreload-gcse.c: Ditto.
- * tree-ssa-loop-manip.c: Ditto.
- * postreload.c: Ditto.
- * tree-ssa-loop-ch.c: Ditto.
- * loop.c: Ditto.
- * ipa-cp.c: Ditto.
- * cppspec.c: Ditto.
- * diagnostic.c: Ditto.
- * final.c: Ditto.
- * genoutput.c: Ditto.
- * gcc.c: Ditto.
- * cfghooks.c: Ditto.
- * cfgloopanal.c: Ditto.
- * objc/objc-act.c: Ditto.
- * gcov.c: Ditto.
- * genextract.c: Ditto.
- * genautomata.c: Ditto.
- * pretty-print.c: Ditto.
- * genemit.c: Ditto.
- * cgraphunit.c: Ditto.
- * flow.c: Ditto.
- * df-scan.c: Ditto.
- * haifa-sched.c: Ditto.
- * dominance.c: Ditto.
- * dbxout.c: Ditto.
- * tree-ssa-loop-ivopts.c: Ditto.
- * df-core.c: Ditto.
- * mode-switching.c: Ditto.
- * modulo-sched.c: Ditto.
- * graph.c: Ditto.
- * ipa-pure-const.c: Ditto.
- * cse.c: Ditto.
- * fix-header.c: Ditto.
- * web.c: Ditto.
- * tree-stdarg.c: Ditto.
- * ipa-utils.c: Ditto.
- * loop-init.c: Ditto.
- * ipa-inline.c: Ditto.
- * cfganal.c: Ditto.
- * global.c: Ditto.
- * alloc-pool.c: Ditto.
- * dwarf2out.c: Ditto.
- * opts.c: Ditto.
- * genattrtab.c: Ditto.
- * tree-ssa-loop-ivcanon.c: Ditto.
- * predict.c: Ditto.
- * timevar.c: Ditto.
- * lcm.c: Ditto.
- * fortran/gfortranspec.c: Ditto.
- * regmove.c: Ditto.
- * local-alloc.c: Ditto.
- * langhooks.c: Ditto.
- * function.c: Ditto.
- * tree-vectorizer.c: Ditto.
- * gcse.c: Ditto.
- * ipa-type-escape.c: Ditto.
- * alias.c: Ditto.
- * tree-if-conv.c: Ditto.
- * profile.c: Ditto.
- * ipa.c: Ditto.
- * tree-data-ref.c: Ditto.
- * loop-unroll.c: Ditto.
- * treelang/treetree.c: Ditto.
- * calls.c: Ditto.
- * bt-load.c: Ditto.
- * ggc-common.c: Ditto.
- * except.c: Ditto.
- * coverage.c: Ditto.
- * cselib.c: Ditto.
- * tree-cfgcleanup.c: Ditto.
- * tree-ssa-pre.c: Ditto.
- * cfgcleanup.c: Ditto.
- * loop-invariant.c: Ditto.
- * loop-iv.c: Ditto.
- * ipa-prop.c: Ditto.
- * print-tree.c: Ditto.
- * conflict.c: Ditto.
- * ggc-page.c: Ditto.
- * sched-deps.c: Ditto.
- * regclass.c: Ditto.
- * tree-object-size.c: Ditto.
- * combine.c: Ditto.
- * bb-reorder.c: Ditto.
- * resource.c: Ditto.
- * var-tracking.c: Ditto.
- * cfgloop.c: Ditto.
- * df-problems.c: Ditto.
- * reg-stack.c: Ditto.
- * tlink.c: Ditto.
- * gccspec.c: Ditto.
- * sched-rgn.c: Ditto.
- * tree-ssa-structalias.c: Ditto.
- * tree-ssa-reassoc.c: Ditto.
- * config/darwin-c.c: Ditto.
- * config/darwin.c: Ditto.
- * config/arm/arm.c: Ditto.
- * cfgrtl.c: Ditto.
- * collect2.c: Ditto.
- * reload1.c: Ditto.
- 2006-01-31 Nicolas Pitre <nico@cam.org>
- * arm.md (smaxsi3): Make aware of smax_m1.
- (smax_m1): New.
- 2006-01-31 Nathan Sidwell <nathan@codesourcery.com>
- * config/m68k/lb1sf68.asm: Use moveq to load small constants.
- 2006-01-31 Richard Guenther <rguenther@suse.de>
- * doc/invoke.texi (-msselibm): Document.
- * target.h (expand_library_builtin): New target hook.
- * builtins.c (expand_builtin): Use expand_library_builtin.
- (default_expand_library_builtin): New function.
- * gcc.c (LINK_GCC_MATH_SPEC): Define.
- (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
- (link_gcc_math_spec): Declare.
- (static_specs): Add link_gcc_math_spec.
- * expr.h (default_expand_library_builtin): Declare.
- * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
- (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
- * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
- * config/i386/i386.opt (msselibm): New target option.
- * config/i386/i386.c (ix86_builtin_function_variants): New array.
- (ix86_init_sse_abi_builtins): New function.
- (ix86_expand_library_builtin): Likewise.
- (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
- (override_options): Handle error conditions wrt -msselibm.
- (ix86_builtins): Add function codes for SSE2 ABI builtins.
- (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
- * doc/extend.texi (__builtin_sse2_*): Document new target specific
- builtins.
- 2006-01-31 Richard Guenther <rguenther@suse.de>
- Paolo Bonzini <bonzini@gnu.org>
- * doc/install.texi (--disable-libgcc-math): Document.
- 2006-01-30 Marcin Dalecki <martin@dalecki.de>
- * expr.h (expand_normal): new inline function.
- * builtins.c: use it, use EXPAND_NORMAL explicitely.
- * dojump.c: use it.
- * dwarf2out.c: use it.
- * expr.c: use it.
- * calls.c: use it.
- * expmed.c: use it.
- * except.c: use it.
- * config/sparc/sparc.c: use it.
- * config/i386/i386.c: use it.
- * config/rs6000/rs6000.c: use it.
- * config/arm/arm.c: use it.
- * config/mips/mips.c: use it.
- * stmt.c: use it, use EXPAND_NORMAL explicitely.
- 2006-01-30 Roger Sayle <roger@eyesopen.com>
- * config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast
- argv to the appropriate type.
- 2006-01-30 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove
- unreachable code.
- 2006-01-30 Ulrich Weigand <uweigand@de.ibm.com>
- PR target/26018
- * config/s390/s390.c (struct machine_function): New flag
- decomposed_literal_pool_addresses_ok_p.
- (s390_reorg): Set it before final stage of literal pool transforms.
- (s390_decompose_address): Only accept displacements of the form
- (minus (label_ref ...) (label_ref ...)) if that flag is set.
- 2006-01-30 Carlos O'Donell <carlos@codesourcery.com>
- * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
- the comparison routine return.
- 2006-01-30 Michael Matz <matz@suse.de>
- * global.c (find_reg): Only evict for global regs.
- Take n_refs into account and dump more info.
- 2006-01-30 J"orn Rennecke <joern.rennecke@st.com>
- PR target/14798:
- * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
- (pragma_trap, pragma_nosave_low_regs): Likewise.
- (current_function_anonymous_args): Likewise.
- (sh_deferred_function_attributes): New variable.
- (sh_deferred_function_attributes_tail): Likewise.
- (print_operand): For '@', look up trap_exit attribute.
- (calc_live_regs): Look up trapa_handler attribute. For trapa
- handlers, save/restore fpscr, but don't do any other
- interrupt-specific saves.
- Don't save r0..r7 if the nosave_low_regs attribute is in effect.
- Fix check for partially saved registers to check for SHmedia.
- (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
- (sh_output_function_epilogue): Don't clear any of the removed
- variables.
- (sh_insert_attributes): Don't check pragma_interrupt.
- Insert deferred attributes. Check that interrupt attribute is
- present for other attributes that require its presence.
- (sh_attribute_table): Add new attributes trapa_handler and
- nosave_low_regs.
- (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
- Don't check for pragma_interrupt. Don't store argument.
- * sh.h (pragma_interrupt, sp_switch): Don't declare.
- (sh_deferred_function_attributes): Declare.
- (sh_deferred_function_attributes_tail): Likewise.
- * sh.md (sp_switch_1): Add operand. Change generator caller.
- (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
- (*return_i): Don't use when trap_exit attribute is in effect.
- (*return_trapa): New insn pattern.
- * sh-c.c: New file.
- * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
- setting c_target_objs and cxx_target_objs.
- * t-sh: Add rule for sh-c.o.
- 2006-01-30 Richard Guenther <rguenther@suse.de>
- PR c++/23372
- * gimplify.c (gimplify_target_expr): Handle easy cases
- without creating a temporary.
- 2006-01-30 Nathan Sidwell <nathan@codesourcery.com>
- * vec.h (safe_grow): Remove duplicated line.
- 2006-01-29 Diego Novillo <dnovillo@redhat.com>
- PR 25874
- * omp-low.c (execute_expand_omp): Move CFG cleanup code ...
- (expand_omp): ... here.
- (expand_omp_parallel): Only remove barriers for combined
- parallel+workshare constructs.
- 2006-01-29 Eric Botcazou <ebotcazou@adacore.com>
- Revert
- 2005-11-09 Eric Botcazou <ebotcazou@adacore.com>
- * tree.c (build_qualified_type): Chain the new type to the original
- type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
- a POINTER_TYPE or a REFERENCE_TYPE respectively.
- (build_pointer_type_for_mode): Only return unqualified types.
- (build_reference_type_for_mode): Likewise.
- 2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net>
- * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.
- * Makefile.in (CXX_COMPAT_WARN): Define.
- * configure: Regenerate.
- 2006-01-29 Dorit Nuzman <dorit@il.ibm.com>
- PR tree-opt/25911
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert
- to an if check.
- 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
- * toplev.c: Fix thinko.
- 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
- Marcin Dalecki <martin@dalecki.de>
- * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.
- (push_srcloc): Use XNEW.
- (init_asm_output, default_get_pch_validity): Use XNEWVEC.
- 2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-core.c (df_set_blocks): Deleted all variable.
- 2006-01-28 Ian Lance Taylor <ian@airs.com>
- * cgraphunit.c (cgraph_assemble_pending_functions): Call
- cgraph_output_pending_asms.
- 2006-01-28 Zack Weinberg <zackw@panix.com>
- * c.opt: Add -W(no-)overlength-strings.
- * doc/invoke.texi: Document it.
- * c-opts.c (c_common_handle_option): -pedantic implies
- -Woverlength-strings, if not explicitly disabled already.
- (c_common_post_options): -Woverlength-strings defaults to off, and
- is always off for C++.
- * c-common.c (fix_string_type): Issue warning about strings longer
- than is portable only if warn_overlength_strings. Rearrange code
- a little for clarity.
- * configure.in: Check for -Wno-overlength-strings as well before
- enabling -pedantic in stage 1.
- * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
- (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
- * genconditions.c (write_header, write_one_condition)
- (write_conditions, write_writer): Consolidate very long strings
- that were broken up to fit in C89 portable limit. Don't use
- printf when fputs will do.
- 2006-01-28 Adam Nemet <anemet@caviumnetworks.com>
- * combine.c (simplify_comparison <AND>): Check
- TRULY_NOOP_TRUNCATION before start using a subreg.
- * config/mips/mips.md (*branch_zero<mode>,
- *branch_zero<mode>_inverted, *branch_equality<mode>,
- *branch_equality<mode>_inverted, *branch_equality<mode>_mips16):
- Remove mode check from comparisons.
- 2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
- * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted.
- 2006-01-28 Kazu Hirata <kazu@codesourcery.com>
- * expmed.c (const_mult_add_overflow_p): Remove.
- * expr.h: Remove the prototype for const_mult_add_overflow_p.
- * recog.c (validate_replace_rtx_subexp): Remove.
- * recog.h: Remove the prototype for
- validate_replace_rtx_subexp.
- * integrate.h: Remove the prototype for
- copy_decl_for_inlining.
- * rtl.h: Remove the prototype for mark_constant_function.
- * tree-vectorizer.h: Remove the prototype for
- vect_strip_conversion.
- * modulo-sched.c (create_partial_schedule,
- free_partial_schedule, reset_partial_schedule): Make them
- static.
- * hooks.c (hook_bool_rtx_int_false): Remove.
- * hooks.h: Remove the prototype for hook_bool_rtx_int_false.
- 2006-01-28 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
- and -mlong-double-128 are incompatible.
- * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
- * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
- (TARGET_LIBGCC2_CFLAGS): Define.
- * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
- (TARGET_LIBGCC2_CFLAGS): Same.
- * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
- 2006-01-28 Kazu Hirata <kazu@codesourcery.com>
- PR c/19606.
- * c-typeck.c (build_binary_op): Perform implicit casts of
- operands before shortening them.
- * cfgloopmanip.c (split_loop_bb): Remove.
- * cfgloop.h: Remove the prototype for split_loop_bb.
- * cfgloop.c (flow_loop_outside_edge_p): Remove.
- * cfgloop.h: Remove the prototype for
- flow_loop_outside_edge_p.
- * emit-rtl.c (init_virtual_regs): Make it static.
- * function.h: Remove the prototype for init_virtual_regs.
- * recog.c (peephole2_optimize): Make it static.
- * recog.h: Remove the prototype for peephole2_optimize.
- 2006-01-27 H.J. Lu <hongjiu.lu@intel.com>
- * df-scan.c (df_record_entry_block_defs): Check if
- INCOMING_RETURN_ADDR_RTX is defined.
- 2006-01-27 Daniel Berlin <dberlin@dberlin.org>
- Kenneth Zadeck <zadeck@naturalbridge.com>
- PR rtl-optimization/24762
- * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
- * targhooks.c (hook_void_bitmap): New hook prototype.
- * targhoohs.h (hook_void_bitmap): Ditto.
- * bitmap.h (bitmap_head_def): Moved to coretypes.h.
- * coretypes.h (bitmap_head_def): Moved from bitmap.h.
- * target.h (live_on_entry): New function pointer.
- * df-scan.c (df_all_hard_regs): Removed.
- (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
- (df_scan_free_internal): Added df->entry_block_defs.
- (df_scan_alloc): Ditto.
- (df_scan_dump): Ditto.
- (df_uses_record): Plumbed flag field properly thru calls.
- Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
- This part fixes PR24762.
- (df_bb_refs_record): Added code to make the frame and arg
- pointers live in EH blocks.
- (df_refs_record): Added call to df_record_entry_block_defs.
- (df_record_entry_block_defs): New function.
- * df-core.c: Added comments to describe new artifical defs.
- * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags.
- (entry_block_defs): New field in struct df.
- (df_all_hard_regs): Deleted.
- * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY.
- * df-problems.c (df_ru_bb_local_compute_process_def):
- Added code to handle artifical defs in the entry to a function.
- (df_ru_bb_local_compute): Ditto.
- (df_rd_bb_local_compute_process_def): Ditto.
- (df_rd_bb_local_compute): Ditto.
- (df_lr_bb_local_compute): Ditto.
- (df_ur_bb_local_compute): Ditto.
- (df_urec_bb_local_compute): Ditto.
- (df_chain_create_bb): Ditto.
- (df_ur_local_finalize): Removed entry.
- (df_urec_init): Ditto.
- (df_urec_local_finalize): Ditto.
- (df_ri_bb_compute): Added detection of last use of pseudos.
- * Makefile.in (df-scan.o): Updated dependencies.
- * config/mips/mips-protos.h (mips_set_live_on_entry): Added.
- * config/mips/mips.c (mips_set_live_on_entry): Added.
- * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
- for target hook.
- * dce.c (marked_insn_p): Added code to handle artifical defs.
- 2006-01-27 H.J. Lu <hongjiu.lu@intel.com>
- * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel
- intrinsic.
- (_mm_cvtsi128_si64): Likewise.
- (_mm_cvtsd_si64): Likewise.
- (_mm_cvttsd_si64): Likewise.
- (_mm_cvtsi64_sd): Likewise.
- (_mm_cvtsi64_si128): Likewise.
- * config/i386/mmintrin.h (_m_from_int64): Likewise.
- (_mm_cvtsi64_m64): Likewise.
- (_m_to_int64): Likewise.
- (_mm_cvtm64_si64): Likewise.
- * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise.
- (_mm_cvttss_si64): Likewise.
- (_mm_cvtsi64_ss): Likewise.
- (_mm_cvtss_f32): Likewise.
- 2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
- * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion
- for pragma redefine_extname.
- 2006-01-27 Jakub Jelinek <jakub@redhat.com>
- PR target/25864
- * libgcc-std.ver: Add GCC_4.1.0 symbol version.
- * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
- -mno-minimal-toc to previous content.
- (bispecs): Remove goal.
- * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
- * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
- compatibility aliases on powerpc-*-*gnu*.
- * config/rs6000/libgcc-ppc-glibc.ver: New file.
- * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
- libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
- (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
- (ldblspecs): New goal.
- * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
- * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
- _df_to_tf.
- * config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
- L_sf_to_tf or L_df_to_tf is defined.
- 2006-01-27 David Edelsohn <edelsohn@gnu.org>
- Alan Modra <amodra@bigpond.net.au>
- PR target/25864
- * config/rs6000/linux.h (POWERPC_LINUX): Define.
- * config/rs6000/linux64.h (POWERPC_LINUX): Define.
- * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
- * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
- * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
- * config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
- (rs6000_override_options): Initialize rs6000_ieeequad.
- Initialize TFmode format to ibm_extended_format if not
- TARGET_IEEEQUAD.
- (rs6000_handle_option): Accept -mabi= ibmlongdouble and
- ieeelongdouble.
- (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
- (rs6000_return_in_memory): Only return IEEEQUAD in memory.
- (function_arg_advance): IBM long double passed in two FPRs, not
- split.
- (function_arg): IBM long double passed in FPRs.
- (rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
- (rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
- Only multireg GPR aligned.
- (rs6000_init_libfuncs): Enable IBM long double functions if not
- IEEEQUAD.
- (rs6000_generate_compare): Use IBM long double compare if not
- TARGET_IEEEQUAD.
- * config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
- (TARGET_IEEEQUAD): Define.
- (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
- not TARGET_IEEEQUAD.
- * config/rs6000/rs6000.md: Enable TFmode patterns if
- !TARGET_IEEEQUAD.
- * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
- * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
- and -mlong-double-128 are incompatible.
- * doc/invoke.texi (-mabi): Collect options together. Add
- ibmlongdouble and ieeelongdouble.
- 2006-01-27 Richard Sandiford <richard@codesourcery.com>
- * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new
- opaque type.
- * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL.
- * varasm.c (make_decl_rtl, build_constant_desc): Likewise.
- (force_const_mem): Use SET_SYMBOL_REF_CONSTANT.
- * rtl.h (rtunion_def): Remove rt_ptr.
- (X0PTR): Delete.
- (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR.
- (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros.
- * config/i386/winnt.c (i386_pe_mark_dllexport)
- (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL.
- 2006-01-27 Gabor Loki <loki@gcc.gnu.org>
- * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo.
- 2006-01-26 Alexandre Oliva <aoliva@redhat.com>
- PR other/24829
- PR target/24831
- * gthr-dce.h: Do not gthrw-ify pthread_once_init,
- pthread_key_delete. From John David Anglin. gthrw-ify
- pthread_getunique_np only if it it's not a macro. Delete
- UNUSED macro.
- (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate,
- __gthread_objc_condition_wait, __gthread_objc_condition_broadcast,
- __gthread_objc_condition_signal, __gthread_key_delete): Add
- "__attribute__ ((__unused__))" to unused arguments.
- (__gthread_recursive_mutex_init_function): Add missing return.
- * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h,
- gthr-posix95.h: Use macro-based approach for name redirection
- on targets missing weakref.
- 2006-01-26 Zack Weinberg <zackw@panix.com>
- * genconditions.c (write_header): In generated code, #ifdef out
- all includes and fake declarations, except includes of bconfig.h
- and system.h, unless GCC_VERSION >= 3001. Do not include
- gensupport.h in any case.
- (write_conditions): Generate a definition of struct c_test. Add
- a comment to the generated #endif.
- (write_one_condition): Escape backslashes in string too.
- (write_writer): Generated code must escape backslashes and quote
- marks (but not newlines) in the strings it writes.
- * Makefile.in (build/gencondmd.o): Update dependencies.
- 2006-01-26 Steve Ellcey <sje@cup.hp.com>
- PR target/25961
- * Makefile.in (insn-automata.o): Add header file dependencies.
- * genautomata.c: Add includes.
- 2006-01-26 Steve Ellcey <sje@cup.hp.com>
- PR target/25961
- * Makefile.in (insn-automata.o): Add -Wno-error flag.
- 2006-01-26 Paolo Bonzini <bonzini@gnu.org>
- * configure.ac: Expect target tools paths to be passed from the toplevel
- and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of
- AS_SET_VAR_IF.
- * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove.
- 2006-01-26 Alexandre Oliva <aoliva@redhat.com>
- PR c/25892
- * c.opt (Wpointer-sign): Init to -1.
- * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
- OPT_pedantic, to 0 otherwise.
- * doc/invoke.texi: Update.
- 2006-01-26 Paolo Bonzini <bonzini@gnu.org>
- * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit
- constants provided by 80387 instructions in the destination mode.
- 2006-01-26 Richard Guenther <rguenther@suse.de>
- Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/21470
- partial PR tree-opt/17064
- * tree-ssa-structalias.c (intra_create_variable_infos):
- Create heap variables for incoming parameters if
- flag_argument_noalias > 1.
- (find_what_p_points_to): Look through default defs of
- parameter decls.
- 2006-01-26 Jeff Law <law@redhat.com>
- PR ada/25900
- * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE
- with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained
- within the VR_RANGE, use the VR_RANGE as the result, not the
- VR_ANTI_RANGE.
- (adjust_range_with_scev): Reject ranges from SCEV which are out of
- bounds for the type.
- 2006-01-26 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-alias.c (maybe_create_global_var): Change
- subvar walking to an assertion that we don't have subvar'd variables.
- 2006-01-26 Andrew Pinski <pinskia@physics.uc.edu>
- PR C/25861
- * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>:
- Use a new variable, inner. PARM_DECLs are always non-weak.
- 2006-01-26 Shantonu Sen <ssen@opendarwin.org>
- * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for
- --disable-checking.
- 2006-01-26 Adam Nemet <anemet@caviumnetworks.com>
- * config/mips/mips.md (*clear_upper32): New combiner pattern.
- 2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com>
- * arm.md (smaxsi3, sminsi3): Convert to define_expand.
- (smax_insn, smin_insn, smax_0, smin_0): New.
- 2006-01-26 Hans-Peter Nilsson <hp@axis.com>
- PR target/25947
- * config/cris/cris.c (cris_order_for_addsi3): New function.
- * config/cris/cris-protos.h: Prototype it.
- * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry")
- (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]")
- (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry")
- (split for "op.S1 [rx=rx+i],ry (swapped)")
- (split for "op(s|u).S1 [rx=rx+i],ry")
- (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"):
- Apply cris_order_for_addsi3 when generating addsi3 insns.
- 2006-01-25 Diego Novillo <dnovillo@redhat.com>
- * tree.h (TREE_RANGE_CHECK): Fix range predicate.
- (TREE_BLOCK): Add call to EXPR_CHECK.
- 2006-01-25 Diego Novillo <dnovillo@redhat.com>
- PR 25886
- * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE.
- * tree-pretty-print.c (dump_omp_clause): Extract from ...
- (dump_omp_clauses): ... here.
- (dump_generic_node): Handle OMP_CLAUSE.
- * tree.c (omp_clause_num_ops): New.
- (omp_clause_code_name): New.
- (tree_code_size): Handle OMP_CLAUSE.
- (tree_size): Likewise.
- (make_node): Document handling of OMP_CLAUSE.
- (tree_node_structure): Handle OMP_CLAUSE.
- (omp_clause_check_failed): New.
- (omp_clause_range_check_failed): New.
- (omp_clause_operand_check_failed): New.
- (build_omp_clause): New.
- (walk_tree): Adjust handling of OMP_CLAUSE_* nodes.
- * tree.h (enum omp_clause_code): Declare.
- (OMP_CLAUSE_SUBCODE_CHECK): Define.
- (OMP_CLAUSE_RANGE_CHECK): Define.
- (OMP_CLAUSE_ELT_CHECK): Define.
- (omp_clause_check_failed): Declare.
- (omp_clause_operand_check_failed): Declare.
- (omp_clause_range_check_failed): Declare.
- (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK.
- (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK.
- (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK.
- (OMP_CLAUSE_LASTPRIVATE): Likewise.
- (OMP_CLAUSE_IF_EXPR): Likewise.
- (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise.
- (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise.
- (OMP_CLAUSE_REDUCTION_CODE): Likewise.
- (OMP_CLAUSE_REDUCTION_INIT): Likewise.
- (OMP_CLAUSE_REDUCTION_MERGE): Likewise.
- (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise.
- Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY.
- (OMP_CLAUSE_SCHEDULE_KIND): Likewise.
- (OMP_CLAUSE_DEFAULT_KIND): Likewise.
- (OMP_CLAUSE_CODE): Define.
- (OMP_CLAUSE_SET_CODE): Define.
- (OMP_CLAUSE_CODE): Define.
- (OMP_CLAUSE_OPERAND): Define.
- (struct tree_omp_clause): Declare.
- (union tree_node): Add field 'omp_clause'.
- * treestruct.def (TS_OMP_CLAUSE): Define.
- * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED
- OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
- OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN,
- OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF,
- OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE,
- OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove.
- (OMP_CLAUSE): Define.
- * print-tree.c (print_node): Handle OMP_CLAUSE.
- * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes.
- * c-typeck.c: Likewise.
- * gimplify.c: Likewise.
- * c-omp.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-inline.c: Likewise.
- * c-parser.c: Likewise.
- * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on
- clauses.
- 2006-01-25 Roger Sayle <roger@eyesopen.com>
- PR rtl-optimization/25703
- * combine.c (try_combine): Handle zero_extract and strict_low_part
- of non-lowpart SUBREGs for constant reg_subword_p set optimization.
- 2006-01-25 Peter Bergner <bergner@vnet.ibm.com>
- * global.c: Fix comment typos.
- 2006-01-25 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/25758
- * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>:
- Use output_addr_const instead of assemble_name.
- 2006-01-25 Paolo Bonzini <bonzini@gnu.org>
- * Makefile.in (sched-vis.o): Update dependencies.
- * haifa-sched.c (sched_finish): Clear current_sched_info.
- * cfg.c (dump_bb_info): New, split from dump_flow_info.
- (dump_flow_info): Call it.
- * passes.c (execute_todo): Call print_rtl_slim_with_bb to make
- a slim RTL dump.
- * basic-block.h (dump_bb_info): Declare.
- * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all
- option, and apply options only for dump files whose TDF_RTL,
- TDF_TREE, or TDF_IPA bits match.
- * rtl.h: Declare new functions exported from sched-vis.c.
- * sched-vis.c: Enable also if scheduling is not used.
- (print_value): Print the mode of registers if not inside scheduling.
- (print_insn): Make it work outside the scheduler. Beautify the output
- a bit.
- (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New.
- 2006-01-25 Richard Sandiford <richard@codesourcery.com>
- * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
- * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
- a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
- depending on the value of CONSTANT_POOL_ADDRESS_P.
- * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
- SYMBOL_REF_DECL.
- * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
- rather than SYMBOL_REF_DECL.
- (rtx_constant_pool): Remove const_rtx_sym_htab.
- (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
- (init_varasm_status): Don't initialize const_rtx_sym_htab.
- (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
- Remove handling of const_rtx_sym_htab.
- (find_pool_constant): Delete.
- (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
- rather than find_pool_constant.
- (get_pool_constant_for_function): Delete.
- (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
- find_pool_constant.
- * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
- (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
- (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
- (SYMBOL_REF_CONSTANT): New macro.
- (get_pool_constant_for_function): Delete.
- * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
- rather than SYMBOL_REF_DECL.
- (i386_pe_mark_dllimport): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
- rather than SYMBOL_REF_DECL.
- * config/darwin.c (machopic_indirect_data_reference): Likewise.
- (machopic_indirect_call_target): Likewise.
- 2006-01-25 Eric Botcazou <ebotcazou@adacore.com>
- * flow.c (delete_noop_moves): Add missing EOL to dump message.
- 2006-01-25 Richard Sandiford <richard@codesourcery.com>
- * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace.
- 2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE.
- 2006-01-24 David Daney <ddaney@avtrex.com>
- PR java/25816
- * configure.ac (enable_tls): New enable option.
- (HAVE_AS_TLS): Don't do assembler check if enable_tls set.
- * configure: Regenerate.
- * doc/install.texi (--enable-tls): Document new option.
- (--disable-tls): Ditto.
- 2006-01-24 Richard Henderson <rth@redehat.com>
- * alias.h (ALIAS_SET_MEMORY_BARRIER): New.
- * alias.c (true_dependence): Respect it.
- (canon_true_dependence, write_dependence_p): Likewise.
- * builtins.c (get_builtin_sync_mem): Set it.
- 2006-01-25 Zdenek Dvorak <dvorakz@suse.cz>
- * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
- efficient way.
- 2006-01-24 DJ Delorie <dj@redhat.com>
- * expmed.c (store_bit_field): Don't arbitrarily deny using insv
- for storing constants in single-bit bitfields.
- 2006-01-25 Ben Elliston <bje@au.ibm.com>
- * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long.
- 2006-01-24 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/25860
- * tree-ssa-pre.c (phi_translate): Return NULL
- for AGGREGATE_TYPE's.
- 2006-01-24 Zack Weinberg <zackw@panix.com>
- * genautomata.c (process_state_for_insn_equiv_partition):
- Use xcalloc for insn_arcs_array.
- * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates.
- (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P.
- 2006-01-24 Richard Henderson <rth@redhat.com>
- * genextract.c (VEC_safe_set_locstr): Take VEC by reference;
- update all callers.
- 2006-01-23 Paolo Bonzini <bonzini@gnu.org>
- PR rtl-optimization/25890
- PR rtl-optimization/25905
- * combine.c (expand_compound_operation, expand_field_assignment):
- Fail if the bitfield's final position is out of bounds.
- 2006-01-24 Ian Lance Taylor <ian@airs.com>
- PR middle-end/25930
- * cgraphunit.c (cgraph_output_in_order): Don't clear
- cgraph_asm_nodes until after asm strings have been output.
- 2006-01-23 Adam Nemet <anemet@caviumnetworks.com>
- * fix-header.c (read_scan_file): Add new parameter imultilib when
- calling register_include_chains.
- 2006-01-23 Diego Novillo <dnovillo@redhat.com>
- * omp-low.c: Update documentation.
- 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
- Daniel Berlin <dberlin@dberlin.org>
- PR tree-opt/25315
- PR tree-opt/25857
- * tree-ssa-pre.c (insert_extra_phis): If an incoming edge is abnormal
- return from the function.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * rtl.def (match_code): Add second argument.
- * genpreds.c (write_extract_subexp): New function.
- (write_match_code): Add path argument. Use write_extract_subexp.
- (write_predicate_expr): Pass path to write_match_code.
- (mark_mode_tests): MATCH_CODE applied to a subexpression does
- not perform a mode test.
- * genrecog.c (compute_predicate_codes): MATCH_CODE applied to
- a subexpression does not constrain the top-level code set.
- * read-rtl.c (read_rtx_variadic): New function.
- (read_rtx_1): Use it; allow AND and IOR to be variadic.
- * doc/md.texi: Document new notation.
- * config/i386/predicates.md (cmpsi_operand_1): Fold into ...
- (cmpsi_operand): ... here, using new notation.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * varray.c: Remove GENERATOR_FILE #ifdefs.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genautomata.c (output_reserved_units_table): Emit nothing if
- description->query_units_num is zero. Remove extra blank line.
- (output_cpu_unit_reservation_p): Short circuit
- if description->query_units_num is zero.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE
- and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls
- nor any of the random handful of variables that used to be necessary
- when this program was linked with rtlanal.o. Prune set of forward
- function declarations.
- (struct attr_desc): Remove static_p field.
- (hash_obstack, temp_obstack, attr_hash_table, attr_printf)
- (check_attr_test, make_internal_attr, make_numeric_value): Make static.
- (attr_string): Do not read the character one past the length of
- the string.
- (write_attr_get, find_attr, make_internal_attr): Don't touch static_p.
- (struct insn_reserv, all_insn_reservs, last_insn_reserv_p)
- (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses)
- (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses)
- (make_automaton_attrs): New.
- (main): Do not call into genautomata. Call local gen_bypass
- and gen_insn_reserv as appropriate. Call make_automaton_attrs.
- Remove special case for insn_alts.
- * genautomata.c: Include gensupport.h; not genattrtab.h nor
- varray.h (leftover from previous change). Prune set of forward
- function declarations. Remove state_alts fields from all
- structures. Remove state_alts_table from struct automaton.
- Make everything except main static. Do not maintain num_dfa_decls.
- Do not maintain state_alts fields of various structures.
- (process_decls): Don't validate condexp for dm_insn_reserv decls.
- (add_arc): Remove state_alts argument. All callers updated.
- (output_reserved_units_table): Emit #ifdef here...
- (output_tables): ...not here. Don't generate state_alts tables.
- (expand_automata): Don't generate attributes.
- (write_automata): Don't generate state_alts functions.
- (main): New function.
- (it_is_empty_reserv_sets, output_state_alts_full_vect_name)
- (output_state_alts_comb_vect_name, output_state_alts_check_vect_name)
- (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME)
- (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME)
- (BYPASS_P_FUNC_NAME, output_state_alts_table)
- (output_automata_list_state_alts_code, output_internal_state_alts_func)
- (output_state_alts_func, make_insn_alts_attr, make_bypass_attr)
- (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr):
- Delete.
- * genattr.c: Declare internal_dfa_insn_code in insn-attr.h.
- * genattrtab.h: Delete file.
- * Makefile.in (OBJS-common): Add insn-automata.o.
- (insn-automata.o): New rule.
- (simple_generated_c): Add insn-automata.c.
- (build/genattrtab.o, build/genautomata.o): Update dependencies.
- (genprogmd): Add automata.
- (build/genattrtab): Needs no extra objects nor libraries.
- (build/genautomata): Needs build/vec.o and -lm.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genautomata.c (process_state_longest_path, max_dfa_issue_rate)
- (output_dfa_max_issue_rate, locked_states_num): Delete.
- (struct automaton): Add locked_states field.
- (output_dead_lock_vect): Save number of locked states in
- automaton->locked_states. If it is zero, don't print anything.
- (output_max_insn_queue_index_def): Define max_insn_queue_index const.
- (output_internal_dead_lock_func): Only test the dead_lock_vect
- for automata that have locked states.
- (output_statistics): Always print the number of locked states for
- each automaton. Calculate total number of locked states here.
- (write_automata): Don't call output_dfa_max_issue_rate.
- * genattrtab.c: Define length_unit_log as a const variable.
- * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare
- max_insn_queue_index const.
- * final.c (length_unit_log): Declare const.
- * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genautomata.c: Include vec.h, not varray.h.
- Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the
- VLA_HWINT_ macros. Change vla_hwint_t to a typedef for
- VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to
- VEC_* macros operating on appropriately typed vectors, or to
- malloced arrays when the size is known in advance. Const-ify
- many char* variables and function arguments. No functional changes.
- * Makefile.in (build/varray.o): Delete rule.
- (build/genattrtab): Depend on build/vec.o instead of build/varray.o.
- (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H).
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * gensupport.c: Define get_insn_name and record_insn_name here.
- (read_md_rtx): Call record_insn_name as appropriate.
- * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
- * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
- * genpreds.c, genrecog.c: Don't define get_insn_name nor
- record_insn_name.
- * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL.
- (BUILD_VARRAY): Delete.
- (genprognormal): Rename genprogmd. Fold in all programs from
- genprognoprint; also attrtab.
- (build/genattrtab): Just mention genautomata.o and varray.o.
- Reorganize a bit, add comments to make the categories clearer.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genconditions.c (condition_table, add_condition): Delete.
- (write_conditions): Don't emit n_insn_conditions nor
- insn_elision_unavailable. Issue the gcc version #ifdef here,
- inside the table, with no #else clause ...
- (write_header): ...not here.
- (write_writer): New function.
- (main): Don't initialize condition_table. Use add_c_test.
- Call write_writer.
- * gensupport.c (init_md_reader_args_cb): Handle multiple input
- files on the command line.
- (maybe_eval_c_test): Don't check insn_elision_unavailable.
- Return -1 if there is no entry in the table, don't abort.
- (add_c_test, traverse_c_tests): New functions.
- * gensupport.h (insn_elision_unavailable, insn_conditions)
- (n_insn_conditions): Delete declarations.
- (add_c_test, traverse_c_tests): Declare.
- * read-rtl.c: Include gensupport.h.
- (read_conditions): New function.
- (read_rtx): If read_rtx_1 returns 0, treat as EOF.
- (read_rtx_1): If we get EOF when we were looking for an initial
- open paren, return 0. Call read_conditions when appropriate.
- * Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to
- dummy-conditions.o. Eliminate references to insn-conditions.o,
- or change them to build/gencondmd.o, as appropriate. Remove
- insn-constants.h from $(simple_generated_h) and insn-conditions.c
- from $(simple_generated_c). For all files remaining in those
- two lists, add insn-conditions.md to the generator command line.
- Give insn-constants.h/s-constants their own rules. Add rules
- for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd.
- (build/read-rtl.o): Depend on gensupport.h.
- (genprognormal): Include preds.
- (genprogearly): Rename genprognoprint; only difference is now that
- they don't link with $(BUILD_PRINT).
- * dummy-conditions.c: Delete.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * genextract.c: Don't include insn-config.h. Do include vec.h.
- Declare vectors of int, char, and locstr.
- (locstr): New typedef.
- (struct extraction): Make all array fields into bare pointers.
- (insn_name_ptr, insn_name_ptr_size): Move down by get_insn_name.
- (insn_code_number): Delete.
- (accum_extract): New struct.
- (VEC_safe_set_locstr, VEC_char_to_string): New functions.
- (gen_insn): Take insn_code_number as an argument. Use an
- accum_extract structure instead of loading data directly into
- a struct extraction, and having to know how big it might get.
- (walk_rtx): Operate entirely on an accum_extract structure.
- (print_path): Avoid unnecessary use of printf.
- (print_header): New function, split out of main. Distinguish
- more carefully between an unrecognizable insn and an insn that
- has the code number of a define_expand.
- (main): Pass insn_code_number to gen_insn. Call print_header
- only after parsing. Avoid unnecessary use of printf.
- * Makefile.in (build/vec.o): New rule.
- (build/genextract): Depend on build/vec.o.
- (build/genextract.o): Don't depend on insn-config.h.
- 2006-01-22 Zack Weinberg <zackw@panix.com>
- * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or
- $(RUN_GEN). Use pattern rules to factor out as much boilerplate as
- practical. Eliminate per-generator-program link rules.
- 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
- PR middle-end/24437
- * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
- with a call expr to ...
- * fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
- 2006-01-23 Richard Guenther <rguenther@suse.de>
- * cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment
- before make_edge with conditional EDGE_TRUE_VALUE.
- 2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com>
- Jan Hubicka <jh@suse.cz>
- Richard Guenther <rguenther@suse.de>
- PR rtl-optimization/25654
- * cfgexpand.c (aggregate_contains_union_type): New function.
- (add_alias_set_conflicts): Call it. Make sure to add conflicts
- for structure variables that contain a union type.
- 2006-01-23 Richard Sandiford <richard@codesourcery.com>
- * gengtype.c (new_structure): Return the structure.
- (create_option): Add an extra "next" argument.
- (create_field): New function.
- (adjust_field_rtx_def): Use create_option and create_field.
- Remove a now-unnecessary call to find_structure.
- (adjust_field_tree_def): Likewise.
- (note_yacc_type): Remove an unnecessary call to find_structure.
- * gengtype.h (new_structure): Return the structure.
- (create_option): Add an extra argument.
- * gengtype-yacc.y (type): Remove unnecessary calls to find_structure.
- (option): Adjust calls to create_option.
- 2006-01-22 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/aix.h (STACK_BOUNDARY): Define.
- 2006-01-22 Paul Brook <paul@codesourcery.com>
- Peter Barada <peter@the-baradas.com>
- * config/m68k/m68k.md: Add Coldfire FPU support.
- Define FP mode macro and associated attributes.
- Use it for float mode patterns.
- * config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value.
- (LIBCALL_VALUE): Use m68k_libcall_value.
- * config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype.
- (m68k_function_value): Ditto.
- (emit_move_sequence): Ditto.
- * config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value.
- * config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e.
- * config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e.
- (MULTILIB_EXCEPTIONS): Ditto.
- * config/m68k/m68k.opt: Add mcfv4e.
- * config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e.
- (m68k_compute_frame_layout): Include space for ColdFire FPU regs.
- (m68k_output_function_prologue): Save ColdFire FPU registers.
- (m68k_output_function_epilogue): Restore ColdFire FPU registers.
- (force_mode, fp_reg_operand, emit_move_sequence): New functions.
- (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in
- ColdFire FPU registers.
- (m68k_libcall_value, m68k_function_value): New functions.
- * config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value.
- (LIBCALL_VALUE): Use m68k_libcall_value.
- * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__.
- (MASK_COLDFIRE): Add MASK_CFV4E.
- (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New.
- (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT.
- (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto.
- (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define.
- (GO_IF_LEGITIMATE_ADDRESS): Use it.
- (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses.
- * doc/invoke.tex: Document -mcfv4e on m68k.
- 2006-01-22 Ranjit Mathew <rmathew@gcc.gnu.org>
- * doc/contribute.texi: Change CVS to SVN and update the corresponding
- URL.
- 2006-01-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
- PR c++/16190
- * c-opts.c (c_common_handle_option): Don't include
- -Wnon-virtual-dtor in -Wall; enable if -Weffc++.
- * doc/invoke.texi (C++ Dialect Options): Document that
- -Wnon-virtual-dtor is no longer included in -Wall.
- 2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
- * gcov.c (print_version), gcov-dump.c (print_version),
- mips-tdump.c (main), mips-tfile.c (main): Update copyright notice
- dates.
- 2006-01-21 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-scan.c (problem_SCAN): Added NULL reset function.
- (df_scan_reset_blocks): Added code to call reset block function
- (df_bb_refs_delete) Fixed comment.
- (df_insn_refs_delete): Made tolerant of deleting non existent info
- for dataflow problems that need to be reset.
- * df-core.c (df_set_blocks): Ditto.
- * df.h (struct df_problem): Added reset_fun.
- * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
- problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field.
- (df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New
- functions to clear out all references to def-use or use-def chains.
- 2006-01-21 Ben Elliston <bje@au.ibm.com>
- * varasm.c (assemble_real): Initialise data array.
- 2006-01-20 Paul Brook <paul@codesourcery.com>
- Merge from csl-arm-branch.
- 2005-09-21 Kazu Hirata <kazu@codesourcery.com>
- * config/arm/arm.md (movdi): Force operands[1] to a register
- if we have a non-register source.
- (*arm_movdi, *movdf_soft_insn): Require that one of the
- operands be a register.
- * config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise.
- * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
- 2006-01-20 DJ Delorie <dj@redhat.com>
- * varasm.c (initializer_constant_valid_p): Allow pointers
- initialized from integer constants of lesser precision.
- (output_constant): Allow non-int-sized pointer modes to be
- initialized from integer constants.
- 2006-01-20 Joseph S. Myers <joseph@codesourcery.com>
- PR libstdc++/25524
- * cppdefault.h (struct default_include): Add multilib flag.
- * cppdefault.c (cpp_include_defaults): Set it.
- * c.opt (-imultilib): New option.
- * c-opts.c (imultilib): New.
- (c_common_handle_option): Handle -imultilib.
- (c_common_post_options): Likewise.
- * c-incpath.c (add_standard_paths, register_include_chains):
- Likewise.
- * c-incpath.h (register_include_chains): Add extra parameter.
- * gcc.c (do_spec_1): Generate -imultilib option.
- (The Specs Language): Update %I description.
- (process_command): Update copyright notice.
- * doc/cppopts.texi (-imultilib): Document.
- * doc/invoke.texi (-imultilib): Include in option summary.
- (%I): Update specs documentation.
- 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz>
- * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.
- 2006-01-20 Richard Sandiford <richard@codesourcery.com>
- * stmt.c (case_bit_test_cmp): Stabilize the sort using code
- label numbers.
- 2006-01-20 Richard Guenther <rguenther@suse.de>
- Steven Bosscher <stevenb.gcc@gmail.com>
- PR rtl-optimization/24626
- * cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
- EDGE_TRUE_VALUE if in RTL mode.
- Revert
- 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
- * cfgrtl.c (rtl_verify_flow_info_1): Fix.
- 2006-01-20 Dirk Mueller <dmueller@suse.com>
- PR c++/5520
- * c-parser.c (c_parser_if_body): Use build_empty_stmt()
- instead of a special NOP marker.
- * c-typeck.c (c_finish_if_stmt): Remove obsoleted special
- NOP marker handling.
- * c-common.h (empty_body_warning): Add forward declaration.
- * c-common.c (empty_body_warning): Add (from c_finish_if_stmt).
- Now uses IS_EMPTY_STMT() instead of special NOP markers.
- 2006-01-20 Paul Brook <paul@codesourcery.com>
- * Makefile.in (lang_checks): Keep going if mkdir fails.
- 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-scan.c (df_scan_free_bb_info): Added basic block parameter to
- be able to clean out basic block when not necessary.
- (df_scan_free): Fixed to properly delete information if df is
- unused before calling df_finish.
- (df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink,
- df_insn_create_insn_record, df_bb_refs_record): Fixed formatting
- or comment typos.
- (df_bb_refs_delete): New function.
- (df_refs_delete): Moved per block code to df_bb_refs_delete.
- * df-core.c (df_set_blocks): Added code to properly clean out
- unused blocks if they are not part of the blocks to consider.
- Added additional null check.
- (df_compact_blocks): Added basic block parameter to free_bb_fun to
- be able to clean out basic block when not necessary
- * df.h (df_free_bb_function): Ditto.
- (df_bb_refs_delete): New function.
- * df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info,
- df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added
- basic block parameter to be able to clean out basic block when not
- necessary.
- (df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test.
- (df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free):
- Fixed to properly delete information if df is unused before
- calling df_finish.
- 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
- PR rtl-optimization/25799
- * df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
- Corrected confluence operator to remove bits from op2 before oring
- with op1 rather than removing bits from op1.
- (df_ru_transfer_function): Corrected test on wrong bitmap which
- caused infinite loop. Both of these problems were introduced in
- the dataflow rewrite.
- 2006-01-19 DJ Delorie <dj@redhat.com>
- * reload1.c (find_reload_regs): Note the details of reload
- failures in the dump file.
- (spill_failure): Likewise.
- 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz>
- * loop-iv.c: Include df.h and hashtab.h.
- (enum iv_grd_result): New enum.
- (DF_REF_IV, DF_REF_IV_SET): New macros.
- (struct biv_entry): New.
- (df, bivs): New global variables.
- (struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no,
- assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p):
- Removed.
- (clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr,
- iv_analyze_result, iv_analyze_def, biv_hash, biv_eq,
- analyzed_for_bivness_p, record_biv): New functions.
- (iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p,
- get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op,
- iv_analyze, biv_p, iv_analysis_done): Work with df representation of
- UD chains.
- (iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set
- analysed.
- (iv_number_of_iterations): Use new interface to iv analysis.
- * loop-unroll.c: Do not include varray.h.
- (analyze_iv_to_split_insn): Use new interface to iv
- analysis.
- * loop-unswitch.c (may_unswitch_on): Ditto.
- * df.c (df_bitmaps_free): Only work for bbs for that structures are
- allocated.
- (df_bb_modify): Realloc tables to the new index.
- (df_find_use): New function.
- * df.h (df_find_use): Declare.
- * optabs.c (expand_unop): Make the mode of the REG_EQUAL node be
- outmode.
- * cfgloop.h (struct rtx_iv): Remove analysed field.
- (iv_get_reaching_def): Removed.
- (iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare.
- * Makefile.in (loop-unroll.o): Remove VARRAY_H dependency.
- (loop-iv.o): Add df.h and hashtab.h dependency.
- * df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation.
- 2006-01-20 Alan Modra <amodra@bigpond.net.au>
- PR target/25668
- * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
- Double TFmode.
- (__floatundisf, __floatundidf): Likewise.
- * libgcc2.h (IS_IBM_EXTENDED): Define.
- 2006-01-19 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.h (REG_ALLOC_ORDER): Define.
- 2006-01-19 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_compute_func_type): Treat all functions
- as nothrow when unwinding tables are disabled.
- 2006-01-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR testsuite/25171
- * c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type
- of bit-field" when in system header.
- 2006-01-19 DJ Delorie <dj@redhat.com>
- * config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with
- the 16 bit shift limit of the m16c.
- 2006-01-19 Andrew Pinski <pinskia@physics.uc.edu>
- PR target/22099
- * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label.
- * config/i386/i386.c (output_set_got): Output the label if we have one
- for the TARGET_DEEP_BRANCH_PREDICTION case.
- 2006-01-19 Jan Hubicka <jh@suse.cz>
- H.J. Lu <hongjiu.lu@intel.com>
- Evandro Menezes <evandro.menezes@amd.com>
- * invoke.texi (generic): Document
- (i686) Update.
- * config.gcc: Make x86_64-* and i686-* default to generic tunning.
- * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
- TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
- (x86_use_incdec, x86_pad_returns): New variables
- (TARGET_CPU_DEFAULT_generic): New constant
- (TARGET_CPU_DEFAULT_NAMES): Add generic.
- (enum processor_type): Add generic32 and generic64.
- * i386.md (cpu attribute): Add generic32/generic64
- (movhi splitter): Behave sanely when both partial_reg_dependency and
- partial_reg_stall are set.
- (K8 splitters): Enable for generic as well.
- * predicates.md (incdec_operand): Use TARGET_INCDEC
- (aligned_operand): Avoid memory mismatch stalls.
- * athlon.md: Enable for generic64, new patterns for 128bit moves.
- * ppro.md: Enable for generic32
- * i386.c (generic64_cost, generic32_cost): New.
- (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
- (x86_use_leave): Enable for generic64. (x86_use_sahf,
- x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
- x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
- x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
- x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
- x86_partial_reg_dependency, x86_memory_mismatch_stall,
- x86_accumulate_outgoing_args, x86_prologue_using_move,
- x86_epilogue_using_move, x86_arch_always_fancy_math_387,
- x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
- Enable for generic.
- (x86_use_incdec, x86_pad_returns): New.
- (override_options): Add generic32 and generic64, translate "generic"
- to generic32/generic64 and "i686" to "generic32", refuse
- "generic32"/"generic64" as arch target.
- (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
- (ix86_reorg): Honor PAD_RETURNS.
- 2006-01-19 Diego Novillo <dnovillo@redhat.com>
- * tree-pretty-print.c (dump_generic_node): Handle
- OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR.
- * cgraph.c (cgraph_expand_queue): Rename from
- cgraph_analyze_queue. Update all users.
- * cgraphunit.c (cgraph_assemble_pending_functions): Process
- cgraph_expand_queue.
- (cgraph_expand_all_functions): Likewise.
- (cgraph_finalize_pending_functions): Remove. Update callers.
- * tree.h (OMP_DIRECTIVE_P): Define.
- (OMP_PARALLEL_FN): Define.
- (OMP_PARALLEL_DATA_ARG): Define.
- (OMP_SECTIONS_SECTIONS): Define.
- * tree-pass.h (pass_expand_omp): Declare.
- * omp-low.c (struct omp_region): Declare.
- (struct omp_context): Remove fields 'parallel_type',
- 'parallel_start_ix' and 'parallel_start_additional_args'.
- Update all users.
- (struct omp_for_data): Rename from struct expand_omp_for_data.
- (omp_regions): New static variable.
- (root_omp_region): New static variable.
- (find_omp_clause): Make static.
- (is_in_combined_parallel_ctx): Remove.
- (is_combined_parallel): New.
- (extract_omp_for_data): Move earlier in the file.
- (workshare_safe_to_combine_p): New.
- (get_ws_args_for): New.
- (determine_parallel_type): Move earlier in the file.
- (omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the
- child function.
- (omp_copy_decl): Likewise.
- (create_omp_child_function): Likewise.
- (lookup_omp_region): New.
- (dump_omp_region): New.
- (debug_omp_region): New.
- (debug_all_omp_regions): New.
- (new_omp_region): New.
- (scan_omp_parallel): If parallel_nesting_level > 1, the
- directive is nested within another parallel directive.
- Set OMP_PARALLEL_FN.
- (scan_omp_for): Do not try to handle combined parallel+for
- cases.
- Remove FIXME comment.
- (scan_omp_nested): Remove.
- (scan_omp_1): Do not call scan_omp_nested when
- parallel_nesting_level is > 1.
- Do not change the DECL_CONTEXT of local variables found.
- (lookup_decl_in_outer_ctx): New.
- (lower_rec_input_clauses): Rename from expand_rec_input_clauses.
- (lower_lastprivate_clauses): Rename from expand_lastprivate_clauses.
- (lower_reduction_clauses): Rename from expand_reduction_clauses.
- (lower_copyprivate_clauses): Rename from expand_copyprivate_clauses.
- If CTX is nested, lookup VAR in the outer context when
- building copy assignment.
- (lower_send_clauses): Rename from expand_send_clauses.
- If CTX is nested, lookup VAR in the outer context when
- building copy assignments.
- (lower_send_shared_vars): Rename from expand_send_shared_vars.
- If CTX is nested, lookup VAR in the outer context when
- building copy assignments.
- (expand_parallel_call): Rename from build_parallel_call.
- Handle combined parallel+workshare cases.
- Re-implement to emit code into the CFG.
- (list2chain): New.
- (expand_omp_parallel): Re-implement to emit code into the CFG.
- Call move_sese_region_to_fn to outline the sub-graph
- containing the parallel region.
- (expand_omp_for_1): Remove.
- (expand_omp_for_generic): Re-implement to emit code into the
- CFG.
- (expand_omp_for_static_nochunk): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- (expand_omp_for): Likewise.
- (expand_omp_sections): Likewise.
- (remove_exit_barriers): New.
- (expand_omp_synch): New.
- (expand_omp): New.
- (build_omp_regions_1): New.
- (build_omp_regions): New.
- (execute_expand_omp): New.
- (gate_expand_omp): New.
- (pass_expand_omp): Define.
- (lower_omp_sections): Rename from expand_omp_sections.
- Set OMP_SECTIONS_SECTIONS.
- (lower_omp_single_simple): Rename from expand_omp_single_simple.
- (lower_omp_single_copy): Rename from expand_omp_single_copy.
- (lower_omp_single): Rename from expand_omp_simple.
- (lower_omp_master): Rename from expand_omp_master.
- (lower_omp_ordered): Rename from expand_omp_ordered.
- (lower_omp_critical): Rename from expand_omp_critical.
- (lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate.
- (lower_omp_for): Re-implement.
- (lower_omp_parallel): Re-implement.
- (lower_regimplify): Rename from expand_regimplify.
- (lower_omp_1): Rename from expand_omp_1.
- If there are syntax errors in the program, replace every
- OpenMP directive with NOP.
- Call lower_omp_* instead of expand_omp_*.
- (lower_omp): Rename from expand_omp.
- * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR.
- * tree-gimple.h (enum omp_parallel_type): Remove.
- (gimple_boolify): Declare extern.
- (find_omp_clause, determine_parallel_type): Remove.
- * gimple-low.c (lower_omp_directive): New.
- (lower_stmt): Call it.
- (record_vars_into): Move from ...
- (record_vars): ... here.
- Call record_vars_into with current_function_decl.
- * gimplify.c (struct gimplify_ctx): Remove fields
- combined_pre_p and combined_ctxp. Update users.
- (get_formal_tmp_var): Add documentation.
- (gimple_boolify): Make extern.
- (gimplify_expr_in_ctx): Remove. Update callers.
- (gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY
- will always be a BIND_EXPR.
- (gimplify_expr): Handle OMP_RETURN_EXPR.
- * tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS.
- (OMP_PARALLEL): Add 3 operands.
- (OMP_SECTIONS): Add 1 operand.
- (OMP_RETURN_EXPR): Define.
- * tree-inline.c (estimate_num_insns_1): Handle OpenMP directives.
- (copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*.
- * tree-iterator.c (alloc_stmt_list): Assert that we are not
- creating a circular free list.
- (free_stmt_list): Assert that we are not freeing stmt_list_cache.
- * tree-flow.h (move_sese_region_to_fn): Declare.
- (record_vars_into): Declare.
- * tree-cfg.c (make_omp_sections_edges): New.
- (make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE,
- OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR,
- OMP_SECTIONS and OMP_SECTION.
- (is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P.
- (set_bb_for_stmt): Undo change to check currently_expanding_to_rtl.
- (verify_stmt): Do not handle OMP_DIRECTIVE_P.
- (gather_blocks_in_sese_region): New.
- (struct move_stmt_d): Declare.
- (move_stmt_r): New.
- (move_block_to_fn): New.
- (move_sese_region_to_fn): New.
- * passes.c (init_optimization_passes): Schedule
- pass_expand_omp after pass_init_datastructures.
- * tree-ssa-operands.c (get_expr_operands): Handle
- OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR,
- OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL.
- 2006-01-19 Jeff Law <law@redhat.com>
- * tree-vrp.c (extract_range_from_assert): Refine the result range
- if the variable referenced by the ASSERT_EXPR has a range and
- either the tentative result range or the previous range is a
- VR_ANTI_RANGE.
- 2006-01-19 Richard Sandiford <richard@codesourcery.com>
- * c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses.
- 2006-01-19 Jan Hubicka <jh@suse.cz>
- * tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error.
- 2006-01-19 Paolo Bonzini <bonzini@gnu.org>
- * combine.c (try_combine): Do not worry about MEMs wrapped by USEs.
- (expand_compound_operation, expand_field_assignment): Fail if the
- bit lengths of an extract operation are out of range.
- (make_extraction): Compute wanted_inner_mode based on the position
- and length of the extraction. Make it extraction_mode for non-constant
- positions, and do not modify offset in that case. When generating a
- new MEM, use a mode that can hold the extraction while keeping correct
- alignment. Remove code that supported MEMs wrapped by USEs.
- (simplify_shift_const_1, force_to_mode) <case USE>: Remove.
- 2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com>
- * config/s390/s390.md ("Y", "y"): New mode attribute.
- ("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc",
- "*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly",
- "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64",
- "*addsi3_imm_cc", "*addsi3_carry1_cc",
- "*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly",
- "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
- "*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc",
- "*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64",
- "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
- "*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2",
- "addsi3", "subsi3"): Insn patterns removed.
- ("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly",
- "*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc",
- "*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc",
- "*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly",
- "*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly",
- "*sub<mode>3_cconly2"): New insn patterns.
- ("addsi3", "subsi3"): New expanders.
- 2006-01-19 Dorit Nuzman <dorit@il.ibm.com>
- * Makefile.in (tree-vect-patterns.o): Add rule for new file.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Use
- existing STMT_VINFO_VECTYPE if available.
- (vect_mark_relevant): Add special handling for stmts that are
- marked as STMT_VINFO_IN_PATTERN_P.
- (vect_analyze_loop): Call vect_pattern_recog.
- * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
- * tree-vectorizer.h (in_pattern_p, related_stmt): New fields in
- stmt_info.
- (STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros.
- (vect_recog_func_ptr): New function-pointer type.
- * tree-vect-patterns.c: New file.
- (vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern):
- (vect_recog_dot_prod_pattern, vect_pattern_recog):
- (vect_pattern_recog_1): New functions.
- (vect_pattern_recog_funcs): New array of function pointers.
- * tree-vectorizer.h (ternary_op): New enum value.
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Added
- declaration. Revised documentation. Removed redundant dump prints.
- Removed redundant argument. Added support for reduction patterns.
- (vectorizable_reduction): Added support for reduction patterns.
- (vect_transform_stmt): Added support for patterns.
- * expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR.
- * genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize.
- * optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR.
- (expand_widen_pattern_expr): New function.
- (init_optabs): Initialize new optabs udot_prod_optab,
- sdot_prod_optab.
- * optabs.h (OTI_sdot_prod, OTI_udot_prod): New.
- (sdot_prod_optab, udot_prod_optab): Define new optabs.
- (expand_widen_pattern_expr): New function declaration.
- * tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New
- tree-codes.
- * tree-inline.c (estimate_num_insns_1): Added cases for new
- tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- (op_prio): Likewise.
- (op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
- * tree-ssa-operands.c (get_expr_operands): Added case for
- DOT_PROD_EXPR.
- * tree-vect-patterns.c (widened_name_p): New function.
- (vect_recog_dot_prod_pattern): Added function implementation.
- * tree-vect-transform.c (get_initial_def_for_reduction): Added
- cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR.
- * config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New.
- * config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New.
- * expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR.
- * genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize.
- * optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR.
- (init_optabs): Initialize new optabs widen_ssum_optab,
- widen_usum_optab.
- * optabs.h (OTI_widen_ssum, OTI_widen_usum): New.
- (widen_ssum_optab, widen_usum_optab): Define new optabs.
- * tree-vect-generic.c: (expand_vector_operations_1): Check type of
- use instead of type of def.
- * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added
- function implementation.
- * config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi,
- widen_ssumv8hi): New.
- * doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New
- patterns.
- 2006-01-19 Richard Sandiford <richard@codesourcery.com>
- PR c/25805
- * c-decl.c (add_flexible_array_elts_to_size): New function.
- (finish_decl): Use it.
- 2006-01-18 Andrew Pinski <pinskia@physics.uc.edu>
- * diagnostic.h: Include options.h.
- * config/rs6000/x-darwin (host-ppc-darwin.o): Correct the
- dependancies for diagnostic.h.
- * Makefile.in (DIAGNOSTIC_H): Add options.h.
- 2006-01-16 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove.
- (ssa_ro_call_cache_valid): Ditto.
- * tree-ssa-alias.c (sort_tags_by_id): New function.
- (init_transitive_clobber_worklist): Ditto.
- (add_to_worklist): Ditto.
- (mark_aliases_call_clobbered): Ditto.
- (compute_tag_properties): Ditto.
- (set_initial_properties): Ditto.
- (compute_call_clobbered): Ditto.
- (compute_may_aliases): Call compute_call_clobbered and grouping.
- (compute_flow_sensitive_aliasing): Remove clobbering related code.
- (compute_flow_insensitive_aliasing): Grouping now happens in our
- caller.
- (setup_pointers_and_addressables): Remove clobbering related code.
- (add_may_alias): Ditto.
- (replace_may_alias): Ditto.
- (get_nmt_for): Ditto.
- (create_global_var):
- (is_escape_site): Return an escape_type enumeration.
- * tree-flow-inline.h (is_call_clobbered): Global var does not
- imply call clobbered.
- (mark_call_clobbered): Take a reason for marking this. Remove
- marking of globalness, and cache invalidation.
- (clear_call_clobbered): Remove cache invalidation code.
- * tree-dfa.c (dump_variable): If details is on, dump the reason
- for escaping.
- * tree-outof-ssa.c (create_temp): Copy escape mask from original
- variable.
- * tree-flow.h (struct ptr_info_def): Add escape mask member.
- (struct var_ann_d): Ditto.
- (enum escape_type): New.
- (mark_call_clobbered): Adjust prototype.
- * tree-ssa-structalias.c (update_alias_info): Unmodifiable vars
- are never call clobbered.
- Record reasons for escaping.
- * tree-ssa-structalias.h (is_escape_site): Update prototype.
- * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove.
- (ssa_ro_call_cache_valid): Ditto.
- (clobbered_v_may_defs): Ditto.
- (clobbered_vuses): Ditto.
- (ro_call_vuses): Ditto.
- (clobber_stats): New.
- (init_ssa_operands): Zero out clobber stats.
- (fini_ssa_operands): Print out clobber stats.
- (get_call_expr_operands): Pass callee fndecl to
- add_call_read_ops).
- (add_call_clobber_ops): Remove use of cache.
- Add use of PURE_CONST information.
- (add_call_read_ops): Remove use of cache.
- Add use of static not_read information.
- 2006-01-18 Alexandre Oliva <aoliva@redhat.com>
- Introduce TLS descriptors for i386 and x86_64.
- * config/i386/i386.h (TARGET_GNU2_TLS): New macro.
- (TARGET_ANY_GNU_TLS): New macro.
- (enum tls_dialect): Added TLS_DIALECT_GNU2.
- (struct machine_function): Add tls_descriptor_call_expanded_p.
- (ix86_tls_descriptor_calls_expande_in_cfun): New macro.
- (ix86_current_function_calls_tls_descriptor): Likewise.
- * config/i386/i386.c (ix86_tls_dialect): Fix typo in comment.
- (override_options): Introduce gnu2 tls dialect.
- (ix86_frame_pointer_required): Functions containing TLSCALLs are
- not leaves.
- (ix86_select_alt_pic_regnum, ix86_compute_frame_layout):
- Likewise.
- (legitimize_tls_address): Adjust logic for GNU2 TLS.
- (ix86_init_machine_status): Initialize new field.
- (ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS.
- (ix86_tls_module_base): New.
- * config/i386/i386-protos.h (ix86_tls_module_base): Declare it.
- * config/i386/i386.md (UNSPEC_TLSDESC): New constant.
- (tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS.
- (tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise.
- (tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns.
- (*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise.
- (tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise.
- (*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise.
- * config/i386/predicates.md (tls_modbase_operand): New.
- (tp_or_register_operand): New.
- 2006-01-18 Daniel Berlin <dberlin@dberlin.org>
- * ipa-reference.c (check_operand): Allow FUNCTION_DECL.
- (look_for_address_of): Ditto.
- (ipa_init): Walk the function decls.
- (static_execute): Don't set readonly on FUNCTION_DECL's.
- 2006-01-18 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.md (shift spliter): Fix a a typo in the splitter
- for shifts where the source and destination registers are different.
- 2006-01-18 Paul Brook <paul@codesourcery.com>
- Merge from csl-arm-branch.
- 2005-03-14 Julian Brown <julian@codesourcery.com>
- * config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS.
- (aeabi_llsl): Likewise.
- (ashrdi3): Likewise.
- (aeabi_lasr): Likewise.
- (lshrdi3): Likewise.
- (aeabi_llsr): Likewise.
- 2005-03-10 Julian Brown <julian@codesourcery.com>
- * config.gcc: Disable shared libgcc for SymbianOS.
- * config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.
- 2006-01-18 DJ Delorie <dj@redhat.com>
- * c-pragma.c (handle_pragma_diagnostic): New.
- (init_pragma): Register it.
- * doc/extend.texi: Document it.
- * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED.
- * diagnostic.h (diagnostic_classify_diagnostic): Declare.
- (diagnostic_context): Add classify_diagnostic[].
- * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings
- as errors if they're overridden to DK_WARNING.
- (diagnostic_initialize): Initialize classify_diagnostic[].
- (diagnostic_set_kind_override): New.
- (diagnostic_report_diagnostic): Check for kind changes.
- * opts.c (common_handle_option): Take lang_mask. Update callers.
- Handle OPT_Werror_.
- * common.opt (Werror=): New.
- * doc/invoke.texi: Document -Werror=*
- 2006-01-18 Jeff Law <law@redhat.com>
- * tree-vrp.c (test_for_singularity): Correct test for new
- min limit. Use operand_equal_p rather than pointer equality
- for testing if new min/max values are equal.
- * tree-ssa-propagate.c (substitute_and_fold): Delay simplifications
- using range information until after propagation and folding.
- 2006-01-18 Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Diego Novillo <dnovillo@redhat.com>
- * omp-low.c: New file.
- * c-omp.c: New file.
- 2006-01-18 Richard Henderson <rth@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Diego Novillo <dnovillo@redhat.com>
- * doc/invoke.texi: Document -fopenmp.
- * tree-dump.h (debug_function): Declare.
- * hooks.c (hook_bool_tree_bool_false): New function.
- (hook_tree_tree_null): Remove.
- (hook_tree_tree_tree_null): New.
- * hooks.h: Update to match.
- * tree-pretty-print.c (debug_tree_chain): New.
- (print_generic_expr): Handle TDF_CHAIN.
- (dump_generic_node): Handle BLOCK.
- Do not abort with incomplete SWITCH_EXPRs.
- Do not dump body of an OpenMP directive if TDF_SLIM is given.
- <case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
- print space after directive name.
- <OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
- Handle OMP_MASTER and OMP_ORDERED.
- Handle printing of OMP_BODY just in one place, goto
- dump_omp_body in the rest of OMP_* nodes that have
- OMP_BODY.
- Don't handle clause nodes here. Update omp statements to
- use dump_omp_clauses.
- Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
- OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
- OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
- GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
- GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
- GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
- Adjust output for GOMP_PARALLEL.
- (dump_omp_clauses): New.
- (print_declaration): Dump DECL_VALUE_EXPR.
- (op_symbol_1): Split out of op_symbol.
- (dumping_stmts): Remove. Update all users.
- * cgraph.c (cgraph_analyze_queue): New.
- (cgraph_add_new_function): New.
- * cgraph.h (cgraph_analyze_queue): Declare.
- (cgraph_add_new_function): Declare.
- (cgraph_lower_function): Remove.
- * tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
- nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
- and TYPE_P nodes in its default clause.
- (empty_body_p): New.
- (tree_range_check_failed): New.
- (build5_stat): New.
- * tree.h (OMP_CLAUSE_REDUCTION_INIT,
- OMP_CLAUSE_REDUCTION_MERGE,
- OMP_CLAUSE_REDUCTION_PLACEHOLDER,
- OMP_CLAUSE_PRIVATE_DEBUG,
- OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
- OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
- OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
- OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
- OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
- OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
- OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
- OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
- OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
- OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
- OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
- OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
- OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
- OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
- (TREE_RANGE_CHECK): New.
- (empty_body_p): Declare.
- (enum omp_clause_default_kind): New.
- (build_string_literal): Declare.
- (enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
- (build5_stat, build5): Declare.
- * tree-pass.h (TDF_CHAIN): Define.
- * tree-pass.h (PROP_gimple_lomp): Define.
- (pass_lower_omp): Declare.
- * diagnostic.h (debug_tree_chain): Declare.
- * builtins.c (get_builtin_sync_mode): Use 0 as last argument to
- mode_for_size.
- (expand_builtin): Handle sync BUILT_IN_*_16 builtins.
- * builtins.c (build_string_literal): Make extern.
- * gcc.c (include_spec_function): New.
- (static_spec_functions): Add it.
- (main): Move load of libgomp.spec ...
- (LINK_COMMAND_SPEC): ... here.
- (link_gomp_spec): New.
- (static_specs): Include it.
- (LINK_COMMAND_SPEC): Add link_gomp.
- (GOMP_SELF_SPECS): New.
- (driver_self_specs): Include it.
- (switch_matches): Don't mark inline.
- (main): Load libgomp.spec.
- * tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
- OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
- and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.
- * tree-gimple.h (enum omp_parallel): Declare.
- (determine_parallel_type): Declare.
- (omp_firstprivatize_variable): Declare.
- (omp_reduction_init): Declare.
- (diagnose_omp_structured_block_errors): Declare.
- (struct walk_stmt_info): Add want_return_expr.
- (struct walk_stmt_info): Add want_bind_expr, want_locations.
- (find_omp_clause): Declare.
- (insert_field_into_struct): Declare.
- (struct walk_stmt_info): Move from tree-nested.c
- (walk_stmts): Declare.
- * c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
- to 200505.
- * cgraphunit.c (cgraph_lower_function): Make static.
- (cgraph_finalize_pending_functions): New.
- (cgraph_finalize_function): Call it.
- (cgraph_finalize_compilation_unit): Likewise.
- * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
- BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
- (BT_FN_UINT_UINT): New.
- (DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
- DEF_FUNCTION_TYPE_VAR_4): Document.
- (BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
- BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
- BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
- BT_FN_VOID_OMPFN_PTR_UINT_UINT,
- BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
- BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
- BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
- BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.
- * builtins.def: Update DEF_BUILTIN comment to include COND argument.
- Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
- into separate files.
- (DEF_GOMP_BUILTIN): New.
- (BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
- BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
- BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
- BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
- BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
- BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
- BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
- BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
- BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
- BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
- BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
- BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
- BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
- BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
- BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
- BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
- BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
- BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
- BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
- BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
- BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
- BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
- * sync-builtins.def: New file, moved from builtins.def.
- * omp-builtins.def: New file, moved from builtins.def.
- * c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
- * gimple-low.c (lower_function_body): Clear data.
- (lower_stmt): Do not handle COMPOUND_EXPR.
- Remove call to print_node_brief.
- * c-tree.h (c_finish_omp_clauses): New prototype.
- (C_DECL_THREADPRIVATE_P): Define.
- (lookup_name_no_remap, c_omp_remap_private): Remove
- (c_begin_omp_parallel, c_finish_omp_parallel): Update.
- (check_for_loop_decls): Update decl.
- (lookup_name_no_remap, c_omp_remap_private): Declare.
- (build_indirect_ref, build_modify_expr, pushdecl,
- pushdecl_top_level): Move to c-common.h.
- * dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
- before the switch, but just in the 2 places that need it.
- * c-decl.c (diagnose_mismatched_decls): Do not check for
- mismatched thread-local attributes when OLDDECL is marked
- threadprivate and NEWDECL has no thread-local attributes.
- (merge_decls): Merge C_DECL_THREADPRIVATE_P.
- (c_gimple_diagnostics_recursively): Rename from
- c_warn_unused_result_recursively. Invoke
- diagnose_omp_structured_block_errors.
- (check_for_loop_decls): Return a singular decl found.
- * langhooks.c (lhd_omp_predetermined_sharing): Return
- OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
- (lhd_omp_firstprivatize_type_sizes): New.
- (lhd_omp_assignment): New.
- (lhd_omp_predetermined_sharing): New.
- * langhooks.h (struct gimplify_omp_ctx): Forward declare.
- (struct lang_hooks_for_types): Add
- omp_firstprivatize_type_sizes, omp_privatize_by_reference,
- omp_predetermined_sharing, omp_disregard_value_expr,
- omp_private_debug_clause, omp_clause_default_ctor,
- omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.
- (c_finish_omp_clauses): New.
- (c_finish_bc_stmt): Diagnose break within omp for.
- (c_begin_omp_parallel, c_finish_omp_parallel): New.
- (build_unary_op): Return error_mark after reporting
- a readonly_error.
- (build_modify_expr): Likewise.
- * gimplify.c: Include optabs.h and pointer-set.h.
- (enum gimplify_omp_var_data): Declare.
- (struct gimplify_omp_ctx): Declare.
- (struct gimplify_ctx): Add fields prev_context, combined_pre_p
- and combined_ctxp.
- (gimplify_ctxp, gimplify_omp_ctxp): New local variables.
- (push_gimplify_context, pop_gimplify_context): Allow nesting.
- (splay_tree_compare_decl_uid): New.
- (new_omp_context): New.
- (delete_omp_context): New.
- (gimple_add_tmp_var): Call omp_add_variable.
- (gimplify_bind_expr): Likewise.
- (gimplify_var_or_parm_decl): If omp_notice_variable returned
- true, disregard DECL_VALUE_EXPR on the decl if any.
- (gimplify_expr_in_ctx): New.
- (omp_firstprivatize_variable, omp_firstprivatize_type_sizes
- omp_add_variable, omp_notice_variable, omp_is_private
- gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
- gimplify_adjust_omp_clauses, gimplify_omp_parallel
- gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
- gimplify_omp_atomic_fetch_op, goa_stabilize_expr
- gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
- gimplify_omp_atomic): New.
- (gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
- OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
- OMP_CRITICAL and OMP_ATOMIC.
- (gimplify_body): Verify gimplify_ctxp is empty after gimplification.
- * c-pragma.h (enum pragma_kind): Add
- PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
- PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
- PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
- PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
- PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
- PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
- PRAGMA_OMP_THREADPRIVATE.
- * tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
- OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
- OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
- OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
- OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
- OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
- OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
- OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
- OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.
- * print-tree.c (print_node): Dump DECL_VALUE_EXPR.
- * tree-ssa-dce.c (find_control_dependence): Do not assume that
- ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).
- * tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
- OpenMP directives.
- (struct nesting_info): Add field_map,
- suppress_expansion, debug_var_chain.
- (create_nesting_tree): Initialize them.
- (lookup_field_for_decl): Use field_map.
- (get_nonlocal_debug_decl, get_local_debug_decl): New.
- (convert_local_omp_clauses): New.
- (finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
- (walk_body): Split out of walk_function.
- (convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
- (convert_nonlocal_reference): Handle omp statements.
- (convert_local_reference): Likewise.
- (unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
- (unnest_nesting_tree): New.
- (lower_nested_functions): Call it.
- (insert_field_into_struct): Make extern.
- (struct walk_stmt_info): Move to tree-gimple.h.
- (walk_stmts): Make extern.
- * omp-builtins.def: New file.
- * tree-iterator.c (expr_only): Clarify comment.
- * c-common.h (pushdecl_top_level, pushdecl,
- build_modify_expr, build_indirect_ref,
- c_finish_omp_master, c_finish_omp_critical,
- c_finish_omp_ordered, c_finish_omp_barrier,
- c_finish_omp_atomic, c_finish_omp_flush,
- c_finish_omp_for, c_split_parallel_clauses,
- omp_clause_default_kind, c_omp_sharing_predetermined,
- c_omp_remap_decl): Declare.
- * Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
- (OBJS-common): Add omp-low.o.
- (c-omp.o, omp-low.o): Add.
- (gimplify.o): Add dependency on $(OPTABS_H).
- (GTFILES): Add omp-low.c.
- (gt-stringpool.h): Add.
- * tree-cfg.c (set_bb_for_stmt): Do not update the
- block-to-labels map if we are currently expanding to RTL.
- (tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
- checks.
- Handle IDENTIFIER_NODE.
- (tree_verify_flow_info): Do not ICE when emitting error
- messages about invalid labels.
- (dump_function_to_file): Reset CFUN before emitting the body
- of the function.
- (debug_function): New.
- * passes.c (init_optimization_passes): Schedule
- pass_lower_omp.
- * langhooks-def.h (lhd_omp_predetermined_sharing,
- lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
- Declare.
- (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
- (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
- (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
- LANG_HOOKS_OMP_PREDETERMINED_SHARING,
- LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
- LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
- LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
- LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
- LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
- LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
- (LANG_HOOK_DECLS): Use them.
- 2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
- Richard Henderson <rth@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Diego Novillo <dnovillo@redhat.com>
- * c-parser.c (pragma_omp_clause): Define.
- (c_parser_declaration_or_fndef): Document OpenMP syntax.
- (c_parser_compound_statement): Likewise.
- (c_parser_statement): Likewise.
- (c_parser_pragma): Handle omp pragmas.
- (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
- OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
- (c_parser_omp_clause_name, check_no_duplicate_clause,
- c_parser_omp_variable_list,
- c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
- c_parser_omp_clause_copyprivate,
- c_parser_omp_clause_default,
- c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
- c_parser_omp_clause_lastprivate,
- c_parser_omp_clause_nowait,
- c_parser_omp_clause_num_threads,
- c_parser_omp_clause_ordered, c_parser_omp_clause_private,
- c_parser_omp_clause_reduction,
- c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
- c_parser_omp_all_clauses, c_parser_omp_structured_block,
- c_parser_omp_atomic, c_parser_omp_barrier,
- c_parser_omp_critical, c_parser_omp_flush,
- c_parser_omp_for_loop, c_parser_omp_for,
- c_parser_omp_master, c_parser_omp_ordered,
- c_parser_omp_sections_scope, c_parser_omp_sections,
- c_parser_omp_parallel, c_parser_omp_single,
- c_parser_omp_construct, c_parser_omp_threadprivate): New.
- * c-pragma.c (init_pragma): Do omp pragma registration here.
- * c.opt (fopenmp): New flag.
- 2006-01-18 Eric Christopher <echristo@apple.com>
- * gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
- * config/darwin.h (GOMP_SELF_SPECS): Define.
- 2006-01-18 Kazu Hirata <kazu@codesourcery.com>
- * rtl.h: Remove the prototype for reg_alloc.
- 2006-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/25731
- * config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
- hppa[12]*-*-hpux11*): Override default shared libgcc version for both
- sjlj and dwarf2 exception handling.
- * pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
- Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
- * pa/pa.c (function_value): Treat complex and vector types as
- aggregates.
- (function_arg): Likewise. Only pass scalar floats in the floating
- point argument registers.
- * pa/t-slibgcc-dwarf-ver: New file.
- * pa/t-slibgcc-sjlj-ver: New file.
- * pa/t-slibgcc-elf-ver: Delete file.
- 2006-01-19 Alan Modra <amodra@bigpond.net.au>
- * config/rs6000/rs6000.c (rs6000_assemble_integer): Correct
- unlikely_test_section_p test.
- 2006-01-18 Kazu Hirata <kazu@codesourcery.com>
- * mode-switching.c (optimize_mode_switching): Make it static.
- * basic-block.h: Remove the prototype for
- optimize_mode_switching.
- * modulo-sched.c (sms_schedule): Make it static.
- * rtl.h: Remove the prototype for sms_schedule.
- * postreload-gcse.c (gcse_after_reload_main): Make it static.
- * rtl.h: Remove the prototype for gcse_after_reload_main.
- * reg-stack.c (reg_to_stack): Make it static.
- * rtl.h: Remove the prototype for reg_to_stack.
- * regrename.c (regrename_optimize, copyprop_hardreg_forward):
- Make them static.
- * rtl.h: Remove the prototypes for regrename_optimize and
- copyprop_hardreg_forward.
- 2006-01-18 Eric Botcazou <ebotcazou@adacore.com>
- * config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into
- alpha_split_tmode_pair. Add 'mode' and 'fixup_overlap' arguments.
- Test against the appropriate null constant for the mode.
- If 'fixup_overlap' is true, swap the operands if they overlap.
- (alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair.
- * config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into
- alpha_split_tmode_pair and adjust for above change.
- * config/alpha/alpha.md (movtf_internal): Adjust call to
- alpha_split_tfmode_pair and rely on it to swap the operands.
- (movti_internal): New insn and post-reload splitter.
- (movti): New expander.
- 2006-01-18 Philippe De Muyter <phdm@macqel.be>
- * config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory
- operands.
- 2006-01-18 Kazu Hirata <kazu@codesourcery.com>
- * rtlanal.c (global_reg_mentioned_p_1,
- global_reg_mentioned_p): Remove.
- * rtl.h: Remove the prototype for global_reg_mentioned_p.
- * flow.c (initialize_uninitialized_subregs): Make it static.
- * rtl.h: Remove the prototype for
- initialize_uninitialized_subregs.
- * function.c (instantiate_virtual_regs): Make it static.
- * function.h: Remove the prototype for
- instantiate_virtual_regs.
- * regmove.c (regmove_optimize, combine_stack_adjustments):
- Make them static.
- * rtl.h: Remove the prototypes for regmove_optimize and
- combine_stack_adjustments.
- 2006-01-17 Roger Sayle <roger@eyesopen.com>
- * config/i386/i386.c (COSTS_N_BYTES): New macro.
- (size_cost): Encode costs in bytes so that a reg-reg addition is
- equivalent to COSTS_N_INSNS(1).
- (override_options): Use the size_cost.branch_cost as the default
- ix86_branch_cost when optimizing for size.
- 2006-01-18 Ben Elliston <bje@au.ibm.com>
- * Makefile.in (D32PBIT_FUNCS): New.
- (D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise.
- (libgcc.mk): Set D32PBIT, D64PBIT, D128PBIT, D32PBIT_FUNCS,
- D64PBIT_FUNCS and D128PBIT_FUNCS.
- (LIBGCC_DEPS): Include $(D32PBIT), $(D64PBIT), $(D128PBIT).
- * mklibgcc.in Bring in the DFP support code if D32PBIT, D64PBIT or
- D128PBIT are set.
- (decnumber_dep): Define.
- * doc/libgcc.texi (Decimal float library routines): New node.
- * config/dfp-bit.h, config/dfp-bit.c: New files.
- 2006-01-18 Ben Elliston <bje@au.ibm.com>
- * expr.c (emit_move_change_mode): Always adjust addresses, not
- just during reload. Copy replacements only during reload.
- (emit_move_insn_1): Move MODE_DECIMAL_FLOAT modes by invoking
- emit_move_via_integer.
- 2006-01-17 Shantonu Sen <ssen@opendarwin.org>
- * Makefile.in (check-%, check-consistency): Use $${srcdir}
- instead of $(srcdir) and ${srcdir}.
- 2006-01-17 Richard Earnshaw <rearnsha@arm.com>
- PR target/592
- PR middle-end/11135
- * arm.h (struct machine_function): Add pic_reg.
- * arm.c (arm_pic_register): Make unsigned.
- (arm_override_options): Only set arm_pic_register if
- TARGET_SINGLE_PIC_BASE.
- (use_return_insn): Only test for a pic register if it is fixed.
- (arm_compute_save_reg0_reg12_mask): Likewise.
- (thumb_compute_save_reg_mask): Likewise.
- (legitimate_pic_operand): Factor out some known invariants.
- (legitimize_pic_address): If we don't have a fixed pic register,
- then set up a pseudo in the function entry sequence. Handle the
- pic base being in a pseudo.
- (arm_load_pic_register): Handle the pic register being in a pseudo.
- (arm_expand_prologue): Only set up the pic register if it is fixed.
- (thumb_expand_prologue): Likewise.
- * arm.md (pic_load_addr_based): Handle the pic base being a pseudo.
- (pic_load_addr_based_insn): Likewise.
- (builtin_setjmp_receiver): Don't restore the pic base if it isn't
- fixed.
- 2006-01-18 Ben Elliston <bje@au.ibm.com>
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Reject
- decimal float modes for all floating point registers.
- * config/rs6000/predicates.md (reg_or_mem_operand): Pair up
- match_code "mem" with match_test "macho_lo_sum_memory_operand".
- 2006-01-17 Jakub Jelinek <jakub@redhat.com>
- PR c/25682
- * c-typeck.c (build_unary_op): Fold offsetof-like expressions
- even when the pointer is not NULL.
- 2006-01-16 Ian Lance Taylor <ian@airs.com>
- * common.opt (ftoplevel-reorder): New option.
- * cgraph.c (cgraph_asm_nodes): New global variable.
- (cgraph_asm_last_node): New static variable.
- (cgraph_order): New global variable.
- (cgraph_create_node): Set new order field.
- (cgraph_varpool_node): Likewise.
- (decide_is_variable_needed): Return true if not
- flag_toplevel_reorder.
- (cgraph_add_asm_node): New function.
- * cgraph.h (struct cgraph_node): Add order field.
- (struct cgraph_varpool_node): Add order field.
- (struct cgraph_asm_node): Define.
- (cgraph_asm_nodes, cgraph_order): Declare.
- (cgraph_add_asm_node): Declare.
- * cgraphunit.c (cgraph_varpool_assemble_decl): New static
- function.
- (cgraph_varpool_assemble_pending_decls): Call it.
- (cgraph_output_pending_asms): New static function.
- (cgraph_finalize_compilation_unit): Call it.
- (struct cgraph_order_sort): Define.
- (cgraph_output_in_order): New static function.
- (cgraph_optimize): Call cgraph_output_pending_asms. Add code for
- !flag_toplevel_reorder case.
- * c-parser.c: Include "cgraph.h".
- (c_parser_asm_definition): Call cgraph_add_asm_node rather than
- assemble_asm.
- * Makefile.in (CRTSTUFF_CFLAGS): Use -fno-toplevel-reorder rather
- than -fno-unit-at-a-time.
- * doc/invoke.texi (Option Summary): Mention
- -fno-toplevel-reorder.
- (Optimize Options): Document -fno-toplevel-reorder. Mention it in
- -funit-at-a-time documentation.
- 2006-01-17 Hans-Peter Nilsson <hp@axis.com>
- Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h.
- 2006-01-17 Kazu Hirata <kazu@codesourcery.com>
- * Makefile.in (FUNCTION_H): New. Use it instead of
- function.h throughout the file.
- * function.h: Include tree.h.
- 2006-01-17 Ben Elliston <bje@au.ibm.com>
- * recog.c: Separate some functions with whitespace.
- 2006-01-16 Richard Henderson <rth@redhat.com>
- Merge from gomp branch:
- * Makefile.in (TREE_INLINE_H): New. Use it as needed.
- * tree-inline.h (struct copy_body_data): Move from tree-inline.c
- and rename from struct inline_data. Rename callee* to dst*;
- caller* to src*; add copy_decl hook, transform_call_graph_edges,
- transform_new_cfg, transform_return_to_modify, and
- transform_lang_insert_block flags; remove cloning_p, versioning_p,
- update_clones_p.
- (copy_body_r, insert_decl_map, remap_decl, remap_type): Declare.
- (copy_decl_for_dup): Remove.
- * tree-inline.c (struct inline_data): Move to header.
- (insert_decl_map): Export.
- (remap_decl): Update for member name changes. Use copy_decl hook.
- Allow for replacement to be a non-decl. Remove dead code.
- (remap_type_1): Check for existing mapping.
- (remap_type): Export.
- (remap_decls): Update for member name changes.
- (remap_block, copy_bb, copy_cfg_body, copy_generic_body): Likewise.
- (copy_body, setup_one_parameter, declare_return_variable): Likewise.
- (expand_call_inline, optimize_inline_calls, clone_body): Likewise.
- (copy_tree_r, mark_local_for_remap_r, unsave_expr_now): Likewise.
- (tree_function_versioning, build_duplicate_type): Likewise.
- (copy_body_r): Likewise. Export.
- (copy_decl_for_dup): Split into ...
- (copy_decl_for_dup_finish, copy_decl_to_var,
- copy_decl_no_change, copy_decl_maybe_to_var): ... these.
- (replace_ref_tree, inlining_p): Remove.
- 2006-01-16 Kazu Hirata <kazu@codesourcery.com>
- * ifcvt.c (if_convert): Make it static.
- * rtl.h: Remove the prototype for if_convert.
- * local-alloc.c (local_alloc): Make it static.
- * rtl.h: Remove the prototype for local_alloc.
- * loop.c (loop_optimize): Make it static.
- * cfgloop.h: Remove the prototype for loop_optimize.
- * rtl.h: Likewise.
- 2006-01-16 DJ Delorie <dj@redhat.com>
- * reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of
- mems.
- 2006-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa.md: Disparage copies between general and floating-point registers
- in 32-bit move patterns.
- 2006-01-16 H.J. Lu <hongjiu.lu@intel.com>
- PR testsuite/25741
- * Makefile.in (check-%): Depend on site.exp instead of
- $(TESTSUITEDIR)/site.exp. Run "runtest" in separate language
- directories.
- 2006-01-16 Kazu Hirata <kazu@codesourcery.com>
- * global.c (global_alloc): Make it static.
- * rtl.h: Remove the prototype for global_alloc.
- 2006-01-16 Richard Guenther <rguenther@suse.de>
- * tree-ssa-alias.c (struct used_part): Add write_only field.
- (get_or_create_used_part_for): Initialize it to true.
- (create_overlap_variables_for): Don't create structure variables
- for structures that only are written to.
- (find_used_portions): Handle MODIFY_EXPR to track whether a
- structure is only written to.
- 2006-01-16 Kazu Hirata <kazu@codesourcery.com>
- * bb-reorder.c (partition_hot_cold_basic_blocks): Make it
- static.
- * basic-block.h: Remove the prototype for
- partition_hot_cold_basic_blocks.
- 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
- * cppspec.c (lang_specific_spec_functions): Remove.
- * gcc.c (lookup_spec_function): Use static_spec_functions directly.
- * gcc.h (lang_specific_spec_functions): Remove.
- * gccspec.c (lang_specific_spec_functions): Remove.
- 2006-01-16 Paolo Bonzini <bonzini@gnu.org>
- * combine.c (record_value_for_reg): Invalidate registers
- if INSN is null.
- (record_dead_and_set_regs_1): Likewise, by passing them to
- record_value_for_reg.
- (record_dead_and_set_regs): Invalidate stores made by a
- call. We do not combine across a call, but we still
- relied on equivalences.
- 2006-01-16 Eric Botcazou <ebotcazou@adacore.com>
- * tree-vrp.c (extract_range_from_binary_expr): Cope with
- vrp_int_const_binop returning non-constant nodes.
- 2006-01-16 Paul Brook <paul@codesourcery.com>
- * config/m68k/m68k.c (output_move_const_into_data_reg):
- Output correct mnemonic for mvz and mvs.
- 2006-01-16 Gabor Loki <loki@gcc.gnu.org>
- * rtl-factoring.c: Add sequence abstraction algorithm.
- * cfgcleanup.c (outgoing_edges_match): Extra checks.
- (try_crossjump_to_edge): Avoid deleting preserve label when redirecting
- ABNORMAL edges.
- (block_has_preserve_label): New function.
- * common.opt: Register new pass.
- * Makefile.in: Ditto.
- * passes.c: Ditto.
- * timevar.def: Ditto.
- * tree-pass.h: Ditto.
- * emit-rtl.c (make_jump_insn_raw): Remove forward decl.
- * rtl.h (make_jump_insn_raw): Add forward decl.
- * doc/invoke.texi: Add documentation for -frtl-abstract-sequences.
- 2006-01-16 Eric Botcazou <ebotcazou@adacore.com>
- Roger Sayle <roger@eyesopen.com>
- * fold-const.c (fold_minmax): New static function.
- (fold_binary) <MIN_EXPR>: Call it.
- <MAX_EXPR>: Likewise.
- * stor-layout.c (place_field): Use DECL_SIZE consistently
- in the computation of the new record size.
- 2006-01-16 Kazu Hirata <kazu@codesourcery.com>
- * cse.c (cse_condition_code_reg): Make it static.
- * rtl.h: Remove the prototype for cse_condition_code_reg.
- * combine.c (combine_instructions): Make it static.
- * rtl.h: Remove the prototype for combine_instructions.
- 2006-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/25168
- * tree.c (get_file_function_name_long): Concatenate the first global
- object name with a string derived from the input filename of the object
- for type "F".
- 2006-01-16 Ben Elliston <bje@au.ibm.com>
- * config/i386/winnt-stubs.c: Update FSF address.
- * config/xtensa/ieee754-df.S: Ditto.
- * config/xtensa/ieee754-sf.S: Ditto.
- 2006-01-14 Ian Lance Taylor <ian@airs.com>
- * ifcvt.c (noce_init_if_info): New static function, broken out of
- noce_process_if_block.
- (noce_process_if_block): Call noce_init_if_info.
- (check_cond_move_block): New static function.
- (cond_move_process_if_block): New static function.
- (process_if_block): Call cond_move_process_if_block.
- 2006-01-15 Kazu Hirata <kazu@codesourcery.com>
- * cselib.c (hash_table): Rename to cselib_hash_table.
- (cselib_clear_table, discard_useless_values,
- remove_useless_values, cselib_lookup_mem, cselib_lookup,
- cselib_init, cselib_finish): Adjust uses of hash_table.
- 2006-01-14 Kazu Hirata <kazu@codesourcery.com>
- PR tree-optimization/25485
- * tree-vrp.c (extract_range_from_binary_expr): Handle cases
- where one of the operands of TRUTH_AND_EXPR and TRUTH_OR_EXPR
- is known to be false and true, respectively.
- 2006-01-14 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/22548
- PR tree-optimization/22555
- PR tree-optimization/22501
- * Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H).
- * params.def (salias-max-array-elements): New parameter.
- * params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define.
- * doc/invoke.texi (salias-max-array-elements): Document.
- * tree-flow-inline.h (var_can_have_subvars): We also handle
- arrays now.
- * tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like
- COMPONENT_REF.
- * tree-ssa-structalias.c (params.h): Include.
- (push_fields_onto_fieldstack): Handle ARRAY_TYPE.
- (find_func_aliases): Handle multiple constraints from ARRAY_REF.
- (get_constraint_for): For ADDR_EXPR operating on something
- containing an ARRAY_REF, add all subvars to the solution.
- (handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types.
- * tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF
- for creating MUST_DEFs.
- (get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars.
- 2006-01-14 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several
- functions.
- (number_of_iterations_ne, number_of_iterations_lt_to_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
- number_of_iterations_le): New functions.
- (number_of_iterations_special): Removed.
- (number_of_iterations_exit): Do not use number_of_iterations_special.
- * tree.c (unsigned_type_for): Always return integer type.
- 2006-01-14 Steven Bosscher <stevenb.gcc@gmail.com>
- Richard Guenther <rguenther@suse.de>
- PR rtl-optimization/24257
- * gcse.c (find_moveable_store): Only consider a store movable
- when the SET_SRC of the insn can be assigned to a register.
- 2006-01-14 Ian Lance Taylor <ian@airs.com>
- * tree.c (tree_not_class_check_failed): New function.
- * tree.h (NON_TYPE_CHECK): Call tree_not_class_check_failed.
- (tree_not_class_check_failed): Declare.
- 2006-01-13 Ian Lance Taylor <ian@airs.com>
- * reload1.c (do_output_reload): Add assertion rejecting a
- CALL_INSN.
- 2006-01-13 Adam Nemet <anemet@caviumnetworks.com>
- * combine.c (struct reg_stat): Add new fields truncation_label and
- truncated_to_mode.
- (record_value_for_reg): Reset truncated_to_mode.
- (record_truncated_value): New function.
- (check_promoted_subreg): Call it. Rename to check_conversions.
- (combine_instructions): Rename check_promoted_subreg to
- check_conversions.
- (reg_truncated_to_mode): New function.
- (make_extraction): Use it. Check TRULY_NOOP_TRUNCATION.
- (gen_lowpart_or_truncate): New function.
- (force_to_mode): Use it instead of gen_lowpart.
- 2006-01-13 Diego Novillo <dnovillo@redhat.com>
- * tree-ssa-alias.c (add_type_alias): Fix typo. Test whether
- VAR is a tag, not its type tag.
- 2006-01-13 Alexandre Oliva <aoliva@redhat.com>
- * config/i386/sse.md (*vec_extractv2di_1_sse2): Reorder
- alternatives to match style of other entries.
- (*vec_extractv2di_1_sse): Likewise. Fix mode attr.
- 2006-01-13 Daniel Berlin <dberlin@dberlin.org>
- PR tree-optimization/25771
- * tree-ssa-pre.c (insert_extra_phis): Don't insert merges of abnormal
- SSA_NAMES.
- 2006-01-13 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/24365
- * tree-inline.c (declare_return_variable): If the return variable
- was marked as a non gimple complex, set the return slot variable
- to be a non gimple comple variable.
- 2006-01-13 Richard Guenther <rguenther@suse.de>
- * builtins.c (expand_builtin_sincos): New function.
- (expand_builtin_mathfn_3): Remove dead code, sin and cos
- do not set errno.
- (expand_builtin): Expand sincos using expand_builtin_sincos.
- 2006-01-12 DJ Delorie <dj@redhat.com>
- * config/m32c/shift.md: Rewrite: Allow arbitrary operands for
- shift counts, separate SI shifts for m32c vs m16c, pass shift type
- so that constant shifts can be split.
- * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6.
- (m32c_valid_pointer_mode): Make static.
- (shift_gen_func_for): New.
- (m32c_prepare_shift): Use it. Split large const shifts into
- multiple shifts.
- * config/m32c/predicates.md (shiftcount_operand): Allow more
- general operands.
- (longshiftcount_operand): New.
- * doc/md.texi (Machine Constraints): Document In6.
- 2006-01-13 Ben Elliston <bje@au.ibm.com>
- * doc/tm.texi (Data Output): Add REAL_VALUE_TO_TARGET_DECIMAL32,
- REAL_VALUE_TO_TARGET_DECIMAL64 and REAL_VALUE_TO_TARGET_DECIMAL128
- documentation.
- 2006-01-12 Daniel Berlin <dberlin@dberlin.org>
- * tree-ssa-operands.c (add_call_clobber_ops): Use SFT_PARENT_VAR
- to try to avoid clobbering pieces of structures when we know
- something about the whole structure.
- * tree-ssa-alias.c (create_sft): Set SFT_PARENT_VAR
- 2006-01-13 Ben Elliston <bje@au.ibm.com>
- * doc/rtl.texi (Insns): Remove statement that libcalls cannot
- return in memory, as this is no limitation is no longer present.
- 2006-01-12 DJ Delorie <dj@redhat.com>
- * config/m32c/addsub.md (addhi3): Add two more alternatives, for
- mova with fb, and for fb+0 -> An.
- * config/m32c/mov.md (peephole2): Fix enabling logic.
- * config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
- DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP,
- DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP,
- FINI_ARRAY_SECTION_ASM_OP): Define.
- * config/m32c/m32c.c (m32c_legitimize_address): Remove temporary
- variable.
- (m32c_legitimize_reload_address): New logic to reload FB to An.
- (m32c_output_reg_push): Add newline.
- (m32c_output_reg_pop): Likewise.
- 2006-01-12 Ulrich Weigand <uweigand@de.ibm.com>
- * struct-equiv.c (find_dying_inputs): Fix off-by-one bug.
- 2006-01-11 Andrew Pinski <pinskia@physics.uc.edu>
- * config/i386/darwin.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
- 2006-01-11 Kazu Hirata <kazu@codesourcery.com>
- * config/sh/predicates.md (sh_rep_vec): Add parallel to
- match_code.
- 2006-01-11 Ben Elliston <bje@au.ibm.com>
- * rtlanal.c (find_reg_note): Assert insn is not null.
- 2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-scan.c (df_hard_reg_init): Move declaration of i outside
- ifdef.
- 2006-01-11 Jeff Law <law@redhat.com>
- * tree-ssa-threadupdate.c (threaded_edges): New VEC to
- hold edge pairs.
- (mark_threaded_blocks, register_jump_thread): New functions.
- (thread_through_all_blocks): Remove unwanted argument. No
- longer rely on e->aux to communicate thread target info.
- Call mark_threaded_blocks. Release the threaded_blocks
- bitmap and threaded_edges vector when complete.
- * tree-ssa-dom.c (struct edge_info): Remove redirection_target field.
- (threaded_blocks): Remove.
- (tree_ssa_dominator_optimize): Remove initialization and
- finalization of threaded_blocks. Simplify call to
- thread_through_all_blocks.
- (thread_across_edge): Call register_jump_thread rather than
- storing thread information into e->aux.
- (free_all_edge_infos): Simplify now that e->aux is no longer
- used to communicate with thread_through_all_blocks.
- * tree-flow.h (thread_through_all_blocks): Update prototype.
- (register_jump_thread): Prototype.
- 2006-01-11 Kazu Hirata <kazu@codesourcery.com>
- * df-core.c (df_compact_blocks, df_bb_replace): Use
- SET_BASIC_BLOCK instead of BASIC_BLOCK.
- 2006-01-11 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/25734
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not
- stop propagation after successful propagation to the LHS.
- 2006-01-11 Kazu Hirata <kazu@codesourcery.com>
- * basic-block.h (control_flow_graph): Change the type of
- x_basic_block_info to VEC(basic_block,gc) *.
- (BASIC_BLOCK_FOR_FUNCTION, BASIC_BLOCK): Adjust the uses of
- basic_block_info.
- (SET_BASIC_BLOCK): New.
- * cfg.c (compact_blocks, expunge_block): Use SET_BASIC_BLOCK
- instead of BASIC_BLOCK when assigning to BASIC_BLOCK.
- * cfgbuild.c (find_basic_blocks): Likewise.
- * cfglayout.c (fixup_reorder_chain): Likewise.
- * cfgrtl.c (create_basic_block_structure,
- rtl_create_basic_block): Likewise.
- * ifcvt.c (find_if_case_1): Likewise.
- * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb):
- Likewise.
- 2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
- * Makefile.in: Removed rotted odf.c entry.
- 2006-01-11 Hans-Peter Nilsson <hp@axis.com>
- PR target/25706
- * config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
- ("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
- ("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
- output pattern modifier, not %e.
- * config/cris/cris.c (cris_op_str): Update comment about pattern
- modifier.
- (cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
- before falling through into...
- <case 'E'>: Redefined from old 'e' case.
- 2006-01-11 Jan Hubicka <jh@suse.cz>
- PR target/25042
- * i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128
- 2006-01-11 Jan Hubicka <jh@suse.cz>
- * i386.h (TARGET_DECOMPOSE_LEA): Kill.
- * i386.c (x86_decompose_lea): Kill.
- (ix86_rtx_costs): Kill.
- 2006-01-11 Jan Hubicka <jh@suse.cz>
- * cgraph.c (cgraph_insert_node_to_hashtable): New function.
- * cgraph.h (cgraph_node): Add inline_decl.
- (cgraph_insert_node_to_hashtable): Declare.
- (save_inline_function_body): Declare.
- * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline
- clones.
- (cgraph_preserve_function_body_p): Do not presrve when dump is enabled.
- (cgraph_function_versioning): Update call of tree_function_versioning.
- (save_inline_function_body): New function.
- * function.h (struct function): Kill saved_eh, saved_cfg, saved_args,
- saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list.
- * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones.
- (cgraph_default_inline_p): Likewise.
- (cgraph_decide_inlining_incrementally): Likewise.
- * tree-inline.c (inline_data): Kill saving_p add update_clones_p.
- (copy_bb): Kill saving; do updating of clones.
- (copy_cfg_body): Kill saving.
- (initialize_inlined-parameters): Likewise.
- (expand_call_inline): Likewise.
- (save_body): Kill.
- (tree_function_versioning): New parameter "update_clones".
- (inlining_p): Kill saving.
- * tree-inline.h (tree_function_versioning): Update prototype.
- * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of
- saving.
- 2006-01-11 Ian Lance Taylor <ian@airs.com>
- * combine.c (struct undo): Remove is_int. Enumify types of undos.
- Allow undoing set of machine mode.
- (do_SUBST): Use enums instead of is_int.
- (do_SUBST_MODE): New function.
- (SUBST_MODE): New macro.
- (try_combine): Use SUBST_MODE/PUT_MODE instead of generating a new
- reg and trying to replace reg_regno_rtx with a new register.
- (undo_all): Use new enums, handle undoing a PUT_MODE change.
- (simplify_set): Use SUBST_MODE.
- (distribute_notes): Remove code that tried to update reg notes
- for regno_reg_rtx changes.
- 2006-01-11 Paolo Bonzini <bonzini@gnu.org>
- PR tree-optimization/23109
- PR tree-optimization/23948
- PR tree-optimization/24123
- * Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
- * tree-cfg.c (single_noncomplex_succ): New.
- * tree-flow.h (single_noncomplex_succ): Declare it.
- * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
- * tree-ssa-math-opts.c (enum place_reciprocal): Remove.
- (struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
- insert_bb, register_division_in, insert_reciprocals,
- replace_reciprocal, free_bb): New.
- (execute_cse_reciprocals_1): Rewritten.
- (execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
- Do not commit any edge insertion. Always compute dominators and
- create the allocation pool.
- * target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
- * target.h (struct gcc_target): Add min_divistions_for_recip_mul.
- * targhooks.c (default_min_divistions_for_recip_mul): New.
- * targhooks.h (default_min_divistions_for_recip_mul): New prototype.
- * passes.c (init_optimization_passes): Run recip after tree loop
- optimizations.
- * doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
- 2006-01-11 Danny Berlin <dberlin@dberlin.org>
- Kenneth Zadeck <zadeck@naturalbridge.com>
- * df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN,
- DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN,
- DF_REF_TYPE_NAMES, DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS,
- DF_SCAN_BB_INFO, DF_RU_BB_INFO, DF_RD_BB_INFO, DF_LR_BB_INFO,
- DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_IN, DF_LIVE_OUT,
- DF_RA_LIVE_IN, DF_RA_LIVE_OUT, DF_UPWARD_LIVE_IN,
- DF_UPWARD_LIVE_OUT, DF_REF_REAL_REG, DF_REF_REGNO,
- DF_REF_REAL_LOC, DF_REF_REG, DF_REF_LOC, DF_REF_BB, DF_REF_BBNO,
- DF_REF_INSN, DF_REF_INSN_UID, DF_REF_TYPE, DF_REF_CHAIN,
- DF_REF_ID, DF_REF_FLAGS, DF_REF_NEXT_REG, DF_REF_PREV_REG,
- DF_REF_NEXT_REF, DF_REF_DATA, DF_REF_REG_DEF_P, DF_REF_REG_USE_P,
- DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P, DF_REF_REG_MEM_P,
- DF_DEFS_SIZE, DF_DEFS_GET, DF_DEFS_SET, DF_USES_SIZE, DF_USES_GET,
- DF_USES_SET, DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_SET,
- DF_REG_USE_GET, DF_REG_USE_SET, DF_REGNO_FIRST_DEF,
- DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET,
- DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES,
- DF_INSN_UID_GET, DF_INSN_UID_LUID, DF_INSN_UID_DEFS,
- DF_INSN_UID_USES, DF_SCAN_INITIAL, DF_SCAN_GLOBAL,
- DF_SCAN_POST_ALLOC): New macros.
- (df_flow_dir, df_ref_type, df_ref_flags, df_alloc_function,
- df_free_bb_function, df_local_compute_function, df_init_function,
- df_dataflow_function, df_confluence_function_0,
- df_confluence_function_n, df_transfer_function,
- df_finalizer_function, df_free_function, df_dump_problem_function,
- df_problem, dataflow, df_insn_info, df_reg_info, df_ref, df_link,
- df_ref_info, df, df_map, df_scan_bb_info, df_ru_bb_info,
- df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info,
- df_urec_bb_info, ) New types.
- (df_invalidated_by_call, df_all_hard_regs, df_state) New public
- variables.
- (df_init, df_add_problem, df_set_blocks, df_finish, df_analyze,
- df_analyze_simple_change_some_blocks,
- df_analyze_simple_change_one_block, df_compact_blocks,
- df_bb_replace, df_bb_regno_last_use_find,
- df_bb_regno_first_def_find, df_bb_regno_last_def_find,
- df_insn_regno_def_p, df_find_def, df_find_use,
- df_iterative_dataflow, df_dump, df_chain_dump, df_refs_chain_dump,
- df_regs_chain_dump, df_insn_debug, df_insn_debug_regno,
- df_regno_debug, df_ref_debug, debug_df_insn, debug_df_regno,
- debug_df_reg, debug_df_defno, debug_df_useno, debug_df_ref,
- debug_df_chain, df_get_dependent_problem, df_chain_create,
- df_chain_unlink, df_chain_copy, df_get_live_in, df_get_live_out,
- df_grow_bb_info, df_chain_dump, df_print_bb_index,
- df_ru_add_problem, df_ru_get_bb_info, df_rd_add_problem,
- df_rd_get_bb_info, df_lr_add_problem, df_lr_get_bb_info,
- df_ur_add_problem, df_ur_get_bb_info, df_urec_add_problem,
- df_urec_get_bb_info, df_chain_add_problem, df_ri_add_problem,
- df_reg_lifetime, df_scan_get_bb_info, df_scan_add_problem,
- df_rescan_blocks, df_ref_create, df_get_artificial_defs,
- df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink,
- df_ref_remove, df_insn_refs_delete, df_refs_delete,
- df_reorganize_refs, df_set_state, df_hard_reg_init,
- df_read_modify_subreg_p) New public functions.
- * df-core.c: The core dataflow solver and glue routines for rtl
- dataflow.
- (df_init, df_add_problem, df_set_blocks, df_finish,
- df_hybrid_search_forward, df_hybrid_search_backward,
- df_iterative_dataflow, df_prune_to_subcfg, df_analyze_problem,
- df_analyze, df_get_bb_info, df_set_bb_info, df_bb_replace,
- df_bb_regno_last_use_find, df_bb_regno_first_def_find,
- df_bb_regno_last_def_find, df_insn_regno_def_p, df_find_def,
- df_reg_defined, df_find_use, df_reg_used, df_dump,
- df_refs_chain_dump, df_regs_chain_dump, df_insn_debug,
- df_insn_debug_regno, df_regno_debug, df_ref_debug, debug_df_insn,
- debug_df_reg, debug_df_regno, debug_df_ref debug_df_defno,
- debug_df_useno, reset_df_after_reload): New functions.
- * df-scan.c: The scanning fuctions, once in df.c, completely
- rewritten so that they now fully model the functionality of
- register usage at the backend.
- (df_scan_free_internal, df_scan_get_bb_info, df_scan_set_bb_info,
- df_scan_free_bb_info, df_scan_alloc, df_scan_free, df_scan_dump,
- df_scan_add_problem, df_grow_reg_info, df_grow_ref_info,
- df_grow_insn_info, df_rescan_blocks, df_ref_create,
- df_get_artificial_defs, df_get_artificial_uses,
- df_reg_chain_create, df_ref_unlink, df_reg_chain_unlink,
- df_ref_remove, df_insn_create_insn_record, df_insn_refs_delete,
- df_refs_delete, df_reorganize_refs, df_set_state,
- df_ref_create_structure, df_ref_record, df_read_modify_subreg_p,
- df_def_record_1, df_defs_record, df_uses_record,
- df_insn_contains_asm_1, df_insn_contains_asm, df_insn_refs_record,
- df_has_eh_preds, df_bb_refs_record, df_refs_record, df_mark_reg,
- df_record_exit_block_uses, df_hard_reg_init): New functions.
- * df-problems.c: Seven concrete dataflow problems that use the
- scanning in df-scan.c and are solved by the engine in df-core.c.
- (df_get_dependent_problem, df_chain_create, df_chain_unlink,
- df_chain_copy, df_get_live_in, df_get_live_out, df_grow_bb_info,
- df_chain_dump, df_print_bb_index, df_ref_bitmap, df_set_seen,
- df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info,
- df_ru_free_bb_info, df_ru_alloc,
- df_ru_bb_local_compute_process_def,
- df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
- df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
- df_ru_transfer_function, df_ru_free, df_ru_dump,
- df_ru_add_problem, df_rd_get_bb_info, df_rd_set_bb_info,
- df_rd_free_bb_info, df_rd_alloc,
- df_rd_bb_local_compute_process_def, df_rd_bb_local_compute,
- df_rd_local_compute, df_rd_init_solution, df_rd_confluence_n,
- df_rd_transfer_function, df_rd_free, df_rd_dump,
- df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info,
- df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute,
- df_lr_local_compute, df_lr_init, df_lr_confluence_0,
- df_lr_confluence_n, df_lr_transfer_function, df_lr_free,
- df_lr_dump, df_lr_add_problem, df_ur_get_bb_info,
- df_ur_set_bb_info, df_ur_free_bb_info, df_ur_alloc,
- df_ur_bb_local_compute, df_ur_local_compute, df_ur_init,
- df_ur_local_finalize, df_ur_confluence_n, df_ur_transfer_function,
- df_ur_free, df_ur_dump, df_ur_add_problem, df_urec_get_bb_info,
- df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc,
- df_urec_mark_reg_change, df_urec_check_earlyclobber,
- df_urec_mark_reg_use_for_earlyclobber,
- df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
- df_urec_local_compute, df_urec_init, df_urec_local_finalize,
- df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
- df_urec_dump, df_urec_add_problem, df_chain_alloc,
- df_chain_create_bb_process_use, df_chain_create_bb,
- df_chain_finalize, df_chain_free, df_chains_dump,
- df_chain_add_problem, df_ri_alloc, df_ri_bb_compute,
- df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem,
- df_reg_lifetime): New functions.
- * df.c: Deleted file.
- * ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code
- consistent with new df api.
- * modulo-sched.c (sms_schedule, rest_of_handle_sms,
- rest_of_handle_sms): Ditto.
- * web.c (unionfind_union, union_defs, entry_register, web_main):
- Ditto.
- * loop_invariant.c (invariant_for_use, hash_invariant_expr_1,
- invariant_expr_equal_p, find_defs, check_dependencies,
- find_invariant_insn, find_invariants_to_move, move_invariant_reg,
- free_inv_motion_data, move_loop_invariants): Ditto.
- * Makefile.in (df.c, df-scan.c df-problems.c df-core.c):
- Update dependencies.
- (odf.c): Added defective entry that was deleted later in day.
- * sched-deps.c (sched_analyze_1): Ditto.
- 2006-01-11 Zdenek Dvorak <dvorakz@suse.cz>
- * tree-ssa-operands.c (get_expr_operands): Record addressable
- variables directly. Do not call add_stmt_operands for CONST_DECLs
- and ARRAY_DECLs.
- (get_indirect_ref_operands): Remove handling of *(&a + offset) case.
- (add_stmt_operands): Handle only objects satisfying SSA_VAR_P.
- 2006-01-11 Ben Elliston <bje@au.ibm.com>
- * config/i386/i386.c (ix86_return_in_memory): Fix comment: this
- function returns true in the positive case.
- 2006-01-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- PR target/20754
- * config/pa/pa.md: Create separate 32 and 64-bit move patterns
- for SI, DI, SF and DF modes. Add alternatives to copy between
- general and floating point registers to the 32-bit patterns.
- * config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine.
- * config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define.
- (SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when
- generating 64-bit code.
- * config/pa/pa.c (output_move_double): Handle copies between general
- and floating registers.
- 2006-01-10 Stuart Hastings <stuart@apple.com>
- * config/i386/i386.md (set_got): Update.
- (set_got_labelled): New. (UNSPEC_LD_MPIC): New.
- (builtin_setjmp_receiver): Mach-O support.
- * config/i386/darwin.h (TARGET_ASM_FILE_END) Define.
- (GOT_SYMBOL_NAME): Define.
- (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
- (TARGET_DEEP_BRANCH_PREDICTION): Remove.
- * config/i386/i386.c (override_options): Revise for Darwin.
- (USE_HIDDEN_LINKONCE): Enable for Mach-O. (ix86_file_end): Mach-O
- support. (darwin_x86_file_end): New. (output_set_got): Add label
- parameter, revise for Mach-O. (x86_output_mi_thunk): Likewise.
- * config/i386/i386-protos.h (output_set_got): Likewise.
- * config/darwin.c (machopic_legitimize_pic_address): Update
- regs_ever_live[].
- 2006-01-10 Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Use GET_MODE_SIZE
- when MODE isn't BLKmode.
- 2006-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/25367
- * config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro.
- 2006-01-10 Hans-Peter Nilsson <hp@axis.com>
- PR target/25718
- * config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes
- for a negative bound.
- 2006-01-10 Richard Guenther <rguenther@suse.de>
- * tree-ssa-structalias.c (get_constraint_for_component_ref):
- Never override with anything constraint.
- 2006-01-10 Jan Beulich <jbeulich@novell.com>
- * config/i386/i386.c (ix86_data_alignment): Don't force alignment to
- 256 bits when optimize_size.
- 2006-01-10 Jan Beulich <jbeulich@novell.com>
- * config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include
- MASK_ALIGN_DOUBLE.
- * config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option.
- * config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr
- arguments.
- 2006-01-10 Ben Elliston <bje@au.ibm.com>
- * config/rs6000/predicates.md (easy_fp_constant): Discount decimal
- float modes.
- * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): New.
- (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
- (USE_FP_FOR_ARG): Reject decimal float modes.
- (function_arg_advance): Likewise.
- (output_toc): Handle emitting TDmode, DDmode and SDmode constants.
- (rs6000_handle_altivec_attribute): Do not permit decimal floating
- point types in AltiVec vectors.
- (rs6000_function_value): Use GP_ARG_RETURN for decimal floats.
- (rs6000_libcall_value): Likewise.
- 2006-01-09 Bob Wilson <bob.wilson@acm.org>
- * config/xtensa/ieee754-df.S: New file.
- * config/xtensa/ieee754-sf.S: New file.
- * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove fp-bit.c & dp-bit.c.
- (LIB1ASMFUNCS): Add SFmode and DFmode floating-point functions.
- * config/xtensa/lib1funcs.asm: Include ieee754-df.S and ieee754-sf.S.
- 2006-01-09 Kazu Hirata <kazu@codesourcery.com>
- * config/sh/predicates.md (binary_float_operator,
- binary_logical_operator, commutative_float_operator,
- equality_comparison_operator, greater_comparison_operator,
- less_comparison_operator, logical_operator,
- noncommutative_float_operator, shift_operator,
- symbol_ref_operand, unary_float_operator): Remove redundant
- conditionals.
- 2006-01-09 Jeff Law <law@redhat.com>
- * tree-ssa-dom.c (simplify_cond_and_lookup_avail_expr): Remove
- code to propagate the RHS of a cast into COND_EXPR_COND. Remove
- now unused arguments. Callers updated.
- (eliminate_redundant_computations): Remove now unused arguments,
- callers updated.
- (local_fold): Remove, no longer used.
- (find_equivalent_equality_comparison): Removed from tree-ssa-dom.c
- and moved to...
- * tree-ssa-forwprop.c (find_equivalent_equality_comparison): Here.
- (simplify_cond): New function.
- (forward_propagate_into_cond): Call simplify_cond.
- 2006-01-09 Alexandre Oliva <aoliva@redhat.com>
- * config/i386/sse.md (*vec_extractv2di_1_sse2): New.
- (*vec_extractv2di_1_sse): New.
- 2006-01-09 Ben Elliston <bje@au.ibm.com>
- * config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Typo fix.
- 2006-01-08 Richard Guenther <rguenther@suse.de>
- * tree-ssa-structalias.c (get_constraint_for): Remove
- anyoffset argument.
- (get_constraint_for_component_ref): Likewise.
- (do_deref): Likewise.
- (get_constraint_for): Likewise.
- (do_structure_copy): Likewise.
- (handle_ptr_arith): Likewise.
- (find_func_aliases): Likewise. Remove unused need_anyoffset
- variable.
- 2006-01-08 J"orn Rennecke <joern.rennecke@st.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
- * config/sh/sh.h (CONST_OK_FOR_K16): Define.
- (CONST_OK_FOR_K): Add CONST_OK_FOR_K16 case.
- (EXTRA_CONSTRAINT_C16): Remove.
- (EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Define.
- (EXTRA_CONSTRAINT_C): Remove EXTRA_CONSTRAINT_C16 case and add
- EXTRA_CONSTRAINT_Css and EXTRA_CONSTRAINT_Csu cases.
- * config/sh/sh.c (print_operand): Handle unsigned 16-bit symbolic
- constants of SHmedia. Handle nested constant expressions of
- SHmedia correctly.
- (andcosts): Fix the costs for SHmedia constants.
- (sh_rtx_costs): Take account of outer_code for SHmedia constants.
- * config/sh/sh.md (*movsi_media): Use Css constraint instead of C16.
- (*movsi_media_nofpu, *movqi_media, *movhi_media): Likewise.
- (*movdi_media, *movdi_media_nofpu, movv8qi_i, movv2hi_i): Likewise.
- (movv4hi_i, movv2si_i): Likewise.
- (movsi_const): Adjust the second operand of ior so to match with
- the Csu constraint.
- (movdi_const, movdi_const_32bit): Likewise.
- (movdi_const_16bit+1): Don't sign-extend LOW.
- (movdi_const_16bit+2): Likewise. Remove the zero_extend and truncate
- step.
- (*double_shori): Fix the split condition. Use GEN_INT instead
- of get_int_mode calls. Mask lower 16-bit of the argument of
- the last GEN_INT.
- (sym2GOTPLT): Remove.
- (symGOTPLT2reg): Replace gen_sym2GOTPLT with gen_rtx_CONST and
- gen_rtx_UNSPEC.
- * config/sh/predicates.md (arith_operand): Use EXTRA_CONSTRAINT_Css
- instead of EXTRA_CONSTRAINT_C16.
- 2006-01-07 Ian Lance Taylor <ian@airs.com>
- David Edelsohn <edelsohn@gnu.org>
- PR rtl-optimization/25662
- * optabs.c (simplify_expand_binop): Use simplify_binary_operation
- for constant operands instead of simplify_gen_binary.
- * simplify-rtx.c (simplify_gen_binary): Swap commutative operands
- after trying simplify_binary_operation
- 2006-01-06 Daniel Berlin <dberlin@dberlin.org>
- * tree.c (iterative_hash_expr): Hash decls based on UID.
- 2006-01-06 Eric Christopher <echristo@apple.com>
- * doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document.
- (TARGET_UNWIND_EMIT): Fix spelling.
- * target.h (gcc_target): Add except_table_label.
- * except.c (output_function_exception_table): Use.
- * varasm.c (default_emit_except_table_label): New.
- * target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default
- define.
- (asm_out): Add here.
- * output.h (default_emit_except_table_label): Prototype.
- * config/darwin-protos.h (darwin_emit_except_table_label): Ditto.
- * config/darwin.c (darwin_emit_except_table_label): Define.
- * config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto.
- 2006-01-06 Zdenek Dvorak <dvorakz@suse.cz>
- PR tree-optimization/18527
- * tree-ssa-loop-niter.c (number_of_iterations_cond,
- number_of_iterations_special, number_of_iterations_exit):
- Move base and step of an iv to a single structure. Add
- no_overflow flag, and use it in # of iterations analysis.
- * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add
- folded_casts argument.
- (simple_iv): Pass base and step in a structure. Set no_overflow
- flag.
- (scev_const_prop): Add argument to analyze_scalar_evolution_in_loop.
- Evaluate expensiveness of computing # of iterations instead of
- the final expression.
- * tree-scalar-evolution.h (affine_iv): New structure.
- (simple_iv): Declaration changed.
- * tree-chrec.c (chrec_apply): Handle chrecs containing symbols.
- * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev,
- find_givs_in_stmt): Changed due to simple_iv change.
- 2006-01-06 Jeff Law <law@redhat.com>
- PR ada/24994
- * tree-cfg.c (bsi_replace): Rename final argument from
- PRESERVE_EH_INFO to UPDATE_EH_INFO. Fix typo in last
- change (stmt -> orig_stmt).
- * tree-eh.c (verify_eh_throw_stmt_node): New function.
- (bsi_remove): Add new argument. Remove EH information
- if requested.
- (verify_eh_throw_table_statements): New function.
- (bsi_remove): Add new argument REMOVE_EH_INFO. All callers
- updated.
- * tree-optimize.c (execute_free_cfg_annotations): Verify
- the EH throw statement table after removing annotations.
- * except.h (verify_eh_throw_table_statements): Prototype.
- * tree-flow.h (bsi_remove): Update prototype.
- * tree-vrp.c (remove_range_assertions): Add new argument to
- bsi_remove call.
- * tree-ssa-loop-im.c (move_computations_stmt): Likewise.
- * tree-complex.c (expand_complex_div_wide): Likewise.
- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Likewise
- * tree-tailcall.c (eliminate_tailcall): Likewise.
- * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
- * tree-ssa-loop-ivopts.c (remove_statement): Likewise.
- * tree-nrv.c (tree_nrv): Likewise.
- * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Likewise.
- * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
- (combine_blocks): Likewise.
- * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Likewise.
- * tree-cfgcleanup.c (cleanup_ctrl_expr_graph): Likewise.
- (cleanup_control_flow): Likewise.
- (remove_forwarder_block): Likewise.
- * tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
- * tree-sra.c (sra_replace): Likewise.
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Likewise.
- (forward_propagate_single_use_vars): Likewise.
- * tree-ssa-dce.c (remove_dead_stmt): Likewise.
- * tree-inline.c (expand_call_inline): Likewise.
- * tree-vect-transform.c (vect_transform_loop): Likewise.
- * tree-outof-ssa.c (rewrite_trees): Likewise.
- * tree-cfg.c (make_goto_expr_edges): Likewise.
- (cleanup_dead_labels): Likewise.
- (tree_merge_blocks, remove_bb, disband_implicit_edges): Likewise.
- (bsi_move_before, bsi_move_after): Likewise.
- (bsi_move_to_bb_end, try_redirect_by_replacing_jump): Likewise
- (tree_redirect_edge_and_branch, tree_split_block): Likewise.
- 2006-01-06 Andrew Pinski <pinskia@physics.uc.edu>
- PR tree-opt/25528
- * tree-ssa-alias.c (find_used_portions): Handle REALPART_EXPR
- and IMAGPART_EXPR.
- * tree-flow-inline.h (var_can_have_subvars): Handle complex types
- on non gimple variables. Also add checks at the top for decls and
- mtags.
- * tree-ssa-structalias.c (push_fields_onto_fieldstack): Handle
- complex types.
- * tree-ssa-operands.c (parse_ssa_operands): Handle REALPART_EXPR
- and IMAGPART_EXPR for creating MUST_DEFs.
- (get_expr_operands): Handle SSA_NAME, STRUCT_FIELD_TAG, TYPE_MEMORY_TAG,
- and NAME_MEMORY_TAG separately from the DECLs.
- 2006-01-06 Richard Guenther <rguenther@suse.de>
- * tree-dfa.c (mark_new_vars_to_rename): Create stmt
- annotation, if necessary.
- * tree-ssa-pre.c (create_expression_by_pieces): Remove
- redundant calls to update_stmt.
- * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr):
- Likewise.
- 2006-01-05 Richard Henderson <rth@redhat.com>
- * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
- 2006-01-05 Carlos O'Donell <carlos@codesourcery.com>
- * c-typeck.c: Update copyright date.
- 2006-01-05 Carlos O'Donell <carlos@codesourcery.com>
- * c-typeck.c (build_c_cast): Always warn when casting
- from a pointer to an integer of different size, even if
- the node was constant.
- 2006-01-05 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/22555
- * tree-ssa-alias.c (create_overlap_variables_for): Do not give up,
- if one structure field is an array.
- * tree-ssa-operands.c (get_expr_operands): Continue scanning
- operands even if we found a subvar, but ignore VOPs in this
- case.
- * tree-ssa-loop-ivopts.c (rewrite_use): Mark new vars in stmt
- for renaming.
- * tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa.
- 2006-01-05 Richard Earnshaw <rearnsha@arm.com>
- PR middle-end/24998
- * arm/t-netbsd (LIB2FUNCS_EXTRA): Define.
- 2006-01-05 Richard Guenther <rguenther@suse.de>
- Diego Novillo <dnovillo@redhat.com>
- * tree-pass.h (TODO_remove_unused_locals): Define.
- * gimple-low.c (expand_var_p, remove_useless_vars,
- pass_remove_useless_vars): Remove. Update all users.
- * tree-ssa-live.c (mark_all_vars_used_1): Handle SSA names.
- (remove_unused_locals): New function.
- * tree-flow.h (remove_unused_locals): Declare.
- * passes.c (execute_todo): Call remove_unused_locals if
- TODO_remove_unused_locals is set.
- * tree-into-ssa.c (pass_build_ssa): Add TODO_remove_unused_locals.
- * tree-ssa-dce.c (pass_dce): Likewise.
- * tree-outof-ssa.c (pass_del_ssa): Likewise.
- 2006-01-05 Richard Guenther <rguenther@suse.de>
- * tree-flow.h (struct fieldoff): Decompose field to
- type, size and decl.
- * tree-ssa-alias.c (create_sft): Take type as parameter.
- (create_overlap_variables_for): Store type, size and decl
- in the fieldoff structure.
- * tree-ssa-structalias.c (fieldoff_compare): Adjust users
- of struct fieldoff.
- (push_fields_onto_fieldstack): Likewise.
- (create_variable_info_for): Likewise. Use offset for the
- SFT name if the decl is not available.
- 2006-01-04 Paul Brook <paul@codesourcery.com>
- * config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr.
- 2006-01-04 Daniel Berlin <dberlin@dberlin.org>
- * lambda-code.c (can_put_in_inner_loop): Relax
- restrictions.
- (can_put_after_inner_loop): New function.
- (can_convert_to_perfect_nest): Use can_put_after_inner_loop as well.
- (perfect_nestify): Change to make copies and modify uses.
- 2006-01-04 Richard Henderson <rth@redhat.com>
- Merge from gomp branch:
- * c-lex.c (c_lex_with_flags) <CPP_PRAGMA>: Smuggle pragma id
- via integer constant.
- (pragma_lex): Remove.
- * c-pch.c (c_common_pch_pragma): Accept the name as an argument,
- rather than parsing it.
- * c-pragma.c (handle_pragma_weak, handle_pragma_redefine_extname,
- handle_pragma_extern_prefix): Add %< %> quotes.
- (registered_pragmas): New.
- (c_register_pragma_1): New.
- (c_register_pragma): Use it.
- (c_register_pragma_with_expansion): Likewise.
- (c_invoke_pragma_handler): New.
- (init_pragma): Use cpp_register_deferred_pragma directly for
- pch_preprocess.
- * c-pragma.h (enum pragma_kind): New.
- (pragma_handler): New.
- (c_invoke_pragma_handler): Declare.
- * c-common.c (c_parse_error): Pretty print CPP_PRAGMA and
- CPP_PRAGMA_EOL.
- * c-common.h (c_common_pch_pragma): Update decl.
- * Makefile.in (c-parser.o): Update dependencies.
- (GTFILES): Add c-pragma.h.
- * c-parser.c (struct c_token): Add pragma_kind.
- (struct c_parser): Add in_pragma.
- (c_lex_one_token): Always initialize keyword and pragma_kind.
- Extract data for CPP_PRAGMA.
- (c_parser_peek_2nd_token): Deny CPP_PRAGMA_EOL.
- (c_parser_consume_token): Don't allow CPP_PRAGMA unless errors.
- Don't allow CPP_PRAGMA_EOL if in_pragma.
- (c_parser_consume_pragma): New.
- (c_parser_skip_until_found): Stop on CPP_PRAGMA_EOL.
- (c_parser_skip_to_end_of_parameter): Likewise.
- (c_parser_skip_to_end_of_block_or_statement): Likewise.
- (c_parser_skip_to_pragma_eol): New.
- (c_parser_external_declaration): Handle CPP_PRAGMA.
- (c_parser_compound_statement_nostart): Likewise.
- (c_parser_statement_after_labels): Likewise.
- (c_parser_pragma): New.
- (pragma_lex): Likewise.
- (c_parser_pragma_pch_preprocess): New.
- (c_parser_new): Merge into ...
- (c_parse_file): ... here. Call c_parser_pragma_pch_preprocess.
- 2006-01-04 Jeff Law <law@redhat.com>
- PR ada/24994
- * tree-cfg.c (bsi_replace): Remove the original statement
- from the EH throw statement table.
- 2006-01-04 Jakub Jelinek <jakub@redhat.com>
- * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
- make the prototype extern "C" and add throw ().
- PR target/25554
- * config/i386/i386.md (testqi_ext_3): Ensure len is positive
- and pos non-negative and pos + len <= 32.
- (testqi_ext_3_rex64): Ensure len is positive and pos non-negative,
- drop pos + len < HOST_BITS_PER_WIDE_INT test.
- (testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT.
- PR c/25559
- * c-common.c (handle_vector_size_attribute): Reject zero vector size
- as well as sizes not multiple of component size.
- PR debug/25562
- * function.c (instantiate_expr): New function.
- (instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P,
- walk its DECL_VALUE_EXPR with instantiate_expr.
- * dwarf2out.c (loc_descriptor_from_tree_1): Don't add
- DW_OP_deref{,_size} if address isn't going to be added.
- 2006-01-04 Ben Elliston <bje@au.ibm.com>
- * config/fp-bit.h: Use top-of-file comment from libgcc2.c.
- * config/fp-bit.c: Likewise.
- 2006-01-03 Daniel Berlin <dberlin@dberlin.org>
- * dominance.c: Add comment about why we use DFS numbering
- of dominance tree.
- 2006-01-03 Jakub Jelinek <jakub@redhat.com>
- Richard Henderson <rth@redhat.com>
- Merge from gomp-branch:
- * varasm.c (assemble_variable): Handle thread-local COMMON data.
- * defaults.h (ASM_OUTPUT_TLS_COMMON): Define.
- 2006-01-03 Paolo Bonzini <bonzini@gnu.org>
- PR rtl-optimization/25578
- * combine.c (combine_simplify_rtx, force_to_mode): Don't
- pass a parameter to simplify_shift_const if changing ASHIFTRT
- to LSHIFTRT.
- 2006-01-03 Adrian Straetling <straetling@de.ibm.com>
- * builtins.c (get_builtin_sync_mem): New function.
- (expand_builtin_sync_operation, expand_builtin_compare_and_swap,
- expand_builtin_lock_test_and_set, expand_builtin_lock_release):
- Call get_builtin_sync_mem to generate mem rtx.
- 2006-01-03 Richard Guenther <rguenther@suse.de>
- PR c/25183
- * stmt.c (add_case_node): Make sure to clear overflow flags
- from ranges.
- 2006-01-03 Jakub Jelinek <jakub@redhat.com>
- Merge from gomp-branch.
- * config/sparc/sync.md: New file.
- * config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP,
- UNSPECV_LDSTUB): New constants.
- * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function.
- * config/sparc/predicates.md (memory_reg_operand): New predicate.
- * config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New
- prototype.
- 2006-01-03 Roger Sayle <roger@eyesopen.com>
- * combine.c (reg_subword_p): New predicate to test whether the
- destination of a set refers to a subword/piece of a register.
- (try_combine): Generalize the code to merge the setting of a
- pseudo to a constant followed by a set of a subword of that
- register to a constant.
- 2006-01-03 Kazu Hirata <kazu@codesourcery.com>
- * basic-block.h (control_flow_graph): Change the type of
- x_label_to_block_map to VEC(basic_block,gc) *.
- * tree-cfg.c (init_empty_tree_cfg, label_to_block_fn,
- set_bb_for_stmt): Adjust the uses of x_label_to_block_map.
- * tree-ssa-propagate.c (cfg_blocks): Change the type to
- VEC(basic_block,heap) *.
- (cfg_blocks_add, cfg_blocks_get, ssa_prop_init,
- ssa_prop_fini): Adjust the uses of cfg_blocks.
- 2006-01-03 Steven Bosscher <stevenb.gcc@gmail.com>
- * fold-const.c (operand_equal_p): Accept a NULL operand 0 for
- COMPONENT_REFs.
- * emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for
- hashing trees instead of a pointer hash.
- (mem_attrs_htab_eq): Do a deep compare instead of a pointer
- compare for MEM_EXPR.
- PR rtl-optimization/25130
- * cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET
- when comparing MEMs for GCSE
- 2006-01-03 Ben Elliston <bje@au.ibm.com>
- * targhooks.h (default_decimal_float_supported_p): Declare.
- * targhooks.c (default_decimal_float_supported_p): Define.
- * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to
- `default_decimal_float_supported_p'.
- * doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update.
- 2006-01-02 Adam Nemet <anemet@caviumnetworks.com>
- * combine.c (apply_distributive_law <SUBREG>): Check
- TRULY_NOOP_TRUNCATION.
- 2006-01-02 Geoffrey Keating <geoffk@apple.com>
- * dwarf2out.c (have_switched_text_section): Delete.
- (have_multiple_function_sections): New.
- (have_location_lists): Make 'bool'.
- (add_AT_loc_list): Use 'true' not '1'.
- (dwarf2out_switch_text_section): Set have_multiple_function_sections.
- (output_loc_list): Use have_multiple_function_sections.
- (output_ranges): Likewise.
- (dwarf2out_begin_function): Set have_multiple_function_sections if
- necessary.
- (dwarf2out_source_line): Don't fake separate_line_info_table_in_use.
- Check function_section rather than DECL_SECTION_NAME.
- (dwarf2out_finish): Use have_multiple_function_sections.
- Don't clear have_location_lists.
- 2006-01-02 Eric Botcazou <ebotcazou@adacore.com>
- Jan Hubicka <jh@suse.cz>
- * cfglayout.c (fixup_reorder_chain): Remove kludge for the
- case of conditional jump jumping to the next instruction.
- * cfgrtl.c (force_nonfallthru_and_redirect): Accept all
- cases of conditional jump jumping to the next instruction.
- 2006-01-02 Jan Hubicka <jh@suse.cz>
- * i386.c (*_cost): Add COSTS_N_INSNS.
- (ix86_rtx_costs): Do not use COSTS_N_INSNS.
- 2006-01-02 Paolo Bonzini <bonzini@gnu.org>
- PR target/25259
- * Makefile.in (DECNUMINC): Include libdecnumber's build directory.
- 2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- * config/arm/arm.c (all_fpus): Fix comment typo.
- * config/darwin.c: Likewise.
- * config/frv/frv.h (FRV_STRUCT_VALUE_REGNUM): Likewise.
- * config/h8300/h8300.md (extendqisi2_h8300hs): Likewise.
- * config/m68hc11/m68hc11.c (m68hc11_reload_operands): Likewise.
- 2006-01-01 David Edelsohn <edelsohn@gnu.org>
- * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): New.
- (rs6000_split_compare_and_swapqhi): New.
- * config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New.
- (sync_compare_and_swapqhi_internal): New.
- * config/rs6000/rs6000-protos.h: Declare.
- Copyright (C) 2006 Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
|