ChangeLog 347 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780
  1. 2015-07-16 Release Manager
  2. * GCC 5.2.0 released.
  3. 2015-07-15 Renlin Li <renlin.li@arm.com>
  4. Backport from mainline.
  5. 2015-07-13 Renlin Li <renlin.li@arm.com>
  6. PR rtl/66556
  7. * simplify-rtx.c (simplify_const_relational_operation): Add
  8. side_effects_p checks.
  9. 2015-07-15 Thomas Schwinge <thomas@codesourcery.com>
  10. Backport trunk r225560:
  11. 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
  12. PR libgomp/65099
  13. * config/nvptx/mkoffload.c (main): Create an offload image only in
  14. 64-bit configurations.
  15. Backport trunk r222583:
  16. 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
  17. PR libgomp/65099
  18. * config/nvptx/mkoffload.c (target_ilp32): New variable.
  19. (main): Set it depending on "-foffload-abi=[...]".
  20. (compile_native, main): Use it to pass "-m32" or "-m64" to the
  21. compiler.
  22. Backport trunk r223805:
  23. 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
  24. * builtins.c (expand_builtin_acc_on_device): Mark parameters
  25. with ATTRIBUTE_UNUSED.
  26. Backport trunk r223801:
  27. 2015-05-28 Julian Brown <julian@codesourcery.com>
  28. PR libgomp/65742
  29. * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
  30. sequence for !ACCEL_COMPILER.
  31. 2015-07-14 Matthias Klose <doko@ubuntu.com>
  32. PR target/66840
  33. * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
  34. 2015-07-10 Jakub Jelinek <jakub@redhat.com>
  35. PR middle-end/66820
  36. * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
  37. or ORT_TASK contexts.
  38. * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
  39. is non-zero.
  40. Backported from mainline
  41. 2015-07-09 Jakub Jelinek <jakub@redhat.com>
  42. PR middle-end/66633
  43. * tree-nested.c (get_static_chain): Or in a flag into
  44. info->static_chain_added.
  45. (get_frame_field, get_nonlocal_debug_decl): Likewise.
  46. (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
  47. 2015-07-01 changes.
  48. (convert_tramp_reference_stmt): If a frame_decl or chain_decl
  49. is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
  50. add it to clauses.
  51. 2015-07-10 Vladimir Makarov <vmakarov@redhat.com>
  52. Backport from mainline
  53. 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
  54. PR rtl-optimization/66782
  55. * lra-int.h (struct lra_insn_recog_data): Add comment about
  56. clobbered hard regs for arg_hard_regs.
  57. * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
  58. * lra-lives.c (process_bb_lives): Process clobbered hard regs.
  59. Add condition for processing used hard regs.
  60. * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
  61. Process clobbered hard regs.
  62. 2015-07-10 Richard Biener <rguenther@suse.de>
  63. Backport from mainline
  64. 2015-07-10 Richard Biener <rguenther@suse.de>
  65. PR tree-optimization/66823
  66. * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
  67. inverted predicate.
  68. 2015-07-08 Richard Biener <rguenther@suse.de>
  69. PR middle-end/43341
  70. * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
  71. 2015-07-08 Richard Biener <rguenther@suse.de>
  72. PR tree-optimization/66794
  73. * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
  74. Free post-dominators.
  75. 2015-07-10 Kaz Kojima <kkojima@gcc.gnu.org>
  76. Backport form mainline
  77. 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
  78. PR target/66780
  79. * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
  80. change for target/65249.
  81. 2015-07-09 Iain Sandoe <iain@codesourcery.com>
  82. PR target/66523
  83. * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label names from
  84. preservation.
  85. 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
  86. Backport from mainline r225465
  87. 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
  88. PR target/65956
  89. * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
  90. alignment attribute, exploring one level down for records and arrays.
  91. 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
  92. Backport from mainline r225461
  93. 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
  94. * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
  95. 2015-07-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  96. Backport from mainline r224725
  97. 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  98. PR target/65914
  99. * config/rs6000/predicates.md (altivec_register_operand): Permit
  100. virtual stack registers.
  101. (vsx_register_operand): Likewise.
  102. (vfloat_operand): Likewise.
  103. (vint_operand): Likewise.
  104. (vlogical_operand): Likewise.
  105. 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
  106. PR target/66114
  107. * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
  108. of register_operand. Remove constraint.
  109. 2015-07-03 Jack Howarth <howarth.at.gcc@gmail.com>
  110. PR target/66509
  111. * configure.ac: Fix filds and fildq test for 64-bit.
  112. * configure: Regenerated.
  113. 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
  114. Backport from mainline.
  115. 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
  116. PR tree-optimization/66119
  117. * toplev.c (process_options): Don't set up default values for
  118. the sra_max_scalarization_size_{speed,size} parameters.
  119. * tree-sra (analyze_all_variable_accesses): If no values
  120. have been set for the sra_max_scalarization_size_{speed,size}
  121. parameters, call get_move_ratio to get target defaults.
  122. 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
  123. PR target/37072
  124. * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
  125. is not actually the default on FreeBSD.
  126. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  127. Backport from mainline
  128. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  129. * config/s390/vx-builtins.md
  130. ("vec_scatter_element<mode>_<non_vec_int>")
  131. ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
  132. attribute with bhfgq.
  133. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  134. Backport from mainline
  135. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  136. * config/s390/s390-builtins.def: Fix vpopct instruction comments.
  137. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  138. Backport from mainline
  139. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  140. * config/s390/s390-builtin-types.def: Add flag to indicate the
  141. options under which the function type is needed.
  142. * config/s390/s390-builtins.def: Add flag to indicate the options
  143. under which the builtin is enabled.
  144. * config/s390/s390-builtins.h: Add flags parameter to macro
  145. definitions.
  146. (bflags_for_builtin): New function.
  147. (flags_for_builtin): Renamed to ...
  148. (opflags_for_builtin): ... this.
  149. * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
  150. flags_for_builtin to bflags_for_builtin and
  151. flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
  152. * config/s390/s390.c: Add initialization of bflags_builtin and
  153. opflags_builtin arrays.
  154. Remove code for flags_builtin.
  155. (s390_init_builtins): Only create builtin function types if one of
  156. their flags is active.
  157. Only create builtins if all of their flags are active.
  158. (s390_expand_builtin): Rename flags_for_builtin to
  159. opflags_for_builtin.
  160. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  161. Backport from mainline
  162. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  163. * config/s390/vecintrin.h: Remove internal builtins.
  164. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  165. Backport from mainline
  166. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  167. * config/s390/s390.c (s390_secondary_reload): Fix check for
  168. GENERAL_REGS register class.
  169. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  170. Backport from mainline
  171. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  172. * config/s390/s390.c (s390_support_vector_misalignment): Call
  173. default implementation for !TARGET_VX.
  174. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  175. Backport from mainline
  176. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  177. * config/s390/s390.c (s390_legitimate_constant_p): Add
  178. TARGET_VX check.
  179. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  180. Backport from mainline
  181. 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  182. * config/s390/s390.c (s390_vector_abi): New variable definition.
  183. (s390_check_type_for_vector_abi): New function.
  184. (TARGET_ASM_FILE_END): New macro definition.
  185. (s390_asm_file_end): New function.
  186. (s390_function_arg): Call s390_check_type_for_vector_abi.
  187. (s390_gimplify_va_arg): Likewise.
  188. * configure: Regenerate.
  189. * configure.ac: Check for .gnu_attribute Binutils feature.
  190. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  191. Backport from mainline
  192. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  193. * config/s390/s390.c (s390_vector_bool_type_p): New function.
  194. (s390_invalid_binary_op): New function.
  195. (TARGET_INVALID_BINARY_OP): Define macro.
  196. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  197. Backport from mainline
  198. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  199. * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
  200. c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
  201. * config/s390/s390-builtin-types.def: New file.
  202. * config/s390/s390-builtins.def: New file.
  203. * config/s390/s390-builtins.h: New file.
  204. * config/s390/s390-c.c: New file.
  205. * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
  206. CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
  207. * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
  208. (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
  209. prototypes.
  210. * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
  211. Include.
  212. (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
  213. (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
  214. variable definitions.
  215. (s390_const_operand_ok): New function.
  216. (s390_expand_builtin): Rewrite.
  217. (s390_init_builtins): New function.
  218. (s390_handle_vectorbool_attribute): New function.
  219. (s390_attribute_table): Add s390_vector_bool attribute.
  220. (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
  221. (s390_branch_condition_mask): Generate masks for new modes.
  222. (s390_expand_vec_compare_cc): New function.
  223. (s390_mangle_type): Add mangling for vector bool types.
  224. (enum s390_builtin): Remove.
  225. (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
  226. efpc builtins.
  227. * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
  228. s390_cpu_cpp_builtins.
  229. (REGISTER_TARGET_PRAGMAS): New macro.
  230. * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
  231. (insn_cmp mode attribute): Add new CC modes.
  232. (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
  233. (lcbb): New pattern definition.
  234. * config/s390/s390intrin.h: Include vecintrin.h.
  235. * config/s390/t-s390: New file.
  236. * config/s390/vecintrin.h: New file.
  237. * config/s390/vector.md: Include vx-builtins.md.
  238. * config/s390/vx-builtins.md: New file.S/390 zvector builtin
  239. support.
  240. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  241. Backport from mainline
  242. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  243. * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
  244. CCVFHE.
  245. * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
  246. (s390_select_ccmode): Likewise.
  247. (s390_canonicalize_comparison): Swap operands if necessary.
  248. (s390_expand_vec_compare_scalar): Expand DFmode compare using
  249. single element vector instructions.
  250. (s390_emit_compare): Call s390_expand_vec_compare_scalar.
  251. (s390_branch_condition_mask): Generate CC masks for the new modes.
  252. * config/s390/s390.md (v0, vf, vd): New mode attributes.
  253. (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
  254. (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
  255. (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
  256. (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
  257. (*extend<DSF:mode><BFP:mode>2): New insn definition.
  258. (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
  259. (extend<DSF:mode><BFP:mode>2): Turn into expander.
  260. (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
  261. (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
  262. (sqrt<mode>2): Add vector instruction.
  263. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  264. Backport from mainline
  265. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  266. * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
  267. constraints.
  268. * config/s390/predicates.md (const0_operand, constm1_operand)
  269. (constable_operand): Accept vector operands.
  270. * config/s390/s390-modes.def: Add supported vector modes.
  271. * config/s390/s390-protos.h (s390_cannot_change_mode_class)
  272. (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
  273. (s390_bytemask_vector_p, s390_expand_vec_strlen)
  274. (s390_expand_vec_compare, s390_expand_vcond)
  275. (s390_expand_vec_init): Add prototypes.
  276. * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
  277. (s390_vector_mode_supported_p): New function.
  278. (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
  279. (s390_contiguous_bitmask_vector_p): New function.
  280. (s390_bytemask_vector_p): New function.
  281. (s390_split_ok_p): Vector regs don't work either.
  282. (regclass_map): Add VEC_REGS.
  283. (s390_legitimate_constant_p): Handle vector constants.
  284. (s390_cannot_force_const_mem): Handle CONST_VECTOR.
  285. (legitimate_reload_vector_constant_p): New function.
  286. (s390_preferred_reload_class): Handle CONST_VECTOR.
  287. (s390_reload_symref_address): Likewise.
  288. (s390_secondary_reload): Vector memory instructions only support
  289. short displacements. Rename reload*_nonoffmem* to reload*_la*.
  290. (s390_emit_ccraw_jump): New function.
  291. (s390_expand_vec_strlen): New function.
  292. (s390_expand_vec_compare): New function.
  293. (s390_expand_vcond): New function.
  294. (s390_expand_vec_init): New function.
  295. (s390_dwarf_frame_reg_mode): New function.
  296. (print_operand): Handle addresses with 'O' and 'R' constraints.
  297. (NR_C_MODES, constant_modes): Add vector modes.
  298. (s390_output_pool_entry): Handle vector constants.
  299. (s390_hard_regno_mode_ok): Handle vector registers.
  300. (s390_class_max_nregs): Likewise.
  301. (s390_cannot_change_mode_class): New function.
  302. (s390_invalid_arg_for_unprototyped_fn): New function.
  303. (s390_function_arg_vector): New function.
  304. (s390_function_arg_float): Remove size variable.
  305. (s390_pass_by_reference): Handle vector arguments.
  306. (s390_function_arg_advance): Likewise.
  307. (s390_function_arg): Likewise.
  308. (s390_return_in_memory): Vector values are returned in a VR if
  309. possible.
  310. (s390_function_and_libcall_value): Handle vector arguments.
  311. (s390_gimplify_va_arg): Likewise.
  312. (s390_call_saved_register_used): Consider the arguments named.
  313. (s390_conditional_register_usage): Disable v16-v31 for non-vec
  314. targets.
  315. (s390_preferred_simd_mode): New function.
  316. (s390_support_vector_misalignment): New function.
  317. (s390_vector_alignment): New function.
  318. (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
  319. (TARGET_VECTOR_MODE_SUPPORTED_P)
  320. (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
  321. (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
  322. (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
  323. (TARGET_VECTOR_ALIGNMENT): Define target macro.
  324. * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
  325. (FIRST_PSEUDO_REGISTER): Increase value.
  326. (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
  327. (VECTOR_REG_P): Define macros.
  328. (FIXED_REGISTERS, CALL_USED_REGISTERS)
  329. (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
  330. (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
  331. (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
  332. Add vector registers.
  333. (CANNOT_CHANGE_MODE_CLASS): Call C function.
  334. (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
  335. (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
  336. memory.
  337. (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
  338. (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
  339. * config/s390/s390.md (UNSPEC_VEC_*): New constants.
  340. (VR*_REGNUM): New constants.
  341. (ALL): New mode iterator.
  342. (INTALL): Remove mode iterator.
  343. Include vector.md.
  344. (movti): Implement TImode moves for VRs.
  345. Disable TImode splitter for VR targets.
  346. Implement splitting TImode GPR<->VR moves.
  347. (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
  348. (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
  349. reload<mode>_la_in, reload<mode>_la_out.
  350. (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
  351. (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
  352. (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
  353. (mov<mode> SF SD): Prefer lder, lde for loading.
  354. Add lrl and strl instructions.
  355. Add vector instructions.
  356. (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
  357. Call s390_expand_vec_strlen on z13.
  358. (*cc_to_int): Change predicate to nonimmediate_operand.
  359. (addti3): Rename to *addti3. New expander.
  360. (subti3): Rename to *subti3. New expander.
  361. * config/s390/vector.md: New file.
  362. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  363. Backport from mainline
  364. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  365. * common/config/s390/s390-common.c (processor_flags_table): Add
  366. z13.
  367. * config.gcc: Add z13.
  368. * config/s390/s390-opts.h (enum processor_type): Add
  369. PROCESSOR_2964_Z13.
  370. * config/s390/s390.c (s390_adjust_priority): Check for
  371. PROCESSOR_2964_Z13.
  372. (s390_reorg): Likewise.
  373. (s390_sched_reorder): Likewise.
  374. (s390_sched_variable_issue): Likewise.
  375. (s390_loop_unroll_adjust): Likewise.
  376. (s390_option_override): Likewise. Default to -mvx when available.
  377. * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
  378. (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
  379. (TARGET_VX_ABI): Define macros.
  380. macros.
  381. (TARGET_DEFAULT): Add MASK_OPT_VX.
  382. * config/s390/s390.md ("cpu" attribute): Add z13.
  383. ("cpu_facility" attribute): Add vec.
  384. * config/s390/s390.opt (processor_type): Add z13.
  385. (mvx): New options.
  386. * doc/invoke.texi: Add z13 option for -march.
  387. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  388. Backport from mainline
  389. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  390. * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
  391. 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  392. Backport from mainline
  393. 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  394. * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
  395. alternative_mask to uint64_t.
  396. 2015-07-02 Jakub Jelinek <jakub@redhat.com>
  397. Backported from mainline
  398. 2015-06-08 Jakub Jelinek <jakub@redhat.com>
  399. * genattrtab.c (insn_alternatives): Change type from int *
  400. to uint64_t *.
  401. (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
  402. (get_attr_value): Change type of num_alt to uint64_t.
  403. (compute_alternative_mask): Change return type from
  404. int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
  405. (make_alternative_compare, mk_attr_alt): Change argument type
  406. from int to uint64_t.
  407. (simplify_test_exp): Change type of i from int to uint64_t.
  408. Shift ((uint64_t) 1) instead of 1 up.
  409. (main): Adjust oballocvec first argument from int to uint64_t.
  410. Shift ((uint64_t) 1) instead of 1 up.
  411. 2015-07-01 Kaz Kojima <kkojima@gcc.gnu.org>
  412. 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
  413. PR target/64833
  414. * config/sh/sh.md (casesi_worker_1): Set length to 8 when
  415. flag_pic is set.
  416. 2015-07-01 David Malcolm <dmalcolm@redhat.com>
  417. Backport from mainline r225207
  418. 2015-06-30 David Malcolm <dmalcolm@redhat.com>
  419. * typed-splay-tree.h: New file.
  420. 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
  421. PR middle-end/66633
  422. * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
  423. to true if the function is nested and if not optimizing.
  424. (convert_local_omp_clauses): Initialize need_frame to true if the
  425. function contains nested functions and if not optimizing.
  426. 2015-06-30 Jakub Jelinek <jakub@redhat.com>
  427. PR middle-end/66702
  428. * omp-low.c (simd_clone_adjust): Handle addressable linear
  429. or uniform parameters or non-gimple type uniform parameters.
  430. 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
  431. * config/sparc/leon.md (leon_load): Enable for all LEON variants if
  432. -mfix-ut699 is not specified.
  433. (leon3_load): Rename into...
  434. (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
  435. is specified.
  436. 2015-06-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
  437. Backport from mainline:
  438. 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
  439. PR target/66136
  440. * config/aarch64/geniterators.sh: Rewrite in awk.
  441. 2015-06-27 James Greenhalgh <james.greenhalgh@arm.com>
  442. Backport from mainline r224672.
  443. 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
  444. * config/vax/vax.md: Adjust sign/zero extend patterns to
  445. handle SUBREGs in operands[1].
  446. 2015-06-27 Oleg Endo <olegendo@gcc.gnu.org>
  447. Backport from mainline
  448. 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
  449. PR target/65979
  450. PR target/66611
  451. * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
  452. the replacement insn will work.
  453. 2015-06-26 Martin Jambor <mjambor@suse.cz>
  454. PR debug/66301
  455. * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
  456. NULL instead of calling dump_enabled_p.
  457. 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
  458. Segher Boessenkool <segher@kernel.crashing.org>
  459. PR target/66412
  460. * config/i386/i386.md (various splitters): Use shallow_copy_rtx
  461. before doing PUT_MODE or PUT_CODE on operands to avoid
  462. in-place RTX modification.
  463. 2015-06-25 Andreas Tobler <andreast@gcc.gnu.org>
  464. Backport from mainline
  465. 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
  466. * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
  467. pie executables.
  468. (FBSD_ENDFILE_SPEC): Likewise.
  469. * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
  470. config/freebsd-spec.h.
  471. (ENDFILE_SPEC): Likewise.
  472. 2015-06-25 Kaz Kojima <kkojima@gcc.gnu.org>
  473. Backport from mainline
  474. 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
  475. PR target/66563
  476. * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
  477. an additional element of the unspec vector. Modify indices
  478. of operands.
  479. (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
  480. * config/sh/sh.c (prepare_move_operands): Pass incremented
  481. const_int to gen_GOTaddr2picreg.
  482. (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
  483. 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  484. Backport from mainline.
  485. 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  486. PR target/63408
  487. * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
  488. for negative numbers.
  489. 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  490. PR target/66200
  491. * config/aarch64/aarch64.c (TARGET_RELAXED_ORDERING): Define.
  492. 2015-06-24 Renlin Li <renlin.li@arm.com>
  493. Backport from mainline
  494. 2015-06-24 Renlin Li <renlin.li@arm.com>
  495. * varasm.c (emit_local): Use unsigned int for align variable.
  496. 2015-06-23 Richard Biener <rguenther@suse.de>
  497. Backport from mainline
  498. 2015-06-09 Richard Biener <rguenther@suse.de>
  499. PR middle-end/66413
  500. * tree-inline.c (insert_init_debug_bind): Unshare value.
  501. 2015-06-23 Ludovic Courtès <ludo@gnu.org>
  502. PR 65711
  503. * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
  504. '-dynamic-linker' within %{!shared: ...}.
  505. 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
  506. PR bootstrap/63740
  507. * lra-lives.c (process_bb_lives): Check insn copying the same
  508. reload pseudo and don't create a copy for it.
  509. 2015-06-22 Richard Biener <rguenther@suse.de>
  510. Backport from mainline
  511. 2015-06-08 Richard Biener <rguenther@suse.de>
  512. PR tree-optimization/66422
  513. * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
  514. block after inserted gcc_unreachable.
  515. 2015-06-21 Marek Polacek <polacek@redhat.com>
  516. Backport from mainline
  517. 2015-06-20 Marek Polacek <polacek@redhat.com>
  518. * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
  519. 2015-06-18 Richard Biener <rguenther@suse.de>
  520. Backport from mainline
  521. 2015-06-03 Richard Biener <rguenther@suse.de>
  522. PR tree-optimization/66375
  523. * tree-scalar-evolution.c (follow_ssa_edge_binary): First
  524. add to the evolution before following SSA edges.
  525. 2015-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
  526. Backport from mainline r224414.
  527. 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
  528. * common/config/i386/i386-common.c
  529. (OPTION_MASK_ISA_MWAITX_SET): New.
  530. (ix86_handle_option): Handle mwaitx.
  531. * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
  532. (x86_64-*-*): Likewise.
  533. * config/i386/mwaitxintrin.h: New header.
  534. * config/i386/cpuid.h (bit_MWAITX): Define.
  535. * config/i386/driver-i386.c (host_detect_local_cpu): Detect
  536. MWAITX support.
  537. * config/i386/i386.opt (mwaitx): New.
  538. * config/i386/i386-builtin-types.def
  539. (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
  540. * config/i386/i386-c.c: Define __MWAITX__ if needed.
  541. * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
  542. (PTA_MWAITX): New.
  543. (ix86_option_override_internal): Handle new option.
  544. (processor_alias_table): Added PTA_MWAITX.
  545. (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
  546. (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
  547. (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
  548. IX86_BUILTIN_MONITORX built-ins.
  549. * config/i386/i386.h (TARGET_MWAITX): New.
  550. * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
  551. UNSPEC_MONITORX.
  552. (mwaitx): New pattern.
  553. (monitorx_<mode>): New pattern.
  554. * config/i386/x86intrin.h: Include mwaitxintrin.h.
  555. * doc/extend.texi: Document monitorx and mwaitx builtins.
  556. * doc/invoke.texi: Document -mmwaitx option.
  557. 2015-06-17 Jakub Jelinek <jakub@redhat.com>
  558. PR middle-end/66429
  559. * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
  560. instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
  561. and has_force_vectorize_loops flags from cfun into
  562. child_cfun.
  563. (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
  564. if simduid is non-NULL.
  565. * tree-pass.h (make_pass_simduid_cleanup): New prototype.
  566. * passes.def (pass_simduid_cleanup): Add new pass after loop
  567. passes.
  568. * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
  569. indirection from htab argument's type.
  570. (shrink_simd_arrays): New function.
  571. (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
  572. Don't call adjust_simduid_builtins if there are no loops.
  573. (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
  574. (pass_simduid_cleanup::execute): New method.
  575. (make_pass_simduid_cleanup): New function.
  576. 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com>
  577. Backport from mainline r223929.
  578. 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
  579. PR target/65527
  580. * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
  581. redirection for instrumented calls.
  582. * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
  583. (append_compiler_options): Append -fcheck-pointer-bounds.
  584. * tree-chkp.h (chkp_copy_call_skip_bounds): New.
  585. (chkp_redirect_edge): New.
  586. * tree-chkp.c (chkp_copy_call_skip_bounds): New.
  587. (chkp_redirect_edge): New.
  588. 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com>
  589. Backport from mainline r224063.
  590. 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
  591. * ipa.c (symbol_table::remove_unreachable_nodes): Don't
  592. remove instumentation thunks calling reachable functions.
  593. * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
  594. * lto/lto-partition.c (privatize_symbol_name_1): New.
  595. (privatize_symbol_name): Privatize both decl and orig_decl
  596. names for instrumented functions.
  597. * cgraph.c (cgraph_node::verify_node): Add transparent
  598. transparent alias chain check for instrumented node.
  599. 2015-06-16 Jim Wilson <jim.wilson@linaro.org>
  600. Backport from mainline
  601. 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
  602. PR target/66258
  603. * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
  604. !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
  605. (aarch64_secondary_reload): Likewise
  606. (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
  607. to !TARGET_FLOAT.
  608. (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
  609. Likewise.
  610. 2015-06-16 Richard Biener <rguenther@suse.de>
  611. Revert
  612. 2015-06-01 Richard Biener <rguenther@suse.de>
  613. Backport from mainline
  614. 2015-05-26 Michael Matz <matz@suse.de>
  615. PR middle-end/66251
  616. * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
  617. STMT_VINFO_VEC_STMT, also with SLP.
  618. 2015-05-22 Richard Biener <rguenther@suse.de>
  619. PR tree-optimization/66251
  620. * tree-vect-stmts.c (vectorizable_conversion): Properly
  621. set STMT_VINFO_VEC_STMT even for the SLP case.
  622. 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
  623. Backport from mainline:
  624. 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
  625. * dbxout.c (xcoff_debug_hooks): Provide a function for
  626. register_main_translation_unit hook.
  627. 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
  628. * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
  629. CONST_INT for goto.
  630. 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
  631. PR bootstrap/66252
  632. * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
  633. * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
  634. (*addx_extend_sp32): Fix pasto.
  635. (*subx_extend): Rename into...
  636. (*subx_extend_sp32): ...this.
  637. (*adddi3_extend_sp32): Add earlyclobber.
  638. (*subdi3_insn_sp32): Likewise.
  639. (*subdi3_extend_sp32): Likewise.
  640. (*and_not_di_sp32): Likewise.
  641. (*or_not_di_sp32): Likewise.
  642. (*xor_not_di_sp32): Likewise.
  643. (*negdi2_sp32): Likewise.
  644. (*one_cmpldi2_sp32): Likewise.
  645. 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
  646. * debug.h (struct gcc_debug_hooks): Add a
  647. register_main_translation_unit hook.
  648. * debug.c (do_nothing_debug_hooks): Provide a function for this
  649. new hook.
  650. * dbxout.c (dbx_debug_hooks): Likewise.
  651. * sdbout.c (sdb_debug_hooks): Likewise.
  652. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
  653. * dwarf2out.c (main_translation_unit): New global variable.
  654. (dwarf2out_register_main_translation_unit): New function
  655. implementing the new hook.
  656. (dwarf2_debug_hooks): Assign
  657. dwarf2out_register_main_translation_unit to this new hook.
  658. (dwarf2out_init): Associate any main translation unit to
  659. comp_unit_die ().
  660. 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
  661. PR target/66473
  662. * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
  663. to prepare mask operand for AVX512 modes.
  664. 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
  665. Backport from mainline:
  666. 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
  667. PR target/66474
  668. * doc/md.texi (Machine Constraints): Document that on the PowerPC
  669. if you use a constraint that targets a VSX register, you must use
  670. %x<n> in the template.
  671. 2015-06-10 Jakub Jelinek <jakub@redhat.com>
  672. PR target/66470
  673. * config/i386/i386.c (ix86_split_long_move): For collisions
  674. involving direct tls segment refs, move the UNSPEC_TP possibly
  675. wrapped in ZERO_EXTEND out of the address for lea, to each of
  676. the memory loads.
  677. 2015-06-08 Uros Bizjak <ubizjak@gmail.com>
  678. Backport from mainline:
  679. 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
  680. PR target/66275
  681. * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
  682. to determine current function ABI.
  683. (ix86_function_value_regno_p): Ditto.
  684. 2015-06-08 Tom de Vries <tom@codesourcery.com>
  685. backport from mainline:
  686. 2015-06-08 Tom de Vries <tom@codesourcery.com>
  687. PR rtl-optimization/66444
  688. * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
  689. call_used_regs.
  690. 2015-06-08 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
  691. * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
  692. 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
  693. PR bootstrap/66319
  694. * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
  695. defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
  696. Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
  697. later.
  698. * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
  699. Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
  700. _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
  701. _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
  702. and non iso if unix2003.
  703. 2015-06-03 Richard Biener <rguenther@suse.de>
  704. Backport from mainline
  705. 2015-06-02 Richard Biener <rguenther@suse.de>
  706. PR debug/65549
  707. * dwarf2out.c (lookup_context_die): New function.
  708. (resolve_addr): Avoid forcing a full DIE for the
  709. target of a DW_TAG_GNU_call_site during late compilation.
  710. Instead create a stub DIE without a type if we have a
  711. context DIE present.
  712. 2015-06-01 Richard Biener <rguenther@suse.de>
  713. PR tree-optimization/66280
  714. * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
  715. def-use walking.
  716. 2015-05-27 Richard Biener <rguenther@suse.de>
  717. PR tree-optimization/66272
  718. Revert parts of
  719. 2014-08-15 Richard Biener <rguenther@suse.de>
  720. PR tree-optimization/62031
  721. * tree-data-ref.c (dr_analyze_indices): Do not set
  722. DR_UNCONSTRAINED_BASE.
  723. (dr_may_alias_p): All indirect accesses have to go the
  724. formerly DR_UNCONSTRAINED_BASE path.
  725. * tree-data-ref.h (struct indices): Remove
  726. unconstrained_base member.
  727. (DR_UNCONSTRAINED_BASE): Remove.
  728. 2015-05-21 Richard Biener <rguenther@suse.de>
  729. PR c++/66211
  730. * match.pd: Guard pattern optimzing (int)(float)int
  731. conversions to apply only on GIMPLE.
  732. 2015-05-13 Richard Biener <rguenther@suse.de>
  733. PR tree-optimization/66123
  734. * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
  735. a taken edge.
  736. 2015-06-02 Renlin Li <renlin.li@arm.com>
  737. Backport from mainline
  738. 2015-04-30 Renlin Li <renlin.li@arm.com>
  739. * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
  740. * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
  741. 2015-06-02 Marek Polacek <polacek@redhat.com>
  742. Backport from mainline
  743. 2015-06-02 Marek Polacek <polacek@redhat.com>
  744. PR middle-end/66345
  745. * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
  746. get_maxval_strlen does not produce an INTEGER_CST.
  747. 2015-06-02 Alan Modra <amodra@gmail.com>
  748. * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
  749. 2014-08-11 change.
  750. 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
  751. Backport from mainline
  752. 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
  753. PR target/66215
  754. * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
  755. with -mhotpatch=.
  756. 2015-06-01 Richard Biener <rguenther@suse.de>
  757. Backport from mainline
  758. 2015-05-26 Michael Matz <matz@suse.de>
  759. PR middle-end/66251
  760. * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
  761. STMT_VINFO_VEC_STMT, also with SLP.
  762. 2015-05-22 Richard Biener <rguenther@suse.de>
  763. PR tree-optimization/66251
  764. * tree-vect-stmts.c (vectorizable_conversion): Properly
  765. set STMT_VINFO_VEC_STMT even for the SLP case.
  766. 2015-05-28 Mike Frysinger <vapier@gentoo.org>
  767. * config/nios2/linux.h (CPP_SPEC): Define.
  768. 2015-05-28 Mike Frysinger <vapier@gentoo.org>
  769. * config/microblaze/linux.h (CPP_SPEC): Define.
  770. 2015-05-28 Mike Frysinger <vapier@gentoo.org>
  771. * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
  772. -pthread is specified.
  773. 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
  774. PR target/66148
  775. * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
  776. REG_EQUAL note when doing insert.
  777. 2015-05-27 Richard Biener <rguenther@suse.de>
  778. Backport from mainline
  779. 2015-05-12 Richard Biener <rguenther@suse.de>
  780. PR tree-optimization/66101
  781. * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
  782. fixup if we turn a loop exit edge to a fallthru edge.
  783. 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
  784. PR target/65979
  785. * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
  786. take into account the case that operands[1] and operands[2]
  787. are the same register.
  788. 2015-05-22 Jakub Jelinek <jakub@redhat.com>
  789. Backported from mainline
  790. 2015-05-21 Jakub Jelinek <jakub@redhat.com>
  791. PR tree-optimization/66233
  792. * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
  793. Simplify.
  794. 2015-05-19 Jakub Jelinek <jakub@redhat.com>
  795. PR middle-end/66199
  796. * tree.h (OMP_TEAMS_COMBINED): Define.
  797. * gimplify.c (enum gimplify_omp_var_data): Add
  798. GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
  799. (enum omp_region_type): Add ORT_COMBINED_TEAMS.
  800. (omp_notice_variable): Accept both ORT_TEAMS
  801. and ORT_COMBINED_TEAMS. Don't recurse if
  802. GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
  803. GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
  804. GOVD_FIRSTPRIVATE.
  805. (omp_no_lastprivate): New function.
  806. (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
  807. and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
  808. notice_outer and set appropriate bits, otherwise make
  809. sure default(none) combined constructs won't complain.
  810. (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
  811. outer special casing, for OMP_CLAUSE_LASTPRIVATE if
  812. omp_no_lastprivate either remove the clause or turn it
  813. into OMP_CLAUSE_PRIVATE.
  814. (gimplify_omp_for): Fix up handling of implicit
  815. lastprivate or linear iterators.
  816. (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
  817. ORT_COMBINED_TEAMS.
  818. * omp-low.c (lower_omp_for_lastprivate): For combined
  819. for simd use fd.loop.n2 from the for rather than simd.
  820. 2015-05-13 Jakub Jelinek <jakub@redhat.com>
  821. PR middle-end/66133
  822. * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
  823. make sure it is never noreturn, even when the task body does not
  824. return.
  825. (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
  826. right before GIMPLE_OMP_RETURN.
  827. (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
  828. for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
  829. GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
  830. 2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
  831. Backport from mainline r223418:
  832. * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
  833. to build a biarch toolchain again.
  834. 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
  835. Backport from mainline r223471
  836. 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
  837. PR middle-end/66221
  838. * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
  839. build_distinct_type_copy to copy bounds.
  840. 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
  841. PR target/66174
  842. * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
  843. QImode inner modes for TARGET_AVX512BW. Force mask operand
  844. to a register for AVX512F modes.
  845. 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
  846. PR target/66047
  847. * i386.c (ix86_function_sseregparm): Only return -1 if local function
  848. with implied regparm is called from -mno-sse function.
  849. (init_cumulative_args): Output error if ix86_function_sseregparm
  850. return -1 and SSE register would be needed.
  851. (function_arg_advance_32): Likewise.
  852. (function_arg_32): Likewise.
  853. * i386.h (ix86_args): Add decl field.
  854. 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
  855. PR target/66047
  856. * i386.c (ix86_function_sseregparm): Only return -1 if local function
  857. with implied regparm is called from -mno-sse function.
  858. (init_cumulative_args): Output error if ix86_function_sseregparm
  859. return -1 and SSE register would be needed.
  860. (function_arg_advance_32): Likewise.
  861. (function_arg_32): Likewise.
  862. * i386.h (ix86_args): Add decl field.
  863. * gcc.target/i386/pr66047.c: New testcase.
  864. 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
  865. PR ipa/65873
  866. * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
  867. inlines across optimization boundary; be tolerant about COMDAT;
  868. allow inlining across -fstrict-aliasing boundary.
  869. 2015-05-16 Segher Boessenkool <segher@kernel.crashing.org>
  870. Backport from mainline
  871. 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
  872. PR rtl-optimization/30967
  873. * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
  874. destination mode for the cost of scc patterns.
  875. 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
  876. PR target/66140
  877. * config/alpha/alpha.c (get_aligned_mem): Also look for reload
  878. replacements in memory addresses.
  879. (get_unaligned_address): Ditto.
  880. 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  881. Backport from mainline
  882. 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  883. PR target/65955
  884. * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
  885. REG before taking its REGNO.
  886. 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  887. * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
  888. and zEC12_simple_fp.
  889. * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
  890. to 1.
  891. 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  892. Backport from mainline
  893. 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  894. * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
  895. Increase to 128.
  896. (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
  897. at '.'. Assert that there's enough space for everything.
  898. 2015-05-12 Yvan Roux <yvan.roux@linaro.org>
  899. Backport from mainline.
  900. 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
  901. * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
  902. (LINK_SPEC): Include CA53_ERR_843419_SPEC.
  903. * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
  904. (LINK_SPEC): Include CA53_ERR_843419_SPEC.
  905. * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
  906. * configure: Regenerate.
  907. * configure.ac: Add --enable-fix-cortex-a53-843419 option.
  908. * doc/install.texi (aarch64*-*-*): Document new
  909. --enable-fix-cortex-a53-843419 option.
  910. * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
  911. and -mno-fix-cortex-a53-843419 options.
  912. 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
  913. * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
  914. when looking for memory references.
  915. 2015-05-11 Jakub Jelinek <jakub@redhat.com>
  916. PR target/65780
  917. * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
  918. default_binds_local_p_2.
  919. * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
  920. * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
  921. 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
  922. PR target/66015
  923. * config/alpha/alpha.c (alpha_override_options_after_change): New.
  924. (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
  925. (alpha_override_options): Move align_loops, align_jumps and
  926. align_functions handling into alpha_override_options_after_change.
  927. 2015-05-06 Uros Bizjak <ubizjak@gmail.com>
  928. PR target/65990
  929. * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
  930. if rep_8byte stringop strategy was specified for 32-bit target.
  931. 2015-05-06 Christian Bruel <christian.bruel@st.com>
  932. PR target/66015
  933. * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
  934. align_jumps, align_functions into aarch64_override_options_after_change.
  935. 2015-05-05 Peter Bergner <bergner@vnet.ibm.com>
  936. Backport from mainline.
  937. 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
  938. PR target/64579
  939. * config/rs6000/htm.md: Remove all define_expands.
  940. (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
  941. UNSPECV_HTM_TABORTWCI): Remove.
  942. (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
  943. (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
  944. trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
  945. (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
  946. (tabortdc_internal, tabortdci_internal, tabortwc_internal,
  947. tabortwci_internal): Remove define_insns.
  948. (tabort<wd>c, tabort<wd>ci): New define_insns.
  949. (tabort): Use gpc_reg_operand.
  950. (tcheck): Remove operand.
  951. (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
  952. * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
  953. expected value.
  954. * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
  955. (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
  956. (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
  957. tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
  958. tsr, ttest): Pass in the RS6000_BTC_CR attribute.
  959. (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
  960. get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
  961. (tcheck): Remove builtin argument.
  962. * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
  963. not TARGET_64BIT.
  964. (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
  965. tabortdc and tabortdci builtins when not in 64-bit mode.
  966. Modify code to handle the loss of the HTM define_expands.
  967. Emit code to copy the CR register to TARGET.
  968. (htm_init_builtins): Modify code to handle the loss of the HTM
  969. define_expands.
  970. * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
  971. (RS6000_BTC_64BIT): Likewise.
  972. (RS6000_BTC_CR): New macro.
  973. * doc/extend.texi: Update documentation for htm builtins.
  974. 2015-05-04 Jakub Jelinek <jakub@redhat.com>
  975. PR tree-optimization/65984
  976. * ubsan.c: Include tree-cfg.h.
  977. (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
  978. stmt_could_throw_p test, rename can_throw variable to ends_bb.
  979. * Makefile.in (PATCHLEVEL_c): New variable.
  980. (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
  981. expand the same way as if DEVPHASE_c was non-empty.
  982. 2015-05-04 Kai Tietz <ktietz@redhat.com>
  983. Backmerge from trunk.
  984. PR lto/65559
  985. * lto-wrapper.c (run_gcc): Open filename
  986. in binary-mode.
  987. 2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
  988. PR c++/65801
  989. * doc/invoke.texi ([-Wnarrowing]): Update.
  990. 2015-04-30 Alan Modra <amodra@gmail.com>
  991. PR target/65408
  992. PR target/58744
  993. PR middle-end/36043
  994. * calls.c (load_register_parameters): Don't load past end of
  995. mem unless suitably aligned.
  996. 2015-04-27 Jakub Jelinek <jakub@redhat.com>
  997. PR tree-optimization/65875
  998. * tree-vrp.c (update_value_range): If in is_new case setting
  999. old_vr to VR_VARYING, also set new_vr to it. Remove
  1000. old_vr->type == VR_VARYING test.
  1001. (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
  1002. SSA_PROP_INTERESTING if update_value_range returned true,
  1003. but new range is VR_VARYING.
  1004. 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
  1005. Backport from 2015-04-27 trunk r222459.
  1006. PR target/65296
  1007. PR target/65895
  1008. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
  1009. Add hint how to use own spec file.
  1010. 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
  1011. Backport from mainline
  1012. 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
  1013. PR target/65849
  1014. * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
  1015. save to independent variables use the Save attribute. This will
  1016. allow these options to be modified with the #pragma/attribute
  1017. target support.
  1018. (-mallow-movmisalign): Likewise.
  1019. (-mallow-df-permute): Likewise.
  1020. (-msched-groups): Likewise.
  1021. (-malways-hint): Likewise.
  1022. (-malign-branch-targets): Likewise.
  1023. (-mvectorize-builtins): Likewise.
  1024. (-msave-toc-indirect): Likewise.
  1025. * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
  1026. can be set via the #pragma/attribute target support.
  1027. (rs6000_opt_vars): Likewise.
  1028. (rs6000_inner_target_options): If VSX was set, also set
  1029. -mno-avoid-indexed-addresses.
  1030. 2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1031. Backport from mainline r222385
  1032. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1033. * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
  1034. asterisk from name so this can be generated directly.
  1035. (*altivec_stvx_<mode>_internal): Likewise.
  1036. * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
  1037. that this is never called during or after reload/lra.
  1038. (rs6000_frame_related): Remove split_reg
  1039. argument and logic that references it.
  1040. (emit_frame_save): Remove last parameter from call to
  1041. rs6000_frame_related.
  1042. (rs6000_emit_prologue): Remove last parameter from eight calls to
  1043. rs6000_frame_related. Force generation of stvx instruction for
  1044. Altivec register saves. Remove split_reg handling, which is no
  1045. longer needed.
  1046. (rs6000_emit_epilogue): Force generation of lvx instruction for
  1047. Altivec register restores.
  1048. 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
  1049. * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
  1050. Mark operand1 commutative.
  1051. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1052. Backport from mainline r222362
  1053. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1054. * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
  1055. TARGET_CRYPTO to TARGET_P8_VECTOR>
  1056. (crypto_vpermxor_<mode>): Likewise.
  1057. * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
  1058. (BU_CRYPTO_3A): Likewise.
  1059. (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
  1060. (BU_CRYPTO_OVERLOAD_3A): New #define.
  1061. (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
  1062. (VPMSUMH): Likewise.
  1063. (VPMSUMW): Likewise.
  1064. (VPMSUMD): Likewise.
  1065. (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
  1066. (VPERMXOR_V4SI): Likewise.
  1067. (VPERMXOR_V8HI): Likewise.
  1068. (VPERMXOR_V16QI): Likewise.
  1069. (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
  1070. BU_CRYPTO_OVERLOAD_2A.
  1071. (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
  1072. BU_CRYPTO_OVERLOAD_3A.
  1073. * config/rs6000/rs6000.opt (mcrypto): Change description of
  1074. option.
  1075. Backport from mainline r222362
  1076. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1077. * config/rs6000/rs6000.opt (mcrypto): Change option description to
  1078. match category changes in ISA 2.07B.
  1079. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1080. Backport from mainline r222351
  1081. 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1082. * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
  1083. adjustments.
  1084. (insn_is_swappable_p): Return 1 for a convert from double to
  1085. single precision when all of its uses are splats of BE element
  1086. zero.
  1087. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1088. Backport from mainline r222349
  1089. 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1090. PR target/65456
  1091. * config/rs6000/rs6000.c (rs6000_option_override_internal): For
  1092. VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
  1093. TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
  1094. option.
  1095. (rs6000_builtin_mask_for_load): Return 0 for targets with
  1096. efficient unaligned VSX accesses so that the vectorizer will use
  1097. direct unaligned loads.
  1098. (rs6000_builtin_support_vector_misalignment): Always return true
  1099. for targets with efficient unaligned VSX accesses.
  1100. (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
  1101. stores on targets with efficient unaligned VSX accesses is almost
  1102. always the same as the cost of an aligned load or store, so model
  1103. it that way.
  1104. * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
  1105. unaligned vectors if we have efficient unaligned VSX accesses.
  1106. * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
  1107. undocumented option.
  1108. 2015-04-23 Vladimir Makarov <vmakarov@redhat.com>
  1109. Backport from trunk r222223.
  1110. 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
  1111. PR rtl-optimization/65805
  1112. * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
  1113. Don't use difference of offset and previous offset if
  1114. update_sp_offset is non-zero.
  1115. (eliminate_regs_in_insn): Ditto.
  1116. * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
  1117. lra_eliminate_regs_1 call.
  1118. * lra-constraints.c (get_equiv_with_elimination): Ditto.
  1119. 2015-04-22 Georg-Johann Lay <avr@gjlay.de>
  1120. Backport from trunk r222179.
  1121. 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
  1122. PR target/65296
  1123. * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
  1124. to new AVR-LibC file layout (bug #44574).
  1125. (*avrlibc_devicelib): Same.
  1126. * config/avr/avr-mcus.def: Adjust comments.
  1127. * config/avr/avr.opt (nodevicelib): Adjust help.
  1128. 2015-04-22 Jakub Jelinek <jakub@redhat.com>
  1129. * BASE-VER: Set to 5.1.1.
  1130. 2015-04-22 Release Manager
  1131. * GCC 5.1.0 released.
  1132. 2015-04-20 Jakub Jelinek <jakub@redhat.com>
  1133. PR debug/65807
  1134. * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
  1135. 2015-04-18 Gerald Pfeifer <gerald@pfeifer.com>
  1136. * doc/plugins.texi: Rewrite first introductory paragraph.
  1137. 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
  1138. PR target/65780
  1139. * config/i386/i386.c (ix86_binds_local_p): Define only if
  1140. TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
  1141. 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1142. Jakub Jelinek <jakub@redhat.com>
  1143. PR target/65787
  1144. * config/rs6000/rs6000.c (rtx_is_swappable_p): Remove previous
  1145. fix; ensure that a subsequent SH_NONE operand does not overwrite
  1146. an existing *special value.
  1147. 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
  1148. PR target/65780
  1149. * output.h (default_binds_local_p_3): New.
  1150. * varasm.c (default_binds_local_p_3): Make it public. Take an
  1151. argument to indicate if common symbol may be local. If common
  1152. symbol may be local, treat non-external variable as defined
  1153. locally.
  1154. (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
  1155. (default_binds_local_p_1): Pass false to default_binds_local_p_3.
  1156. * config/i386/i386.c (ix86_binds_local_p): New.
  1157. (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
  1158. ix86_binds_local_p.
  1159. 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  1160. PR target/65787
  1161. * config/rs6000/rs6000.c (rtx_is_swappable_p): Handle case where
  1162. vec_extract operation is wrapped in a PARALLEL with a CLOBBER.
  1163. (adjust_extract): Likewise.
  1164. 2015-04-17 Jakub Jelinek <jakub@redhat.com>
  1165. PR debug/65771
  1166. * dwarf2out.c (loc_list_from_tree): Return NULL
  1167. for DEBUG_EXPR_DECL.
  1168. 2015-04-15 Jakub Jelinek <jakub@redhat.com>
  1169. PR ipa/65765
  1170. * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
  1171. and GIMPLE_PREDICT use break instead of return true. For
  1172. GIMPLE_EH_DISPATCH, compare dispatch region.
  1173. 2015-04-14 Jakub Jelinek <jakub@redhat.com>
  1174. PR rtl-optimization/65761
  1175. * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
  1176. get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
  1177. 2015-04-13 Jan Hubicka <hubicka@ucw.cz>
  1178. Gerald Pfeifer <gerald@pfeifer.com>
  1179. * doc/contrib.texi (Contributors): Add Martin Jambor and
  1180. Michael Matz.
  1181. 2015-04-12 Jakub Jelinek <jakub@redhat.com>
  1182. * BASE-VER: Set to 5.0.1.
  1183. * DEV-PHASE: Set to prerelease.
  1184. PR tree-optimization/65747
  1185. * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
  1186. rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
  1187. 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
  1188. * doc/invoke.texi (-Wmemset-transposed-args): Break a long
  1189. sentence. Improve grammar.
  1190. 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
  1191. * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
  1192. 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
  1193. PR ipa/65743
  1194. * ipa-inline-transform.c (speculation_removed): Remove static var.
  1195. (check_speculations): New function.
  1196. (clone_inlined_nodes): Do not check spculations.
  1197. (inline_call): Call check_speculations.
  1198. * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
  1199. consider non-invariants.
  1200. 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
  1201. Martin Liska <mliska@suse.cz>
  1202. PR ipa/65722
  1203. * ipa-icf.c (sem_item::compare_cgraph_references): function and
  1204. variable can not match.
  1205. (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
  1206. (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
  1207. 2015-04-11 Jakub Jelinek <jakub@redhat.com>
  1208. PR tree-optimization/65735
  1209. * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
  1210. Remove visited_phis argument, add visited_bbs, avoid recursing into the
  1211. same bb rather than just into the same phi node.
  1212. (thread_through_normal_block): Adjust caller.
  1213. 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
  1214. * doc/contrib.texi (Contributors): Add Ira Rosen.
  1215. 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
  1216. * gcov.c (find_source): Fix miswording in error message.
  1217. * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
  1218. (ix86_expand_sse_comi_round): Fix typo in error message.
  1219. 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
  1220. * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
  1221. 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
  1222. * doc/contrib.texi (Contributors): Update Joe Buck's entry.
  1223. 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
  1224. PR target/65710
  1225. * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
  1226. Print bad_spills_num and insn_pseudos_num.
  1227. 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  1228. PR target/65694
  1229. * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
  1230. when creating +1 values for SImode.
  1231. 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
  1232. PR target/65729
  1233. * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
  1234. assert.
  1235. 2015-04-10 Jakub Jelinek <jakub@redhat.com>
  1236. Iain Sandoe <iain@codesourcery.com>
  1237. PR target/65351
  1238. * configure: Regenerate.
  1239. 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
  1240. PR target/65671
  1241. * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
  1242. 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
  1243. * doc/contrib.texi (Contributors): Add John Marino.
  1244. 2015-04-09 Jakub Jelinek <jakub@redhat.com>
  1245. PR tree-optimization/65709
  1246. * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
  1247. TREE_TYPE (TREE_TYPE (t)).
  1248. 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
  1249. PR target/65710
  1250. * lra-int.h (lra_bad_spill_regno_start): New.
  1251. * lra.c (lra_bad_spill_regno_start): New.
  1252. (lra): Set up lra_bad_spill_regno_start. Set up
  1253. lra_constraint_new_regno_start unconditionally.
  1254. * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
  1255. spill preferences.
  1256. 2015-04-09 Marek Polacek <polacek@redhat.com>
  1257. Jakub Jelinek <jakub@redhat.com>
  1258. PR middle-end/65554
  1259. * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
  1260. (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
  1261. of STRIP_NOPS.
  1262. 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
  1263. PR rtl-optimization/65693
  1264. * combine.c (is_parallel_of_n_reg_sets): Move outside of
  1265. #ifndef HAVE_cc0.
  1266. 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
  1267. PR target/65296
  1268. * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
  1269. device specs file if "device-specs%s" didn't resolve to a path.
  1270. 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
  1271. PR target/65676
  1272. * config/i386/i386.c (fixup_modeless_constant): New.
  1273. (ix86_expand_args_builtin): Fixup modeless constant operand.
  1274. (ix86_expand_round_builtin): Ditto.
  1275. (ix86_expand_special_args_builtin): Ditto.
  1276. (ix86_expand_builtin): Ditto.
  1277. 2015-04-09 Jakub Jelinek <jakub@redhat.com>
  1278. PR target/65693
  1279. * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
  1280. any pow2 integer in between 2 and 0x80000000U inclusive.
  1281. 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
  1282. PR rtl-optimization/65693
  1283. * combine.c (is_parallel_of_n_reg_sets): Change first argument
  1284. from an rtx_insn * to an rtx.
  1285. (try_combine): Adjust both callers. Use it once more.
  1286. 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
  1287. * tree-chkp.c (chkp_find_const_bounds_var): Remove.
  1288. (chkp_make_static_const_bounds): Search existing
  1289. symbol by assembler name. Use make_decl_one_only.
  1290. (chkp_get_zero_bounds_var): Remove node search which
  1291. is now performed in chkp_make_static_const_bounds.
  1292. (chkp_get_none_bounds_var): Likewise.
  1293. 2015-04-08 Michael Witten <mfwitten@gmail.com>
  1294. * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
  1295. to an example.
  1296. 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
  1297. * tree.h (CONVERT_EXPR_P): Commentary typo fix.
  1298. 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
  1299. * doc/extend.texi (__sync Builtins): Fix grammar.
  1300. 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
  1301. * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
  1302. 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
  1303. * varasm.c (emit_local): Move definition of align.
  1304. 2015-04-08 Julian Brown <julian@codesourcery.com>
  1305. * config/nvptx/mkoffload.c (process): Support variable mapping.
  1306. 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
  1307. * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
  1308. alpha_links **.
  1309. (alpha_write_one_linkage): Correct typo.
  1310. 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
  1311. * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
  1312. 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
  1313. * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
  1314. 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
  1315. * tree-chkp.h (chkp_insert_retbnd_call): New.
  1316. * tree-chkp.c (chkp_insert_retbnd_call): New.
  1317. * ipa-split.c (insert_bndret_call_after): Remove.
  1318. (split_function): Use chkp_insert_retbnd_call.
  1319. * cgraphunit.c (cgraph_node::expand_thunk): Build returned
  1320. bounds for instrumented functions.
  1321. 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
  1322. PR ipa/65540
  1323. * calls.c (initialize_argument_information): When producing tail
  1324. call also turn SSA_NAMES passed by references to original PARM_DECLs
  1325. 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
  1326. PR target/65648
  1327. * lra-remat.c (do_remat): Process input and non-input insn
  1328. registers separately.
  1329. 2015-04-07 Jakub Jelinek <jakub@redhat.com>
  1330. PR debug/65678
  1331. * valtrack.c (debug_lowpart_subreg): New function.
  1332. (dead_debug_insert_temp): Use it.
  1333. PR middle-end/65680
  1334. * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
  1335. into signed HOST_WIDE_INT the same as negative bit_offset.
  1336. 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
  1337. * ipa-comdats.c (ipa_comdats): Visit all thunks
  1338. to set proper comdat group.
  1339. 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  1340. PR target/65489
  1341. * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
  1342. on constants for NEON VSTRUCT modes.
  1343. 2015-04-07 Jakub Jelinek <jakub@redhat.com>
  1344. Iain Sandoe <iain@codesourcery.com>
  1345. PR target/65351
  1346. * configure: Regenerate.
  1347. 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
  1348. PR target/65614
  1349. * config/rs6000/rs6000.c (struct processor_costs): Add cost field
  1350. for SF->DF conversions to make FLOAT_EXTEND more expensive, so
  1351. that LFD is used to load double constants instead of LFS. Add
  1352. defaults for all costs structures. Add comments for missing
  1353. initialization fields.
  1354. (size32_cost): Likewise.
  1355. (size64_cost): Likewise.
  1356. (rs64a_cost): Likewise.
  1357. (mpccore_cost): Likewise.
  1358. (ppc403_cost): Likewise.
  1359. (ppc405_cost): Likewise.
  1360. (ppc440_cost): Likewise.
  1361. (ppc476_cost): Likewise.
  1362. (ppc601_cost): Likewise.
  1363. (ppc603_cost): Likewise.
  1364. (ppc604_cost): Likewise.
  1365. (ppc604e_cost): Likewise.
  1366. (ppc620_cost): Likewise.
  1367. (ppc630_cost): Likewise.
  1368. (ppccell_cost): Likewise.
  1369. (ppc750_cost): Likewise.
  1370. (ppc7450_cost): Likewise.
  1371. (ppc8540_cost): Likewise.
  1372. (ppce300c2c3_cost): Likewise.
  1373. (ppce500mc_cost): Likewise.
  1374. (ppce500mc64_cost): Likewise.
  1375. (ppce5500_cost): Likewise.
  1376. (ppce6500_cost): Likewise.
  1377. (titan_cost): Likewise.
  1378. (power4_cost): Likewise.
  1379. (power6_cost): Likewise.
  1380. (power7_cost): Likewise.
  1381. (power8_cost): Likewise.
  1382. (ppca2_cost): Likewise.
  1383. (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
  1384. * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
  1385. instead of XXLOR to copy SFmode to clear out dirty bits created
  1386. when SFmode denormals are generated.
  1387. (mov<mode>_hardfloat, FMOVE32 case): Likewise.
  1388. (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
  1389. 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
  1390. * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
  1391. * config/aarch64/aarch64-cores.def (exynos-m1): New core.
  1392. * config/aarch64/aarch64-tune.md: Regenerate.
  1393. 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
  1394. * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
  1395. * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
  1396. * config/arm/arm-cores.def (exynos-m1): New core.
  1397. * config/arm/arm-tune.md: Regenerate.
  1398. * config/arm/arm-tables.opt: Add entry for "exynos-m1".
  1399. * config/arm/bpabi.h: Likewise.
  1400. 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
  1401. * ipa-cp (set_single_call_flag): Remove too
  1402. restrictive assert.
  1403. 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
  1404. * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
  1405. GOMP_offload_unregister from the destructor.
  1406. 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
  1407. * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
  1408. flags for instrumentation thunk.
  1409. (chkp_produce_thunks): Likewise.
  1410. 2015-04-05 Martin Liska <mliska@suse.cz>
  1411. PR ipa/65665
  1412. * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
  1413. has computed data structure.
  1414. (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
  1415. 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
  1416. * invoke.texi (inline-unit-growth): Increase growth to 20%
  1417. * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
  1418. 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
  1419. PR target/65647
  1420. * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
  1421. value checking.
  1422. (lra_rematerialization_iter): New.
  1423. * lra.c (lra): Initialize lra_rematerialization_iter.
  1424. Stop updating lra_constraint_new_regno_start after switching of
  1425. inheritance and rematerialization.
  1426. * lra-remat.c (lra_rematerialization_iter): New.
  1427. (lra_remat): Add printing pass iteration. Do rematerialization
  1428. only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
  1429. 2015-04-04 Richard Biener <rguenther@suse.de>
  1430. PR tree-optimization/64909
  1431. PR tree-optimization/65660
  1432. * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
  1433. to take a cost vector for scalar iteration cost.
  1434. (vect_get_single_scalar_iteration_cost): Likewise.
  1435. * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
  1436. Compute the scalar iteration cost into a cost vector.
  1437. (vect_get_known_peeling_cost): Use the scalar cost vector to
  1438. account for the cost of the peeled iterations.
  1439. (vect_estimate_min_profitable_iters): Likewise.
  1440. * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
  1441. Likewise.
  1442. 2015-04-04 Alan Modra <amodra@gmail.com>
  1443. PR target/65576
  1444. PR target/65240
  1445. * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
  1446. 0.0 constant unless TARGET_VSX.
  1447. * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
  1448. alternative.
  1449. 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
  1450. PR ipa/65654
  1451. * ipa-inline-transform.c (inline_call): Skip sanity check to work
  1452. around the ICE
  1453. 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
  1454. PR ipa/65655
  1455. * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
  1456. speculative indirect edges to avoid ordering issue.
  1457. 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
  1458. PR ipa/65076
  1459. * ipa-inline.c (edge_badness): Add combined size to the denominator.
  1460. 2015-04-03 Jakub Jelinek <jakub@redhat.com>
  1461. * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
  1462. TYPE_ARTIFICIAL on the .omp_data* types.
  1463. 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
  1464. * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
  1465. instrumentation thunks.
  1466. 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
  1467. * config/i386/i386.c (ix86_expand_call): Avoid nested
  1468. PARALLEL in returned call value.
  1469. 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
  1470. * lto-cgraph.c (input_cgraph_1): Always link instrumented
  1471. assembler name with original one.
  1472. 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
  1473. * config/i386/i386.c (ix86_register_priority): Use AX_REG.
  1474. 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
  1475. Revert parts of r216820.
  1476. * config/i386/i386.md (movqi_internal): Correct type calculation
  1477. for alternatives 3 and 5.
  1478. 2015-04-02 Jakub Jelinek <jakub@redhat.com>
  1479. PR preprocessor/61977
  1480. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
  1481. predefine __vector/__bool/__pixel macros nor context sensitive
  1482. macros for CLK_ASM.
  1483. * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
  1484. 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
  1485. * config/pa/pa.c (pa_output_move_double): Directly handle register
  1486. indexed memory operand. Simplify handling of scaled register indexed
  1487. memory operands.
  1488. 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
  1489. PR driver/65444
  1490. * config/i386/linux-common.h (MPX_SPEC): New.
  1491. (CHKP_SPEC): Add MPX_SPEC.
  1492. * doc/invoke.texi (-fcheck-pointer-boudns): Document
  1493. possible issues with '-z bndplt' support in linker.
  1494. 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
  1495. * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
  1496. (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
  1497. (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
  1498. * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
  1499. (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
  1500. 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
  1501. * config/i386/sync.md (UNSPEC_MOVA): Remove.
  1502. (atomic_load<mode>): Change operand 0 predicate to
  1503. nonimmediate_operand and fix up the destination when needed.
  1504. Use UNSPEC_LDA.
  1505. (atomic_loaddi_fpu): Use UNSPEC_LDA.
  1506. (atomic_store<mode>): Change operand 1 predicate to
  1507. nonimmendate_operand and move the source to register when needed.
  1508. Use UNSPEC_STA.
  1509. (atomic_store<mode>_1): Use UNSPEC_STA.
  1510. (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
  1511. Fix moves from memory operand. Use UNSPEC_STA.
  1512. 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
  1513. * expmed.c (strict_volatile_bitfield_p): Check that the access will
  1514. not cross a MODESIZE boundary.
  1515. (store_bit_field, extract_bit_field): Added assertions in the
  1516. strict volatile bitfields code path.
  1517. 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
  1518. PR target/65624
  1519. * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
  1520. Increase args array size by one to avoid buffer overflow.
  1521. 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
  1522. * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
  1523. split_part.
  1524. * ipa-inline.c (edge_badness): Add wrapper penalty.
  1525. (sum_callers): Move up.
  1526. (inline_small_functions): Set single_caller.
  1527. * ipa-inline.h (inline_summary): Add single_caller.
  1528. * ipa-split.c (split_function): Set split_part.
  1529. (cgraph_node::create_clone): Do not shadow decl; copy split_part.
  1530. * cgraph.h (cgraph_node): Add split_part.
  1531. 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
  1532. PR target/58945
  1533. * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
  1534. Do not split operands 0 and operands 2 to halfmode.
  1535. (atomic_compare_and_swap<mode>): Update for
  1536. atomic_compare_and_swap<dwi>_doubleword changes.
  1537. 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
  1538. * tree.c (need_assembler_name_p): Artificial types have no ODR names.
  1539. * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
  1540. no caching is done.
  1541. 2015-03-31 Martin Liska <mliska@suse.cz>
  1542. PR ipa/65557
  1543. * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
  1544. has already filled up function summary.
  1545. (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
  1546. 2015-03-31 Richard Biener <rguenther@suse.de>
  1547. * tree-sra.c (create_access_replacement): Drop under-/over-alignment
  1548. of types.
  1549. 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
  1550. * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
  1551. nested functions.
  1552. (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
  1553. (s390_asm_output_function_label): Adapt to new signature of
  1554. s390_function_num_hotpatch_hw
  1555. Optimise the code generating assembler output.
  1556. Add comments to assembler file.
  1557. 2015-03-31 Richard Biener <rguenther@suse.de>
  1558. PR middle-end/65626
  1559. * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
  1560. of the noreturn call so it is last and cleanup_control_flow_bb
  1561. can do the CFG part.
  1562. 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
  1563. PR target/65531
  1564. * ipa-chkp.c (chkp_maybe_create_clone): Don't set
  1565. same_comdat_group for external symbols.
  1566. * symtab.c (symtab_node::verify_symtab_nodes): Avoid
  1567. infinite same_comdat_group traversal loop.
  1568. 2015-03-31 Jakub Jelinek <jakub@redhat.com>
  1569. PR plugins/61176
  1570. * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
  1571. automatically to $headers.
  1572. 2015-03-30 Jakub Jelinek <jakub@redhat.com>
  1573. PR ipa/65610
  1574. * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
  1575. * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
  1576. function.
  1577. (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
  1578. Use it.
  1579. * ipa-prop.c (param_type_may_change_p): Likewise.
  1580. * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
  1581. (remove_unused_scope_block_p): Add in_ctor_dtor_block
  1582. argument. Before inlining, preserve
  1583. inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
  1584. with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
  1585. recursive calls.
  1586. (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
  1587. 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
  1588. PR ipa/65076
  1589. * ipa-inline.c (edge_badness): Base denominator on callee's
  1590. grwoth squared.
  1591. 2015-03-27 Martin Jambor <mjambor@suse.cz>
  1592. PR ipa/65478
  1593. * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
  1594. (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
  1595. * ipa-prop.h (ipa_node_params): New flags node_within_scc and
  1596. node_calling_single_call.
  1597. * ipa-cp.c (count_callers): New function.
  1598. (set_single_call_flag): Likewise.
  1599. (initialize_node_lattices): Count callers and set single_flag_call if
  1600. necessary.
  1601. (incorporate_penalties): New function.
  1602. (good_cloning_opportunity_p): Use it, dump new flags.
  1603. (propagate_constants_topo): Set node_within_scc flag if appropriate.
  1604. * doc/invoke.texi (ipa-cp-recursion-penalty,
  1605. ipa-cp-single-call-pentalty): Document.
  1606. 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
  1607. PR ipa/65588
  1608. * symtab.c (symtab_node::get_partitioning_class): Register vars
  1609. are duplicated.
  1610. * varpool.c (symbol_table::output_variables) Do not assemble unefined
  1611. decls for non-symbols.
  1612. 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
  1613. PR target/65248
  1614. * output.h (default_binds_local_p_2): New.
  1615. * varasm.c (default_binds_local_p_2): Renamed to ...
  1616. (default_binds_local_p_3): This. Don't return true on protected
  1617. data symbol if protected data may be external.
  1618. (default_binds_local_p): Use default_binds_local_p_3.
  1619. (default_binds_local_p_1): Likewise.
  1620. (default_binds_local_p_2): New.
  1621. * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
  1622. default_binds_local_p_2 if TARGET_MACHO is undefined.
  1623. 2015-03-27 Jakub Jelinek <jakub@redhat.com>
  1624. PR target/65593
  1625. * config/i386/i386.c (legitimize_pic_address): If base
  1626. is SYMBOL_REF or LABEL_REF using %rip addressing, force
  1627. it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
  1628. 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
  1629. PR target/65531
  1630. * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
  1631. comdat groups.
  1632. 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
  1633. PR ipa/65600
  1634. * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
  1635. of optimized out indirect call.
  1636. (redirect_to_unreachable): Always build symbol table node for
  1637. BUILT_IN_UNREACHABLE
  1638. 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
  1639. PR target/65407
  1640. * ira-costs.c (record_reg_classes): Process all constraint string
  1641. containing 0-9.
  1642. 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
  1643. * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
  1644. memory_operand.
  1645. PR target/65052
  1646. * config/c6x/constraints.md (S3): New constraint.
  1647. * config/c6x/c6x.md (real_jump): Use it.
  1648. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1649. PR middle-end/65595
  1650. * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
  1651. do redirection if the call is not optimized out.
  1652. 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
  1653. PR target/65495
  1654. * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
  1655. (fchkp-check-incomplete-type): Add LTO.
  1656. (fchkp-zero-input-bounds-for-main): Likewise.
  1657. (fchkp-first-field-has-own-bounds): Likewise.
  1658. (fchkp-narrow-bounds): Likewise.
  1659. (fchkp-narrow-to-innermost-array): Likewise.
  1660. (fchkp-use-static-bounds): Likewise.
  1661. (fchkp-use-static-const-bounds): Likewise.
  1662. (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
  1663. 2015-03-27 Marek Polacek <polacek@redhat.com>
  1664. * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
  1665. 2015-03-27 Marek Polacek <polacek@redhat.com>
  1666. PR sanitizer/65583
  1667. * ubsan.c (ubsan_create_edge): New function.
  1668. (instrument_bool_enum_load): Call it.
  1669. (instrument_nonnull_arg): Likewise.
  1670. (instrument_nonnull_return): Likewise.
  1671. (instrument_object_size): Likewise.
  1672. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1673. * lto-streamer.h (class lto_location_cache): Turn loc_cache into
  1674. auto_vec.
  1675. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1676. PR lto/65536
  1677. * lto-streamer.h (class lto_location_cache): New.
  1678. (struct data_in): Add location_cache.
  1679. (lto_input_location): Update prototype.
  1680. (stream_input_location_now): New.
  1681. * streamer-hooks.h (struct streamer_hooks): Make input_location to take
  1682. pointer to location.
  1683. (stream_input_location): Update.
  1684. * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
  1685. (warn_odr): Apply location cache before warning.
  1686. (lto_input_location): Update prototype.
  1687. * gimple-streamer-in.c (input_phi, input_gimple_stmt):
  1688. Use stream_input_location_now.
  1689. * lto-streamer-in.c (lto_location_cache::current_cache): New static
  1690. variable.
  1691. (lto_location_cache::cmp_loc): New function.
  1692. (lto_location_cache::apply_location_cache): New function.
  1693. (lto_location_cache::accept_location_cache): New function.
  1694. (lto_location_cache::revert_location_cache): New function.
  1695. (lto_location_cache::input_location): New function.
  1696. (lto_input_location): Do location caching.
  1697. (stream_input_location_now): New function.
  1698. (input_eh_region, input_struct_function_base): Use
  1699. stream_input_location_now.
  1700. (lto_data_in_create): use new.
  1701. (lto_data_in_delete): Use delete.
  1702. * tree-streamer-in.c (unpack_ts_block_value_fields,
  1703. unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
  1704. lto_input_ts_exp_tree_pointers): Update for cached location api.
  1705. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1706. PR ipa/65076
  1707. * passes.def: Add pass_nothrow.
  1708. * ipa-pure-const.c: (pass_data_nothrow): New.
  1709. (pass_nothrow): New.
  1710. (pass_nothrow::execute): New.
  1711. (make_pass_nothrow): New.
  1712. * tree-pass.h (make_pass_nothrow): Declare.
  1713. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1714. * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
  1715. edge to change by speculation resolution or redirection.
  1716. (edge_set_predicate): Likewise.
  1717. (inline_summary_t::duplicate): Likewise.
  1718. (remap_edge_summaries): Likewise.
  1719. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1720. * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
  1721. New macros.
  1722. (can_inline_edge_p): Relax option matching for always inline functions.
  1723. 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
  1724. PR target/65561
  1725. * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
  1726. Check operand 4 and operand 0 for equality.
  1727. (avx512f_vextract<shuffletype>32x4_1_maskm):
  1728. Check operand 6 and operand 0 for equality.
  1729. (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
  1730. for equality.
  1731. (vec_extract_hi_<mode>_maskm): Ditto.
  1732. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1733. * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
  1734. dead calls back to live.
  1735. (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
  1736. cross check to ...
  1737. (cgraph_node::verify_node): ... here; verify only callee edges,
  1738. not caller.
  1739. * cif-code.def (CILK_SPAWN): New code.
  1740. 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
  1741. * ipa-inline-analysis.c (redirect_to_unreachable): New function.
  1742. (edge_set_predicate): Use it to mark unreachable edges.
  1743. (inline_summary_t::duplicate): Remove unnecesary code.
  1744. (remap_edge_summaries): Likewise.
  1745. (dump_inline_summary): Report contains_cilk_spawn.
  1746. (compute_inline_parameters): Compute contains_cilk_spawn.
  1747. (inline_read_section, inline_write_summary): Stream
  1748. contains_cilk_spawn.
  1749. * ipa-inline.c (can_inline_edge_p): Do not touch
  1750. DECL_STRUCT_FUNCTION that may not be available;
  1751. use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
  1752. remove check for callee_fun->can_throw_non_call_exceptions and
  1753. replace it by optimization attribute check; check for flag_exceptions.
  1754. * ipa-inline-transform.c (inline_call): Maintain
  1755. DECL_FUNCTION_PERSONALITY
  1756. * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
  1757. 2015-03-26 Jakub Jelinek <jakub@redhat.com>
  1758. PR tree-optimization/65551
  1759. * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
  1760. TYPE_PRECISION only for INTEGRAL_TYPE_P types.
  1761. 2015-03-26 Richard Biener <rguenther@suse.de>
  1762. PR middle-end/65555
  1763. * tree-cfg.c (verify_gimple_call): Do not require a call to
  1764. have no LHS if it wasn't recognized as control altering yet.
  1765. 2015-03-26 Jakub Jelinek <jakub@redhat.com>
  1766. PR tree-optimization/64715
  1767. * passes.def: Add another instance of pass_object_sizes before ccp1.
  1768. * tree-object-size.c (pass_object_sizes::execute): In
  1769. first_pass_instance, only handle __bos (, 1) and __bos (, 3)
  1770. calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
  1771. __bos result and the computed constant. Remove redundant
  1772. checks, obsoleted by gimple_call_builtin_p test.
  1773. * var-tracking.c (variable_tracking_main_1): Don't track
  1774. variables for targetm.no_register_allocation targets.
  1775. 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
  1776. * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
  1777. * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
  1778. 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
  1779. PR target/65569
  1780. * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
  1781. XXLXOR to create 0.0. On pre-VSX systems make sure the constant
  1782. 0.0 is correctly setup.
  1783. (extenddftf2_internal): Likewise.
  1784. 2015-03-25 Sebastian Pop <s.pop@samsung.com>
  1785. PR tree-optimization/65177
  1786. * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
  1787. (bb_in_bbs): New.
  1788. (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
  1789. edges not adjacent on the path to the original code.
  1790. 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
  1791. PR bootstrap/65537
  1792. * doc/install.texi (Building a native compiler): Document new
  1793. bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
  1794. configuration assumes that the host supports the linker plugin.
  1795. 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
  1796. PR target/65508
  1797. * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
  1798. chain for generated call.
  1799. 2015-03-25 Richard Biener <rguenther@suse.de>
  1800. * passes.c (pass_manager::execute_early_local_passes): Guard
  1801. execution of pass_chkp_instrumentation_passes with
  1802. flag_check_pointer_bounds.
  1803. (pass_chkp_instrumentation_passes::gate): Likewise.
  1804. 2015-03-25 Martin Liska <mliska@suse.cz>
  1805. PR tree-optimization/65538
  1806. * symbol-summary.h (function_summary::~function_summary):
  1807. Relese memory for allocated summaries.
  1808. (function_summary::release): New function.
  1809. 2015-03-25 Jakub Jelinek <jakub@redhat.com>
  1810. PR lto/65515
  1811. * lto-streamer-out.c (DFS::worklist): New struct.
  1812. (DFS::worklist_vec): New data member.
  1813. (DFS::next_dfs_num): Remove.
  1814. (DFS::DFS): Rewritten using worklist instead of recursion,
  1815. using most of code from DFS::DFS_write_tree.
  1816. (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
  1817. pass it to DFS_write_tree calls.
  1818. (DFS::DFS_write_tree): Remove SINGLE_P argument, after
  1819. quick initial checks push it into worklist_vec and return.
  1820. 2015-03-25 Richard Biener <rguenther@suse.de>
  1821. PR middle-end/65519
  1822. * genmatch.c (expr::gen_transform): Re-write to avoid
  1823. using gimple_build.
  1824. 2015-03-25 Bin Cheng <bin.cheng@arm.com>
  1825. * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
  1826. 2015-03-25 Bin Cheng <bin.cheng@arm.com>
  1827. * config/arm/arm.opt (print_tune_info): New option.
  1828. * config/arm/arm.c (arm_print_tune_info): New function.
  1829. (arm_file_start): Call arm_print_tune_info.
  1830. * config/arm/arm-protos.h (struct tune_params): Add comment.
  1831. * doc/invoke.texi (@item -mprint-tune-info): New item.
  1832. (-mtune): mention it in ARM Option Summary.
  1833. 2015-03-25 DJ Delorie <dj@redhat.com>
  1834. * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
  1835. correct clause.
  1836. 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
  1837. Martin Liska <mliska@suse.cz>
  1838. * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
  1839. * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
  1840. (sem_item::add_type): New function.
  1841. (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
  1842. (sem_function::compare_polymorphic_p): Do not consider indirect calls.
  1843. (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
  1844. (sem_function::equals_wpa): Fix typo.
  1845. * ipa-icf.h (sem_item::add_type): New function.
  1846. (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
  1847. order.
  1848. 2015-03-24 Jakub Jelinek <jakub@redhat.com>
  1849. PR tree-optimization/65533
  1850. * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
  1851. with swapped operands, call vect_free_slp_tree on
  1852. SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
  1853. vector.
  1854. 2015-03-24 Richard Biener <rguenther@suse.de>
  1855. PR middle-end/65517
  1856. * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
  1857. for fixup if necessary.
  1858. 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
  1859. * doc/extend.texi (Function Attributes): Add @cindex entries
  1860. for all attributes and regularize their format. Delete text
  1861. about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
  1862. information about "eightbit_data", "tiny_data", and "model"
  1863. variable attributes to the Variable Attributes section. Fix
  1864. some obvious typos and copy-editing issues.
  1865. (Variable Attributes, Type Attributes): Likewise add/fix
  1866. @cindex entries for all attributes.
  1867. 2015-03-23 Jakub Jelinek <jakub@redhat.com>
  1868. PR target/65523
  1869. * tree-chkp.c (chkp_build_returned_bound): Ignore
  1870. ERF_RETURNS_ARG calls if they have fewer than needed arguments.
  1871. 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
  1872. PR target/65505
  1873. * config/sh/predicates.md (simple_mem_operand,
  1874. displacement_mem_operand): Add test for reg.
  1875. (short_displacement_mem_operand): Test for displacement_mem_operand
  1876. before invoking sh_disp_addr_displacement.
  1877. * config/sh/constraints.md (Sdd, Sra): Simplify.
  1878. * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
  1879. Remove redundant displacement_mem_operand tests.
  1880. 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
  1881. PR target/65296
  1882. * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
  1883. the same -mmcu=MCU more than once.
  1884. 2015-03-23 Jakub Jelinek <jakub@redhat.com>
  1885. PR bootstrap/65522
  1886. * ipa-devirt.c: Remove duplicate demangle.h include.
  1887. PR target/65504
  1888. * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
  1889. on the pseudo.
  1890. (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
  1891. REG_POINTER on *destptr after adjusting it for prologue size.
  1892. PR ipa/65521
  1893. * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
  1894. ultimate_alias_target ()->order ints instead of
  1895. ultimate_alias_target () pointers.
  1896. 2015-03-23 Richard Biener <rguenther@suse.de>
  1897. PR tree-optimization/65518
  1898. * tree-vect-stmts.c (vectorizable_load): Reject single-element
  1899. interleaving cases we generate absymal code for.
  1900. 2015-03-23 Richard Biener <rguenther@suse.de>
  1901. PR tree-optimization/65494
  1902. * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
  1903. matches here.
  1904. (vect_analyze_slp_instance): But do that here, always and once.
  1905. 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  1906. * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
  1907. adding T or multiplying by T+1 and subracting T.
  1908. 2015-03-22 Jeff Law <law@redhat.com>
  1909. PR rtl-optimization/64317
  1910. * Makefile.in (OBJS): Add gcse-common.c
  1911. * gcse.c: Include gcse-common.h
  1912. (struct modify_pair_s): Move structure definition to gcse-common.h
  1913. (compute_transp): Move function to gcse-common.c.
  1914. (canon_list_insert): Similarly.
  1915. (record_last_mem_set_info): Break out some code and put it into
  1916. gcse-common.c. Call into the new common code.
  1917. (compute_local_properties): Pass additional arguments to compute_transp.
  1918. * postreload-gcse.c: Include gcse-common.h and df.h
  1919. (modify_mem_list_set, blocks_with_calls): New variables.
  1920. (modify_mem_list, canon_modify_mem_list, transp): Likewise.
  1921. (get_bb_avail_insn): Pass in the expression index too.
  1922. (alloc_mem): Allocate memory for the new bitmaps and lists.
  1923. (free_mem): Free memory for the new bitmaps and lists.
  1924. (insert_expr_in_table): Record a bitmap index for each entry we
  1925. add to the table.
  1926. (record_last_mem_set_info): Call into common code in gcse-common.c.
  1927. (get_bb_avail_insn): If no available insn was found in the requested
  1928. BB. If BB has a single predecessor, see if the expression is
  1929. transparent in BB and available in that single predecessor.
  1930. (compute_expr_transp): New wrapper for compute_transp.
  1931. (eliminate_partially_redundant_load): Pass expression's bitmap_index
  1932. to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
  1933. (gcse_after_reload_main): If there are elements in the hash table,
  1934. then compute transparency for all the elements in the hash table.
  1935. * gcse-common.h: New file.
  1936. * gcse-common.c: New file.
  1937. 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
  1938. * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
  1939. as an adjective.
  1940. (System Headers): Likewise.
  1941. (Ifdef): Likewise.
  1942. (Traditional macros): Likewise.
  1943. (Invocation): Likewise.
  1944. (Option Index): Likewise.
  1945. * doc/cppopts.texi (-M): Likewise.
  1946. (-finput-charset): Likewise.
  1947. (--help): Likewise.
  1948. * doc.invoke.texi (AVR Options): Likewise.
  1949. (V850 Options): Likewise.
  1950. 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
  1951. PR ipa/65475
  1952. * ipa-devirt.c: Include demangle.h
  1953. (odr_type_d): Add field rtti_broken.
  1954. (odr_subtypes_equivalent_p): Do not require name to match.
  1955. (compare_virtual_tables): Fix typo; if type already has ODR violation,
  1956. bypass the tests; be ready for function referneces in vtables that are
  1957. not DECL_VIRTUAL; make warnings to be OPT_Wodr.
  1958. (warn_odr): Give up for nameless types.
  1959. (warn_types_mismatch): Report mismatch in mangled names;
  1960. report mismatch in anonymous namespaces; look into component types to
  1961. give useful error; report when mismatch is dragged in from other ODR
  1962. type.
  1963. (odr_types_equivalent_p): Match types for being polymorphic; avoid
  1964. duplicated diagnostics.
  1965. (add_type_duplicate): Reorder checks so more informative ones come
  1966. first; fix typo; do not output "the extra base is defined here" when
  1967. we did not warn.
  1968. (BINFO_N_BASE_BINFOS): Relax sanity check.
  1969. 2015-03-22 Martin Liska <mliska@suse.cz>
  1970. Jakub Jelinek <jakub@redhat.com>
  1971. * config/i386/i386.c (def_builtin): Set deferred_isa_values for
  1972. masks that can potentially include a builtin.
  1973. (ix86_add_new_builtins): Introduce fast filter for isa values
  1974. that cannot trigger builtin inclusion.
  1975. 2015-03-22 Martin Liska <mliska@suse.cz>
  1976. * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
  1977. (sem_item::update_hash_by_local_refs): Likewise.
  1978. (sem_variable::get_hash): Empty line is fixed.
  1979. (sem_item_optimizer::execute): Include adding of hash references.
  1980. (sem_item_optimizer::update_hash_by_addr_refs): New function.
  1981. (sem_item_optimizer::build_hash_based_classes): Use local hash.
  1982. * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
  1983. (sem_item::update_hash_by_local_refs): Likewise.
  1984. 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
  1985. PR ipa/65502
  1986. * ipa-comdats.c (enqueue_references): Walk through thunks.
  1987. (ipa_comdats): Likewise.
  1988. (set_comdat_group_1): New function.
  1989. 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
  1990. PR ipa/65475
  1991. * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
  1992. non-polymorphic
  1993. 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
  1994. Gerald Pfeifer <gerald@pfeifer.com>
  1995. * doc/contrib.texi (Contributors): Update entry for Danny Smith.
  1996. 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
  1997. Sandra Loosemore <sandra@codesourcery.com>
  1998. * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
  1999. function parameter declaration.
  2000. * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
  2001. Update arguments to nios2_adjust_call_address().
  2002. (sibcall_internal): Rename from *sibcall.
  2003. (sibcall_value_internal): Rename from *sibcall_value.
  2004. * config/nios2/nios2.c (nios2_emit_add_constant): New function.
  2005. (nios2_large_got_address): Add target temp reg parameter.
  2006. (nios2_got_address): Adjust call to nios2_large_got_address, add
  2007. force_reg around it.
  2008. (nios2_load_pic_address): Add target temp reg parameter, replace call
  2009. to nios2_got_address with corresponding code.
  2010. (nios2_legitimize_constant_address): Update call to
  2011. nios2_load_pic_address.
  2012. (nios2_adjust_call_address): Add temp reg parameter, update PIC case
  2013. to use temp reg for PIC loading purposes.
  2014. (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
  2015. (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
  2016. (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
  2017. 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
  2018. * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
  2019. usage of "the @option{...}".
  2020. (-Wopenmp-simd): Likewise.
  2021. (-fsanitize-recover): Likewise.
  2022. (-fsanitize-undefined-trap-on-error): Likewise.
  2023. (-flto): Likewise.
  2024. (tracer-dynamic-coverage-feedback): Likewise.
  2025. (reorder-block-duplicate-feedback): Likewise.
  2026. (loop-unroll-jam-size): Likewise.
  2027. (-B): Likewise.
  2028. (-I-): Likewise.
  2029. (-mabs=legacy): Likewise.
  2030. (-mupper-regs-df): Likewise.
  2031. (-mupper-regs-sf): Likewise.
  2032. (-mpointers-to-nested-functions): Likewise.
  2033. 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
  2034. * doc/extend.texi (Cilk Plus Builtins): Add markup.
  2035. 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
  2036. * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
  2037. additional index entries and cross-references.
  2038. (-fchkp-check-incomplete-type): Likewise.
  2039. (-fchkp-first-field-has-own-bounds): Likewise.
  2040. (-fchkp-narrow-to-innermost-array): Likewise.
  2041. (-fchkp-use-fast-string-functions): Likewise.
  2042. (-fchkp-use-nochk-string-functions): Likewise.
  2043. (-fchkp-use-static-const-bounds): Likewise.
  2044. (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
  2045. (-fchkp-instrument-marked-only): Likewise.
  2046. (-fchkp-use-wrappers): Likewise.
  2047. (-static-libmpx): Likewise.
  2048. (-static-libmpxwrappers): Likewise.
  2049. * doc/extend.texi (bnd_legacy): Likewise.
  2050. (bnd_instrument): Likewise.
  2051. (bnd_variable_size): Likewise.
  2052. (Pointer Bounds Checker builtins): Likewise.
  2053. 2015-03-21 Tom de Vries <tom@codesourcery.com>
  2054. PR tree-optimization/65458
  2055. * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
  2056. * cgraph.h (cgraph_node): Add parallelized_function field.
  2057. * lto-cgraph.c (lto_output_node): Write parallelized_function field.
  2058. (input_overwrite_node): Read parallelized_function field.
  2059. * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
  2060. parallelized_function on cgraph_node for child_fn.
  2061. * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
  2062. Remove include of gt-tree-parloops.h.
  2063. (parallelized_functions): Remove static variable.
  2064. (parallelized_function_p): Rewrite using parallelized_function field of
  2065. cgraph_node.
  2066. (create_loop_fn): Remove adding to parallelized_functions.
  2067. * Makefile.in (GTFILES): Remove tree-parloops.c
  2068. 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
  2069. PR rtl-optimization/64366
  2070. * lra.c (lra_update_insn_regno_info): Consider regs in
  2071. CALL_INSN_FUNCTION_USAGE memory.
  2072. 2015-03-20 Richard Biener <rguenther@suse.de>
  2073. PR middle-end/64715
  2074. * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
  2075. for type comparison and gcc_checking_assert.
  2076. (chrec_fold_plus_poly_poly): Likewise.
  2077. (chrec_fold_multiply_poly_poly): Likewise.
  2078. (chrec_convert_1): Likewise.
  2079. * gimplify.c (gimplify_expr): Remove premature folding of
  2080. &X + CST to &MEM[&X, CST].
  2081. 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
  2082. * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
  2083. already is final.
  2084. (ipa_inline): Recompute inline_failed codes.
  2085. * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
  2086. USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
  2087. CIF_FINAL_ERROR.
  2088. 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
  2089. PR rtl-optimization/60851
  2090. * recog.c (constrain_operands): Accept a pseudo register before reload
  2091. for LRA enabled targets.
  2092. 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
  2093. PR target/65240
  2094. * config/rs6000/predicates.md (easy_fp_constant): Remove special
  2095. -ffast-math handling that kept non-0 constants live in the RTL
  2096. until reload. Remove logic testing the number of instructions it
  2097. took to create a constant in a GPR that was never used, due to a
  2098. test for soft-float earlier.
  2099. (memory_fp_constant): Delete, no longer used.
  2100. * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
  2101. alternatives for loading non-0 constants into GPRs for hard
  2102. floating point that is no longer needed due to changes in
  2103. easy_fp_constant. Add support for loading 0.0 into GPRs.
  2104. (mov<mode>_hardfloat32): Likewise.
  2105. (mov<mode>_hardfloat64): Likewise.
  2106. (mov<mode>_64bit_dm): Likewise.
  2107. (movtd_64bit_nodm): Likewise.
  2108. (pre-reload move FP constant define_split): Delete define_split,
  2109. since it is no longer used.
  2110. (extenddftf2_internal): Remove GHF constraints that are not valid
  2111. for extenddftf2.
  2112. 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
  2113. PR rtl-optimization/63491
  2114. * lra-constraints.c (check_and_process_move): Use src instead of
  2115. sreg. Remove some dead code.
  2116. 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
  2117. PR ipa/65380
  2118. * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
  2119. (sem_variable::merge): Likewise.
  2120. 2015-03-19 Martin Liska <mliska@suse.cz>
  2121. PR ipa/65465
  2122. * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
  2123. all fields of cgraph_thunk_info.
  2124. 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
  2125. * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
  2126. clone instrumented thunks.
  2127. 2015-03-19 Richard Biener <rguenther@suse.de>
  2128. Revert
  2129. 2015-03-10 Richard Biener <rguenther@suse.de>
  2130. PR middle-end/63155
  2131. * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
  2132. * tree-ssa-coalesce.c: Include timevar.h.
  2133. (attempt_coalesce): Handle graph being NULL.
  2134. (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
  2135. Split out abnormal coalescing to ...
  2136. (perform_abnormal_coalescing): ... this function.
  2137. (coalesce_ssa_name): Perform abnormal coalescing without computing
  2138. live/conflict.
  2139. (verify_ssa_coalescing_worker): New function.
  2140. (verify_ssa_coalescing): Likewise.
  2141. 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
  2142. Jakub Jelinek <jakub@redhat.com>
  2143. PR sanitizer/65400
  2144. * tsan.c (instrument_gimple): Clear tail call flag on
  2145. calls.
  2146. 2015-03-19 Jakub Jelinek <jakub@redhat.com>
  2147. PR sanitizer/65400
  2148. * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
  2149. call in the return bb.
  2150. (find_split_points): Add RETURN_BB argument, don't call
  2151. find_return_bb.
  2152. (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
  2153. if true append TSAN_FUNC_EXIT internal call after the call to
  2154. the split off function.
  2155. (execute_split_functions): Call find_return_bb here.
  2156. Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
  2157. Adjust find_split_points and split_function calls.
  2158. 2015-03-18 DJ Delorie <dj@redhat.com>
  2159. * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
  2160. (iorqi3_virt): Likewise.
  2161. 2015-03-18 Tom de Vries <tom@codesourcery.com>
  2162. * tree-parloops.c (parallelize_loops): Make static.
  2163. * tree-parloops.h (parallelize_loops): Remove extern declaration.
  2164. 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
  2165. PR middle-end/64491
  2166. Revert:
  2167. 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
  2168. * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
  2169. condition would be removed due to undefined behaviour.
  2170. 2015-03-18 Martin Liska <mliska@suse.cz>
  2171. PR ipa/65432
  2172. * cgraph.c (cgraph_node::get_create): Remove unnecessary
  2173. xstrdup_for_dump wrapper.
  2174. * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
  2175. sem_item::name.
  2176. (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
  2177. with xstrdup_for_dump.
  2178. (sem_variable::equals): Likewise.
  2179. (sem_item_optimizer::read_section): Use symtab_node::name instead of
  2180. sem_item::name.
  2181. (sem_item_optimizer::parse_funcs_and_vars): Likewise.
  2182. (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
  2183. symtab_node::asm_name with xstrdup_for_dump.
  2184. (congruence_class::dump): Use symtab_node::name instead of
  2185. sem_item::name.
  2186. * ipa-icf.h (symtab_node::name): Remove.
  2187. (symtab_node::asm_name): Likewise.
  2188. 2015-03-18 Jakub Jelinek <jakub@redhat.com>
  2189. PR tree-optimization/65450
  2190. * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
  2191. function.
  2192. (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
  2193. it instead of duplicate_ssa_name_ptr_info.
  2194. PR target/65222
  2195. * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
  2196. 2015-03-18 Richard Biener <rguenther@suse.de>
  2197. * tree-data-ref.h (struct access_matrix): Remove.
  2198. (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
  2199. AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
  2200. AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
  2201. (am_vector_index_for_loop): Likewise.
  2202. (struct data_reference): Remove access_matrix member.
  2203. (DR_ACCESS_MATRIX): Remove.
  2204. (lambda_vector_new): Add comment.
  2205. (lambda_matrix_new): Use XOBNEWVEC.
  2206. 2015-03-18 Richard Biener <rguenther@suse.de>
  2207. * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
  2208. (pass_ch::execute): Cleanup the CFG only if we did sth.
  2209. * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
  2210. 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  2211. * expmed.c (synth_mult): Use std::swap instead of manually
  2212. swapping algorithms.
  2213. 2015-03-18 Jakub Jelinek <jakub@redhat.com>
  2214. PR target/65078
  2215. * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
  2216. 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
  2217. PR target/65296
  2218. * config/avr/avr.opt (-nodevicelib): New option.
  2219. * doc/invoke.texi (AVR Options): Document it.
  2220. * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
  2221. libgcc.a, libc.a, libm.a.
  2222. * config/avr/specs.h: Same.
  2223. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
  2224. which don't (directly) depend on the device. Print more help.
  2225. (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
  2226. (*cpp): Don't define __AVR_DEV_LIB_NAME__.
  2227. * config/avr/driver-avr.c: Remove -nodevicelib from option list in
  2228. case of an error.
  2229. (avr_devicespecs_file): Use suffix "%s" instead of absolute path
  2230. for specs file name.
  2231. * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
  2232. * config/avr/avr-mcus.def: Adjust initializers and comments.
  2233. 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
  2234. * tree-sra.c (ipa_sra_preliminary_function_checks): Use
  2235. DECL_ONE_ONLY to check if decl is one only.
  2236. * ipa-split.c (consider_split): Limit splitt of one only functions.
  2237. 2015-03-16 Jakub Jelinek <jakub@redhat.com>
  2238. PR tree-optimization/65427
  2239. * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
  2240. functions.
  2241. (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
  2242. 2015-03-16 Marek Polacek <polacek@redhat.com>
  2243. * cgraph.h (add_new_static_var): Remove declaration.
  2244. * varpool.c (add_new_static_var): Remove function.
  2245. 2015-03-16 Jakub Jelinek <jakub@redhat.com>
  2246. * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
  2247. instead of vec<tree> * with vec_alloc and release for args.
  2248. Adjust all users.
  2249. PR middle-end/65431
  2250. * omp-low.c (delete_omp_context): Only splay_tree_delete
  2251. reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
  2252. is_gimple_omp_oacc contexts. Don't look at ctx->outer.
  2253. 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
  2254. PR sanitizer/64820
  2255. * cfgexpand.c (align_base): New function.
  2256. (alloc_stack_frame_space): Call it.
  2257. (expand_stack_vars): Align prev_frame to be sure
  2258. data->asan_vec elements aligned properly.
  2259. 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
  2260. PR middle-end/65409
  2261. * expr.c (store_field): Do not do a direct block copy if the source is
  2262. a PARALLEL with BLKmode.
  2263. 2015-03-16 Tom de Vries <tom@codesourcery.com>
  2264. PR middle-end/65414
  2265. Revert:
  2266. 2015-03-12 Tom de Vries <tom@codesourcery.com>
  2267. PR rtl-optimization/64895
  2268. * lra-lives.c (check_pseudos_live_through_calls): Use
  2269. actual_call_used_reg_set instead of call_used_reg_set, if available.
  2270. 2015-03-16 Alan Modra <amodra@gmail.com>
  2271. PR target/63150
  2272. * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
  2273. Modify Z->r bswapdi splitter to use dest in place of scratch.
  2274. In r->Z and Z->r bswapdi splitter rename word_high, word_low
  2275. to word1, word2 and rearrange logic to suit.
  2276. (bswapdi2_64bit): Remove early clobber on Z->r alternative.
  2277. (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
  2278. (bswapdi2_32bit): Remove early clobber on Z->r alternative.
  2279. Add one '?' on r->r. Modify Z->r splitter to avoid need for
  2280. early clobber.
  2281. 2015-03-14 Jakub Jelinek <jakub@redhat.com>
  2282. PR tree-optimization/65369
  2283. * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
  2284. Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
  2285. (vs - 1) * TYPE_SIZE_UNIT (elem_type).
  2286. PR tree-optimization/65418
  2287. * tree-ssa-reassoc.c (extract_bit_test_mask): If there
  2288. are casts in the first PLUS_EXPR operand, ensure tbias and
  2289. *totallowp are in the inner type.
  2290. PR rtl-optimization/65401
  2291. * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
  2292. argument. If true, adjust_address_nv of x with big-endian
  2293. correction for the mode widening to GET_MODE (y).
  2294. (make_field_assignment): Don't do MEM mode widening here.
  2295. Use MEM_P instead of GET_CODE == MEM.
  2296. 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
  2297. * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
  2298. the external decls.
  2299. 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  2300. PR target/64600
  2301. * config/arm/arm.c (arm_gen_constant, AND case): Use
  2302. ARM_SIGN_EXTEND when constructing AND mask.
  2303. 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2304. * graph.c (print_graph_cfg): Make function names visible and append
  2305. parenthesis to it. Also make groups of basic blocks belonging to the
  2306. same function visible.
  2307. 2015-03-12 Richard Biener <rguenther@suse.de>
  2308. PR middle-end/44563
  2309. * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
  2310. to avoid quadratic behavior with inline expansion splitting blocks.
  2311. * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
  2312. with the successor if the predecessor will be merged with it.
  2313. * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
  2314. entry block with its successor.
  2315. 2015-03-13 Richard Biener <rguenther@suse.de>
  2316. PR middle-end/44563
  2317. * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
  2318. (cleanup_tree_cfg_1): Do not call it.
  2319. (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
  2320. (fixup_noreturn_call): Mark the stmt as control altering.
  2321. * tree-cfg.c (execute_fixup_cfg): Do not dump the function
  2322. here.
  2323. (pass_data_fixup_cfg): Produce a dump file.
  2324. * tree-ssa-dom.c: Include tree-cfgcleanup.h.
  2325. (need_noreturn_fixup): New global.
  2326. (pass_dominator::execute): Fixup queued noreturn calls.
  2327. (optimize_stmt): Queue calls that became noreturn for fixup.
  2328. * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
  2329. * tree-ssa-pre.c: Include tree-cfgcleanup.h.
  2330. (el_to_fixup): New global.
  2331. (eliminate_dom_walker::before_dom_childre): Queue calls that
  2332. became noreturn for fixup.
  2333. (eliminate): Fixup queued noreturn calls.
  2334. * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
  2335. (substitute_and_fold_dom_walker): New member stmts_to_fixup.
  2336. (substitute_and_fold_dom_walker::before_dom_children): Queue
  2337. alls that became noreturn for fixup.
  2338. (substitute_and_fold): Fixup queued noreturn calls.
  2339. 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
  2340. * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
  2341. and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
  2342. are building; for methods check ODR type of class they belong to if
  2343. they may lead to a polymorphic call.
  2344. (sem_function::compare_polymorphic_p): Be bit smarter about testing
  2345. when function may lead to a polymorphic call.
  2346. (sem_function::compare_type_list): Remove.
  2347. (sem_variable::equals): Update use of compatible_types_p.
  2348. (sem_variable::parse_tree_refs): Remove.
  2349. (sem_item_optimizer::filter_removed_items): Do not filter out CXX
  2350. cdtor.
  2351. * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
  2352. matching here.
  2353. (func_checker::compatible_polymorphic_types_p): Break out from ...
  2354. (unc_checker::compatible_types_p): ... here.
  2355. * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
  2356. Declare.
  2357. (unc_checker::compatible_types_p): Update.
  2358. * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
  2359. Remove.
  2360. 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  2361. PR rtl-optimization/65235
  2362. * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
  2363. When first element of vec_concat is const_int, calculate its size
  2364. using second element.
  2365. 2015-03-12 Richard Biener <rguenther@suse.de>
  2366. PR middle-end/65270
  2367. * fold-const.c (operand_equal_p): Fix ordering of resetting
  2368. OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
  2369. 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
  2370. * config/s390/s390.c (s390_reorg): Move code to output nops after label
  2371. to s390_reorg ().
  2372. (s390_asm_output_function_label): Likewise.
  2373. * config/s390/s390.c (s390_asm_output_function_label):
  2374. Fix function label alignment with -mhtopatch.
  2375. * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
  2376. UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
  2377. ("nop_2_byte"): New define_insn.
  2378. ("nop_4_byte"): Likewise.
  2379. ("nop_6_byte"): Likewise.
  2380. * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
  2381. * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
  2382. 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
  2383. PR target/65103
  2384. * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
  2385. register.
  2386. 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
  2387. PR target/65044
  2388. * toplev.c (process_options): Restrict Pointer Bounds Checker
  2389. usage with Address Sanitizer.
  2390. 2015-03-12 Richard Biener <rguenther@suse.de>
  2391. * tree-cfg.c (gimple_split_block): Remove loop finding stmt
  2392. to split on.
  2393. * omp-low.c (expand_omp_taskreg): Split block before removing
  2394. the stmt.
  2395. (expand_omp_target): Likewise.
  2396. * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
  2397. * tree-parloops.c (create_call_for_reduction_1): Pass a proper
  2398. stmt to split_block.
  2399. 2015-03-12 Tom de Vries <tom@codesourcery.com>
  2400. PR rtl-optimization/64895
  2401. * lra-lives.c (check_pseudos_live_through_calls): Use
  2402. actual_call_used_reg_set instead of call_used_reg_set, if available.
  2403. 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
  2404. * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
  2405. (cgraph_node::remove): Likewise.
  2406. (cgraph_node::get_untransformed_body): Likewise.
  2407. * varpool.c (varpool_node::remove): Likewise.
  2408. (varpool_node::get_constructor): Add sanity check.
  2409. 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
  2410. * doc/invoke.texi (-fgnu89-inline): Remove discussion about
  2411. old GCC versions.
  2412. (-fabi-compat-version): Likewise.
  2413. (-ffriend-injection): Likewise.
  2414. (-Wdeclaration-after-statement): Likewise.
  2415. (-fomit-frame-pointer): Likewise.
  2416. (-ftree-coalesce-inlined-vars): Likewise.
  2417. (-fvisibility=): Likewise.
  2418. * doc/extend.texi (Typeof): Likewise.
  2419. (Zero Length): Likewise.
  2420. (Escaped Newlines): Likewise.
  2421. (Compound Literals): Likewise.
  2422. (Function Attributes): Likewise.
  2423. (Label Attributes): Likewise.
  2424. (Type Attributes): Likewise.
  2425. (Function Names): Likewise.
  2426. (Other Builtins): Likewise.
  2427. (Function Specific Option Pragmas): Likewise.
  2428. (C++ Interface): Likewise.
  2429. 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
  2430. * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
  2431. 2015-03-11 Marek Polacek <polacek@redhat.com>
  2432. PR tree-optimization/65388
  2433. * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
  2434. 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
  2435. PR target/65296
  2436. * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
  2437. * configure: Regenerate.
  2438. * config.in: Regenerate.
  2439. * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
  2440. [-mn-flash]: Document it.
  2441. [__AVR_ARCH__]: Document avrtiny.
  2442. * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
  2443. (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
  2444. (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
  2445. 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  2446. * doc/invoke.texi: Add missing cpu values (z196, zEC12).
  2447. 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
  2448. PR target/65242
  2449. * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
  2450. allow reloads of PLUS in floating point/VSX registers.
  2451. 2015-03-11 Junmo Park <junmoz.park@samsung.com>
  2452. * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
  2453. crypto_sha256_fast.
  2454. (cortex_a57_crypto_complex): Add crypto_sha256_slow.
  2455. 2015-03-11 Richard Biener <rguenther@suse.de>
  2456. PR tree-optimization/65310
  2457. * tree-sra.c (build_ref_for_offset): Also preserve larger
  2458. alignment.
  2459. 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
  2460. * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
  2461. 2015-03-10 Jakub Jelinek <jakub@redhat.com>
  2462. PR target/65368
  2463. * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
  2464. new define_expand.
  2465. (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
  2466. 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
  2467. * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
  2468. (sem_function::equals_wpa): ... here.
  2469. 2015-03-10 Marek Polacek <polacek@redhat.com>
  2470. Jakub Jelinek <jakub@redhat.com>
  2471. PR sanitizer/65367
  2472. * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
  2473. when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
  2474. separately.
  2475. 2015-03-10 Jakub Jelinek <jakub@redhat.com>
  2476. PR target/65286
  2477. * config/rs6000/t-linux: For powerpc64* target set
  2478. MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
  2479. 2015-03-10 Richard Biener <rguenther@suse.de>
  2480. PR middle-end/44563
  2481. * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
  2482. for redirect_all_calls.
  2483. 2015-03-10 Marek Polacek <polacek@redhat.com>
  2484. * gdbinit.in (pcfun): Define and document.
  2485. 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
  2486. * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
  2487. of libgomp-plugin.h.
  2488. (find_target_compiler): Support a case when the path to gcc is
  2489. specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
  2490. (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
  2491. intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
  2492. libgomp-plugin.h.
  2493. (main): Use GCC_INSTALL_NAME as target_driver_name.
  2494. * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
  2495. define.
  2496. (mkoffload.o): Remove obsolete include path and defines.
  2497. (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
  2498. 2015-03-10 Richard Biener <rguenther@suse.de>
  2499. PR middle-end/63155
  2500. * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
  2501. * tree-ssa-coalesce.c: Include timevar.h.
  2502. (attempt_coalesce): Handle graph being NULL.
  2503. (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
  2504. Split out abnormal coalescing to ...
  2505. (perform_abnormal_coalescing): ... this function.
  2506. (coalesce_ssa_name): Perform abnormal coalescing without computing
  2507. live/conflict.
  2508. (verify_ssa_coalescing_worker): New function.
  2509. (verify_ssa_coalescing): Likewise.
  2510. 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
  2511. PR target/65296
  2512. * config.gcc (extra_options) [avr]: Remove.
  2513. (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
  2514. (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
  2515. (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
  2516. * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
  2517. (-mmcu=): Add Var and MissingArgError properties.
  2518. (-march=): Remove.
  2519. * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
  2520. * config/avr/t-multilib: Regenerate.
  2521. * config/avr/specs.h: New file.
  2522. * config/avr/driver-avr.c: New file.
  2523. * config/avr/genopt.sh: Remove file.
  2524. * config/avr/avr-tables.opt: Remove file.
  2525. * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
  2526. * config/avr/avr-c.c: Same.
  2527. * avr-arch.h: Same.
  2528. (avr_current_device): Remove proto.
  2529. * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
  2530. (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
  2531. (EXTRA_SPEC_FUNCTIONS): Define.
  2532. (avr_devicespecs_file): New specs function proto.
  2533. (DRIVER_SELF_SPECS): Use device-specs-file spec function.
  2534. * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
  2535. (avr_current_device): Remove definition and usage.
  2536. (avr_set_core_architecture): New static function.
  2537. (avr_option_override): Use it.
  2538. * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
  2539. (mcu_name): New static array.
  2540. (comparator, avr_archs_str, avr_mcus_str): New static functions.
  2541. (avr_inform_devices, avr_inform_core_architectures): New functions.
  2542. * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
  2543. (avrlibc.h) [WITH_AVRLIBC]: Include.
  2544. (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
  2545. (print_mcu): Rewrite from scratch.
  2546. * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
  2547. Forward to avr-specific specs defined in device-specs file.
  2548. * config/avr/t-avr (driver-avr.o): New rule.
  2549. (avr-devices.o): Depend on avr-arch.h.
  2550. (avr-mcus): No more depend on avr-tables.opt.
  2551. (avr-tables.opt): Remove rule.
  2552. (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
  2553. 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
  2554. * c-family/c.opt (fchkp-use-wrappers): New.
  2555. * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
  2556. (chkp_wrap_function): New.
  2557. (chkp_build_instrumented_fndecl): Support wrapped
  2558. functions.
  2559. * doc/invoke.texi (-fcheck-pointer-bounds): New.
  2560. (-fchkp-check-incomplete-type): New.
  2561. (-fchkp-first-field-has-own-bounds): New.
  2562. (-fchkp-narrow-bounds): New.
  2563. (-fchkp-narrow-to-innermost-array): New.
  2564. (-fchkp-optimize): New.
  2565. (-fchkp-use-fast-string-functions): New.
  2566. (-fchkp-use-nochk-string-functions): New.
  2567. (-fchkp-use-static-bounds): New.
  2568. (-fchkp-use-static-const-bounds): New.
  2569. (-fchkp-treat-zero-dynamic-size-as-infinite): New.
  2570. (-fchkp-check-read): New.
  2571. (-fchkp-check-write): New.
  2572. (-fchkp-store-bounds): New.
  2573. (-fchkp-instrument-calls): New.
  2574. (-fchkp-instrument-marked-only): New.
  2575. (-fchkp-use-wrappers): New.
  2576. (-static-libmpx): New.
  2577. (-static-libmpxwrappers): New.
  2578. 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
  2579. * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
  2580. (CHKP_SPEC): Add wrappers library.
  2581. * c-family/c.opt (static-libmpxwrappers): New.
  2582. 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
  2583. * config/i386/linux-common.h (LIBMPX_LIBS): New.
  2584. (LIBMPX_SPEC): New.
  2585. (CHKP_SPEC): New.
  2586. * gcc.c (CHKP_SPEC): New.
  2587. (LINK_COMMAND_SPEC): Add CHKP_SPEC.
  2588. * c-family/c.opt (static-libmpx): New.
  2589. 2015-03-10 Richard Biener <rguenther@suse.de>
  2590. PR middle-end/44563
  2591. * cgraph.h (struct cgraph_edge_hasher): Add hash overload
  2592. for compare_type.
  2593. * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
  2594. (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
  2595. (cgraph_add_edge_to_call_site_hash): Likewise.
  2596. (cgraph_node::get_edge): Likewise.
  2597. (cgraph_edge::set_call_stmt): Likewise.
  2598. (cgraph_edge::remove_caller): Likewise.
  2599. 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
  2600. * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
  2601. (callee_saved_gpr_regs_size): ... this.
  2602. (callee_saved_regs_first_regno): Rename to ...
  2603. (callee_saved_first_gpr_regno): ... this.
  2604. (callee_saved_regs_last_regno) Rename to ...
  2605. (callee_saved_last_gpr_regno): ... this.
  2606. * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
  2607. variables.
  2608. (nds32_initial_elimination_offset): Likewise.
  2609. (nds32_expand_prologue): Likewise.
  2610. (nds32_expand_epilogue): Likewise.
  2611. (nds32_expand_prologue_v3push): Likewise.
  2612. (nds32_expand_epilogue_v3pop): Likewise.
  2613. * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
  2614. Adjust renamed variables.
  2615. (nds32_output_stack_pop): Likewise.
  2616. 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2617. * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
  2618. code in comment.
  2619. 2015-03-10 Jakub Jelinek <jakub@redhat.com>
  2620. PR rtl-optimization/65321
  2621. * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
  2622. than shift mode.
  2623. * var-tracking.c (use_narrower_mode): Likewise.
  2624. 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
  2625. PR tree-optimization/65355
  2626. * varasm.c (notice_global_symbol): Do not produce RTL.
  2627. * symtab.c (symtab_node::can_increase_alignment_p): Check for section
  2628. anchor.
  2629. * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
  2630. check for section anchors.
  2631. 2015-03-10 Alan Modra <amodra@gmail.com>
  2632. PR target/65286
  2633. * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
  2634. to be single-arch by default. Set cpu_is_64bit for powerpc64
  2635. given --with-cpu=native.
  2636. * config/rs6000/t-fprules: Do not set default MULTILIB vars.
  2637. * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
  2638. and powerpc64le.
  2639. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
  2640. rs6000_isa_flags rather than TARGET_64BIT.
  2641. 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
  2642. Kaz Kojima <kkojima@gcc.gnu.org>
  2643. * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
  2644. 2015-03-09 Jakub Jelinek <jakub@redhat.com>
  2645. PR lto/65361
  2646. * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
  2647. on a TREE_BINFO, instead use BINFO_TYPE.
  2648. 2015-03-09 Richard Biener <rguenther@suse.de>
  2649. PR middle-end/65270
  2650. * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
  2651. * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
  2652. operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
  2653. of that. When comparing dereferences compare alignment.
  2654. When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
  2655. 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
  2656. * ipa-inline-analysis.c (check_callers): Check
  2657. node->can_remove_if_no_direct_calls_and_refs_p.
  2658. (growth_likely_positive): Reorganize to call
  2659. can_remove_if_no_direct_calls_p later.
  2660. * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
  2661. will_be_removed_from_program_if_no_direct_calls_p): Add
  2662. will_inline parameter.
  2663. * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
  2664. cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
  2665. Handle inliner case correctly.
  2666. 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2667. PR tree-optimization/63743
  2668. * cfgexpand.c (reorder_operands): Also reorder if only second operand
  2669. had its definition forwarded by TER.
  2670. 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
  2671. PR lto/65316
  2672. * ipa-utils.h (types_odr_comparable): Add strict argument.
  2673. * ipa-devirt.c: Fix whitespace;
  2674. (odr_hasher): Remove.
  2675. (odr_name_hasher, odr_vtable_hasher): New hashers.
  2676. (can_be_name_hashed_p): New predicate.
  2677. (hash_type_name): remove.
  2678. (hash_odr_name): New.
  2679. (odr_name_hasher::hash): new.
  2680. (can_be_vtable_hashed_p): New.
  2681. (hash_odr_vtable): New.
  2682. (odr_vtable_hasher::hash): New.
  2683. (types_same_for_odr): Add strict parameter.
  2684. (types_odr_comparable): Likewise.
  2685. (odr_name_hasher::equal): New.
  2686. (odr_vtable_hasher::equal): New.
  2687. (odr_name_hasher::remove): New.
  2688. (odr_hash_type): Change to hash_table<odr_name_hasher>.
  2689. (odr_vtable_hash_type): New.
  2690. (odr_vtable_hash): New.
  2691. (odr_subtypes_equivalent_p): Do strict comparsion.
  2692. (add_type_duplicate): Merge type names; cleanup; avoid type
  2693. duplicates.
  2694. (register_odr_type): Initialize vtable hash.
  2695. (build_type_inheritance_graph): Likewise
  2696. (get_odr_type): Reorg to use two hashes.
  2697. (dump_possible_polymorphic_call_targets): Move sanity check after debug
  2698. output.
  2699. (ipa_devirt): Dump type_inheritance_graph.
  2700. (types_same_for_odr): Add strict mode.
  2701. 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
  2702. PR ipa/65334
  2703. * cgraph.h (symtab_node): Add definition_alignment,
  2704. can_increase_alignment_p and increase_alignment.
  2705. * symtab.c (symtab_node::can_increase_alignment_p,
  2706. increase_alignment_1, symtab_node::increase_alignment,
  2707. symtab_node::definition_alignment): New.
  2708. * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
  2709. can_increase_alignment_p.
  2710. * tree-vectorizer.c (increase_alignment): Use increase_alignment.
  2711. * tree-vect-stmts.c (ensure_base_align): Likewise.
  2712. * varasm.c (function_section_1): Use definition_alignment.
  2713. (assemble_start_function): Likewise.
  2714. (emit_local): likewise.
  2715. (build_constant_desc): Likewsie.
  2716. (output_constant_def_contents): Likewise.
  2717. (place_block_symbol): Likewise.
  2718. (output_object_block): Likewise.
  2719. 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
  2720. PR ipa/65316
  2721. * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
  2722. when outputting debug.
  2723. 2015-03-07 Marek Polacek <polacek@redhat.com>
  2724. Martin Uecker <uecker@eecs.berkeley.edu>
  2725. PR sanitizer/65280
  2726. * doc/invoke.texi: Update description of -fsanitize=bounds.
  2727. 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
  2728. * tree-ssa-phiopt.c (neg_replacement): Remove.
  2729. (tree_ssa_phiopt_worker): Remove negate optimization.
  2730. 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
  2731. PR ipa/65302
  2732. * value-prof.c (gimple_ic): Pure dead eh edges when needed.
  2733. 2015-03-06 Richard Biener <rguenther@suse.de>
  2734. PR middle-end/64928
  2735. * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
  2736. and liveout_obstack members.
  2737. (calculate_live_on_exit): Remove.
  2738. (calculate_live_ranges): Change declaration.
  2739. * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
  2740. (new_tree_live_info): Adjust.
  2741. (calculate_live_ranges): Delete livein when not wanted.
  2742. (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
  2743. Deal with partly deleted live info.
  2744. (loe_visit_block): Remove temporary bitmap by using
  2745. bitmap_ior_and_compl_into.
  2746. (live_worklist): Adjust accordingly.
  2747. (calculate_live_on_exit): Make static.
  2748. * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
  2749. we do not need livein.
  2750. 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
  2751. * real.c (real_from_string): Fix typo in assertion.
  2752. 2015-03-06 Alex Velenko <alex.velenko@arm.com>
  2753. * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
  2754. the patch.
  2755. 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
  2756. * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
  2757. 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
  2758. PR target/64342
  2759. * lra-assigns.c (find_hard_regno_for): Rename to
  2760. find_hard_regno_for_1. Add a new parameter.
  2761. (find_hard_regno_for): New function using find_hard_regno_for_1.
  2762. 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
  2763. PR rtl-optimization/65067
  2764. * expmed.c (store_bit_field, extract_bit_field): Reworked the
  2765. strict volatile bitfield handling.
  2766. 2015-03-05 Martin Liska <mliska@suse.cz>
  2767. PR ipa/65318
  2768. * ipa-icf.c (sem_variable::equals): Compare variables types.
  2769. 2015-03-05 Richard Henderson <rth@redhat.com>
  2770. PR target/65121
  2771. * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
  2772. correctly check weak symbol binding.
  2773. 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
  2774. PR middle-end/65315
  2775. * cfgexpand.c (expand_stack_vars): Update large_align to maximum
  2776. needed alignment.
  2777. 2015-03-05 Martin Liska <mliska@suse.cz>
  2778. * ipa-inline.c (inline_small_functions): Set default value to
  2779. prevent warning during bootstrap.
  2780. * tree.h: Add pragma guard that ignores false positives during
  2781. bootstrap.
  2782. 2015-03-05 Richard Biener <rguenther@suse.de>
  2783. PR tree-optimization/65310
  2784. * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
  2785. Properly preserve alignment of the base of the access.
  2786. 2015-03-05 Richard Biener <rguenther@suse.de>
  2787. PR ipa/65270
  2788. * ipa-icf-gimple.c (func_checker::compare_memory_operand):
  2789. Compare dependence info.
  2790. 2015-03-05 Richard Biener <rguenther@suse.de>
  2791. PR middle-end/65233
  2792. * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
  2793. tree-into-ssa.h.
  2794. (walk_ssa_copies): Revert last chage. Instead do not walk
  2795. SSA names registered for SSA update.
  2796. 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
  2797. PR ipa/65270
  2798. * ipa-icf.c (sem_item::compare_cgraph_references): Compare
  2799. vtable references for their containing type.
  2800. (sem_function::equals_wpa): Compare TYPE_RESTRICT
  2801. and type attributes.
  2802. 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
  2803. * fold-const.c (round_up_loc): Cast divisor to signed on all paths
  2804. before negating it.
  2805. * stor-layout.c (finalize_record_size): Revert latest change.
  2806. 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
  2807. * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
  2808. 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
  2809. * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
  2810. for correct comdat handling.
  2811. (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
  2812. Likewise.
  2813. * cgraph.h (call_for_symbol_and_aliases): Fix formating.
  2814. (used_from_object_file_p_worker): Remove.
  2815. (cgraph_node::only_called_directly_or_alised): Add
  2816. used_from_object_file_p.
  2817. * ipa-inline-analysis.c (growth_likely_positive): Optimie.
  2818. * ipa-inline-transform.c (can_remove_node_now_p_1): Use
  2819. can_remove_if_no_direct_calls_and_refs_p.
  2820. 2015-03-04 Nick Clifton <nickc@redhat.com>
  2821. * config/rl78/rl78.h (enum reg_class): Remove real registers from
  2822. General register class.
  2823. * config/rl78/rl78-real.md: Replace general register constraints
  2824. with real+virtual register constraints.
  2825. 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  2826. * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
  2827. from checking for -mhtm option.
  2828. 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
  2829. * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
  2830. (struct ipa_sra_check_caller_data): Add has_thunk field.
  2831. (ipa_sra_check_caller): Check for thunk.
  2832. (ipa_sra_preliminary_function_checks): Give up on function with
  2833. thunks.
  2834. (ipa_early_sra): Use call_for_symbol_and_aliases.
  2835. 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
  2836. PR target/65249
  2837. * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
  2838. called for __stack_chk_guard symbol.
  2839. 2015-03-03 DJ Delorie <dj@redhat.com>
  2840. * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
  2841. inc/dec.
  2842. (*addhi3_real): Likewise.
  2843. * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
  2844. pattern to match incrementing memory.
  2845. * config/rl78/predicates.md (rl78_1_2_operand): New.
  2846. * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
  2847. it's the same and only mem.
  2848. (rl78_alloc_physical_registers_op2): If there's effectively only
  2849. one MEM, transcode it into HL.
  2850. (rl78_far_p): Reject addresses that aren't legitimate.
  2851. 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
  2852. * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
  2853. negating it.
  2854. * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
  2855. 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
  2856. Implement call0 ABI for xtensa
  2857. * config/xtensa/constraints.md ("a" constraint): Include stack
  2858. pointer in case of call0 ABI.
  2859. ("q" constraint): Make empty in case of call0 ABI.
  2860. ("D" constraint): Include stack pointer in case of call0 ABI.
  2861. * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
  2862. xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
  2863. prototypes.
  2864. * config/xtensa/xtensa.c (xtensa_callee_save_size): New
  2865. variable.
  2866. (xtensa_regno_to_class): Make it a local variable in the
  2867. function xtensa_regno_to_class.
  2868. (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
  2869. macro, function prototype and implementation.
  2870. (reg_nonleaf_alloc_order): Make it a local variable in the
  2871. function order_regs_for_local_alloc.
  2872. (xtensa_conditional_register_usage): New function.
  2873. (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
  2874. (xtensa_valid_move): Allow direct moves to stack pointer
  2875. register in call0 ABI.
  2876. (xtensa_setup_frame_addresses): Only spill register windows in
  2877. windowed ABI.
  2878. (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
  2879. call0 ABI respectively.
  2880. (xtensa_function_arg_1): Only mark a7 register for copying in
  2881. windowed ABI.
  2882. (xtensa_call_save_reg): New function.
  2883. (compute_frame_size): Add space for callee saved register
  2884. storage to the frame size in call0 ABI.
  2885. (xtensa_expand_prologue): Generate code to set up stack frame
  2886. and save callee-saved registers in call0 ABI.
  2887. (xtensa_expand_epilogue): New function.
  2888. (xtensa_set_return_address): New function.
  2889. (xtensa_return_addr): Calculate return address in call0 ABI.
  2890. (xtensa_builtin_saveregs): Only mark a7 register for copying and
  2891. emit copying code in windowed ABI.
  2892. (order_regs_for_local_alloc): Add preferred register allocation
  2893. order for non-leaf function in call0 ABI.
  2894. (xtensa_static_chain): Add atatic chain passing for call0 ABI.
  2895. (xtensa_asm_trampoline_template): Add trampoline generation for
  2896. call0 ABI.
  2897. (xtensa_trampoline_init): Add trampoline initialization for
  2898. call0 ABI.
  2899. (xtensa_conditional_register_usage, xtensa_regno_to_class): New
  2900. functions.
  2901. * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
  2902. (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
  2903. (CALL_USED_REGISTERS): Modify to encode both windowed and call0
  2904. ABI call-used registers.
  2905. (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
  2906. (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
  2907. call0 ABI.
  2908. (REG_CLASS_CONTENTS): Include all registers into the preferred
  2909. reload registers set, adjust the set in the
  2910. xtensa_conditional_register_usage.
  2911. (xtensa_regno_to_class): Drop variable declaration.
  2912. (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
  2913. function.
  2914. (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
  2915. respectively.
  2916. (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
  2917. (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
  2918. (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
  2919. (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
  2920. location in call0 ABI.
  2921. (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
  2922. stack adjustment size when handling exception.
  2923. (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
  2924. * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
  2925. definitions.
  2926. ("return" pattern): Generate ret.n/ret in call0 ABI.
  2927. ("epilogue" pattern): Expand epilogue.
  2928. ("nonlocal_goto" pattern): Use default in call0 ABI.
  2929. ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
  2930. emit eh_set_a0_* depending on ABI.
  2931. ("eh_set_a0_windowed" pattern): Former eh_return pattern.
  2932. ("eh_set_a0_call0", "blockage"): New patterns.
  2933. 2015-03-03 Martin Liska <mliska@suse.cz>
  2934. PR ipa/65287
  2935. * ipa-icf.c (sem_variable::parse): Skip all alias variables.
  2936. 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
  2937. PR 65138/target
  2938. * config/rs6000/rs6000-tables.opt: Regenerate table.
  2939. 2015-03-03 Renlin Li <renlin.li@arm.com>
  2940. * doc/md.texi (@item ^): Change ? into ^.
  2941. 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
  2942. * doc/tm.texi: Regenerated.
  2943. 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
  2944. * builtins.c (expand_builtin_return_addr): Add
  2945. RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
  2946. surrounding #ifdef.
  2947. * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
  2948. definition to 1.
  2949. * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
  2950. Likewise.
  2951. * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
  2952. undefined.
  2953. * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
  2954. paragraph.
  2955. 2015-03-03 Martin Jambor <mjambor@suse.cz>
  2956. Eric Botcazou <ebotcazou@adacore.com>
  2957. * tree-sra.c (ipa_sra_check_caller_data): New type.
  2958. (has_caller_p): Removed.
  2959. (ipa_sra_check_caller): New function.
  2960. (ipa_sra_preliminary_function_checks): Use it.
  2961. 2015-03-03 Martin Liska <mliska@suse.cz>
  2962. * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
  2963. instead of if branch.
  2964. 2015-03-03 Martin Liska <mliska@suse.cz>
  2965. PR ipa/65282
  2966. * ipa-icf.c (sem_variable::equals): Fix wrong condition.
  2967. 2015-03-23 Jeff Law <law@redhat.com>
  2968. PR tree-optimization/65241
  2969. * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
  2970. hash table if INSERT is true.
  2971. 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
  2972. PR target/65296
  2973. * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
  2974. 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
  2975. PR target/64331
  2976. * config/avr/avr.c (context.h, tree-pass.h): Include them.
  2977. (avr_pass_data_recompute_notes): New static variable.
  2978. (avr_pass_recompute_notes): New class.
  2979. (avr_register_passes): New static function.
  2980. (avr_option_override): Call it.
  2981. 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
  2982. Fix various problems with specs file generation.
  2983. PR target/65296
  2984. * config.gcc (extra_gcc_objs) [avr]: Remove.
  2985. * config/avr/driver-avr.c: Remove file.
  2986. * config/avr/t-avr (driver-avr.o): Remove rule.
  2987. (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
  2988. INCLUDES to build. Depend on TM_H.
  2989. * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
  2990. build warnings. Fix non-matching types and non-existing %-codes.
  2991. (tm.h): Include.
  2992. (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
  2993. (*libgcc) [WITH_AVRLIBC]: Add "-lm".
  2994. * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
  2995. * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
  2996. (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
  2997. (LIBGCC_SPEC): Remove definitions.
  2998. 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
  2999. * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
  3000. to create a register in testing mode.
  3001. 2015-03-03 Martin Liska <mliska@suse.cz>
  3002. Jan Hubicka <hubicka@ucw.cz>
  3003. PR ipa/65263
  3004. * cgraph.c (cgraph_node::has_thunk_p): New function.
  3005. * cgraph.h (cgraph_node::has_thunk_p: Likewise.
  3006. * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
  3007. (sem_function::merge): Assert is changed.
  3008. 2015-03-03 Martin Liska <mliska@suse.cz>
  3009. Martin Jambor <mjambor@suse.cz>
  3010. PR ipa/65087
  3011. * ipa-icf.c (sem_item_optimizer::execute): Change function
  3012. return value to boolean.
  3013. (sem_item_optimizer::merge_classes): Likewise.
  3014. (ipa_icf_driver): Return TODO_remove_functions in case there's
  3015. a merge operation processed.
  3016. * ipa-icf.h: Change function return value to boolean.
  3017. 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
  3018. PR 65138/target
  3019. * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
  3020. processor type for 64-bit little endian PowerPC.
  3021. * config/rs6000/rs6000.c (rs6000_option_override_internal): If
  3022. -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
  3023. TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
  3024. printing built-in mask so it does not pass NULL pointers.
  3025. * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
  3026. -mcpu=powerpc64le.
  3027. 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
  3028. PR target/58158
  3029. * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
  3030. !ISA_HAS_FP_CONDMOVE.
  3031. 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
  3032. * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
  3033. reload_completed.
  3034. 2015-03-02 Ulrich Drepper <drepper@gmail.com>
  3035. * doc/invoke.texi (Options for Code Generation Conventions):
  3036. Fix URL of DSO paper.
  3037. 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
  3038. PR ipa/65130
  3039. * ipa-inline.c (check_callers): Looks for recursion.
  3040. (inline_to_all_callers): Give up on uninlinable or recursive edges.
  3041. * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
  3042. summary of inline clones.
  3043. (do_estimate_growth_1): Fix recursion check.
  3044. 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
  3045. PR ipa/64988
  3046. * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
  3047. comdat groups.
  3048. 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
  3049. Aldy Hernandez <aldyh@redhat.com>
  3050. PR lto/65276
  3051. * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
  3052. when checking TYPE_BINFO.
  3053. 2015-03-02 Richard Biener <rguenther@suse.de>
  3054. PR ipa/65270
  3055. * ipa-icf-gimple.c: Include builtins.h.
  3056. (func_checker::compare_memory_operand): Compare base alignment.
  3057. 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
  3058. PR target/65184
  3059. * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
  3060. are never passed by reference.
  3061. 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
  3062. PR target/65183
  3063. * tree-chkp.c (chkp_check_lower): Don't check against
  3064. zero bounds for already instrumented functions.
  3065. (chkp_check_upper): Likewise.
  3066. (chkp_fini): Clean pass local data to avoid wrong reusage.
  3067. 2015-02-28 Martin Liska <mliska@suse.cz>
  3068. Jan Hubicka <hubicka@ucw.cz>
  3069. * ipa-icf.c (sem_variable::equals): Improve debug output;
  3070. get variable constructor.
  3071. (sem_variable::parse): Do not filter out too early; give up on
  3072. volatile and register vars.
  3073. (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
  3074. variables.
  3075. * ipa-icf.h (sem_variable::init): Do not set ctor.
  3076. (sem_variable::ctor): Remove.
  3077. 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
  3078. PR middle-end/65233
  3079. * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
  3080. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3081. * ipa-icf.c: Include stor-layout.h
  3082. (sem_function::compare_cgraph_references): Rename to ...
  3083. (sem_item::compare_cgraph_references): ... this one.
  3084. (sem_variable::equals_wpa): New function
  3085. (sem_variable::equals): Do not check stuff already verified by
  3086. equals_wpa.
  3087. (sem_variable::equals): Reorg based on varasm.c:compare_constant.
  3088. * ipa-icf.h (sem_item): Add compare_cgraph_references.
  3089. (sem_function): Remove compare_cgraph_references.
  3090. (sem_variable): Turns equals_wpa into non-inline.
  3091. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3092. * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
  3093. (sem_item::add_expr): New function.
  3094. (sem_function::hash_stmt): Handle operands of most statements.
  3095. (sem_variable::get_hash): Hash the actual constructor.
  3096. * ipa-icf.h (sem_item): Add add_expr.
  3097. (sem_function): Update prototype of hash_stmt
  3098. 2015-02-28 Martin Liska <mliska@suse.cz>
  3099. Jan Hubicka <hubicka@ucw.cz>
  3100. PR ipa/65245
  3101. * ipa-icf-gimple.c (func_checker::compare_function_decl):
  3102. Remove.
  3103. (func_checker::compare_variable_decl): Skip symtab vars.
  3104. (func_checker::compare_cst_or_decl): Update.
  3105. * ipa-icf.c (sem_function::parse): Do not consider aliases.
  3106. (sem_function::compare_cgraph_references): Add ADDRESS parameter;
  3107. use correct symtab predicates.
  3108. (sem_function::equals_wpa): Update uses of compare_cgraph_references.
  3109. (sem_variable::parse): Update comment.
  3110. (sem_item_optimizer::build_graph): Consider ultimate aliases
  3111. for references.
  3112. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3113. * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
  3114. of OBJ_TYPE_REF.
  3115. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3116. * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
  3117. (sem_variable::merge) Likewise.
  3118. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3119. * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
  3120. target; also match flag_ipa_devirt.
  3121. 2015-03-01 Martin Liska <mliska@suse.cz>
  3122. Jan Hubicka <hubicka@ucw.cz>
  3123. * ipa-icf-gimple.c (func_checker::compare_variable_decl):
  3124. Validate variable alignment.
  3125. * ipa-icf.c (sem_function::equals_private): Be more precise
  3126. about non-common function attributes.
  3127. (sem_variable::equals): Likewise.
  3128. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3129. PR ipa/65237
  3130. * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
  3131. across COMDAT group boundary.
  3132. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3133. PR ipa/65232
  3134. * ipa-icf.c (clear_decl_rtl): New function.
  3135. (sem_function::merge): Clear RTL before forming alias.
  3136. (sem_variable::merge): Clear RTL before forming alias.
  3137. 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
  3138. PR ipa/65236
  3139. * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
  3140. 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
  3141. * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
  3142. to neon_to_gp<q>.
  3143. 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
  3144. * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
  3145. a typo in the description.
  3146. 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
  3147. PR target/64317
  3148. * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
  3149. * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
  3150. * lra-constraints.c: Include "params.h".
  3151. (EBB_PROBABILITY_CUTOFF): Use
  3152. LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
  3153. (lra_inheritance): Use '<' instead of '<=' for
  3154. EBB_PROBABILITY_CUTOFF.
  3155. * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
  3156. Document change.
  3157. 2015-02-27 Martin Liska <mliska@suse.cz>
  3158. * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
  3159. vector length condition.
  3160. 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
  3161. * doc/extend.texi (x86 transactional memory intrinsics):
  3162. Reorganize discussion of _xbegin. Clarify that the return
  3163. value is a bit mask. Expand example and move to end of section.
  3164. 2015-02-26 Jakub Jelinek <jakub@redhat.com>
  3165. Aldy Hernandez <aldyh@redhat.com>
  3166. PR rtl-optimization/65220
  3167. * config/i386/i386.md (*udivmod<mode>4_pow2): New.
  3168. 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
  3169. PR target/65032
  3170. * lra-remat.c (update_scratch_ops): New.
  3171. (do_remat): Call it.
  3172. * lra.c (lra_register_new_scratch_op): New. Take code from ...
  3173. (remove_scratches): ... here.
  3174. * lra-int.h (lra_register_new_scratch_op): New prototype.
  3175. 2015-02-27 Marek Polacek <polacek@redhat.com>
  3176. PR c/65040
  3177. * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
  3178. -Wformat-signedness anymore.
  3179. 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  3180. * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
  3181. function.
  3182. (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
  3183. 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  3184. * config/s390/s390.c (enum s390_builtin):
  3185. Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
  3186. (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
  3187. (s390_init_builtins): Generate new builtin functions.
  3188. * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
  3189. (s390_sfpc, s390_efpc): New pattern definitions.
  3190. 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  3191. * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
  3192. Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
  3193. (s390_builtin_decls): New array.
  3194. (s390_init_builtins): Put builtin decls into s390_builtin_decls.
  3195. (s390_builtin_decl): New function.
  3196. (TARGET_BUILTIN_DECL): Define macro.
  3197. 2015-02-27 Richard Biener <rguenther@suse.de>
  3198. PR middle-end/63175
  3199. * builtins.c (get_object_alignment_2): Make sure to re-apply
  3200. the ANDed mask after recursing to its operand gets us a new
  3201. misalignment bit position.
  3202. 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
  3203. Martin Liska <mliska@suse.cz>
  3204. PR bootstrap/65150
  3205. * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
  3206. Use address_matters_p.
  3207. (redirect_all_callers, set_addressable): New functions.
  3208. (sem_function::merge): Reorganize and fix merging issues.
  3209. (sem_variable::merge): Likewise.
  3210. (sem_variable::compare_sections): Remove.
  3211. * common.opt (fmerge-all-constants, fmerge-constants): Remove
  3212. Optimization flag.
  3213. * symtab.c (symtab_node::resolve_alias): When alias has aliases,
  3214. redirect them.
  3215. (symtab_node::make_decl_local): Set ADDRESSABLE bit when
  3216. decl is used.
  3217. (address_matters_1): New function.
  3218. (symtab_node::address_matters_p): New function.
  3219. * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
  3220. check for merged flag.
  3221. * cgraph.h (address_matters_p): Declare.
  3222. (symtab_node::address_taken_from_non_vtable_p): Remove.
  3223. (symtab_node::address_can_be_compared_p): New method.
  3224. (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
  3225. * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
  3226. Remove.
  3227. (comdat_can_be_unshared_p_1) Use address_matters_p.
  3228. (update_vtable_references): Fix formating.
  3229. * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
  3230. * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
  3231. * cgraphclones.c: Preserve merged and icf_merged flags.
  3232. 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
  3233. * doc/extend.texi (Function Attributes): Fix spelling and typos.
  3234. (Label Attributes): Likewise.
  3235. (Cilk Plus Builtins): Likewise.
  3236. (ARC SIMD Built-in Functions): Likewise.
  3237. (ARM C Language Extensions (ACLE)): Likewise.
  3238. (PowerPC Built-in Functions): Likewise.
  3239. (PowerPC Hardware Transactional Memory Built-in Functions):
  3240. Likewise.
  3241. 2015-02-26 Jakub Jelinek <jakub@redhat.com>
  3242. PR tree-optimization/65216
  3243. * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
  3244. new stmt and new SSA_NAME for lhs whenever the arguments have
  3245. changed and weren't just swapped. Fix comment typo.
  3246. PR tree-optimization/65215
  3247. * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
  3248. for PDP endian targets.
  3249. (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
  3250. Fix up formatting issues.
  3251. (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
  3252. size is smaller than the original, adjust MEM_REF offset by the
  3253. difference of sizes. Use is_gimple_mem_ref_addr instead of
  3254. is_gimple_min_invariant test to avoid adding address temporaries.
  3255. 2015-02-26 Martin Liska <mliska@suse.cz>
  3256. Jan Hubicka <hubicka@ucw.cz>
  3257. PR ipa/64693
  3258. * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
  3259. (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
  3260. (sem_item_optimizer::process_cong_reduction): Include division by
  3261. sensitive references.
  3262. * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
  3263. * ipa-ref.c (ipa_ref::address_matters_p): New function.
  3264. * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
  3265. 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
  3266. PR target/65192
  3267. * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
  3268. Remove.
  3269. * config/avr/avr.c: Same.
  3270. (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
  3271. Refuse any constant address not in 0..0xbf.
  3272. * config/avr/avr.md (*mov<mode>, *movsf): Remove
  3273. tiny_valid_direct_memory_access_range from insn conditions.
  3274. (mov<mode>): Don't special-case expansion of avrtiny addresses.
  3275. 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
  3276. PR target/61142
  3277. * config/sh/sh.c (sh_check_add_incdec_notes): New function.
  3278. * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
  3279. * config/sh/predicates.md (const_logical_operand): New predicate.
  3280. * config/sh/sh.md: Add new peephole2 patterns.
  3281. 2015-02-26 Marek Polacek <polacek@redhat.com>
  3282. PR ipa/65008
  3283. * ipa-inline.c (early_inliner): Recompute inline parameters.
  3284. 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  3285. PR target/65171
  3286. * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
  3287. instructions with TImode operands are included in the analysis.
  3288. 2015-02-26 Sebastian Pop <s.pop@samsung.com>
  3289. * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
  3290. of an EDGE_FSM_THREAD.
  3291. 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
  3292. * config/rs6000/htm.md (tcheck): Fix assembly encoding.
  3293. 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
  3294. PR debug/46102
  3295. * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
  3296. 2015-02-26 Sebastian Pop <s.pop@samsung.com>
  3297. PR tree-optimization/65048
  3298. * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
  3299. (thread_through_all_blocks): Call valid_jump_thread_path.
  3300. Remove invalid FSM jump-thread paths.
  3301. 2015-02-26 Jakub Jelinek <jakub@redhat.com>
  3302. * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
  3303. (ipa_write_optimization_summaries): Likewise.
  3304. * tree-streamer.h: Include data-streamer.h.
  3305. (streamer_mode_table): Declare extern variable.
  3306. (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
  3307. * lto-streamer-out.c (lto_output_init_mode_table,
  3308. lto_write_mode_table): New functions.
  3309. (produce_asm_for_decls): Call lto_write_mode_table when streaming
  3310. offloading LTO.
  3311. * lto-section-in.c (lto_section_name): Add "mode_table" entry.
  3312. (lto_create_simple_input_block): Add mode_table argument to the
  3313. lto_input_block constructors.
  3314. * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
  3315. Likewise.
  3316. * data-streamer-in.c (string_for_index): Likewise.
  3317. * ipa-inline-analysis.c (inline_read_section): Likewise.
  3318. * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
  3319. * lto-cgraph.c (input_cgraph_opt_section): Likewise.
  3320. * lto-streamer-in.c (lto_read_body_or_constructor,
  3321. lto_input_toplevel_asms): Likewise.
  3322. (lto_input_mode_table): New function.
  3323. * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
  3324. pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
  3325. Use bp_pack_machine_mode.
  3326. * real.h (struct real_format): Add name field.
  3327. * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
  3328. (class lto_input_block): Add mode_table member.
  3329. (lto_input_block::lto_input_block): Add mode_table_ argument,
  3330. initialize mode_table.
  3331. (struct lto_file_decl_data): Add mode_table field.
  3332. (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
  3333. * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
  3334. unpack_ts_decl_common_value_fields,
  3335. unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
  3336. * tree-streamer.c (streamer_mode_table): New variable.
  3337. * real.c (ieee_single_format, mips_single_format,
  3338. motorola_single_format, spu_single_format, ieee_double_format,
  3339. mips_double_format, motorola_double_format,
  3340. ieee_extended_motorola_format, ieee_extended_intel_96_format,
  3341. ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
  3342. ibm_extended_format, mips_extended_format, ieee_quad_format,
  3343. mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
  3344. decimal_single_format, decimal_double_format, decimal_quad_format,
  3345. ieee_half_format, arm_half_format, real_internal_format): Add name
  3346. field.
  3347. * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
  3348. 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
  3349. PR target/65161
  3350. * config/i386/i386.c (ix86_sched_reorder): Skip instruction
  3351. reordering for selective scheduling.
  3352. 2015-02-26 Terry Guo <terry.guo@arm.com>
  3353. * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
  3354. * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
  3355. (arm_arch_no_volatile_ce): Declare new global variable.
  3356. * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
  3357. (arm_option_override): Assign value to arm_arch_no_volatile_ce.
  3358. * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
  3359. (TARGET_NO_VOLATILE_CE): New macro.
  3360. * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
  3361. volatile memory access in IT block
  3362. 2015-02-25 Kai Tietz <ktietz@redhat.com>
  3363. PR tree-optimization/61917
  3364. * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
  3365. that reduc_def_stmt is null.
  3366. 2015-02-25 Martin Liska <mliska@suse.cz>
  3367. * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
  3368. hard register variables.
  3369. 2015-02-25 Kai Tietz <ktietz@redhat.com>
  3370. PR target/64212
  3371. * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
  3372. (symtab::noninterposable_alias): Likewise.
  3373. 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
  3374. PR target/65167
  3375. * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
  3376. bounds registers.
  3377. (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
  3378. 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
  3379. PR target/64997
  3380. * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
  3381. as split condition; force split via '#' in output pattern.
  3382. 2015-02-25 Richard Biener <rguenther@suse.de>
  3383. Kai Tietz <ktietz@redhat.com>
  3384. PR tree-optimization/61917
  3385. * tree-vect-loop.c (vectorizable_reduction): Allow
  3386. vect_internal_def without reduction to exit graceful.
  3387. 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
  3388. PR target/65196
  3389. * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
  3390. only with NONDEBUG_INSN_P.
  3391. 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
  3392. Use variadic macros with avr-log.c.
  3393. * config/avr/avr-protos.h (avr_vdump): New prototype.
  3394. (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
  3395. (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
  3396. * config/avr/avr-log.c: Adjust comments.
  3397. (avr_vdump): New function.
  3398. (avr_vadump): Pass caller as 2nd argument instead of format string.
  3399. (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
  3400. (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
  3401. 2015-02-25 Jakub Jelinek <jakub@redhat.com>
  3402. PR lto/64374
  3403. * target.def (target_option_stream_in): New target hook.
  3404. * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
  3405. targetm.target_option.post_stream_in if non-NULL.
  3406. * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
  3407. * doc/tm.texi: Updated.
  3408. * config/i386/i386.c (ix86_function_specific_post_stream_in): New
  3409. function.
  3410. (TARGET_OPTION_POST_STREAM_IN): Redefine.
  3411. 2015-02-24 Jeff Law <law@redhat.com>
  3412. PR target/65117
  3413. * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
  3414. of operand 0 and operand 2.
  3415. (zero_cost_loop_end, loop_end): Similarly.
  3416. 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
  3417. * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
  3418. CXX_MEM_STAT_INFO.
  3419. 2015-02-24 DJ Delorie <dj@redhat.com>
  3420. * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
  3421. * config/rl78/rl78-expand.md (movsf): New, same as movsi.
  3422. * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
  3423. instead of hardcoding SImode.
  3424. 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
  3425. * omp-low.c (create_omp_child_function): Tag entrypoint
  3426. functions with a special attribute.
  3427. 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
  3428. PR target/65058
  3429. * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
  3430. 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
  3431. PR rtl-optimization/65123
  3432. * lra-remat.c (operand_to_remat): Check hard regs in insn
  3433. definition too.
  3434. 2015-02-24 Nick Clifton <nickc@redhat.com>
  3435. * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
  3436. to the assembler.
  3437. 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
  3438. PR libgomp/64625
  3439. * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
  3440. BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
  3441. BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
  3442. (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
  3443. BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
  3444. BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
  3445. (BUILT_IN_GOACC_PARALLEL): Specify as
  3446. BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
  3447. BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
  3448. * builtin-types.def
  3449. (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
  3450. (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
  3451. Remove function types.
  3452. (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
  3453. (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
  3454. (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
  3455. New function types.
  3456. 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
  3457. * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
  3458. 2015-02-24 Jakub Jelinek <jakub@redhat.com>
  3459. PR tree-optimization/65170
  3460. * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
  3461. if val[1] < 0, clear also val[2] and return 3.
  3462. 2015-02-24 Alan Modra <amodra@gmail.com>
  3463. PR target/65172
  3464. * config/rs6000/rs6000.c (get_memref_parts): Only return true
  3465. when *base is a reg. Handle nested plus addresses. Simplify
  3466. pre_modify test.
  3467. 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
  3468. * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
  3469. use natural alignment when optimizing for size.
  3470. 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
  3471. PR target/65153
  3472. * config/sh/sh.md (movsicc_true+3): Remove peephole.
  3473. * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
  3474. * config/sh/sh.c (replace_n_hard_rtx): Remove.
  3475. 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
  3476. PR fortran/63427
  3477. * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
  3478. too big for a wide_int. Implement missing wrapping operation.
  3479. 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
  3480. PR target/65163
  3481. * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
  3482. instead of const_int 4294901760.
  3483. 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
  3484. * config/avr/t-avr: Fix typo in comment.
  3485. 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
  3486. * doc/rtl.texi (fma): Clarify documentation.
  3487. 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
  3488. PR debug/58123
  3489. * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
  3490. over input_location.
  3491. 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
  3492. * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
  3493. unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
  3494. restrict alignments to absolute_biggest_alignment.
  3495. * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
  3496. Define.
  3497. * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
  3498. * doc/tm.texi: Regenerate.
  3499. * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
  3500. 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
  3501. PR target/64172
  3502. * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
  3503. 2015-02-20 Richard Biener <rguenther@suse.de>
  3504. PR tree-optimization/65136
  3505. * tree-ssa-propagate.c: Include cfgloop.h.
  3506. (replace_phi_args_in): Avoid replacing loop latch edge PHI
  3507. arguments with constants.
  3508. 2015-02-20 Jakub Jelinek <jakub@redhat.com>
  3509. Martin Liska <mliska@suse.cz>
  3510. PR target/63892
  3511. * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
  3512. don't try to create_thunk if stdarg_p. If
  3513. !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
  3514. redirect_callers if possible.
  3515. (sem_item_optimizer::execute): Call unregister_hooks here...
  3516. (ipa_icf_driver): ... instead of here.
  3517. 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  3518. * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
  3519. Mark operand 0 as earlyclobber in 2nd alternative.
  3520. (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
  3521. Write negated shift amount into QI lowpart operand 0 and use it
  3522. in the shift step.
  3523. (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
  3524. 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
  3525. * cgraph.h (clone_function_name_1): Declare.
  3526. * cgraphclones.c (clone_function_name_1): New function.
  3527. (clone_function_name): Use it.
  3528. * lto-partition.c: Include "stringpool.h".
  3529. (must_not_rename, maybe_rewrite_identifier)
  3530. (validize_symbol_for_target): New static functions.
  3531. (privatize_symbol_name): Use must_not_rename.
  3532. (promote_symbol): Call validize_symbol_for_target.
  3533. (lto_promote_cross_file_statics): Likewise.
  3534. (lto_promote_statics_nonwpa): Likewise.
  3535. 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
  3536. PR target/64452
  3537. * config/avr/avr.md (pushhi_insn): New insn.
  3538. (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
  3539. 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
  3540. Jakub Jelinek <jakub@redhat.com>
  3541. * tree-streamer.c (preload_common_nodes): Don't preload
  3542. TI_VA_LIST* for offloading.
  3543. * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
  3544. in_lto_p.
  3545. 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
  3546. * config/pa/pa.c (pa_emit_move_sequence): Always force
  3547. (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
  3548. note on insn.
  3549. * config/pa/pa.c (pa_reloc_rw_mask): New function.
  3550. (TARGET_ASM_RELOC_RW_MASK): Define.
  3551. (pa_cannot_force_const_mem): Revert previous change.
  3552. 2015-02-19 Martin Jambor <mjmabor@suse.cz>
  3553. Jan Hubicka <hubicka@ucw.cz>
  3554. PR ipa/65028
  3555. * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
  3556. across jump functions.
  3557. 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
  3558. * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
  3559. 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
  3560. * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
  3561. 2015-02-19 Richard Henderson <rth@redhat.com>
  3562. PR middle-end/65074
  3563. * varasm.c (default_binds_local_p_2): Don't test node->definition;
  3564. test DECL_EXTERNAL independent of symtab_node.
  3565. 2015-02-19 Jakub Jelinek <jakub@redhat.com>
  3566. PR lto/65012
  3567. * varpool.c (varpool_node::get_constructor): Return early
  3568. if this->lto_file_data is NULL.
  3569. 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  3570. * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
  3571. (rank_for_schedule_debug): Update.
  3572. (ready_sort): Make static. Move sorting logic to ...
  3573. (ready_sort_debug, ready_sort_real): New static functions.
  3574. (schedule_block): Sort both debug insns and real insns in preparation
  3575. for ready list trimming. Improve debug output.
  3576. * sched-int.h (ready_sort): Remove global declaration.
  3577. 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
  3578. * ipa-icf.c (sem_function::equals_private): Adjust.
  3579. (sem_function::bb_dict_test): Take a vec<int> * instead of
  3580. auto_vec<int>.
  3581. * ipa-icf.h (bb_dict_test): Likewise.
  3582. 2015-02-18 Jakub Jelinek <jakub@redhat.com>
  3583. PR gcov-profile/64634
  3584. * tree-eh.c (frob_into_branch_around): Fix up typos
  3585. in function comment.
  3586. (lower_catch): Put eh_seq resulting from EH lowering of
  3587. the cleanup sequence after the cleanup rather than before it.
  3588. 2015-02-18 Tom de Vries <tom@codesourcery.com>
  3589. * common.opt (fstdarg-opt): New option.
  3590. * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
  3591. * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
  3592. (@item -fstdarg-opt): New item.
  3593. 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
  3594. PR target/65064
  3595. * config/ia64/predicates.md (sdata_symbolic_operand): Return false
  3596. for common symbols.
  3597. 2015-02-18 Jakub Jelinek <jakub@redhat.com>
  3598. * config/i386/t-intelmic (mkoffload.o): Remove dependency on
  3599. insn-modes.h.
  3600. (ALL_HOST_OBJS): Add mkoffload.o.
  3601. * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
  3602. 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
  3603. * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
  3604. (compare_virtual_tables): Be smarter about skipping typeinfos;
  3605. do sane output on virtual table table mismatch.
  3606. (warn_odr): Be ready for forward declarations of enums;
  3607. output sane info on base mismatch and virtual table mismatch.
  3608. (add_type_duplicate): Fix code choosing prevailing type; do not ICE
  3609. when only one type is polymorphic.
  3610. (get_odr_type): Fix hashtable corruption.
  3611. (dump_odr_type): Dump mangled names.
  3612. 2015-02-18 Richard Biener <rguenther@suse.de>
  3613. PR tree-optimization/65063
  3614. * tree-predcom.c (determine_unroll_factor): Return 1 if we
  3615. have replaced looparound PHIs.
  3616. 2015-02-18 Martin Liska <mliska@suse.cz>
  3617. * lto-streamer.c (lto_streamer_init): Encapsulate
  3618. streamer_check_handled_ts_structures with checking macro.
  3619. 2015-02-18 Jakub Jelinek <jakub@redhat.com>
  3620. PR ipa/65087
  3621. * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
  3622. section if !implicit_section.
  3623. (cgraph_node::create_version_clone_with_body): Likewise.
  3624. * trans-mem.c (ipa_tm_create_version): Likewise.
  3625. 2015-02-18 Richard Biener <rguenther@suse.de>
  3626. PR tree-optimization/62217
  3627. * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
  3628. into BIVs.
  3629. 2015-02-18 Marek Polacek <polacek@redhat.com>
  3630. PR sanitizer/65081
  3631. * ubsan.c (OBJSZ_MAX_OFFSET): Define.
  3632. (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
  3633. is in range [-16K, -1]. Don't issue run-time error if
  3634. (ptr > ptr + offset).
  3635. 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
  3636. * doc/install.texi (nvptx-*-none): New section.
  3637. * doc/invoke.texi (Nvidia PTX Options): Likewise.
  3638. * config/nvptx/nvptx.opt: Update.
  3639. * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
  3640. (access_check): New functions, copied from
  3641. config/i386/intelmic-mkoffload.c.
  3642. (main): For non-installed testing, look in all COMPILER_PATHs for
  3643. GCC_INSTALL_NAME.
  3644. * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
  3645. 2015-02-18 Andrew Pinski <apinski@cavium.com>
  3646. Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
  3647. * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
  3648. Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
  3649. 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
  3650. * ipa-visibility.c (function_and_variable_visibility): Only
  3651. check locality if node is not already local.
  3652. * ipa-inline.c (want_inline_function_to_all_callers_p): Use
  3653. call_for_symbol_and_aliases instead of
  3654. call_for_symbol_thunks_and_aliases.
  3655. (ipa_inline): Likewise.
  3656. * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
  3657. first walk aliases.
  3658. * ipa.c (symbol_table::remove_unreachable_nodes): Use
  3659. call_for_symbol_and_aliases.
  3660. * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
  3661. (ipa_propagate_frequency_1): Use it; use opt_for_fn
  3662. (ipa_propagate_frequency): Update.
  3663. (ipa_profile): Add opt_for_fn gueards.
  3664. 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
  3665. * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
  3666. * doc/invoke.texi (SH options): Document it.
  3667. * config/sh/sh.c (sh_insn_length_adjustment): Check
  3668. TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
  3669. 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
  3670. * common.opt (fipa-cp-alignment): New.
  3671. * ipa-cp.c (ipcp_store_alignment_results): Check
  3672. flag_ipa_cp_alignment.
  3673. * opts.c (default_options_table): Enable -fipa-cp-alignment for
  3674. -O2.
  3675. (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
  3676. * doc/invoke.texi: Document -fipa-cp-alignment.
  3677. 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
  3678. PR target/64793
  3679. * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
  3680. to nil. Adjust comments.
  3681. 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
  3682. * ipa-visibility.c (function_and_variable_visibility): Only
  3683. check locality if node is not already local.
  3684. * ipa-inline.c (want_inline_function_to_all_callers_p): Use
  3685. call_for_symbol_and_aliases instead of
  3686. call_for_symbol_thunks_and_aliases.
  3687. (ipa_inline): Likewise.
  3688. * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
  3689. first walk aliases.
  3690. * ipa.c (symbol_table::remove_unreachable_nodes): Use
  3691. call_for_symbol_and_aliases.
  3692. * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
  3693. (ipa_propagate_frequency_1): Use it; use opt_for_fn
  3694. (ipa_propagate_frequency): Update.
  3695. (ipa_profile): Add opt_for_fn guards.
  3696. 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
  3697. * config/nvptx/mkoffload.c (parse_file): Fix logic error in
  3698. skipping of "strange" tokens.
  3699. 2015-02-17 Jeff Law <law@redhat.com>
  3700. * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
  3701. obsolete comment.
  3702. 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
  3703. * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
  3704. as forcing a HARD_DEP between instructions, thereby
  3705. disallowing rewriting to break dependencies.
  3706. 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
  3707. * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
  3708. * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
  3709. variables in boundary that have no inlitalizer encoded and are
  3710. not aliases.
  3711. * varasm.c (default_binds_local_p_2): External definitions do not
  3712. count as definitions here.
  3713. 2015-02-16 Jeff Law <law@redhat.com>
  3714. PR tree-optimization/64823
  3715. * tree-vrp.c (identify_jump_threads): Handle blocks with no real
  3716. statements.
  3717. * tree-ssa-threadedge.c (potentially_threadable_block): Allow
  3718. threading through blocks with PHIs, but no statements.
  3719. (thread_through_normal_block): Distinguish between blocks where
  3720. we did not process all the statements and blocks with no statements.
  3721. 2015-02-16 Jakub Jelinek <jakub@redhat.com>
  3722. James Greenhalgh <james.greenhalgh@arm.com>
  3723. PR ipa/64963
  3724. * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
  3725. section if not linkonce. Fix up formatting.
  3726. (cgraph_node::create_version_clone_with_body): Copy section.
  3727. * trans-mem.c (ipa_tm_create_version): Likewise.
  3728. 2015-02-16 Richard Biener <rguenther@suse.de>
  3729. PR tree-optimization/65077
  3730. * tree-ssa-structalias.c (get_constraint_for_1): Handle
  3731. IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
  3732. (find_func_aliases): Allow float values to carry pointers again.
  3733. 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
  3734. * doc/install.texi (Specific): Reorder targets list to put
  3735. aarch64 in alphabetical order. Add a link to aarch64*-*-*
  3736. from the top menu.
  3737. 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
  3738. David Edelsohn <dje.gcc@gmail.com>
  3739. PR target/65058
  3740. * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
  3741. mapping class to external variable or function reference.
  3742. * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
  3743. mapping class.
  3744. 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
  3745. PR target/53348
  3746. * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
  3747. ASM_WEAKEN_DECL if defined.
  3748. 2015-02-16 Richard Biener <rguenther@suse.de>
  3749. PR lto/65015
  3750. * varasm.c (default_file_start): For LTO produced units
  3751. emit <artificial> as file directive.
  3752. 2015-02-16 Richard Biener <rguenther@suse.de>
  3753. PR tree-optimization/63593
  3754. * tree-predcom.c (execute_pred_commoning_chain): Delay removing
  3755. stmts and releasing SSA names until...
  3756. (execute_pred_commoning): ... after processing all chains.
  3757. 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
  3758. PR ipa/65059
  3759. * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
  3760. external functions.
  3761. 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
  3762. * doc/bugreport.texi: Adjust section titles throughout the file
  3763. to use "Title Case".
  3764. * doc/extend.texi: Likewise.
  3765. * doc/gcov.texi: Likewise.
  3766. * doc/implement-c.texi: Likewise.
  3767. * doc/implement-cxx.texi: Likewise.
  3768. * doc/invoke.texi: Likewise.
  3769. * doc/objc.texi: Likewise.
  3770. * doc/standards.texi: Likewise.
  3771. * doc/trouble.texi: Likewise.
  3772. 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
  3773. * cgraph.h (symtab_node::has_aliases_p): Simplify.
  3774. (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
  3775. * tree.c (lookup_binfo_at_offset): Make static.
  3776. (get_binfo_at_offset): Do not shadow offset; add explanatory
  3777. comment.
  3778. 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
  3779. * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
  3780. for all floading point loads and stores except those using a register
  3781. index address.
  3782. * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
  3783. to a register.
  3784. 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
  3785. * ipa-inline-analysis.c (growth_data): Add uninlinable field.
  3786. (do_estimate_growth_1): Record if any uninlinable edge was seen.
  3787. (estimate_growth): Handle uninlinable edges correctly.
  3788. (check_callers): New.
  3789. (growth_likely_positive): Handle aliases correctly.
  3790. 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
  3791. * ipa-chkp.c: Use iterate_direct_aliases.
  3792. * symtab.c (resolution_used_from_other_file_p): Move inline.
  3793. (symtab_node::create_reference): Fix formating.
  3794. (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
  3795. (symtab_node::iterate_reference): Move inline.
  3796. (symtab_node::iterate_referring): Move inline.
  3797. (symtab_node::iterate_direct_aliases): Move inline.
  3798. (symtab_node::used_from_object_file_p_worker): Inline into ...
  3799. (symtab_node::used_from_object_file_p): ... this one; move inline.
  3800. (symtab_node::call_for_symbol_and_aliases): Move inline;
  3801. use iterate_direct_aliases.
  3802. (symtab_node::call_for_symbol_and_aliases_1): New method.
  3803. (cgraph_node::call_for_symbol_and_aliases): Move inline;
  3804. use iterate_direct_aliases.
  3805. (cgraph_node::call_for_symbol_and_aliases_1): New method.
  3806. (varpool_node::call_for_node_and_aliases): Rename to ...
  3807. (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
  3808. use iterate_direct_aliases.
  3809. (varpool_node::call_for_symbol_and_aliases_1): New method.
  3810. * ipa.c (ipa_single_use): Use iterate_direct_aliases.
  3811. (ipa_discover_readonly_nonaddressable_var): Update.
  3812. * ipa-devirt.c: Fix formating.
  3813. * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
  3814. Move inline.
  3815. (cgraph_node::call_for_symbol_and_aliases): Move inline.
  3816. (cgraph_node::call_for_symbol_and_aliases_1): New function..
  3817. * cgraph.h (used_from_object_file_p_worker): Remove.
  3818. (resolution_used_from_other_file_p): Move inline.
  3819. (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
  3820. (symtab_node::iterate_reference): Move inline.
  3821. (symtab_node::iterate_referring): Move inline.
  3822. (symtab_node::iterate_direct_aliases): Move inline.
  3823. (symtab_node::used_from_object_file_p_worker): Inline into ...
  3824. (symtab_node::used_from_object_file_p): Move inline.
  3825. * tree-emutls.c (ipa_lower_emutls): Update.
  3826. * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
  3827. (varpool_node::call_for_node_and_aliases): Remove.
  3828. 2015-02-14 Jakub Jelinek <jakub@redhat.com>
  3829. PR tree-optimization/62209
  3830. * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
  3831. op == range->exp, insert seq and gimplified code after labels
  3832. instead of after the phi.
  3833. 2015-02-13 Jeff Law <law@redhat.com>
  3834. PR bootstrap/65060
  3835. Revert my change for tree-optimization/64823.
  3836. 2015-02-13 Jakub Jelinek <jakub@redhat.com>
  3837. PR tree-optimization/65053
  3838. * tree-ssa-phiopt.c (value_replacement): When moving assign before
  3839. cond, either reset VR on lhs or set it to phi result VR.
  3840. 2015-02-13 Jeff Law <law@redhat.com>
  3841. PR tree-optimization/64823
  3842. * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
  3843. * tree-ssa-threadedge.c (potentially_threadable_block): Allow
  3844. threading through blocks with PHIs, but no statements.
  3845. (thread_through_normal_block): Distinguish between blocks where
  3846. we did not process all the statements and blocks with no statements.
  3847. PR rtl-optimization/47477
  3848. * match.pd (convert (plus/minus (convert @0) (convert @1): New
  3849. simplifier to narrow arithmetic.
  3850. 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
  3851. PR ipa/65028
  3852. * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
  3853. polymorphic call info when type is not known to be preserved.
  3854. 2015-02-13 Maritn Jambor <mjambor@suse.cz>
  3855. PR ipa/65028
  3856. * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
  3857. (inline_call): Use it.
  3858. 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
  3859. * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
  3860. GOMP_DEVICE_NVIDIA_PTX.
  3861. 2015-02-13 Jakub Jelinek <jakub@redhat.com>
  3862. PR ipa/65034
  3863. * stmt.c (emit_case_nodes): Use void_type_node instead of
  3864. NULL_TREE as LABEL_DECL type.
  3865. 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
  3866. * config/pa/constraints.md: Change "Q" and "T" constraints to memory
  3867. constraints.
  3868. * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
  3869. symbolic references to data to be forced to constant memory on the
  3870. SOM target.
  3871. 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
  3872. PR tree-optimization/65002
  3873. * tree-cfg.c (pass_data_fixup_cfg): Don't update
  3874. SSA on start.
  3875. * tree-sra.c (some_callers_have_no_vuse_p): New.
  3876. (ipa_early_sra): Reject functions whose callers
  3877. assume function is read only.
  3878. 2015-02-13 Richard Biener <rguenther@suse.de>
  3879. PR lto/65015
  3880. * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
  3881. for LTO produced CUs.
  3882. 2015-02-13 Bin Cheng <bin.cheng@arm.com>
  3883. PR tree-optimization/64705
  3884. * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
  3885. * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
  3886. * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
  3887. (find_bivs, find_givs_in_stmt_scev): Pass new argument to
  3888. expand_simple_operations.
  3889. 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
  3890. Richard Henderson <rth@redhat.com>
  3891. PR rtl/32219
  3892. * cgraphunit.c (cgraph_node::finalize_function): Set definition
  3893. before notice_global_symbol.
  3894. (varpool_node::finalize_decl): Likewise.
  3895. * varasm.c (default_binds_local_p_2): Rename from
  3896. default_binds_local_p_1, add weak_dominate argument. Use direct
  3897. returns instead of assigning to local variable. Unify varpool and
  3898. cgraph paths via symtab_node. Reject undef weak variables before
  3899. testing visibility. Reorder tests for simplicity.
  3900. (default_binds_local_p): Use default_binds_local_p_2.
  3901. (default_binds_local_p_1): Likewise.
  3902. (decl_binds_to_current_def_p): Unify varpool and cgraph paths
  3903. via symtab_node.
  3904. (default_elf_asm_output_external): Emit visibility when specified.
  3905. 2015-02-13 Alan Modra <amodra@gmail.com>
  3906. * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
  3907. code setting up r11 for out-of-line fp restore.
  3908. 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
  3909. * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
  3910. (muser-mode): Likewise.
  3911. 2015-02-13 Alan Modra <amodra@gmail.com>
  3912. * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
  3913. or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
  3914. 2015-02-12 David Howells <dhowells@redhat.com>
  3915. * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
  3916. warning.
  3917. * tree-ssa-uninit.c (dump_predicates): Likewise.
  3918. * opts.c (print_filtered_help): Likewise.
  3919. 2015-02-12 Jakub Jelinek <jakub@redhat.com>
  3920. * dwarf2out.c (output_die): Use "%s", name instead of name to
  3921. avoid -Wformat-security warning.
  3922. * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
  3923. if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
  3924. * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
  3925. only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
  3926. 2015-02-12 Jason Merrill <jason@redhat.com>
  3927. * common.opt (-flifetime-dse): New.
  3928. 2015-02-12 Jakub Jelinek <jakub@redhat.com>
  3929. PR sanitizer/65019
  3930. * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
  3931. PR tree-optimization/65014
  3932. * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
  3933. use original second operand of arg0 or arg1 instead of
  3934. that adjusted by STRIP_NOPS.
  3935. 2015-02-11 Jeff Law <law@redhat.com>
  3936. PR target/63347
  3937. * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
  3938. that needs to be queued, just queue it for a single cycle.
  3939. 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
  3940. * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
  3941. bodies of thunks; comment on why.
  3942. * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
  3943. symbols are extern.
  3944. 2015-02-11 Richard Henderson <rth@redhat.com>
  3945. PR sanitize/65000
  3946. * tree-eh.c (mark_reachable_handlers): Mark source and destination
  3947. regions of __builtin_eh_copy_values.
  3948. 2015-02-11 Jakub Jelinek <jakub@redhat.com>
  3949. PR middle-end/65003
  3950. * varasm.c (place_block_symbol): Assert that DECL_RTL of the
  3951. ultimate alias is MEM with SYMBOL_REF satisfying
  3952. SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
  3953. to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
  3954. 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
  3955. * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
  3956. "diagnostic-core.h".
  3957. (main): Initialize progname, and call diagnostic_initialize.
  3958. * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
  3959. instead of __OPENMP_TARGET__.
  3960. * config/nvptx/mkoffload.c: Include "gomp-constants.h".
  3961. (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
  3962. hard-coding PTX_ID.
  3963. 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
  3964. * doc/sourcebuild.texi (pie_enabled): Document.
  3965. 2015-02-11 Martin Liska <mliska@suse.cz>
  3966. PR ipa/64813
  3967. * cgraphunit.c (cgraph_node::expand_thunk): Do not create
  3968. a return value for call to a function that is noreturn.
  3969. 2015-02-11 Richard Biener <rguenther@suse.de>
  3970. PR lto/65015
  3971. * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
  3972. and -fresolution.
  3973. 2015-02-11 Andrew Pinski <apinski@cavium.com>
  3974. PR target/64893
  3975. * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
  3976. Change the first argument type to size_type_node and add another
  3977. size_type_node.
  3978. (aarch64_simd_expand_builtin): Handle the new argument to
  3979. AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
  3980. print an out when the first two arguments are not
  3981. nonzero integer constants.
  3982. * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
  3983. Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
  3984. 2015-02-11 Jakub Jelinek <jakub@redhat.com>
  3985. PR target/61925
  3986. * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
  3987. (ix86_reset_previous_fndecl): Restore it here, unconditionally.
  3988. (ix86_set_current_function): Rewritten.
  3989. (ix86_add_new_builtins): Temporarily clear current_target_pragma
  3990. when creating builtin fndecls.
  3991. 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
  3992. PR ipa/65005
  3993. * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
  3994. function.
  3995. * symtab.c (symtab_node::verify_base): Remove check that non-definitions
  3996. have no comdat group.
  3997. * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
  3998. (lto_output_varpool_node): Always output alias info.
  3999. (output_refs): Output refs of boundary aliases, too.
  4000. (compute_ltrans_boundary): Add alias and thunk target into boundaries.
  4001. (output_symtab): Output call eges in thunks in boundary.
  4002. (get_alias_symbol): Remove.
  4003. (input_node, input_varpool_node): Do not special case weakrefs.
  4004. * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
  4005. alias and thunks targets in the boundary; do not take removed symbols
  4006. from their comdat groups.
  4007. * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
  4008. (cgraph_node::global_info): Remove.
  4009. (cgraph_node::rtl_info): Look through aliases and thunks.
  4010. * cgrpah.h (global_info): Remove.
  4011. (non_local_p): Remove.
  4012. 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
  4013. Sandra Loosemore <sandra@codesourcery.com>
  4014. * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
  4015. to inline asm. List dialects in proper order.
  4016. 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
  4017. Sandra Loosemore <sandra@codesourcery.com>
  4018. * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
  4019. 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
  4020. * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
  4021. modified) reference to Solaris.
  4022. 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
  4023. * doc/extend.texi (Extended Asm): Fix typos.
  4024. 2015-02-10 Jakub Jelinek <jakub@redhat.com>
  4025. PR sanitizer/65004
  4026. * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
  4027. 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
  4028. PR target/64661
  4029. * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
  4030. TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
  4031. TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
  4032. * config/sh/constraints.md (Ara, Add): New constraints.
  4033. * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
  4034. predicates.
  4035. (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
  4036. atomic_mem_operand_0. Don't use force_reg on the memory address.
  4037. (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
  4038. Sra constraint. Convert to insn_and_split. Add workaround for
  4039. PR 64974.
  4040. (atomic_compare_and_swap<mode>_hard): Copy to
  4041. atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
  4042. Use atomic_mem_operand_0 predicate.
  4043. (atomic_compare_and_swap<mode>_soft_gusa,
  4044. atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
  4045. AraAdd constraints.
  4046. (atomic_compare_and_swap<mode>_soft_tcb,
  4047. atomic_compare_and_swap<mode>_soft_imask,
  4048. atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
  4049. atomic_mem_operand_0 predicate and SraSdd constraints.
  4050. (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
  4051. constraint.
  4052. (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
  4053. Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
  4054. (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
  4055. atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
  4056. force_reg on the memory address.
  4057. (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
  4058. atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
  4059. atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
  4060. atomic_mem_operand_1 predicate and Sra constraint.
  4061. (atomic_fetch_<fetchop_name><mode>_hard): Copy to
  4062. atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
  4063. Use atomic_mem_operand_1 predicate.
  4064. (atomic_<fetchop_name><mode>_hard): Copy to
  4065. atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
  4066. Use atomic_mem_operand_1 predicate.
  4067. (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
  4068. Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
  4069. (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
  4070. insn_and_split. Use atomic_mem_operand_1 predicate.
  4071. (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
  4072. atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
  4073. Use atomic_mem_operand_1 predicate.
  4074. (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
  4075. Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
  4076. (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
  4077. in generated insn with original mem operand before emitting the insn.
  4078. (atomic_fetch_<fetchop_name><mode>_soft_gusa,
  4079. atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
  4080. atomic_<fetchop_name>_fetch<mode>_soft_gusa,
  4081. atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
  4082. Use atomic_mem_operand_1 predicate and AraAdd constraints.
  4083. (atomic_fetch_<fetchop_name><mode>_soft_tcb,
  4084. atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
  4085. atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
  4086. atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
  4087. atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
  4088. atomic_<fetchop_name>_fetch<mode>_soft_tcb,
  4089. atomic_not_fetch<mode>_soft_tcb,
  4090. atomic_<fetchop_name>_fetch<mode>_soft_imask,
  4091. atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
  4092. atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
  4093. Use atomic_mem_operand_1 predicate and SraSdd constraints.
  4094. 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
  4095. * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
  4096. and 3 earlyclobber operands.
  4097. 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
  4098. * common.opt (fstack-reuse): Mark as optimization.
  4099. 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
  4100. PR ipa/64982
  4101. * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
  4102. 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
  4103. PR tree-optimization/64326
  4104. * cfghooks.c (make_forwarder_block): Cap frequency of created block.
  4105. 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
  4106. PR gcov-profile/61889
  4107. * gcov-tool.c: Remove wrong #if !defined(_WIN32)
  4108. 2015-02-10 Richard Biener <rguenther@suse.de>
  4109. PR tree-optimization/64995
  4110. * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
  4111. value we use is final.
  4112. (visit_reference_op_store): Always valueize op.
  4113. (visit_use): Properly valueize vuses.
  4114. 2015-02-10 Richard Biener <rguenther@suse.de>
  4115. PR tree-optimization/64909
  4116. * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
  4117. pass a scalar-stmt count estimate to the cost model.
  4118. * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
  4119. 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
  4120. * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
  4121. enabled by default together with var-tracking.
  4122. 2015-02-10 Nick Clifton <nickc@redhat.com>
  4123. * config/rl78/rl78.c: Remove DIV attribute code accidentally
  4124. included in previous rl78 commit.
  4125. 2015-02-10 Richard Biener <rguenther@suse.de>
  4126. * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
  4127. * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
  4128. return the bitpack.
  4129. 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
  4130. PR gcov-profile/61889
  4131. * config.in: regenerate.
  4132. * configure.in: Likewise.
  4133. * configure.ac: Check for ftw.h.
  4134. * gcov-tool.c: Check for ftw.h before using nftw.
  4135. 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
  4136. PR lto/64076
  4137. * ipa-visibility.c (update_visibility_by_resolution_info): Only
  4138. assert when not in lto mode.
  4139. 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
  4140. * ira-color.c (setup_left_conflict_sizes_p): Simplify
  4141. initialization/assignment of conflict_size.
  4142. 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
  4143. PR ipa/64978
  4144. * ipa-cp.c (gather_caller_stats): Skip thunks.
  4145. (propagate_constants_topo): Skip aliases.
  4146. 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
  4147. PR target/64761
  4148. * config/sh/sh.c (sh_option_override): Don't change
  4149. -freorder-blocks-and-partition to -freorder-blocks even when
  4150. unwinding is enabled.
  4151. (sh_can_follow_jump): Return false if the followee jump is
  4152. a crossing jump when -freorder-blocks-and-partition is specified.
  4153. * config/sh/sh.md (*jump_compact_crossing): New insn.
  4154. 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
  4155. Kaz Kojima <kkojima@gcc.gnu.org>
  4156. PR target/64761
  4157. * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
  4158. * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
  4159. (sh_can_redirect_branch): Rename to ...
  4160. (sh_can_follow_jump): ... this. Constify argument types.
  4161. * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
  4162. * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
  4163. * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
  4164. * doc/tm.texi: Regenerate.
  4165. 2015-02-09 Jakub Jelinek <jakub@redhat.com>
  4166. PR sanitizer/64981
  4167. * builtins.c (expand_builtin): Call targetm.expand_builtin
  4168. for BUILT_IN_MD builtins regardless of asan_intercepted_p.
  4169. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4170. PR ipa/61548
  4171. * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
  4172. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4173. PR ipa/63566
  4174. * ipa-icf.c (set_local): New function.
  4175. (sem_function::merge): Use it.
  4176. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4177. * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
  4178. (add_type_duplicate): Fix comparison of BINFOs.
  4179. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4180. * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
  4181. on getting VOID pointer.
  4182. 2015-02-09 Jakub Jelinek <jakub@redhat.com>
  4183. PR target/64979
  4184. * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
  4185. va_list escapes.
  4186. 2015-02-09 Richard Biener <rguenther@suse.de>
  4187. * genmatch.c (replace_id): Copy expr_type.
  4188. 2015-02-09 Richard Biener <rguenther@suse.de>
  4189. * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
  4190. (streamer_write_tree_bitfields): Declare.
  4191. * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
  4192. properly unpack padding.
  4193. (unpack_value_fields): Inline ...
  4194. (streamer_read_tree_bitfields): ... here.
  4195. * tree-streamer-out.c (pack_ts_base_value_fields): Inline
  4196. and properly add padding bits.
  4197. (streamer_pack_tree_bitfields): Fold into ...
  4198. (streamer_write_tree_bitfields): ... this new function,
  4199. exposing the bitpack object.
  4200. * lto-streamer-out.c (lto_write_tree_1): Call
  4201. streamer_write_tree_bitfields.
  4202. 2015-02-09 Richard Biener <rguenther@suse.de>
  4203. PR tree-optimization/54000
  4204. * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
  4205. (struct ivopts_data): Add loop_loc member.
  4206. (tree_ssa_iv_optimize_loop): Dump loop location.
  4207. (create_new_ivs): Likewise, also dump number of IVs generated.
  4208. 2015-02-09 Martin Liska <mliska@suse.cz>
  4209. * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
  4210. just if not yet registered.
  4211. (ipa_icf_generate_summary): Register callgraph hooks.
  4212. 2015-02-08 Andrew Pinski <apinski@cavium.com>
  4213. * config/aarch64/aarch64.c (gty_dummy): Delete.
  4214. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4215. PR ipa/63566
  4216. * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
  4217. (cgraph_node::local_p): Remove thunk related FIXME.
  4218. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4219. PR ipa/63566
  4220. * i386.c (ix86_function_regparm): Look through aliases to see if callee
  4221. is local and optimized.
  4222. (ix86_function_sseregparm): Likewise; also use target's SSE math
  4223. settings; error out instead of silently generating wrong code
  4224. on mismatches.
  4225. (init_cumulative_args): Look through aliases.
  4226. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4227. PR ipa/63566
  4228. * ipa-split.c (execute_split_functions): Split if function has aliases.
  4229. 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
  4230. PR ipa/63566
  4231. * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
  4232. aliases before trying to expand it.
  4233. (cgraph_node::expand_thunk): Fix formating.
  4234. 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
  4235. * doc/extend.texi (Function Attributes [naked]): Copy-edit.
  4236. (Using Assembly Language with C): Expand introduction.
  4237. (Basic Asm): Copy-edit. Add more information about uses of
  4238. basic asm.
  4239. (Extended Asm): Copy-edit. Document new escape syntax and
  4240. %l[label] syntax.
  4241. (Global Reg Vars): Copy-edit.
  4242. (Local Reg Vars): Likewise.
  4243. 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
  4244. PR debug/2714
  4245. PR bootstrap/64256
  4246. * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
  4247. (DBX_CONTIN_CHAR): Define.
  4248. 2015-02-06 Sebastian Pop <s.pop@samsung.com>
  4249. Brian Rzycki <b.rzycki@samsung.com>
  4250. PR tree-optimization/64878
  4251. * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
  4252. (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
  4253. Stop recursion at loop phi nodes after having visited a loop phi node.
  4254. 2015-02-06 Jakub Jelinek <jakub@redhat.com>
  4255. * toplev.c (process_options): Change flag_ipa_ra before creating
  4256. optimization_{default,current}_node.
  4257. PR ipa/64896
  4258. * cgraphunit.c (cgraph_node::expand_thunk): If
  4259. restype is not is_gimple_reg_type nor the thunk_fndecl
  4260. returns aggregate_value_p, set restmp to a temporary variable
  4261. instead of resdecl.
  4262. 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
  4263. * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
  4264. 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
  4265. PR target/64205
  4266. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
  4267. add a general secondary reload handler for SDmode, unless we have
  4268. both read/write support for SDmode.
  4269. 2015-02-06 Jakub Jelinek <jakub@redhat.com>
  4270. PR middle-end/64937
  4271. * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
  4272. Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
  4273. or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
  4274. 1 before, push it to abstract_vec.
  4275. (dwarf2out_abstract_function): Adjust caller. Don't call
  4276. set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
  4277. DECL_ABSTRACT_P flags for all abstract_vec elts.
  4278. 2015-02-06 Renlin Li <renlin.li@arm.com>
  4279. * tree-ssa-forwprop.c (execute): Keep location info while rewrite
  4280. complex gimple.
  4281. * tree-ssa.c (execute_update_addresses_taken): Likewise.
  4282. 2015-02-06 Jeff Law <law@redhat.com>
  4283. PR target/64889
  4284. * config/h8300/h8300.c (push): New argument "in_prologue".
  4285. Pass "in_prologue" along to "F".
  4286. (h8300_push_pop): Corresponding changes.
  4287. (h8300_expand_prologue): Likewise.
  4288. (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
  4289. 2015-02-06 Jakub Jelinek <jakub@redhat.com>
  4290. PR rtl-optimization/64957
  4291. PR debug/64817
  4292. * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
  4293. IOR rather than for AND.
  4294. 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
  4295. PR target/62631
  4296. * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
  4297. of shift-add and (add + shift) operations. Rename local variable.
  4298. 2015-02-05 Jeff Law <law@redhat.com>
  4299. PR target/17306
  4300. * config/h8300/constraints.md (U): Correctly dectect
  4301. "eightbit_data" memory addresses.
  4302. * config/h8300/h8300.c (eightbit_constant_address_p): Also
  4303. handle (const (plus (symbol_ref (x)))) where x is declared
  4304. as an 8-bit data memory address.
  4305. * config/h8300/h8300.md (call, call_value): Correctly detect
  4306. "funcvec" functions.
  4307. PR target/43264
  4308. * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
  4309. 24 to 28 bits for the H8/300.
  4310. 2015-02-06 Alan Modra <amodra@gmail.com>
  4311. PR target/64876
  4312. * config/rs6000/rs6000.c (chain_already_loaded): New function.
  4313. (rs6000_call_aix): Use it.
  4314. 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
  4315. * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
  4316. check.
  4317. 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
  4318. * config/h8300/constraints.md ("U" constraint): Use strict
  4319. variant of REG_OK_FOR_BASE_P after reload has started.
  4320. 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
  4321. * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
  4322. define to zero if !TARGET_NEON.
  4323. (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
  4324. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4325. Trevor Saunders <tsaunders@mozilla.com>
  4326. PR ipa/61548
  4327. * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
  4328. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4329. PR ipa/61548
  4330. * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
  4331. when removing varpool nodes.
  4332. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4333. PR ipa/61548
  4334. * varpool.c (varpool_node::remove): Fix order of variables.
  4335. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4336. PR ipa/64686
  4337. * ipa-inline.c (inline_small_functions): Fix ordering issue between
  4338. speculation resolution and key updates.
  4339. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4340. * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
  4341. about not letting any speculative edges unupdated.
  4342. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4343. PR gcov/64123
  4344. * gcov-io.c (gcov_var): Export.
  4345. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4346. PR middle-end/64922
  4347. * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
  4348. edges that become speculative.
  4349. 2015-02-04 Jakub Jelinek <jakub@redhat.com>
  4350. * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
  4351. or DW_LANG_Fortran08.
  4352. (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
  4353. DW_LANG_Fortran08.
  4354. (gen_compile_unit_die): Handle "GNU Fortran2003" and
  4355. "GNU Fortran2008" language strings.
  4356. * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
  4357. * langhooks.h (lang_GNU_Fortran): New prototype.
  4358. * langhooks.c (lang_GNU_Fortran): New function.
  4359. * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
  4360. lang_GNU_Fortran.
  4361. 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
  4362. * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
  4363. (RTX_OK_FOR_OLO10_P): Likewise.
  4364. 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
  4365. * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
  4366. 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
  4367. PR middle-end/64922
  4368. * gimple.c: Include gimple-ssa.h.
  4369. (maybe_remove_unused_call_args): New function.
  4370. * gimple.h (maybe_remove_unused_call_args): Declare.
  4371. * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
  4372. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
  4373. * gimple-fold.c (gimple_fold_call): Likewise.
  4374. 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
  4375. PR rtl-optimization/64905
  4376. * lra-eliminations.c (setup_can_eliminate): Clear hard frame
  4377. pointer alignment if it isn't needed.
  4378. 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
  4379. * config/aarch64/aarch64-cores.def: Add cortex-a72 and
  4380. cortex-a72.cortex-a53.
  4381. * config/aarch64/aarch64-tune.md: Regenerate.
  4382. * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
  4383. 2015-02-04 Nick Clifton <nickc@redhat.com>
  4384. * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
  4385. inside a MEM.
  4386. 2015-02-04 Jakub Jelinek <jakub@redhat.com>
  4387. * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
  4388. (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
  4389. (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
  4390. of DEF_BUILTIN.
  4391. (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
  4392. BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
  4393. DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
  4394. (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
  4395. BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
  4396. BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
  4397. DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
  4398. * tree-core.h (enum built_in_function): In between
  4399. BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
  4400. for builtins that use DEF_BUILTIN_CHKP macro.
  4401. 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
  4402. PR debug/64817
  4403. * cfgexpand.c (expand_debug_expr): Compute unsignedp from
  4404. operands for tcc_comparison exprs. Fix typos.
  4405. PR debug/64817
  4406. * simplify-rtx.c (simplify_binary_operation_1): Simplify one
  4407. of two XORs that have an intervening AND or IOR.
  4408. PR debug/64817
  4409. * simplify-rtx.c (simplify_binary_operation_1): Rewrite
  4410. simplification of XOR of AND to not allocate new rtx before
  4411. committing to a simplification.
  4412. 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  4413. * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
  4414. manual swaps in all peepholes.
  4415. 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  4416. * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
  4417. of manual swapping implementation.
  4418. (aarch64_expand_vec_perm_const_1): Likewise.
  4419. 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
  4420. * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
  4421. (generic_addrcost_table): Remove NAMED_PARAM.
  4422. (cortexa57_addrcost_table): Likewise.
  4423. (xgene1_addrcost_table): Likewise.
  4424. (generic_regmove_table): Likewise.
  4425. (cortexa53_regmove_table): Likewise.
  4426. (xgene1_regmove_table): Likewise.
  4427. (generic_vector_table): Likewise.
  4428. (cortexa57_vector_table): Likewise.
  4429. (xgene1_vector_table): Likewise.
  4430. (generic_tunings): Likewise.
  4431. (cortexa53_tunings): Likewise.
  4432. (cortexa57_tunings): Likewise.
  4433. (xgene1_tunings): Likewise.
  4434. 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
  4435. * config/arm/arm-cores.def: Add cortex-a72 and
  4436. cortex-a72.cortex-a53.
  4437. * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
  4438. * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
  4439. * config/arm/arm-tune.md: Regenerate.
  4440. * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
  4441. "cortex-a72.cortex-a53".
  4442. * doc/invoke.texi (ARM Options/-mtune): Likewise.
  4443. 2015-02-04 Nick Clifton <nickc@redhat.com>
  4444. PR target/64408
  4445. * config/fr30/predicates.md (di_operand): Add SUBREG to the list
  4446. of accepted codes.
  4447. (nonimmediate_di_operand): Likewise.
  4448. * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
  4449. prefixes of known F5 using MSP430 MCUs.
  4450. 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  4451. * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
  4452. * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
  4453. instead of __builtin_sqrt.
  4454. 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
  4455. * varasm.c (do_assemble_alias): Follow transparent alias
  4456. chain for target.
  4457. (default_assemble_visibility): Follow transparent alias
  4458. chain for decl name.
  4459. 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
  4460. PR middle-end/62103
  4461. * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
  4462. to compute size of referenced value in the constant case.
  4463. 2015-02-03 Jakub Jelinek <jakub@redhat.com>
  4464. PR rtl-optimization/64756
  4465. * cse.c (invalidate_dest): New function.
  4466. (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
  4467. HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
  4468. invalidate and do not record it.
  4469. 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
  4470. PR target/64660
  4471. * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
  4472. atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
  4473. atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
  4474. atomic_nand<mode>_soft_tcb): New insns.
  4475. (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
  4476. Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
  4477. (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
  4478. Split into atomic_not_fetchsi_hard if operands[0] is unused.
  4479. (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
  4480. Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
  4481. (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
  4482. atomic_not<mode>_hard if operands[0] is unused.
  4483. (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
  4484. insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
  4485. if operands[0] is unused.
  4486. (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
  4487. into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
  4488. (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
  4489. Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
  4490. unused.
  4491. (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
  4492. into atomic_not<mode>_soft_tcb if operands[0] is unused.
  4493. (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
  4494. insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
  4495. if operands[0] is unused.
  4496. (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
  4497. into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
  4498. (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
  4499. atomic_nand_fetchsi_hard if operands[0] is unused.
  4500. (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
  4501. atomic_nand<mode>_hard if operands[0] is unused.
  4502. (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
  4503. into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
  4504. (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
  4505. into atomic_nand<mode>_soft_tcb if operands[0] is unused.
  4506. (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
  4507. into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
  4508. (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
  4509. Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
  4510. (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
  4511. atomic_not<mode>_hard if operands[0] is unused.
  4512. (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
  4513. Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
  4514. unused.
  4515. (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
  4516. into atomic_not<mode>_soft_tcb if operands[0] is unused.
  4517. (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
  4518. atomic_nand<mode>_hard if operands[0] is unused.
  4519. (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
  4520. into atomic_nand<mode>_soft_tcb if operands[0] is unused.
  4521. 2015-02-03 David Malcolm <dmalcolm@redhat.com>
  4522. PR jit/64810
  4523. * Makefile.in (GCC_OBJS): Add gcc-main.o.
  4524. * gcc-main.c: New file, containing "main" taken from gcc.c.
  4525. * gcc.c (do_self_spec): Free decoded_options.
  4526. (class driver): Move declaration to gcc.h.
  4527. (main): Move declaration and implementation to new file
  4528. gcc-main.c.
  4529. (driver_get_configure_time_options): New function.
  4530. * gcc.h (class driver): Move this declaration here, from
  4531. gcc.c.
  4532. (driver_get_configure_time_options): New declaration.
  4533. 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
  4534. * ipa-inline-analysis.c (simple_edge_hints): Fix check for
  4535. cross-module inlining.
  4536. * cgraph.h (cgraph_node): Add flag merged.
  4537. * ipa-icf.c (sem_function::merge): Maintain it.
  4538. 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
  4539. * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
  4540. instead of OBJECT_P.
  4541. 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
  4542. PR target/62631
  4543. * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
  4544. (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
  4545. * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
  4546. int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
  4547. 2015-02-03 Jakub Jelinek <jakub@redhat.com>
  4548. PR other/63504
  4549. * combine.c (reg_n_sets_max): New variable.
  4550. (can_change_dest_mode, reg_nonzero_bits_for_combine,
  4551. reg_num_sign_bit_copies_for_combine, get_last_value_validate,
  4552. get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
  4553. (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
  4554. (rest_of_handle_combine): Initialize reg_n_sets_max.
  4555. 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
  4556. * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
  4557. if some always_inline was inlined, apply changes before inlining
  4558. heuristically.
  4559. 2015-02-02 David Malcolm <dmalcolm@redhat.com>
  4560. PR jit/64810
  4561. * config/arm/arm.c (arm_option_override): Set
  4562. arm_selected_arch/cpu/tune to NULL on entry.
  4563. 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
  4564. Andrew Pinski <pinskia@gcc.gnu.org>
  4565. Jakub Jelinek <jakub@gcc.gnu.org>
  4566. PR target/64231
  4567. * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
  4568. integer typing for small model. Use IN_RANGE.
  4569. 2015-02-02 Richard Biener <rguenther@suse.de>
  4570. * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
  4571. * tree-vrp.c (vrp_valueize_1): Likewise.
  4572. 2015-02-02 Alan Modra <amodra@gmail.com>
  4573. * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
  4574. than mem for toc_restore.
  4575. * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
  4576. (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
  4577. (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
  4578. 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
  4579. PR target/64047
  4580. * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
  4581. explicit default options.
  4582. 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
  4583. PR ipa/64872
  4584. * ipa-utils.c (ipa_merge_profiles): Add release argument.
  4585. * ipa-icf.c (sem_function::merge): Do not release body when merging.
  4586. * ipa-utils.h (ipa_merge_profiles): Update prototype.
  4587. 2015-02-01 Jakub Jelinek <jakub@redhat.com>
  4588. PR debug/64817
  4589. * cfgexpand.c (deep_ter_debug_map): New variable.
  4590. (avoid_deep_ter_for_debug): New function.
  4591. (expand_debug_expr): If TERed SSA_NAME is in
  4592. deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
  4593. instead of trying to expand SSA_NAME's def stmt.
  4594. (expand_debug_locations): When expanding debug bind
  4595. of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
  4596. temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
  4597. value.
  4598. (pass_expand::execute): Call avoid_deep_ter_for_debug on
  4599. all debug bind stmts. Delete deep_ter_debug_map after
  4600. expand_debug_location if non-NULL and clear it.
  4601. 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
  4602. PR target/64851
  4603. * config/sh/sync.md (atomic_fetch_notsi_hard,
  4604. atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
  4605. atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
  4606. atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
  4607. atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
  4608. atomic_not_fetch<mode>_soft_imask): New insns.
  4609. 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  4610. * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
  4611. (rank_for_schedule_debug): Split from ...
  4612. (rank_for_schedule): ... this.
  4613. (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
  4614. * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
  4615. 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
  4616. * doc/md.texi (Machine Constraints): Alphabetize table by target.
  4617. * doc/extend.texi (x86 Variable Attributes): Move section to
  4618. correct alphabetization after renaming.
  4619. (x86 Type Attributes): Likewise.
  4620. (Target Builtins): Re-alphabetize menu.
  4621. (x86 Built-in Functions): Move section to correct alphabetization
  4622. after renaming.
  4623. (x86 transactional memory intrinsics): Likewise.
  4624. * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
  4625. and x86 Windows Options in table and menu.
  4626. (x86 Options): Move section to correct alphabetization after
  4627. renaming.
  4628. (x86 Windows Options): Likewise.
  4629. 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
  4630. * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
  4631. preferred names of the architecture and its 32- and 64-bit
  4632. variants.
  4633. * doc/invoke.texi: Likewise.
  4634. * doc/md.texi: Likewise.
  4635. 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
  4636. PR target/64882
  4637. * config/i386/predicates.md (address_no_seg_operand): Reject
  4638. non-CONST_INT_P operands in invalid mode.
  4639. 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
  4640. * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
  4641. address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
  4642. * config/i386/predicates.md (address_no_seg_operand): Call
  4643. address_operand with VOIDmode.
  4644. (vsib_address_operand): Ditto.
  4645. (address_mpx_no_base_operand): Ditto.
  4646. (address_mpx_no_index_operand): Ditto.
  4647. 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
  4648. PR target/64688
  4649. * lra-constraints.c (original_subreg_reg_mode): New.
  4650. (simplify_operand_subreg): Try to simplify subreg of const. Use
  4651. original_subreg_reg_mode for it.
  4652. (swap_operands): Update original_subreg_reg_mode.
  4653. (curr_insn_transform): Set up original_subreg_reg_mode.
  4654. 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
  4655. PR target/64617
  4656. * lra-constraints.c (prohibited_class_reg_set_mode_p): New
  4657. function.
  4658. (process_alt_operands): Use it.
  4659. (curr_insn_transform): Check the optional reload pseudo class is
  4660. ok for the mode.
  4661. 2015-01-30 Joseph Myers <joseph@codesourcery.com>
  4662. * diagnostic.c (fatal_error (const char *, ...)): Remove function.
  4663. * diagnostic-core.h (fatal_error (const char *, ...)): Remove
  4664. prototype.
  4665. * toplev.h (init_asm_output): Update comment on use of
  4666. UNKNOWN_LOCATION with fatal_error.
  4667. * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
  4668. config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
  4669. config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
  4670. config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
  4671. config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
  4672. config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
  4673. config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
  4674. ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
  4675. lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
  4676. lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
  4677. tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
  4678. fatal_error changed to pass input_location as first argument.
  4679. 2015-01-30 Martin Liska <mliska@suse.cz>
  4680. * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
  4681. in #pragma GCC diagnostic guards.
  4682. 2015-01-30 Richard Biener <rguenther@suse.de>
  4683. PR tree-optimization/64829
  4684. * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
  4685. not add a widening conversion pattern but hand off extra
  4686. widenings to callers.
  4687. (vect_recog_widen_mult_pattern): Handle extra widening produced
  4688. by vect_handle_widen_op_by_const.
  4689. (vect_recog_widen_shift_pattern): Likewise.
  4690. (vect_pattern_recog_1): Remove excess vertical space in dumping.
  4691. * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
  4692. (vect_init_vector_1): Likewise.
  4693. (vect_get_vec_def_for_operand): Likewise.
  4694. (vect_finish_stmt_generation): Likewise.
  4695. (vectorizable_load): Likewise.
  4696. (vect_analyze_stmt): Likewise.
  4697. (vect_is_simple_use): Likewise.
  4698. 2015-01-29 Jeff Law <law@redhat.com>
  4699. * combine.c (try_combine): Fix typo in comment.
  4700. 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
  4701. PR target/64580
  4702. * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
  4703. (rs6000_stack_info): Add assert.
  4704. (rs6000_output_savres_externs): New function, split off from...
  4705. (rs6000_output_function_prologue): ... here. Do not call it for
  4706. thunks.
  4707. 2015-01-29 Jeff Law <law@redhat.com>
  4708. PR target/15184
  4709. * combine.c (try_combine): If I0 is a memory load and I3 a store
  4710. to a related address, increase the "goodness" of doing a 4-insn
  4711. combination with I0-I3.
  4712. (make_field_assignment): Handle SUBREGs in the ior+and case.
  4713. 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
  4714. PR tree-optimization/64746
  4715. * tree-if-conv.c (mask_exists): New function.
  4716. (predicate_mem_writes): Save created mask with given size for further
  4717. use.
  4718. (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
  4719. (ifcvt_repair_bool_pattern): Collect all statements that are root
  4720. of bool pattern and use iterative algorithm to remove multiple uses
  4721. of predicates, display number of required iterations.
  4722. 2015-01-29 Richard Biener <rguenther@suse.de>
  4723. PR tree-optimization/64853
  4724. * tree-vrp.c (vrp_valueize_1): Do not return anything if the
  4725. stmt will get simulated again.
  4726. * tree-ssa-ccp.c (valueize_op_1): Likewise.
  4727. 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  4728. * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
  4729. return_in_pc. Remove redundant assignments.
  4730. (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
  4731. (arm_expand_epilogue): Don't compare boolean with true in if condition.
  4732. 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
  4733. * config/i386/i386.c (ix86_mode_after): Make static.
  4734. 2015-01-29 Richard Biener <rguenther@suse.de>
  4735. PR tree-optimization/64844
  4736. * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
  4737. dump cost model analysis.
  4738. * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
  4739. Do not register adjusted load/store costs here.
  4740. 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
  4741. Uros Bizjak <ubizjak@gmail.com>
  4742. * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
  4743. * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
  4744. using x86_use_pseudo_pic_reg.
  4745. * config/i386/i386.c (ix86_conditional_register_usage): Remove
  4746. support for fixed PIC register.
  4747. (ix86_use_pseudo_pic_reg): Not static any more.
  4748. 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
  4749. PR middle-end/64805
  4750. * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
  4751. to avoid error in cgraph node verification.
  4752. 2015-01-29 Marek Polacek <polacek@redhat.com>
  4753. * doc/standards.texi: Reflect that the default for C is gnu11.
  4754. 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
  4755. PR target/64761
  4756. * reorg.c (switch_text_sections_between_p): New function.
  4757. (relax_delay_slots): Call it when testing if the jump insn
  4758. is removable. Use targetm.can_follow_jump when testing if
  4759. the conditional branch can follow an unconditional jump.
  4760. 2015-01-27 Caroline Tice <cmtice@google.com>
  4761. Committing VTV Cywin/Ming patch for Patrick Wollgast
  4762. * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
  4763. if -fvtable-verify=preinit/std is used.
  4764. * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
  4765. * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
  4766. * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
  4767. if -fvtable-verify=preinit/std is used.
  4768. * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
  4769. * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
  4770. if -fvtable-verify=preinit/std is used.
  4771. * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
  4772. * config/i386/mingw32.h (LIB_SPEC): Likewise.
  4773. * varasm.c (assemble_variable): Add code to properly set the comdat
  4774. section and name for the .vtable_map_vars section in case the
  4775. target is PE or COFF.
  4776. 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
  4777. PR ipa/64801
  4778. * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
  4779. make sane BB profile.
  4780. (cgraph_node::expand_thunk): Make sane BB profile.
  4781. (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
  4782. * cgraph.h (init_lowered_empty_function): Update prototype.
  4783. * config/i386/i386.c (make_resolver_func): Update call.
  4784. * predict.c (gate): Disable branch prediction pass if
  4785. profile is already there.
  4786. 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
  4787. * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
  4788. * opth-gen.awk: Likewise.
  4789. * common.opt: Mark flag_fp_contract_mode as Optimization.
  4790. 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
  4791. * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
  4792. * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
  4793. 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
  4794. PR target/64659
  4795. * config/sh/predicates.md (atomic_arith_operand,
  4796. atomic_logical_operand): Remove.
  4797. * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
  4798. (atomic_arith_operand_0): New predicate.
  4799. (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
  4800. Use atomic_arith_operand_0 for input values.
  4801. (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
  4802. atomic_compare_and_swap<mode>_soft_gusa,
  4803. atomic_compare_and_swap<mode>_soft_tcb,
  4804. atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
  4805. arith_reg_operand instead of register_operand.
  4806. (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
  4807. atomic_arith_operand_0 for newval input.
  4808. (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
  4809. atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
  4810. atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
  4811. arith_reg_operand instead of register_operand.
  4812. (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
  4813. fetchop_predicate_1, fetchop_constraint_1_llcs,
  4814. fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
  4815. fetchop_constraint_1_imask): New code iterator attributes.
  4816. (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
  4817. register_operand. Use fetchop_predicate_1.
  4818. (atomic_fetch_<fetchop_name>si_hard,
  4819. atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
  4820. register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
  4821. (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
  4822. and arith_reg_operand instead of register_operand. Use
  4823. fetchop_predicate_1, fetchop_constraint_1_gusa.
  4824. (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
  4825. and arith_reg_operand instead of register_operand. Use
  4826. fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
  4827. to allow R0 usage.
  4828. (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
  4829. and arith_reg_operand instead of register_operand. Use
  4830. fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
  4831. to allow R0 usage.
  4832. (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
  4833. register_operand. Use atomic_logical_operand_1.
  4834. (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
  4835. atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
  4836. arith_reg_operand instead of register_operand.
  4837. (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
  4838. Use arith_reg_dest and arith_reg_operand instead of register_operand.
  4839. Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
  4840. (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
  4841. register_operand. Use fetchop_predicate_1.
  4842. (atomic_<fetchop_name>_fetchsi_hard,
  4843. atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
  4844. arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
  4845. fetchop_constraint_1_llcs.
  4846. (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
  4847. arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
  4848. fetchop_constraint_1_gusa.
  4849. (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
  4850. arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
  4851. fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
  4852. (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
  4853. arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
  4854. fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
  4855. (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
  4856. register_operand. Use atomic_logical_operand_1.
  4857. (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
  4858. atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
  4859. arith_reg_operand instead of register_operand.
  4860. (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
  4861. arith_reg_operand instead of register_operand. Use logical_operand
  4862. and K08. Adjust asm sequence to allow R0 usage.
  4863. (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
  4864. arith_reg_operand instead of register_operand. Use logical_operand
  4865. and K08.
  4866. 2015-01-28 Jakub Jelinek <jakub@redhat.com>
  4867. PR other/63504
  4868. * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
  4869. Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
  4870. (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
  4871. only get_full_len HOST_WIDE_INTs from get_val () array rather than
  4872. all bits in *val_wide.
  4873. 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
  4874. * varpool.c (tls_model_names): Fix names.
  4875. (varpool_node::dump): Dump tls- prefix for tls models.
  4876. 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
  4877. Bernd Schmidt <bernds@codesourcery.com>
  4878. Nathan Sidwell <nathan@codesourcery.com>
  4879. * config/nvptx/mkoffload.c: New file.
  4880. * config/nvptx/t-nvptx: Add build rules for it.
  4881. * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
  4882. (extra_programs): Add mkoffload.
  4883. * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
  4884. function.
  4885. (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
  4886. 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
  4887. PR middle-end/64809
  4888. * cfgexpand.c (reorder_operands): Skip debug gimples.
  4889. 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
  4890. PR tree-optimization/64277
  4891. * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
  4892. range info when possible to refine estimation.
  4893. 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
  4894. PR tree-optimization/64718
  4895. * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
  4896. be a 16bit unsigned integer when n->range is 16.
  4897. (bswap_replace): Convert src to that type if necessary for all bswap
  4898. sizes. Fix rotation right notation in nearby comment. Use bswap_type
  4899. set in pass_optimize_bswap::execute ().
  4900. 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
  4901. * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
  4902. * config/aarch64/aarch64-simd-builtins.def (abs): Split by
  4903. integer and floating point variants.
  4904. * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
  4905. 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
  4906. * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
  4907. for all vector modes.
  4908. 2015-01-28 Jakub Jelinek <jakub@redhat.com>
  4909. PR bootstrap/64612
  4910. * doc/sourcebuild.texi (comdat_group): Document.
  4911. 2015-01-28 Terry Guo <terry.guo@arm.com>
  4912. * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
  4913. 2015-01-27 David Malcolm <dmalcolm@redhat.com>
  4914. * toplev.c (print_version): Add param "show_global_state", and
  4915. only print GGC and plugin information if it is true.
  4916. (init_asm_output): Pass in "true" for the new param when calling
  4917. print_version.
  4918. (process_options): Likewise.
  4919. (toplev::main): Likewise.
  4920. * toplev.h (print_version): Add new param to decl.
  4921. 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
  4922. PR ipa/60871
  4923. PR ipa/64139
  4924. * tree.c (lookup_binfo_at_offset): New function.
  4925. (get_binfo_at_offset): Use it.
  4926. 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
  4927. PR ipa/64282
  4928. * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
  4929. on vtable being vtable.
  4930. 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
  4931. * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
  4932. * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
  4933. -mhotpatch= option.
  4934. * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
  4935. -mno-hotpatch options. Change syntax of -mhotpatch= option.
  4936. * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
  4937. Renamed.
  4938. (s390_hotpatch_trampoline_halfwords_max): Renamed.
  4939. (s390_hotpatch_hw_max): New name.
  4940. (s390_hotpatch_trampoline_halfwords): Renamed.
  4941. (s390_hotpatch_hw_before_label): New name.
  4942. (get_hotpatch_attribute): Removed.
  4943. (s390_hotpatch_hw_after_label): New name.
  4944. (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
  4945. attribute.
  4946. (s390_attribute_table): Ditto.
  4947. (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
  4948. (s390_function_num_hotpatch_hw): New name.
  4949. Remove special handling of inline functions and hotpatching.
  4950. Return number of nops before and after the function label.
  4951. (s390_can_inline_p): Removed.
  4952. (s390_asm_output_function_label): Emit a configurable number of nops
  4953. after the function label.
  4954. (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
  4955. (TARGET_CAN_INLINE_P) Removed.
  4956. (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
  4957. 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  4958. Jiong Wang <jiong.wang@arm.com>
  4959. * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
  4960. of scratch reg.
  4961. (cb<optab><mode>1): Likewise.
  4962. * config/aarch64/iterators.md (bcond): New define_code_attr.
  4963. 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  4964. * config/s390/s390.c (s390_memory_move_cost): Increase costs for
  4965. memory accesses.
  4966. 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  4967. * config/s390/s390.c (s390_register_move_cost): Increase costs for
  4968. FPR->GPR moves.
  4969. 2015-01-27 Richard Biener <rguenther@suse.de>
  4970. * tree-vrp.c (update_value_range): Intersect the range with
  4971. old recorded SSA name range information.
  4972. 2015-01-27 Nick Clifton <nickc@redhat.com>
  4973. * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
  4974. BC, DE and HL registers directly, not via AX.
  4975. When decrementing the stack pointer by a large amount, transfer SP
  4976. into AX and perform the subtraction there.
  4977. (rl78_expand_epilogue): Perform the inverse of the above
  4978. enhancements.
  4979. 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  4980. * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
  4981. 2015-01-27 Jakub Jelinek <jakub@redhat.com>
  4982. Yury Gribov <y.gribov@samsung.com>
  4983. PR ubsan/64741
  4984. * ubsan.c (ubsan_source_location): Refactor code.
  4985. (ubsan_type_descriptor): Update type size. Refactor code.
  4986. 2015-01-27 Richard Biener <rguenther@suse.de>
  4987. PR tree-optimization/56273
  4988. PR tree-optimization/59124
  4989. PR tree-optimization/64277
  4990. * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
  4991. from the first VRP pass.
  4992. 2015-01-27 Jakub Jelinek <jakub@redhat.com>
  4993. PR ipa/64776
  4994. * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
  4995. handle the first argument in the same loop as all the other arguments.
  4996. PR rtl-optimization/61058
  4997. * jump.c (cleanup_barriers): Update basic block boundaries
  4998. if BLOCK_FOR_INSN is non-NULL on PREV.
  4999. 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
  5000. * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
  5001. bounds narrowing, already instrumented calls and calls to
  5002. not instrumentable functions.
  5003. 2015-01-27 Jakub Jelinek <jakub@redhat.com>
  5004. PR tree-optimization/64807
  5005. * wide-int.cc (wi::divmod_internal): Clear
  5006. b_dividend[dividend_blocks_needed].
  5007. 2015-01-26 DJ Delorie <dj@redhat.com>
  5008. * config/rl78/rl78.c (move_elim_pass): Don't optimize away
  5009. volatile memory references.
  5010. 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
  5011. PR target/49263
  5012. * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
  5013. remove_insn.
  5014. * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
  5015. shifts if it already fits into K08.
  5016. 2015-01-26 Jakub Jelinek <jakub@redhat.com>
  5017. PR ipa/64730
  5018. * ipa-inline.c (inline_small_functions): Print "unknown" even
  5019. if edge->call_stmt is non-NULL, but has builtins or unknown
  5020. location.
  5021. PR middle-end/64421
  5022. * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
  5023. with asterisk, skip the first character.
  5024. 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
  5025. PR target/64806
  5026. * config/i386/i386 (feature_priority): Revert the last P_POPCNT
  5027. order change.
  5028. 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
  5029. PR target/64795
  5030. * config/i386/i386.md (*movdi_internal): Also check operand 0
  5031. to determine TYPE_LEA operand.
  5032. (*movsi_internal): Ditto.
  5033. 2015-01-26 Jakub Jelinek <jakub@redhat.com>
  5034. * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
  5035. OPTION_MASK_QUAD_MEMORY_ATOMIC.
  5036. 2015-01-26 Renlin Li <renlin.li@arm.com>
  5037. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
  5038. the comment.
  5039. * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
  5040. for higher part.
  5041. 2015-01-26 Richard Biener <rguenther@suse.de>
  5042. PR middle-end/64764
  5043. * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
  5044. combining two BIT_AND_EXPR predicates.
  5045. 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
  5046. PR bootstrap/64754
  5047. * tree-ssa-structalias.c (new_var_info): Initialize ruid.
  5048. 2015-01-26 Terry Guo <terry.guo@arm.com>
  5049. * config/arm/arm.c (arm_file_start): Update the assignment of
  5050. Tag_ABI_HardFP_use.
  5051. 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
  5052. * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
  5053. pipeline model.
  5054. config/arm/arm.md: Include the new Cortex-A57 model.
  5055. (generic_sched): Don't use generic_sched when tuning for
  5056. Cortex-A57.
  5057. 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
  5058. Uros Bizjak <ubizjak@gmail.com>
  5059. * config/i386/i386.c (get_builtin_code_for_version): Add
  5060. support for BMI and BMI2 multiversion functions.
  5061. 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
  5062. * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
  5063. (extract_bit_field): Likewise.
  5064. (extract_low_bits): Likewise.
  5065. (expand_mult): Likewise.
  5066. (expand_mult_highpart_adjust): Likewise.
  5067. 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
  5068. * config/i386/driver-i386.c (host_detect_local_cpu): Check new
  5069. Silvermont, Haswell, Broadwell and Knights Landing model numbers.
  5070. * config/i386/i386.c (processor_model): Add
  5071. M_INTEL_COREI7_BROADWELL.
  5072. (arch_names_table): Add "broadwell".
  5073. 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
  5074. PR target/49263
  5075. PR target/53987
  5076. PR target/64345
  5077. PR target/59533
  5078. PR target/52933
  5079. PR target/54236
  5080. PR target/51244
  5081. * config/sh/sh-protos.h
  5082. (sh_extending_set_of_reg::can_use_as_unextended_reg,
  5083. sh_extending_set_of_reg::use_as_unextended_reg,
  5084. sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
  5085. sh_is_movrt_insn, sh_insn_operands_modified_between_p,
  5086. sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
  5087. sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
  5088. (sh_treg_insns): New class.
  5089. * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
  5090. (scope_counter): New class.
  5091. (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
  5092. sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
  5093. sh_extending_set_of_reg::can_use_as_unextended_reg,
  5094. sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
  5095. sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
  5096. sh_split_treg_set_expr): New functions.
  5097. (addsubcosts): Handle treg_set_expr.
  5098. (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
  5099. (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
  5100. (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
  5101. (sh_insn_operands_modified_between_p): Make non-static.
  5102. * config/sh/predicates.md (zero_extend_movu_operand): Allow
  5103. simple_mem_operand in addition to displacement_mem_operand.
  5104. (zero_extend_operand): Don't allow zero_extend_movu_operand.
  5105. (treg_set_expr, treg_set_expr_not_const01,
  5106. arith_reg_or_treg_set_expr): New predicates.
  5107. * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
  5108. arith_or_int_operand instead of logical_operand. Convert to
  5109. insn_and_split. Try to optimize constant operand in splitter.
  5110. (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
  5111. (*tstqi_t_zero): Delete.
  5112. (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
  5113. (tstsi_t_and_not): Delete.
  5114. (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
  5115. Convert to insn_and_split.
  5116. (unnamed split, tstsi_t_zero_extract_xor,
  5117. tstsi_t_zero_extract_subreg_xor_little,
  5118. tstsi_t_zero_extract_subreg_xor_big): Delete.
  5119. (*tstsi_t_shift_mask): New insn_and_split.
  5120. (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
  5121. to recombine with surrounding insns when splitting.
  5122. (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
  5123. (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
  5124. (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
  5125. *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
  5126. (*cbranch_div0s: Delete.
  5127. (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
  5128. Try to recombine with surrounding insns when splitting. Add operand
  5129. order variants.
  5130. (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
  5131. (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
  5132. *addc_r_r_msb, *addc_2r_msb): Delete.
  5133. (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
  5134. order variant.
  5135. (*addc_negreg_t): New insn_and_split.
  5136. (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
  5137. Try to recombine with surrounding insns when splitting.
  5138. Add operand order variants.
  5139. (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
  5140. insn_and_split patterns.
  5141. (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
  5142. surrounding insns when splitting.
  5143. (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
  5144. (*rotcl): Likewise. Add zero_extract variant.
  5145. (*ashrsi2_31): New insn_and_split.
  5146. (*negc): Convert to insn_and_split. Use treg_set_expr.
  5147. (*zero_extend<mode>si2_disp_mem): Update comment.
  5148. (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
  5149. condition.
  5150. (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
  5151. with surrounding insns when splitting.
  5152. (any_treg_expr_to_reg): New insn_and_split.
  5153. (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
  5154. *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
  5155. *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
  5156. *zero_extract_2): New single bit zero extract patterns.
  5157. (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
  5158. (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
  5159. *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
  5160. *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
  5161. set destination.
  5162. (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
  5163. register_operand for set source.
  5164. 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
  5165. * i386.opt (prefetch_sse): New targetsave.
  5166. * i386.c (ix86_function_specific_save): Save prefetch_sse.
  5167. (ix86_function_specific_restore): Restore prefetch_sse and initialize
  5168. ix86_cost/ix86_tune_cost.
  5169. 2015-01-23 David Malcolm <dmalcolm@redhat.com>
  5170. * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
  5171. Support the JIT by using 0 as the language type.
  5172. 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
  5173. PR target/64317
  5174. * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
  5175. REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
  5176. (mark_regno_live, process_bb_lives): Pass new parameter value to
  5177. make_hard_regno_born.
  5178. 2015-01-23 Jakub Jelinek <jakub@redhat.com>
  5179. PR rtl-optimization/63637
  5180. PR rtl-optimization/60663
  5181. * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
  5182. if elt->cost is MAX_COST for ASM_OPERANDS.
  5183. (find_sets_in_insn): Fix up comment typo.
  5184. (cse_insn): Don't set src_volatile for all non-volatile
  5185. ASM_OPERANDS in PARALLELs, but just those with multiple outputs
  5186. or with "memory" clobber. Set elt->cost to MAX_COST
  5187. for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
  5188. if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
  5189. 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
  5190. * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
  5191. alternative 1.
  5192. 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
  5193. * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
  5194. libgcc/config/i386/elf-lib.h.
  5195. 2015-01-23 Jakub Jelinek <jakub@redhat.com>
  5196. PR driver/64737
  5197. * gcc.c (print_configuration): Don't print a blank line at the end
  5198. here...
  5199. (run_attempt): ... but here unstead.
  5200. PR middle-end/64734
  5201. * omp-low.c (scan_sharing_clauses): Don't ignore
  5202. OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
  5203. on target data/update constructs.
  5204. 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
  5205. PR target/50928
  5206. * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
  5207. (DEBUG_RELOAD): Removed define.
  5208. (m32c_limit_reload_class): Enable traces with if DEBUG0.
  5209. (m32c_function_arg): Added a type cast.
  5210. (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
  5211. * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
  5212. * config/m32c/bitops.md (andqi3_16): Likewise.
  5213. * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
  5214. (push_a01_l): Likewise.
  5215. 2015-01-23 David Malcolm <dmalcolm@redhat.com>
  5216. PR jit/64721
  5217. * main.c (main): Construct toplev instances with init_signals=true.
  5218. * toplev.c (general_init): Add param "init_signals", and use it to
  5219. conditionalize the calls to signal and host_hooks.extra_signals.
  5220. (toplev::toplev): Add param "init_signals".
  5221. (toplev::main): When invoking general_init, pass m_init_signals
  5222. to control whether signal-handlers are installed.
  5223. * toplev.h (toplev::toplev): Add param "init_signals".
  5224. (toplev::m_init_signals): New field.
  5225. 2015-01-23 David Malcolm <dmalcolm@redhat.com>
  5226. PR jit/64722
  5227. * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
  5228. NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
  5229. latter may be affected by the former (e.g. on i686).
  5230. 2015-01-23 Martin Liska <mliska@suse.cz>
  5231. * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
  5232. false positive during profiledbootstrap.
  5233. 2015-01-23 Tom de Vries <tom@codesourcery.com>
  5234. PR libgomp/64672
  5235. * lto-opts.c (lto_write_options): Output non-explicit conservative
  5236. -fno-openacc.
  5237. * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
  5238. (append_compiler_options): Pass -fopenacc through.
  5239. 2015-01-23 Tom de Vries <tom@codesourcery.com>
  5240. PR libgomp/64707
  5241. * lto-opts.c (lto_write_options): Output non-explicit conservative
  5242. -fno-openmp.
  5243. * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
  5244. (append_compiler_options): Pass -fopenmp through.
  5245. 2015-01-23 Jakub Jelinek <jakub@redhat.com>
  5246. PR debug/64511
  5247. * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
  5248. GTY markup.
  5249. * diagnostic-core.h (internal_error_no_backtrace): New prototype.
  5250. * diagnostic.def (DK_ICE_NOBT): New kind.
  5251. * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
  5252. like DK_ICE, but never print backtrace.
  5253. (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
  5254. (internal_error_no_backtrace): New function.
  5255. * gcc.c (execute): Use internal_error_no_backtrace instead of
  5256. internal_error.
  5257. 2015-01-22 Jeff Law <law@redhat.com>
  5258. PR target/52076
  5259. * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
  5260. improve code density for small immediate to memory case.
  5261. (insv): Better handle bitfield assignments when the field is
  5262. being set to all ones.
  5263. * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
  5264. operand predicate.
  5265. 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  5266. Jakub Jelinek <jakub@redhat.com>
  5267. PR middle-end/64729
  5268. * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
  5269. for !TARGET_LIBC_PROVIDES_SSP version and
  5270. -fstack-protector-{all,strong,explicit} otherwise.
  5271. * config/freebsd.h (LINK_SSP_SPEC): Handle
  5272. -fstack-protector-{strong,explicit}.
  5273. 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
  5274. H.J. Lu <hongjiu.lu@intel.com>
  5275. PR ipa/64694
  5276. * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
  5277. heap.
  5278. 2015-01-22 Wei Mi <wmi@google.com>
  5279. PR rtl-optimization/64557
  5280. * dse.c (record_store): Call get_addr for mem_addr.
  5281. (check_mem_read_rtx): Likewise.
  5282. 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
  5283. * fold-const.c (const_binop): Add early return for non-tcc_binary.
  5284. 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
  5285. * toplev.c (init_local_tick): Process the failure when read
  5286. fails for random_seed.
  5287. * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
  5288. 'pretty_name' to avoid memory overflow.
  5289. 2015-01-22 Richard Biener <rguenther@suse.de>
  5290. PR middle-end/64728
  5291. * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
  5292. abnormal coalescing on undefined SSA names.
  5293. 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
  5294. PR target/64688
  5295. PR target/64477
  5296. * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
  5297. for alternative 3.
  5298. (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
  5299. 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
  5300. PR middle-end/63325
  5301. * fold-const.c (fold_checksum_tree): Don't include value of
  5302. expr->decl_with_vis.symtab_node in the checksum.
  5303. 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  5304. * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
  5305. 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
  5306. PR driver/64690
  5307. * gcc.c (insert_comments): New function.
  5308. (try_generate_repro): Call it.
  5309. (append_text): Removed.
  5310. 2015-01-22 Richard Biener <rguenther@suse.de>
  5311. * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
  5312. with IL incompatible options. Properly honor user optimize
  5313. attributes.
  5314. 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
  5315. PR rtl-optimization/64682
  5316. * combine.c (distribute_notes): When moving a death note for
  5317. a register that is set in the new I2, make sure to put it
  5318. before that new I2.
  5319. 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
  5320. * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
  5321. not TARGET_DEFAULT.
  5322. 2015-01-21 Jakub Jelinek <jakub@redhat.com>
  5323. PR debug/64511
  5324. * simplify-rtx.c (simplify_relational_operation_1): Don't try to
  5325. optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
  5326. into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
  5327. PR sanitizer/64706
  5328. * doc/invoke.texi (-fsanitize=vptr): Document.
  5329. PR rtl-optimization/62078
  5330. * dse.c: Include cfgcleanup.h.
  5331. (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
  5332. anything call purge_all_dead_edges and cleanup_cfg at the end
  5333. of the pass.
  5334. 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
  5335. * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
  5336. edges.
  5337. 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
  5338. * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
  5339. decl attribute.
  5340. 2015-01-21 David Sherwood <david.sherwood@arm.com>
  5341. Tejas Belagod <Tejas.Belagod@arm.com>
  5342. * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
  5343. * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
  5344. * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
  5345. Removed.
  5346. 2015-01-21 David Sherwood <david.sherwood@arm.com>
  5347. Tejas Belagod <Tejas.Belagod@arm.com>
  5348. * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
  5349. (aarch64_reverse_mask): New decls.
  5350. * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
  5351. (insn_count): New mode_attr.
  5352. * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
  5353. (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
  5354. (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
  5355. (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
  5356. (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
  5357. (aarch64_simd_st4): New patterns.
  5358. * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
  5359. (aarch64_reverse_mask): New functions.
  5360. 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
  5361. * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
  5362. Declare.
  5363. * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
  5364. addressing modes for BE.
  5365. (aarch64_print_operand): Add 'R' specifier.
  5366. (aarch64_simd_disambiguate_copy): Delete.
  5367. (aarch64_simd_emit_reg_reg_move): New function.
  5368. * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
  5369. in define_splits for structural moves.
  5370. (mov<mode>): Use less restrictive predicates.
  5371. (*aarch64_mov<mode>): Simplify and only allow for LE.
  5372. (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
  5373. 2015-01-21 Alan Hayward <alan.hayward@arm.com>
  5374. * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
  5375. 2015-01-21 Richard Henderson <rth@redhat.com>
  5376. PR target/64669
  5377. * ccmp.c (used_in_cond_stmt_p): Remove.
  5378. (expand_ccmp_expr): Don't use it.
  5379. 2015-01-21 Nick Clifton <nickc@redhat.com>
  5380. * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
  5381. PARALLELs.
  5382. 2015-01-21 Richard Biener <rguenther@suse.de>
  5383. PR middle-end/64313
  5384. * tree-core.h (builtin_info, builtin_info_type): Turn from
  5385. an object with two arrays into an array of an object with
  5386. decl and two flags, implicit_p and declared_p.
  5387. * tree.h (builtin_decl_explicit, builtin_decl_implicit,
  5388. set_builtin_decl, set_builtin_decl_implicit_p,
  5389. builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
  5390. (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
  5391. * builtins.c (builtin_info): Adjust.
  5392. * gimplify.c (gimplify_addr_expr): References to builtins
  5393. that have been declared by the user makes them eligible for
  5394. use by the compiler. Call set_builtin_decl_implicit_p on them.
  5395. 2015-01-20 Jeff Law <law@redhat.com>
  5396. PR target/59946
  5397. * config/m68k/m68k.md (Comparison expanders and patterns): Do not
  5398. allow pc-relative addresses in operand predicates or constraints.
  5399. 2015-01-21 Bin Cheng <bin.cheng@arm.com>
  5400. * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
  5401. neon on aarch32 processors for stringops.
  5402. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5403. PR ipa/63576
  5404. * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
  5405. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5406. PR lto/45375
  5407. * ipa-inline.c: Include lto-streamer.h
  5408. (report_inline_failed_reason): Output source file differences and
  5409. flags on optimization/target node mismatch.
  5410. (can_inline_edge_p): Consider caller to be the outer inline function;
  5411. be less restrictive about matching opimize and optimize_size attributes.
  5412. (inline_account_function_p): Break out from ...
  5413. (inline_small_functions): ... here.
  5414. * ipa-inline-transform.c (clone_inlined_nodes): Use
  5415. inline_account_function_p.
  5416. (inline_call): Use optimize attribution; use inline_account_function_p.
  5417. (inline_transform): Use opt_for_fn.
  5418. * ipa-inline.h (inline_account_function_p): Declare.
  5419. 2015-01-20 Jakub Jelinek <jakub@redhat.com>
  5420. PR debug/64663
  5421. * dwarf2out.c (decl_piece_node): Don't put bitsize into
  5422. mode if bitsize <= 0.
  5423. (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
  5424. dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
  5425. sizes and positions.
  5426. 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
  5427. * config/nios2/nios2.c (nios2_asm_file_end): Implement
  5428. TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
  5429. needed.
  5430. (TARGET_ASM_FILE_END): Define.
  5431. 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  5432. * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
  5433. (struct tune_params): Use the enum.
  5434. * arm.c (arm_*_tune): Update.
  5435. (arm_option_override): Update.
  5436. 2015-01-20 Richard Biener <rguenther@suse.de>
  5437. PR ipa/64684
  5438. * ipa-reference.c (add_static_var): Inline ...
  5439. (analyze_function): ... here after splitting out from ...
  5440. (is_proper_for_analysis): ... this.
  5441. 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
  5442. PR target/64149
  5443. * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
  5444. * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
  5445. replace the conditional with it's true branch.
  5446. * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
  5447. (arm_lra_p): Remove.
  5448. 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
  5449. * config/visium/visium.h (LIB_SPEC): Adjust in default case.
  5450. 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
  5451. * config/tilegx/mul-tables.c: Move symtab.h include after
  5452. coretypes.h include.
  5453. * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
  5454. vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
  5455. flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
  5456. wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
  5457. explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
  5458. 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
  5459. PR bootstrap/64676
  5460. Revert:
  5461. 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
  5462. PR rtl-optimization/64081
  5463. * loop-iv.c (def_pred_latch_p): New function.
  5464. (latch_dominating_def): Allow specific cases with non-single
  5465. definitions.
  5466. (iv_get_reaching_def): Likewise.
  5467. (check_complex_exit_p): New function.
  5468. (check_simple_exit): Use check_complex_exit_p to allow certain cases
  5469. with exits not executing on any iteration.
  5470. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5471. PR lto/45375
  5472. * i386.c (ix86_option_override_internal): Use ix86_tune_cost
  5473. to set branch cost.
  5474. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5475. PR lto/45375
  5476. * i386.c (gate): Check flag_expensive_optimizations and
  5477. optimize_size.
  5478. (ix86_option_override_internal): Drop optimize_size condition
  5479. on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
  5480. MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
  5481. MASK_PREFER_AVX128.
  5482. (ix86_avx256_split_vector_move_misalign,
  5483. ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
  5484. * sse.md (all uses of TARGET_PREFER_AVX128): Add
  5485. optimize_insn_for_speed_p check.
  5486. 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
  5487. * config/mips/mips.h (FP_ASM_SPEC): New define.
  5488. (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
  5489. instead.
  5490. 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
  5491. PR target/53988
  5492. * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
  5493. nullptr for insn when reaching the first insn.
  5494. * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
  5495. (sh_insn_operands_modified_between_p): Add nullptr check.
  5496. (sh_find_extending_set_of_reg): Fix log message. Don't accept
  5497. sign extending mem load if the insn contains any UNSPEC or
  5498. UNSPEC_VOLATILE.
  5499. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5500. * params.def (inline-unit-growth): Drop to 15%.
  5501. * invoke.texi (inline-unit-growth): Document change.
  5502. 2015-01-19 Martin Liska <mliska@suse.cz>
  5503. PR ipa/64668
  5504. * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
  5505. function for second argument of OBJ_TYPE_REF.
  5506. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5507. PR ipa/64218
  5508. * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
  5509. whether function is an alias.
  5510. 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
  5511. * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
  5512. cases.
  5513. 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
  5514. PR rtl-optimization/64671
  5515. * lra-remat.c (operand_to_remat): Don't consider jump and call
  5516. insns.
  5517. 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
  5518. PR target/59828
  5519. * config/rs6000/default64.h: Include rs6000-cpus.def.
  5520. (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
  5521. (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
  5522. * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
  5523. and POWER8.
  5524. * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
  5525. POWER8.
  5526. * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
  5527. pseudo-op to specify assembler dialect.
  5528. 2015-01-19 Martin Liska <mliska@suse.cz>
  5529. PR ipa/64664
  5530. * ipa-icf.c (sem_item_optimizer::filter_removed_items):
  5531. Handle safe potentially removed nodes during filtering.
  5532. 2015-01-19 Martin Liska <mliska@suse.cz>
  5533. * doc/extend.texi (no_icf): Add new attribute description.
  5534. * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
  5535. where the pass attempts to merge a function with no_icf attribute.
  5536. 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  5537. PR target/64532
  5538. * doc/md.texi (ARM Options): Document register constraints.
  5539. 2015-01-19 Jiong Wang <jiong.wang@arm.com>
  5540. Andrew Pinski <apinski@cavium.com>
  5541. PR target/64304
  5542. * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
  5543. (ashl<mode>3): Don't expand if operands[2] is not constant.
  5544. 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  5545. PR target/64448
  5546. * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
  5547. Match xor-and-xor RTL pattern.
  5548. 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
  5549. PR rtl-optimization/64081
  5550. * loop-iv.c (def_pred_latch_p): New function.
  5551. (latch_dominating_def): Allow specific cases with non-single
  5552. definitions.
  5553. (iv_get_reaching_def): Likewise.
  5554. (check_complex_exit_p): New function.
  5555. (check_simple_exit): Use check_complex_exit_p to allow certain cases
  5556. with exits not executing on any iteration.
  5557. 2015-01-19 Jakub Jelinek <jakub@redhat.com>
  5558. * common.opt (fgraphite): Fix a typo.
  5559. 2015-01-19 Felix Yang <felix.yang@huawei.com>
  5560. * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
  5561. pattern.
  5562. * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
  5563. uminp, smax_nanp, smin_nanp): New builtins.
  5564. * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
  5565. vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
  5566. vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
  5567. vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
  5568. vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
  5569. vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
  5570. vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
  5571. vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
  5572. vpminnms_f32): Rewrite using builtin functions.
  5573. 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
  5574. PR libgomp/64625
  5575. * omp-low.c (offload_symbol_decl): Remove variable.
  5576. (get_offload_symbol_decl): Remove function.
  5577. (expand_omp_target): For BUILT_IN_GOMP_TARGET,
  5578. BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
  5579. instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
  5580. BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
  5581. BUILT_IN_GOACC_UPDATE don't pass it at all.
  5582. 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
  5583. * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
  5584. callers.
  5585. 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
  5586. * ipa-chkp.c (chkp_produce_thunks): Add early param
  5587. to split thunks production into two passes. Keep
  5588. 'always_inline' function bodies after the first pass.
  5589. (pass_data_ipa_chkp_early_produce_thunks): New.
  5590. (pass_ipa_chkp_early_produce_thunks): New.
  5591. (pass_ipa_chkp_produce_thunks::execute): Adjust to new
  5592. chkp_produce_thunks signature.
  5593. (make_pass_ipa_chkp_early_produce_thunks): New.
  5594. * passes.def (pass_ipa_chkp_early_produce_thunks): New.
  5595. (pass_ipa_chkp_produce_thunks): Move after local optimizations.
  5596. * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
  5597. 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
  5598. * cgraph.c (cgraph_node::dump): Dump profile flags.
  5599. 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
  5600. PR target/64652
  5601. * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
  5602. reg appear first in the parallel.
  5603. 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
  5604. * ipa-reference.c (set_reference_optimization_summary,
  5605. ipa_reference_get_not_written_global): Do nothing if ipa-reference is
  5606. disabled.
  5607. (ignore_module_statics): New static var.
  5608. (propagate_bits): If ipa-reference is disabled, do not look into local
  5609. properties.
  5610. (analyze_function): Disable analysis when ipa_reference is disabled.
  5611. (generate_summary): Do not dump when reference is disabled;
  5612. collect vars accessed from functions with ipa-reference disabled.
  5613. (get_read_write_all_from_node): When ipa-reference is disabled, use the
  5614. node flags.
  5615. (gate): Enable for LTO.
  5616. (ignore_edge_p): New function.
  5617. (propagate): Skip functions w/o ipa-reference analysis.
  5618. * optc-save-gen.awk: Handle optimize_debug correctly.
  5619. * opth-gen.awk: Likewise.
  5620. * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
  5621. fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
  5622. fira-share-save-slots, fira-share-spill-slots,
  5623. fmodulo-sched-allow-regmoves, fpartial-inlining,
  5624. sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
  5625. ftracer, ftree-parallelize-loops, fassociative-math,
  5626. freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
  5627. Optimization
  5628. (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
  5629. ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
  5630. Optimization.
  5631. * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
  5632. Fix for IPA.
  5633. 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
  5634. PR ipa/64378
  5635. * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
  5636. flag correctly.
  5637. * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
  5638. 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
  5639. * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
  5640. Remove duplicate option listings.
  5641. 2015-01-18 Felix Yang <felix.yang@huawei.com>
  5642. * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
  5643. (autofdo_source_profile::get_callsite_total_count,
  5644. function_instance::get_function_instance_by_decl,
  5645. string_table::get_index, string_table::get_index_by_decl,
  5646. afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
  5647. Fix comment typos. Reformatting and minor code rearrangement.
  5648. 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
  5649. * config/rs6000/rs6000.md (probe_stack): Delete.
  5650. (probe_stack_address): New.
  5651. 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
  5652. * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
  5653. to test for 32-bit ABIs, not !TARGET_POWERPC64.
  5654. 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
  5655. * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
  5656. (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
  5657. for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
  5658. snafu.
  5659. (rs6000_libcall_value): Use the new function.
  5660. 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
  5661. * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
  5662. 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
  5663. * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
  5664. implement a more precise life analysis for it during backward scan.
  5665. 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
  5666. * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
  5667. 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
  5668. PR rtl-optimization/52773
  5669. * calls.c (emit_library_call_value): When pushing arguments use
  5670. stack_pointer_rtx rather than virtual_outgoing_args_rtx in
  5671. CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
  5672. stack pointer reference into CALL_INSN_FUNCTION_USAGE.
  5673. 2015-01-17 Jeff Law <law@redhat.com>
  5674. PR rtl-optimization/32790
  5675. * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
  5676. not ZERO_EXTEND in SET_DESTs.
  5677. 2015-01-17 Alan Modra <amodra@gmail.com>
  5678. * cprop.c (do_local_cprop): Revert last change.
  5679. 2015-01-16 DJ Delorie <dj@redhat.com>
  5680. Nick Clifton <nickc@redhat.com>
  5681. * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
  5682. (addhi3_real): Likewise. Fix [HL+0] syntax.
  5683. (subqi3_real): Likewise.
  5684. (subhi3_real): Likewise.
  5685. (cbranchqi4_real): Likewise. Allow saddr,#imm.
  5686. (cbranchhi4_real): Likewise.
  5687. (cbranchhi4_real_inverted): Likewise.
  5688. (cbranchsi4_real_lt): Likewise.
  5689. (cbranchsi4_real_ge): Likewise.
  5690. (cbranchsi4_real_ge): Likewise.
  5691. * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
  5692. (sub<mode>3_virt): Likewise.
  5693. (cbranchqi4_virt): Likewise.
  5694. (cbranchhi4_virt): Likewise.
  5695. * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
  5696. always use '[reg+imm]' even when imm is zero.
  5697. * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
  5698. (rl78_general_operand): New.
  5699. (rl78_nonimmediate_operand): New.
  5700. (rl78_nonfar_operand): Use them.
  5701. (rl78_nonfar_nonimm_operand): Likewise.
  5702. (rl78_stack_based_mem): Fix.
  5703. * config/rl78/constraints.md (Ibqi): New.
  5704. (IBqi): New.
  5705. (Wsa): New.
  5706. (Wsf): New.
  5707. (Cs1): Fix.
  5708. * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
  5709. (iorqi3): Likewise.
  5710. (xorqi3): Likewise.
  5711. * config/rl78/rl78-protos.h (rl78_sfr_p): New.
  5712. * config/rl78/constrains (Qs8): New constraint.
  5713. * config/rl78/rl78.c (rl78_flags_already_set): New function.
  5714. * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
  5715. * config/rl78/rl78-real.md (update_Z): New attribute.
  5716. Update patterns to set it.
  5717. (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
  5718. shorter compare and branch sequence can be used.
  5719. (cbranchhi4_real): Likewise.
  5720. (cbranchhi4_real_inverted): Likewise.
  5721. * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
  5722. * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
  5723. address space.
  5724. * config/rl78/rl78.c (rl78_get_name_encoding): New.
  5725. (rl78_option_override): Allow -mes0 only if C.
  5726. (characterize_address): Support subregs of symbol_refs.
  5727. (rl78_addr_space_address_mode): Move. Add __near.
  5728. (rl78_far_p): Likewise.
  5729. (rl78_addr_space_pointer_mode): Likewise.
  5730. (rl78_as_legitimate_address): Likewise.
  5731. (rl78_addr_space_subset_p): Likewise.
  5732. (rl78_addr_space_convert): Likewise.
  5733. (rl78_print_operand_1): Support 16-bit addressing of 32-bit
  5734. symbols with -mes0.
  5735. (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
  5736. addressing.
  5737. (rl78_alloc_physical_registers_op1): Change logic to prefer
  5738. symbol[BC] addressing.
  5739. (frodata_section): New.
  5740. (rl78_asm_init_sections): Initialize it.
  5741. (rl78_select_section): Put __far readonly symbols in .frodata.
  5742. (rl78_make_type_far): New.
  5743. (rl78_insert_attributes): Force all readonly symbols to be
  5744. __far when -mes0.
  5745. (rl78_asm_out_integer): New.
  5746. * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
  5747. * config/rl78/rl78.opt (-mes0): New.
  5748. * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
  5749. (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
  5750. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
  5751. * config/rl78/rl78-protos.h (rl78_output_labelref): New.
  5752. (rl78_saddr_p): New.
  5753. (rl78_output_aligned_common): New.
  5754. * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
  5755. (rl78_handle_saddr_attribute): New.
  5756. (rl78_handle_naked_attribute): New.
  5757. (rl78_attribute_table): Add saddr.
  5758. (rl78_print_operand_1): Don't print '!' on saddr operands.
  5759. (rl78_print_operand_1): Strip encodings.
  5760. (rl78_sfr_p): New.
  5761. (rl78_strip_name_encoding): New.
  5762. (rl78_attrlist_to_encoding): New.
  5763. (rl78_encode_section_info): New.
  5764. (rl78_asm_init_sections): New.
  5765. (rl78_select_section): New.
  5766. (rl78_output_labelref): New.
  5767. (rl78_output_aligned_common): New.
  5768. (rl78_asm_out_integer): New.
  5769. (rl78_asm_ctor_dtor): New.
  5770. (rl78_asm_constructor): New.
  5771. (rl78_asm_destructor): New.
  5772. * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
  5773. * config/rl78/rl78.c (rl78_expand_epilogue): Update.
  5774. (transcode_memory_rtx): Update.
  5775. (rl78_expand_epilogue): Use A_REG instead of 0.
  5776. 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  5777. * config/arm/arm-protos.h (struct tune_params): New field
  5778. sched_autopref_queue_depth.
  5779. * config/arm/arm.c (sched-int.h): Include header.
  5780. (arm_first_cycle_multipass_dfa_lookahead_guard,)
  5781. (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
  5782. (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
  5783. (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
  5784. (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
  5785. (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
  5786. (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
  5787. (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
  5788. Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
  5789. * config/arm/t-arm (arm.o): Update.
  5790. * haifa-sched.c (update_insn_after_change): Update.
  5791. (rank_for_schedule): Use auto-prefetcher model, if requested.
  5792. (autopref_multipass_init): New static function.
  5793. (autopref_rank_for_schedule): New rank_for_schedule heuristic.
  5794. (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
  5795. variable for debug dumps.
  5796. (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
  5797. (autopref_multipass_dfa_lookahead_guard): New global function that
  5798. implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
  5799. (init_h_i_d): Update.
  5800. * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
  5801. * sched-int.h (enum autopref_multipass_data_status): New const enum.
  5802. (autopref_multipass_data_): Structure for auto-prefetcher data.
  5803. (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
  5804. (struct _haifa_insn_data:autopref_multipass_data): New field.
  5805. (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
  5806. (autopref_multipass_dfa_lookahead_guard): Declare.
  5807. 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  5808. * rtlanal.c (get_base_term): Handle SCRATCH.
  5809. 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
  5810. * config/aarch64/aarch64.c
  5811. (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
  5812. (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
  5813. * config/arm/arm.c
  5814. (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
  5815. (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
  5816. 2015-01-17 Alan Modra <amodra@gmail.com>
  5817. * cprop.c (do_local_cprop): Disallow replacement of fixed
  5818. hard registers.
  5819. 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  5820. PR target/62066
  5821. * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
  5822. early return 0.
  5823. 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
  5824. * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
  5825. * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
  5826. 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  5827. * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
  5828. * config/arm/thumb1.md: ... Here.
  5829. 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
  5830. * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
  5831. TImode for TARGET_32BIT.
  5832. 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
  5833. * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
  5834. TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
  5835. as ...
  5836. (rs6000_abi_word_mode): New function.
  5837. 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
  5838. * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
  5839. instead of UNITS_PER_WORD to describe the size of stack slots.
  5840. 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
  5841. * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
  5842. as rs6000_promote_function_mode. Move comment to there.
  5843. (rs6000_promote_function_mode): New function.
  5844. 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
  5845. * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
  5846. -mpowerpc64 is active.
  5847. 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
  5848. PR middle-end/64353
  5849. * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
  5850. virtuals on start.
  5851. 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
  5852. * config/arm/cortex-a57.md: Remove duplicate of file accidentally
  5853. introduced in revision 219724.
  5854. 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  5855. Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  5856. PR target/64263
  5857. * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
  5858. destination is not a GP reg.
  5859. (*movdi_aarch64): Likewise.
  5860. 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
  5861. PR target/64623
  5862. * config/rs6000/default64.h: Revert ISA change.
  5863. 2015-01-16 Richard Biener <rguenther@suse.de>
  5864. PR middle-end/64614
  5865. * tree-ssa-uninit.c: Include tree-cfg.h.
  5866. (MAX_SWITCH_CASES): New define.
  5867. (convert_control_dep_chain_into_preds): Handle switch statements.
  5868. (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
  5869. (normalize_one_pred_1): Do not split bit-manipulations.
  5870. Record (x & CST).
  5871. 2015-01-16 Richard Biener <rguenther@suse.de>
  5872. PR tree-optimization/64568
  5873. * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
  5874. complex load rewriting for TARGET_MEM_REFs.
  5875. 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
  5876. * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
  5877. 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
  5878. PR target/64149
  5879. * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
  5880. variable.
  5881. * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
  5882. (aarch64_lra_p): Remove.
  5883. 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
  5884. PR target/64363
  5885. * ipa-chkp.h (chkp_instrumentable_p): New.
  5886. * ipa-chkp.c: Include tree-inline.h.
  5887. (chkp_instrumentable_p): New.
  5888. (chkp_maybe_create_clone): Use chkp_instrumentable_p.
  5889. Fix processing of not instrumentable functions.
  5890. (chkp_versioning): Use chkp_instrumentable_p. Warn about
  5891. not instrumentable functions.
  5892. * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
  5893. chkp_instrumentable_p.
  5894. * tree-inline.h (copy_forbidden): New.
  5895. * tree-inline.c (copy_forbidden): Not static anymore.
  5896. 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  5897. * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
  5898. ptr1, ptr2 unused.
  5899. 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
  5900. * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
  5901. type OP_OUT to OP_INOUT.
  5902. 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
  5903. * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
  5904. (high x) y) to y if x and y have the same base.
  5905. 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
  5906. * config/arm/cortex-a57.md: New.
  5907. * config/aarch64/aarch64.md: Include it.
  5908. * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
  5909. * config/aarch64/aarch64-tune.md: Regenerate.
  5910. 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
  5911. PR target/64015
  5912. * ccmp.c (expand_ccmp_next): New function.
  5913. (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
  5914. and compare insn sequence.
  5915. * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
  5916. aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
  5917. (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
  5918. * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
  5919. (*ccmp_ior): Changed to ccmp_ior<mode>.
  5920. (cmp<mode>): New pattern.
  5921. * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
  5922. parameters.
  5923. * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
  5924. 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
  5925. * config/i386/avx2intrin.h (_mm256_bslli_epi128,
  5926. _mm256_bsrli_epi128): New.
  5927. * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
  5928. 2015-01-15 Jiong Wang <jiong.wang@arm.com>
  5929. * expmed.c (store_bit_field_using_insv): Improve warning message.
  5930. Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
  5931. 2015-01-15 Jiong Wang <jiong.wang@arm.com>
  5932. PR rtl-optimization/64011
  5933. * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
  5934. there is partial overflow.
  5935. 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
  5936. * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
  5937. prototype.
  5938. (nds32_expand_epilogue_v3pop): Likewise.
  5939. * config/nds32/nds32.md (sibcall): Define this for sibling call
  5940. optimization.
  5941. (sibcall_register): Likewise.
  5942. (sibcall_immediate): Likewise.
  5943. (sibcall_value): Likewise.
  5944. (sibcall_value_register): Likewise.
  5945. (sibcall_value_immediate): Likewise.
  5946. (sibcall_epilogue): Likewise.
  5947. (epilogue): Pass false to indicate this is not a sibcall epilogue.
  5948. * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
  5949. (nds32_expand_epilogue_v3pop): Likewise.
  5950. 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
  5951. * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
  5952. * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
  5953. (return_internal): New.
  5954. (return): Define this named pattern.
  5955. (simple_return): Define this named pattern.
  5956. * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
  5957. pattern instead of unspec_volatile_func_return.
  5958. (nds32_expand_epilogue_v3pop): Likewise.
  5959. (nds32_can_use_return_insn): New function.
  5960. 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
  5961. * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
  5962. * config/nds32/nds32.md (pop25return): New.
  5963. * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
  5964. pop25return pattern.
  5965. 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
  5966. * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
  5967. -mforbid-fp-as-gp, and -mex9 options.
  5968. 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
  5969. * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
  5970. remove -mgp-direct option.
  5971. 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
  5972. * doc/invoke.texi (--param early-inlining-insns): Update default value.
  5973. * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
  5974. 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
  5975. * ipa-inline.c (inline_small_functions): Work around hints
  5976. cache issue.
  5977. 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
  5978. PR target/59710
  5979. * doc/invoke.texi (Option Summary): Document new Nios II
  5980. -mgpopt= syntax.
  5981. (Nios II Options): Likewise.
  5982. * config/nios2/nios2.opt: Add -mgpopt= option support.
  5983. Modify existing -mgpopt and -mno-gpopt options to be aliases.
  5984. * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
  5985. * config/nios2/nios2.c (nios2_option_override): Adjust
  5986. -mgpopt defaulting.
  5987. (nios2_in_small_data_p): Return true for explicit small data
  5988. sections even with -G0.
  5989. (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
  5990. option choices.
  5991. 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
  5992. PR ipa/64612
  5993. * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
  5994. of comdat locals.
  5995. (inline_call): Fix removal of aliases.
  5996. 2015-01-15 Jakub Jelinek <jakub@redhat.com>
  5997. * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
  5998. include SANITIZE_VPTR in SANITIZE_UNDEFINED.
  5999. * opts.c (common_handle_option): Add -fsanitize=vptr.
  6000. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
  6001. BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
  6002. * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
  6003. UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
  6004. (ubsan_expand_vptr_ifn): New prototype.
  6005. * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
  6006. expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
  6007. expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
  6008. expand_LOOP_VECTORIZED): Make argument nameless, remove
  6009. ATTRIBUTE_UNUSED.
  6010. (expand_UBSAN_VPTR): New function.
  6011. * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
  6012. in fn spec.
  6013. (UBSAN_VPTR): New internal function.
  6014. * sanopt.c (tree_map_traits): Renamed to ...
  6015. (sanopt_tree_map_traits): ... this.
  6016. (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
  6017. (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
  6018. to sanopt_tree_map_traits renaming. Add vptr_check_map field.
  6019. (maybe_optimize_ubsan_vptr_ifn): New function.
  6020. (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
  6021. (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
  6022. -fsanitize=vptr.
  6023. * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
  6024. internal calls like pure functions for aliasing, even when they
  6025. have other side-effects that prevent making them ECF_PURE.
  6026. * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
  6027. (ubsan_expand_vptr_ifn): New function.
  6028. 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
  6029. PR rtl-optimization/64110
  6030. * stmt.c (parse_output_constraint): Process '^' and '$'.
  6031. (parse_input_constraint): Ditto.
  6032. * lra-constraints.c (process_alt_operands): Process the new
  6033. constraints.
  6034. * ira-costs.c (record_reg_classes): Process the new constraint
  6035. '^'.
  6036. * genoutput.c (indep_constraints): Add '^' and '$'.
  6037. * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
  6038. * doc/md.texi: Add description of the new constraints.
  6039. 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
  6040. Bernd Schmidt <bernds@codesourcery.com>
  6041. Cesar Philippidis <cesar@codesourcery.com>
  6042. James Norris <jnorris@codesourcery.com>
  6043. Tom de Vries <tom@codesourcery.com>
  6044. Ilmir Usmanov <i.usmanov@samsung.com>
  6045. Dmitry Bocharnikov <dmitry.b@samsung.com>
  6046. Evgeny Gavrin <e.gavrin@samsung.com>
  6047. Jakub Jelinek <jakub@redhat.com>
  6048. * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
  6049. (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
  6050. (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
  6051. New function types.
  6052. * builtins.c: Include "gomp-constants.h".
  6053. (expand_builtin_acc_on_device): New function.
  6054. (expand_builtin, is_inexpensive_builtin): Handle
  6055. BUILT_IN_ACC_ON_DEVICE.
  6056. * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
  6057. New macros.
  6058. * cgraph.c (cgraph_node::create): Consider flag_openacc next to
  6059. flag_openmp.
  6060. * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
  6061. <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
  6062. i386/intelmic-offload.h.
  6063. * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
  6064. to libgomp and its dependencies.
  6065. * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
  6066. * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
  6067. * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
  6068. * config/ia64/hpux.h (LIB_SPEC): Likewise.
  6069. * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
  6070. * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
  6071. * doc/generic.texi: Update for OpenACC changes.
  6072. * doc/gimple.texi: Likewise.
  6073. * doc/invoke.texi: Likewise.
  6074. * doc/sourcebuild.texi: Likewise.
  6075. * gimple-pretty-print.c (dump_gimple_omp_for): Handle
  6076. GF_OMP_FOR_KIND_OACC_LOOP.
  6077. (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
  6078. GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
  6079. GF_OMP_TARGET_KIND_OACC_UPDATE,
  6080. GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
  6081. Dump more data.
  6082. * gimple.c: Update comments for OpenACC changes.
  6083. * gimple.def: Likewise.
  6084. * gimple.h: Likewise.
  6085. (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
  6086. GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
  6087. GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
  6088. GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
  6089. (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
  6090. appropriate place.
  6091. (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
  6092. * gimplify.c: Include "gomp-constants.h".
  6093. Update comments for OpenACC changes.
  6094. (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
  6095. OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
  6096. OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
  6097. (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
  6098. OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
  6099. OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
  6100. OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
  6101. OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
  6102. OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
  6103. OMP_CLAUSE_SEQ.
  6104. (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
  6105. GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
  6106. OMP_CLAUSE_SET_MAP_KIND.
  6107. (gimplify_oacc_cache): New function.
  6108. (gimplify_omp_for): Handle OACC_LOOP.
  6109. (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
  6110. OACC_DATA.
  6111. (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
  6112. OACC_EXIT_DATA, OACC_UPDATE.
  6113. (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
  6114. OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
  6115. OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
  6116. (gimplify_body): Consider flag_openacc next to flag_openmp.
  6117. * lto-streamer-out.c: Include "gomp-constants.h".
  6118. * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
  6119. (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
  6120. (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
  6121. (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
  6122. (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
  6123. (BUILT_IN_ACC_ON_DEVICE): New builtins.
  6124. * omp-low.c: Include "gomp-constants.h".
  6125. Update comments for OpenACC changes.
  6126. (struct omp_context): Add reduction_map, gwv_below, gwv_this
  6127. members.
  6128. (extract_omp_for_data, use_pointer_for_field, install_var_field)
  6129. (new_omp_context, delete_omp_context, scan_sharing_clauses)
  6130. (create_omp_child_function, scan_omp_for, scan_omp_target)
  6131. (check_omp_nesting_restrictions, lower_reduction_clauses)
  6132. (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
  6133. Update for OpenACC changes.
  6134. (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
  6135. OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
  6136. OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
  6137. OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
  6138. OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
  6139. OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
  6140. OMP_CLAUSE_MAP_*.
  6141. (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
  6142. Handle GF_OMP_FOR_KIND_OACC_LOOP.
  6143. (expand_omp_target, lower_omp_target): Handle
  6144. GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
  6145. GF_OMP_TARGET_KIND_OACC_UPDATE,
  6146. GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
  6147. GF_OMP_TARGET_KIND_OACC_DATA.
  6148. (pass_expand_omp::execute, execute_lower_omp)
  6149. (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
  6150. flag_openmp.
  6151. (offload_symbol_decl): New variable.
  6152. (oacc_get_reduction_array_id, oacc_max_threads)
  6153. (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
  6154. (maybe_lookup_oacc_reduction, enclosing_target_ctx)
  6155. (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
  6156. (oacc_gimple_assign, oacc_initialize_reduction_data)
  6157. (oacc_finalize_reduction_data, oacc_process_reduction_data): New
  6158. functions.
  6159. (is_targetreg_ctx): Remove function.
  6160. * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
  6161. OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
  6162. OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
  6163. OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
  6164. OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
  6165. OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
  6166. * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
  6167. * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
  6168. (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
  6169. (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
  6170. (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
  6171. (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
  6172. * tree-core.h: Update comments for OpenACC changes.
  6173. (enum omp_clause_map_kind): Remove.
  6174. (struct tree_omp_clause): Change type of map_kind member from enum
  6175. omp_clause_map_kind to unsigned char.
  6176. * tree-inline.c: Update comments for OpenACC changes.
  6177. * tree-nested.c: Likewise. Include "gomp-constants.h".
  6178. (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
  6179. (convert_tramp_reference_stmt, convert_gimple_call): Update for
  6180. OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
  6181. OMP_CLAUSE_SET_MAP_KIND.
  6182. * tree-pretty-print.c: Include "gomp-constants.h".
  6183. (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
  6184. OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
  6185. OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
  6186. OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
  6187. OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
  6188. OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
  6189. instead of OMP_CLAUSE_MAP_*.
  6190. (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
  6191. OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
  6192. OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
  6193. * tree-streamer-in.c: Include "gomp-constants.h".
  6194. (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
  6195. OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
  6196. * tree-streamer-out.c: Include "gomp-constants.h".
  6197. (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
  6198. OMP_CLAUSE_MAP_*.
  6199. * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
  6200. (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
  6201. (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
  6202. * tree.c (omp_clause_num_ops): Update accordingly.
  6203. * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
  6204. Likewise.
  6205. (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
  6206. (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
  6207. (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
  6208. (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
  6209. (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
  6210. (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
  6211. * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
  6212. (OMP_CLAUSE_SET_MAP_KIND): New macro.
  6213. * varpool.c (varpool_node::get_create): Consider flag_openacc next
  6214. to flag_openmp.
  6215. * config/i386/intelmic-offload.h: New file.
  6216. * config/nvptx/offload.h: Likewise.
  6217. 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
  6218. * explow.h: Remove duplicate contents.
  6219. * dojump.h: Likewise.
  6220. 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
  6221. * arm.c (arm_xgene_tune): Add default initializer for instruction
  6222. fusion.
  6223. 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
  6224. PR ipa/64068
  6225. PR ipa/64559
  6226. * ipa.c (symbol_table::remove_unreachable_nodes):
  6227. Do not put abstract origins into boundary.
  6228. 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
  6229. * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
  6230. * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
  6231. 2015-01-15 Steve Ellcey <sellcey@mips.com>
  6232. * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
  6233. cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
  6234. builtins.def, and chkp-builtins.def.
  6235. 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
  6236. * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
  6237. ISA 2.7 (POWER8).
  6238. 2015-01-15 Richard Biener <rguenther@suse.de>
  6239. PR tree-optimization/61743
  6240. * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
  6241. information on PHIs for some simple cases.
  6242. 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
  6243. * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
  6244. Include xgene1.md.
  6245. * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
  6246. * config/arm/arm-cores.def (xgene1): New entry.
  6247. * config/arm/arm-tables.opt: Regenerate.
  6248. * config/arm/arm-tune.md: Regenerate.
  6249. * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
  6250. 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
  6251. * tree-if-conv.c: Include hash-map.h.
  6252. (aggressive_if_conv): New variable.
  6253. (fold_build_cond_expr): Add simplification of non-zero condition.
  6254. (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
  6255. destination block is not always executed.
  6256. (if_convertible_phi_p): Fix commentary, allow phi nodes have more
  6257. than two predecessors if AGGRESSIVE_IF_CONV is true.
  6258. (if_convertible_stmt_p): Fix commentary.
  6259. (all_preds_critical_p): New function.
  6260. (has_pred_critical_p): New function.
  6261. (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
  6262. BB can have more than two predecessors and all incoming edges can be
  6263. critical.
  6264. (predicate_bbs): Skip predication for loop exit block, use build2_loc
  6265. to compute predicate for true edge.
  6266. (find_phi_replacement_condition): Delete this function.
  6267. (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
  6268. Allow interchange PHI arguments if EXTENDED is false.
  6269. Change check that block containing reduction statement candidate
  6270. is predecessor of phi-block since phi may have more than two arguments.
  6271. (phi_args_hash_traits): New helper structure.
  6272. (struct phi_args_hash_traits): New type.
  6273. (phi_args_hash_traits::hash): New function.
  6274. (phi_args_hash_traits::equal_keys): New function.
  6275. (gen_phi_arg_condition): New function.
  6276. (predicate_scalar_phi): Add handling of phi nodes with more than two
  6277. arguments, delete COND and TRUE_BB arguments, insert body of
  6278. find_phi_replacement_condition to predicate ordinary phi nodes.
  6279. (predicate_all_scalar_phis): Skip blocks with the only predecessor,
  6280. delete call of find_phi_replacement_condition and invoke
  6281. predicate_scalar_phi with two arguments.
  6282. (insert_gimplified_predicates): Add assert that non-predicated block
  6283. don't have statements to insert.
  6284. (ifcvt_split_critical_edges): New function.
  6285. (ifcvt_split_def_stmt): Likewise.
  6286. (ifcvt_walk_pattern_tree): Likewise.
  6287. (stmt_is_root_of_bool_pattern): Likewise.
  6288. (ifcvt_repair_bool_pattern): Likewise.
  6289. (ifcvt_local_dce): Likewise.
  6290. (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
  6291. is copy of inner or outer loop force_vectorize field, invoke
  6292. ifcvt_split_critical_edges, ifcvt_local_dce and
  6293. ifcvt_repair_bool_pattern for aggressive if-conversion.
  6294. 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
  6295. * config/aarch64/aarch64.md: Include xgene1.md.
  6296. * config/aarch64/xgene1.md: New file.
  6297. 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
  6298. * config/aarch64/aarch64-cores.def (xgene1): Update/add the
  6299. xgene1 (APM XGene-1) core definition.
  6300. * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
  6301. * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
  6302. * doc/invoke.texi: Document -mcpu=xgene1.
  6303. 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
  6304. * dojump.h: New header file.
  6305. * explow.h: Likewise.
  6306. * expr.h: Remove includes.
  6307. Move expmed.c prototypes to expmed.h.
  6308. Move dojump.c prototypes to dojump.h.
  6309. Move alias.c prototypes to alias.h.
  6310. Move explow.c prototypes to explow.h.
  6311. Move calls.c prototypes to calls.h.
  6312. Move emit-rtl.c prototypes to emit-rtl.h.
  6313. Move varasm.c prototypes to varasm.h.
  6314. Move stmt.c prototypes to stmt.h.
  6315. (saved_pending_stack_adjust): Move to dojump.h.
  6316. (adjust_address): Move to explow.h.
  6317. (adjust_address_nv): Move to emit-rtl.h.
  6318. (adjust_bitfield_address): Likewise.
  6319. (adjust_bitfield_address_size): Likewise.
  6320. (adjust_bitfield_address_nv): Likewise.
  6321. (adjust_automodify_address_nv): Likewise.
  6322. * explow.c (expr_size): Move to expr.c.
  6323. (int_expr_size): Likewise.
  6324. (tree_expr_size): Likewise.
  6325. Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6326. fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
  6327. * genemit.c (main): Generate includes statistics.h, real.h,
  6328. fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
  6329. stmt.h.
  6330. * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
  6331. function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
  6332. explow.h, emit-rtl.h, stmt.h.
  6333. * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
  6334. fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
  6335. * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
  6336. real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
  6337. emit-rtl.h, varasm.h, stmt.h.
  6338. * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
  6339. hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
  6340. function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
  6341. fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
  6342. expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
  6343. * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
  6344. double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
  6345. function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
  6346. insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
  6347. tm.h tree.h varasm.h vec.h wide-int.h.
  6348. * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
  6349. explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
  6350. hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
  6351. real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
  6352. * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
  6353. emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
  6354. insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
  6355. * loop-iv.c: Likewise.
  6356. * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
  6357. emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
  6358. statistics.h stmt.h tree.h varasm.h wide-int.h.
  6359. * lra-constraints.c: Likewise.
  6360. * lra-eliminations.c: Likewise.
  6361. * lra-lives.c: Likewise.
  6362. * lra-remat.c: Likewise.
  6363. * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
  6364. explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
  6365. statistics.h stmt.h tree.h varasm.h wide-int.h.
  6366. * hw-doloop.c: Likewise.
  6367. * ira-color.c: Likewise.
  6368. * ira-emit.c: Likewise.
  6369. * loop-doloop.c: Likewise.
  6370. * loop-invariant.c: Likewise.
  6371. * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
  6372. explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
  6373. statistics.h stmt.h tree.h varasm.h wide-int.h.
  6374. * caller-save.c: Include alias.h calls.h dojump.h double-int.h
  6375. emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
  6376. statistics.h stmt.h tree.h varasm.h wide-int.h.
  6377. * combine-stack-adj.c: Likewise.
  6378. * cse.c: Likewise.
  6379. * ddg.c: Likewise.
  6380. * ifcvt.c: Likewise.
  6381. * ira-costs.c: Likewise.
  6382. * jump.c: Likewise.
  6383. * lra-coalesce.c: Likewise.
  6384. * lra-spills.c: Likewise.
  6385. * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
  6386. explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
  6387. stmt.h varasm.h wide-int.h.
  6388. * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
  6389. explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
  6390. varasm.h.
  6391. * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
  6392. double-int.h explow.h expmed.h fixed-value.h flags.h real.h
  6393. statistics.h stmt.h varasm.h wide-int.h.
  6394. * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
  6395. expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
  6396. varasm.h wide-int.h.
  6397. * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
  6398. expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
  6399. * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
  6400. emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
  6401. statistics.h stmt.h.
  6402. * config/tilepro/tilepro.c: Likewise.
  6403. * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
  6404. explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
  6405. * config/pdp11/pdp11.c: Likewise.
  6406. * config/xtensa/xtensa.c: Likewise.
  6407. * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
  6408. explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
  6409. varasm.h.
  6410. * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6411. fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
  6412. insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
  6413. * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6414. fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
  6415. insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
  6416. * rtl-chkp.c: Likewise.
  6417. * tree-chkp-opt.c: Likewise.
  6418. * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
  6419. explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
  6420. hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
  6421. * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6422. fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
  6423. statistics.h stmt.h.
  6424. * tree-vect-data-refs.c: Likewise.
  6425. * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
  6426. expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
  6427. rtl.h statistics.h stmt.h varasm.h.
  6428. * internal-fn.c: Likewise.
  6429. * ipa-icf-gimple.c: Likewise.
  6430. * lto-section-out.c: Likewise.
  6431. * tree-data-ref.c: Likewise.
  6432. * tree-nested.c: Likewise.
  6433. * tree-outof-ssa.c: Likewise.
  6434. * tree-predcom.c: Likewise.
  6435. * tree-pretty-print.c: Likewise.
  6436. * tree-scalar-evolution.c: Likewise.
  6437. * tree-ssa-strlen.c: Likewise.
  6438. * tree-vect-loop.c: Likewise.
  6439. * tree-vect-patterns.c: Likewise.
  6440. * tree-vect-slp.c: Likewise.
  6441. * tree-vect-stmts.c: Likewise.
  6442. * tsan.c: Likewise.
  6443. * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6444. fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
  6445. stmt.h.
  6446. * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
  6447. expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
  6448. statistics.h stmt.h varasm.h.
  6449. * loop-unroll.c: Likewise.
  6450. * ubsan.c: Likewise.
  6451. * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
  6452. expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
  6453. stmt.h varasm.h.
  6454. * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6455. fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
  6456. * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
  6457. expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
  6458. statistics.h stmt.h.
  6459. * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
  6460. expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
  6461. statistics.h stmt.h varasm.h.
  6462. * gimple-match-head.c: Likewise.
  6463. * lto-cgraph.c: Likewise.
  6464. * lto-section-in.c: Likewise.
  6465. * lto-streamer-in.c: Likewise.
  6466. * lto-streamer-out.c: Likewise.
  6467. * tree-affine.c: Likewise.
  6468. * tree-cfg.c: Likewise.
  6469. * tree-cfgcleanup.c: Likewise.
  6470. * tree-if-conv.c: Likewise.
  6471. * tree-into-ssa.c: Likewise.
  6472. * tree-ssa-alias.c: Likewise.
  6473. * tree-ssa-copyrename.c: Likewise.
  6474. * tree-ssa-dse.c: Likewise.
  6475. * tree-ssa-forwprop.c: Likewise.
  6476. * tree-ssa-live.c: Likewise.
  6477. * tree-ssa-math-opts.c: Likewise.
  6478. * tree-ssa-pre.c: Likewise.
  6479. * tree-ssa-sccvn.c: Likewise.
  6480. * tree-tailcall.c: Likewise.
  6481. * tree-vect-generic.c: Likewise.
  6482. * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6483. fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
  6484. * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6485. fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
  6486. * varasm.c: Likewise.
  6487. * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6488. fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
  6489. varasm.h.
  6490. * init-regs.c: Likewise.
  6491. * ira.c: Likewise.
  6492. * omp-low.c: Likewise.
  6493. * stack-ptr-mod.c: Likewise.
  6494. * tree-ssa-reassoc.c: Likewise.
  6495. * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6496. fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
  6497. varasm.h.
  6498. * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6499. fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
  6500. * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6501. fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
  6502. * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6503. fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
  6504. * tree-ssa-phiopt.c: Likewise.
  6505. * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6506. fixed-value.h hashtab.h real.h statistics.h stmt.h.
  6507. * config/fr30/fr30.c: Likewise.
  6508. * config/frv/frv.c: Likewise.
  6509. * expr.c: Likewise.
  6510. * final.c: Likewise.
  6511. * optabs.c: Likewise.
  6512. * passes.c: Likewise.
  6513. * simplify-rtx.c: Likewise.
  6514. * stmt.c: Likewise.
  6515. * toplev.c: Likewise.
  6516. * var-tracking.c: Likewise.
  6517. * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6518. fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
  6519. * lower-subreg.c: Likewise.
  6520. * postreload-gcse.c: Likewise.
  6521. * ree.c: Likewise.
  6522. * reginfo.c: Likewise.
  6523. * store-motion.c: Likewise.
  6524. * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6525. fixed-value.h hashtab.h real.h stmt.h varasm.h.
  6526. * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6527. fixed-value.h hashtab.h statistics.h stmt.h.
  6528. * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6529. fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
  6530. * except.c: Likewise.
  6531. * explow.c: Likewise.
  6532. * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6533. fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
  6534. varasm.h.
  6535. * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6536. fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
  6537. * tree-ssa-structalias.c: Likewise.
  6538. * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6539. fixed-value.h insn-config.h real.h statistics.h.
  6540. * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6541. fixed-value.h insn-config.h real.h statistics.h stmt.h.
  6542. * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6543. fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
  6544. * cfgbuild.c: Likewise.
  6545. * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6546. fixed-value.h real.h rtl.h statistics.h stmt.h.
  6547. * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6548. fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
  6549. * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6550. fixed-value.h real.h statistics.h stmt.h.
  6551. * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
  6552. fixed-value.h real.h statistics.h stmt.h varasm.h.
  6553. * cprop.c: Likewise.
  6554. * modulo-sched.c: Likewise.
  6555. * postreload.c: Likewise.
  6556. * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
  6557. flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
  6558. statistics.h stmt.h varasm.h.
  6559. * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
  6560. explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
  6561. rtl.h statistics.h stmt.h varasm.h.
  6562. * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
  6563. fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
  6564. varasm.h.
  6565. * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
  6566. function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
  6567. varasm.h.
  6568. * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
  6569. fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
  6570. varasm.h.
  6571. * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
  6572. fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
  6573. * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
  6574. function.h real.h statistics.h stmt.h varasm.h.
  6575. * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
  6576. insn-config.h real.h statistics.h stmt.h.
  6577. * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
  6578. statistics.h stmt.h.
  6579. * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6580. fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
  6581. statistics.h stmt.h varasm.h.
  6582. * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6583. fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
  6584. * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
  6585. flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
  6586. * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6587. fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
  6588. statistics.h stmt.h varasm.h.
  6589. * ipa-polymorphic-call.c: Likewise.
  6590. * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
  6591. expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
  6592. statistics.h stmt.h.
  6593. * config/c6x/c6x.c: Likewise.
  6594. * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
  6595. explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
  6596. statistics.h stmt.h varasm.h.
  6597. * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6598. fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
  6599. stmt.h varasm.h.
  6600. * ipa-split.c: Likewise.
  6601. * tree-eh.c: Likewise.
  6602. * tree-ssa-dce.c: Likewise.
  6603. * tree-ssa-loop-niter.c: Likewise.
  6604. * tree-vrp.c: Likewise.
  6605. * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
  6606. expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
  6607. stmt.h.
  6608. * config/nds32/nds32-fp-as-gp.c: Likewise.
  6609. * config/nds32/nds32-intrinsic.c: Likewise.
  6610. * config/nds32/nds32-isr.c: Likewise.
  6611. * config/nds32/nds32-md-auxiliary.c: Likewise.
  6612. * config/nds32/nds32-memory-manipulation.c: Likewise.
  6613. * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
  6614. * config/nds32/nds32-predicates.c: Likewise.
  6615. * config/nds32/nds32.c: Likewise.
  6616. * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6617. fixed-value.h hashtab.h real.h statistics.h.
  6618. * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6619. fixed-value.h hashtab.h real.h statistics.h stmt.h.
  6620. * config/arm/arm.c: Likewise.
  6621. * config/avr/avr.c: Likewise.
  6622. * config/bfin/bfin.c: Likewise.
  6623. * config/h8300/h8300.c: Likewise.
  6624. * config/i386/i386.c: Likewise.
  6625. * config/ia64/ia64.c: Likewise.
  6626. * config/iq2000/iq2000.c: Likewise.
  6627. * config/m32c/m32c.c: Likewise.
  6628. * config/m32r/m32r.c: Likewise.
  6629. * config/m68k/m68k.c: Likewise.
  6630. * config/mcore/mcore.c: Likewise.
  6631. * config/mep/mep.c: Likewise.
  6632. * config/mips/mips.c: Likewise.
  6633. * config/mn10300/mn10300.c: Likewise.
  6634. * config/moxie/moxie.c: Likewise.
  6635. * config/pa/pa.c: Likewise.
  6636. * config/rl78/rl78.c: Likewise.
  6637. * config/rx/rx.c: Likewise.
  6638. * config/s390/s390.c: Likewise.
  6639. * config/sh/sh.c: Likewise.
  6640. * config/sparc/sparc.c: Likewise.
  6641. * config/spu/spu.c: Likewise.
  6642. * config/stormy16/stormy16.c: Likewise.
  6643. * config/v850/v850.c: Likewise.
  6644. * config/vax/vax.c: Likewise.
  6645. * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6646. fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
  6647. * config/msp430/msp430.c: Likewise.
  6648. * predict.c: Likewise.
  6649. * value-prof.c: Likewise.
  6650. * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
  6651. expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
  6652. * config/microblaze/microblaze.c: Likewise.
  6653. * config/nios2/nios2.c: Likewise.
  6654. * config/rs6000/rs6000.c: Likewise.
  6655. * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
  6656. insn-config.h real.h rtl.h statistics.h stmt.h.
  6657. * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
  6658. insn-config.h real.h statistics.h stmt.h.
  6659. * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6660. fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
  6661. * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6662. fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
  6663. * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6664. fixed-value.h real.h statistics.h stmt.h.
  6665. * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6666. fixed-value.h statistics.h stmt.h.
  6667. * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
  6668. stmt.h.
  6669. 2015-01-15 Jakub Jelinek <jakub@redhat.com>
  6670. * gengtype.c (create_user_defined_type): Workaround
  6671. -Wmaybe-uninitialized false positives.
  6672. * cse.c (fold_rtx): Likewise.
  6673. * loop-invariant.c (gain_for_invariant): Likewise.
  6674. 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
  6675. * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
  6676. set the memory attributes in all cases but clear MEM_EXPR if need be.
  6677. 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
  6678. PR tree-optimization/64434
  6679. * cfgexpand.c (reorder_operands): New function.
  6680. (expand_gimple_basic_block): Insert call of reorder_operands if
  6681. optimized is true.
  6682. 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
  6683. * config/mips/micromips.md (*swp): Remove explicit parallel.
  6684. (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
  6685. * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
  6686. (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
  6687. (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
  6688. (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
  6689. (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
  6690. (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
  6691. (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
  6692. (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
  6693. (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
  6694. (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
  6695. (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
  6696. (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
  6697. (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
  6698. (mips_wrdsp): Likewise.
  6699. * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
  6700. parallel.
  6701. (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
  6702. (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
  6703. (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
  6704. (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
  6705. (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
  6706. (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
  6707. * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
  6708. (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
  6709. (ssmaddsqdq4, ssmsubsqdq4): Likewise.
  6710. 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
  6711. * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
  6712. (mips_print_operand): Support 'y' to print exact log2 in decimal
  6713. of a const_int.
  6714. * config/mips/mips.h (ISA_HAS_LSA): New define.
  6715. (ISA_HAS_DLSA): Likewise.
  6716. * config/mips/mips.md (<GPR:d>lsa): New define_insn.
  6717. * config/mips/predicates.md (const_immlsa_operand): New predicate.
  6718. 2015-01-15 Martin Liska <mliska@suse.cz>
  6719. PR target/64377
  6720. * optc-save-gen.awk: Add support for array types.
  6721. 2015-01-15 Richard Biener <rguenther@suse.de>
  6722. PR middle-end/64365
  6723. * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
  6724. for MEM_REF access functions with the same base can never partially
  6725. overlap.
  6726. 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
  6727. * common.opt: New option -fstack-protector-explicit.
  6728. * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
  6729. (stack_protect_decl_phase): Handle stack_protect attribute for
  6730. explicit stack protection requests.
  6731. (expand_used_vars): Similarly.
  6732. * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
  6733. * doc/extend.texi: Add documentation for "stack_protect" attribute.
  6734. * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
  6735. 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
  6736. PR target/53988
  6737. * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
  6738. reg-reg copies.
  6739. (sh_extending_set_of_reg): New struct.
  6740. (sh_find_extending_set_of_reg, sh_split_tst_subregs,
  6741. sh_remove_reg_dead_or_unused_notes): New Declarations.
  6742. * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
  6743. sh_find_extending_set_of_reg, sh_split_tst_subregs,
  6744. sh_extending_set_of_reg::use_as_extended_reg): New functions.
  6745. * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
  6746. convert to insn_and_split and use new function sh_split_tst_subregs.
  6747. 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
  6748. * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
  6749. option.
  6750. (Optimization Options): Move -fuse-ld documentation to...
  6751. (Link Options): ...here.
  6752. 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
  6753. * config/mips/constraints.md (ZC): Add support for R6 LL/SC
  6754. offsets.
  6755. (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
  6756. * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
  6757. (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
  6758. * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
  6759. instead of ZR for the memory operand of LL/SC.
  6760. (compare_and_swap_12, sync_add<mode>): Likewise.
  6761. (sync_<optab>_12, sync_old_<optab>_12): Likewise.
  6762. (sync_new_<optab>_12, sync_nand_12): Likewise.
  6763. (sync_old_nand_12, sync_new_nand_12): Likewise.
  6764. (sync_sub<mode>, sync_old_add<mode>): Likewise.
  6765. (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
  6766. (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
  6767. (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
  6768. (sync_nand<mode>, sync_old_nand<mode>): Likewise.
  6769. (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
  6770. (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
  6771. (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
  6772. * doc/md.texi (ZC): Update description.
  6773. 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
  6774. * builtins.c (expand_builtin_atomic_exchange): Remove error when
  6775. memory model is CONSUME.
  6776. (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
  6777. expand_builtin_atomic_store): Change invalid memory model errors to
  6778. warnings.
  6779. (expand_builtin_atomic_clear): Change invalid model errors to warnings
  6780. and issue warning for CONSUME.
  6781. 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
  6782. * lto-cgraph: Update function comments for
  6783. lto_symtab_encoder_encode_*.
  6784. 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
  6785. * Makefile.in (site.exp): Do not set ENABLE_LTO.
  6786. 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
  6787. * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
  6788. * lto-cgraph.c (select_what_to_stream): Remove argument, use
  6789. lto_stream_offload_p instead.
  6790. * lto-streamer.h (select_what_to_stream): Remove argument.
  6791. * passes.c (ipa_write_summaries): Likewise.
  6792. * tree-pass.h (ipa_write_summaries): Likewise.
  6793. 2015-01-14 Richard Biener <rguenther@suse.de>
  6794. PR tree-optimization/59354
  6795. * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
  6796. groups larger than the slp group size as having gaps.
  6797. 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
  6798. PR middle-end/59448
  6799. * builtins.c (get_memmodel): Promote consume to acquire always.
  6800. 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
  6801. PR target/64386
  6802. * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
  6803. V32HImode.
  6804. 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
  6805. PR target/64393
  6806. * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
  6807. Enable AVX512BW.
  6808. (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
  6809. * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
  6810. AVX512VBMI, as it implies AVX512BW.
  6811. 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
  6812. PR target/64387
  6813. * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
  6814. (vec_unpacks_hi_v16sf): Ditto.
  6815. 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  6816. * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
  6817. is not available.
  6818. 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  6819. * doc/invoke.texi (mapcs): Mention deprecation.
  6820. (mapcs-frame): Likewise.
  6821. 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
  6822. PR target/64453
  6823. * config/arm/arm.c (callee_saved_reg_p): Define.
  6824. (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
  6825. register is callee saved instead of !call_used_regs[reg].
  6826. (thumb1_compute_save_reg_mask): Likewise.
  6827. 2015-01-14 Hale Wang <hale.wang@arm.com>
  6828. * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
  6829. Cortex-M7.
  6830. 2015-01-14 Richard Biener <rguenther@suse.de>
  6831. PR lto/64415
  6832. * tree-inline.c (insert_debug_decl_map): Check destination
  6833. function MAY_HAVE_DEBUG_STMTS.
  6834. (insert_init_debug_bind): Likewise.
  6835. (insert_init_stmt): Remove redundant check.
  6836. (remap_gimple_stmt): Drop debug stmts if the destination
  6837. function has var-tracking assignments disabled.
  6838. 2015-01-14 Martin Liska <mliska@suse.cz>
  6839. * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
  6840. IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
  6841. 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  6842. PR target/64460
  6843. * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
  6844. (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
  6845. 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
  6846. * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
  6847. level from an ARCH; do not inject the default.
  6848. (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
  6849. MIPS_ISA_LEVEL_SPEC.
  6850. (MIPS_ISA_NAN2008_SPEC): Update comment.
  6851. (BASE_DRIVER_SELF_SPECS): Likewise.
  6852. * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
  6853. MIPS_DEFAULT_ISA_LEVEL_SPEC.
  6854. * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
  6855. * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
  6856. * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
  6857. 2015-01-14 Richard Biener <rguenther@suse.de>
  6858. PR tree-optimization/64493
  6859. PR tree-optimization/64495
  6860. * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
  6861. assign the proper vectorized PHI to the inner loop exit PHIs.
  6862. 2015-01-14 Joey Ye <joey.ye@arm.com>
  6863. * config/arm/arm.c (arm_compute_save_reg_mask):
  6864. Do not save lr in case of tail call.
  6865. * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
  6866. 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
  6867. * tree-vrp.c (check_array_ref): Emit more warnings
  6868. for warn_array_bounds >= 2.
  6869. * common.opt: New option -Warray-bounds=.
  6870. * doc/invoke.texi: Document -Warray-bounds=.
  6871. 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
  6872. * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
  6873. (mforbid-fp-as-gp): Remove.
  6874. (mex9): Remove.
  6875. * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
  6876. (nds32_symbol_load_store_p): Remove.
  6877. (nds32_fp_as_gp_check_available): Clean up implementation.
  6878. * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
  6879. cases.
  6880. * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
  6881. fp-as-gp and ex9 cases.
  6882. 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
  6883. * tree-profile.c (init_ic_make_global_vars): Drop workaround
  6884. for bintuils bug 14342.
  6885. (init_ic_make_global_vars): Likewise.
  6886. (gimple_init_edge_profiler): Likewise.
  6887. (gimple_gen_ic_func_profiler): Likewise.
  6888. 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
  6889. * ipa-inline.c (inline_small_functions): Swap the operands in
  6890. enum.
  6891. 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
  6892. PR ipa/64481
  6893. * ipa-inline-analysis.c (node_growth_cache): Remove.
  6894. (initialize_growth_caches): Do not initialize it.
  6895. (free_growth_caches): Do not free it.
  6896. (do_estimate_growth): Rename to ...
  6897. (estimate_growth): ... this one; drop growth cache code.
  6898. (growth_likely_positive): Always go the heuristics way.
  6899. * ipa-inline.c (can_inline_edge_p): Walk through aliases.
  6900. (reset_edge_caches): Do not reset node growth.
  6901. (heap_edge_removal_hook): Do not maintain cache.
  6902. (inline_small_functions): Likewise; strenghten sanity check.
  6903. (ipa_inline): Do not maintain caches.
  6904. * ipa-inline.h (node_growth_cache): Remove.
  6905. (do_estimate_growth): Remove to ...
  6906. (estimate_growth): this one; remove inline version.
  6907. (reset_node_growth_cache): Remove.
  6908. 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
  6909. PR ipa/64565
  6910. * ipa-inline.c (inline_small_functions): Update callee keys after
  6911. resolving speculation
  6912. (inline_small_functions): Always check monotonicity of the queue.
  6913. 2015-01-13 Marek Polacek <polacek@redhat.com>
  6914. PR middle-end/64391
  6915. * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
  6916. 2015-01-13 Jakub Jelinek <jakub@redhat.com>
  6917. PR rtl-optimization/64286
  6918. * ree.c (combine_reaching_defs): Move part of comment earlier,
  6919. remove !SCALAR_INT_MODE_P check.
  6920. (add_removable_extension): Don't add vector mode
  6921. extensions if all uses of the source register aren't the same
  6922. vector extensions.
  6923. 2015-01-13 Renlin Li <renlin.li@arm.com>
  6924. * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
  6925. (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
  6926. 2015-01-13 Martin Liska <mliska@suse.cz>
  6927. * ipa-icf.c (sem_function::equals_private): Call new functions
  6928. cl_target_option_print_diff and cl_optimization_print_diff.
  6929. * optc-save-gen.awk (cl_target_option_print_diff): New function.
  6930. (cl_optimization_print_diff): Likewise.
  6931. * opth-gen.awk: Likewise.
  6932. 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
  6933. * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
  6934. (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
  6935. (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
  6936. (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
  6937. (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
  6938. (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
  6939. 2015-01-13 Andrew Pinski <apinski@cavium.com>
  6940. * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
  6941. instead of src mode.
  6942. 2015-01-13 Richard Biener <rguenther@suse.de>
  6943. PR lto/64373
  6944. * lto-streamer-out.c (tree_is_indexable): Guard for NULL
  6945. DECL_CONTEXT.
  6946. 2015-01-13 Andrew Pinski <apinski@cavium.com>
  6947. * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
  6948. volatile mems.
  6949. (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
  6950. 2015-01-13 Jakub Jelinek <jakub@redhat.com>
  6951. PR middle-end/63974
  6952. * cfgexpand.c (expand_computed_goto): Don't call
  6953. convert_memory_address here.
  6954. 2015-01-13 Richard Biener <rguenther@suse.de>
  6955. PR tree-optimization/64406
  6956. * tree-loop-distibution.c (pass_loop_distribution::execute):
  6957. Reset the SCEV hashtable if we distributed anything.
  6958. 2015-01-13 Richard Biener <rguenther@suse.de>
  6959. PR tree-optimization/64404
  6960. * tree-vect-stmts.c (vectorizable_load): Reject conflicting
  6961. SLP types for CSEd loads.
  6962. 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
  6963. PR tree-optimization/64436
  6964. * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
  6965. merge of two symbolic numbers for a bitwise OR to ...
  6966. (perform_symbolic_merge): This. Also fix computation of the range and
  6967. end of the symbolic number corresponding to the result of a bitwise OR.
  6968. 2015-01-13 Richard Biener <rguenther@suse.de>
  6969. PR tree-optimization/64568
  6970. * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
  6971. release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
  6972. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  6973. * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
  6974. TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
  6975. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  6976. * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
  6977. target-specific symbol_ref flag.
  6978. (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
  6979. resides in rodata section.
  6980. * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
  6981. (nds32_encode_section_info): New function.
  6982. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  6983. * config/nds32/nds32.md (call): Use pseudo instruction bal which
  6984. clobbers TA_REGNUM if large code model is specified.
  6985. (call_register): Likewise.
  6986. (call_immediate): Likewise.
  6987. (call_value): Likewise.
  6988. (call_value_register): Likewise.
  6989. (call_value_immediate): Likewise.
  6990. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  6991. * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
  6992. (TARGET_CMODEL_MEDIUM): New macro.
  6993. (TARGET_CMODEL_LARGE): New macro.
  6994. * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
  6995. code model setting in assembly code.
  6996. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  6997. * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
  6998. Remove MASK_GP_DIRECT flag.
  6999. * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
  7000. one of the multilib default options.
  7001. * config/nds32/nds32.opt (mgp-direct): Remove.
  7002. * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
  7003. -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
  7004. 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
  7005. * config/nds32/nds32.opt (mcmodel): Add new option.
  7006. * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
  7007. to describe code model.
  7008. 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
  7009. PR target/64479
  7010. * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
  7011. 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
  7012. * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
  7013. (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
  7014. (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
  7015. (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
  7016. __builtin_sh_set_fpscr.
  7017. 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
  7018. * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
  7019. after a funtion name just to indicate it is a function.
  7020. ([-fsanitize-undefined-trap-on-error]): Likewise.
  7021. ([-fdbg-cnt=]): Likewise.
  7022. ([-mmemcpy]): Likewise.
  7023. ([-mflush-func]): Likewise.
  7024. ([-msynci]): Likewise.
  7025. 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
  7026. * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
  7027. example.
  7028. 2015-01-12 Jakub Jelinek <jakub@redhat.com>
  7029. PR tree-optimization/64563
  7030. * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
  7031. instead of != VR_VARYING.
  7032. PR target/64513
  7033. * config/i386/i386.c (ix86_expand_prologue): Add
  7034. REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
  7035. PR tree-optimization/64454
  7036. * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
  7037. op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
  7038. for signed or [0, op1 - 1] for unsigned modulo.
  7039. (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
  7040. even if op1 does not satisfy integer_pow2p.
  7041. PR other/64370
  7042. * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
  7043. 2015-01-12 Jeff Law <law@redhat.com>
  7044. PR target/64461
  7045. * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
  7046. (trunchiqi2, truncsihi2): Similarly.
  7047. * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
  7048. rather than calling F.
  7049. 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
  7050. * tsan.c (instrument_expr): Use force_gimple_operand.
  7051. Use may_be_nonaddressable_p instead of is_gimple_addressable.
  7052. 2015-01-12 Richard Biener <rguenther@suse.de>
  7053. PR tree-optimization/64530
  7054. * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
  7055. back dr1.
  7056. 2015-01-12 Richard Biener <rguenther@suse.de>
  7057. PR middle-end/64357
  7058. * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
  7059. latches properly.
  7060. 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  7061. * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
  7062. Cortex-A17 tuning parameters.
  7063. * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
  7064. 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  7065. * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
  7066. * config/arm/arm.c (arm_macro_fusion_p): New function.
  7067. (arm_macro_fusion_pair_p): Likewise.
  7068. (TARGET_SCHED_MACRO_FUSION_P): Define.
  7069. (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
  7070. (ARM_FUSE_NOTHING): Likewise.
  7071. (ARM_FUSE_MOVW_MOVT): Likewise.
  7072. (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
  7073. arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
  7074. arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
  7075. arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
  7076. arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
  7077. arm_cortex_a5_tune): Specify fuseable_ops value.
  7078. 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
  7079. PR bootstrap/64561
  7080. * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
  7081. test for PIE with copy reloc.
  7082. * configure: Regenerated.
  7083. 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  7084. * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
  7085. in gen_rtx_REG.
  7086. (arm_tls_descseq_addr): Likewise.
  7087. (arm_gen_movmemqi): Likewise.
  7088. (arm_expand_epilogue_apcs_frame): Likewise.
  7089. (arm_expand_epilogue): Likewise.
  7090. (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
  7091. in gen_rtx_REG.
  7092. 2015-01-12 Martin Liska <mliska@suse.cz>
  7093. PR ipa/64550
  7094. * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
  7095. volatility for correct operands.
  7096. 2015-01-12 Martin Liska <mliska@suse.cz>
  7097. * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
  7098. that a function is not leaf.
  7099. (sem_function::compare_polymorphic_p): Likewise.
  7100. 2015-01-12 Martin Liska <mliska@suse.cz>
  7101. * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
  7102. that a function is not leaf.
  7103. (sem_function::compare_polymorphic_p): Likewise.
  7104. 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
  7105. * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
  7106. machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
  7107. fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
  7108. fold-const.h, tree-check.h.
  7109. 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
  7110. PR ipa/63967
  7111. PR ipa/64425
  7112. * ipa-inline.c (compute_uninlined_call_time,
  7113. compute_inlined_call_time): Use counts for extra precision when
  7114. needed possible.
  7115. (big_speedup_p): Fix formating.
  7116. (RELATIVE_TIME_BENEFIT_RANGE): Remove.
  7117. (relative_time_benefit): Remove.
  7118. (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
  7119. merge guessed and read profile paths.
  7120. (inline_small_functions): Count only !optimize_size functions into
  7121. initial size; be more lax about sanity check when profile is used;
  7122. be sure to update inlined function profile when profile is read.
  7123. 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
  7124. PR ipa/63470
  7125. * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
  7126. cost when edge becomes direct.
  7127. * ipa-prop.c (make_edge_direct): Do not adjust when speculation
  7128. is resolved or when introducing new speculation.
  7129. 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
  7130. PR ipa/64551
  7131. PR ipa/64552
  7132. * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
  7133. '||' to fix typo issue.
  7134. * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
  7135. accept and return NULL.
  7136. 2015-01-12 Martin Liska <mliska@suse.cz>
  7137. * cgraph.c (cgraph_edge::remove_callee): Move function to header
  7138. file for being inlined.
  7139. (cgraph_set_edge_callee): Delete.
  7140. (cgraph_edge::redirect_callee): Move function to header file
  7141. for being inlined.
  7142. (cgraph_edge::make_direct): Use new function.
  7143. (cgraph_edge::dump_edge_flags): New function created from
  7144. static dump_edge_flags function.
  7145. (cgraph_node::dump): Use new function.
  7146. (cgraph_edge::verify_count_and_frequency): New function created
  7147. from verify_edge_count_and_frequency.
  7148. (cgraph_edge::verify_corresponds_to_fndecl): New function created
  7149. from verify_edge_corresponds_to_fndecl.
  7150. (verify_edge_corresponds_to_fndecl): Delete.
  7151. (cgraph_node::verify_node): Use new function.
  7152. * cgraph.h (cgraph_edge::set_callee): New function.
  7153. (cgraph_edge::dump_edge_flags): Likewise.
  7154. (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
  7155. 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
  7156. * ipa-utils.c (estimate_function_body_sizes): Do not
  7157. free node params when called late with early=true.
  7158. 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
  7159. * doc/md.texi (Instruction Patterns): Rewrite text for
  7160. clarity.
  7161. (Example): Likewise.
  7162. 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
  7163. * doc/invoke.texi (Option Summary): Break long lines.
  7164. [(-fdiagnostics-color)]: Put long literal in @smallexample
  7165. instead of inline.
  7166. [(-fsanitize-recover)]: Likewise.
  7167. [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
  7168. [(-ffast-math)]: Likewise.
  7169. [(--param max-inline-insns-recursive)]: Likewise.
  7170. [(--param max-inline-recursive-depth)]: Likewise.
  7171. [(-mno-text-section-literals)]: Likewise.
  7172. 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
  7173. * doc/install.texi: Update for libgomp being renamed from "GNU
  7174. OpenMP Runtime Library" to "GNU Offloading and Multi Processing
  7175. Runtime Library".
  7176. * doc/sourcebuild.texi: Likewise.
  7177. 2015-01-10 Anthony Green <green@moxielogic.com>
  7178. * config/moxie/moxie.c (moxie_option_override): Fix forcing of
  7179. mul.x availability for moxiebox configuration.
  7180. 2015-01-09 Anthony Green <green@moxielogic.com>
  7181. * config/moxie/moxie.md: Tabify assembly output.
  7182. 2015-01-09 Anthony Green <green@moxielogic.com>
  7183. * config/moxie/moxie.md (CC_REG): Correct register definition.
  7184. 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
  7185. * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
  7186. ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
  7187. of log files.
  7188. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
  7189. * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
  7190. 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
  7191. Jakub Jelinek <jakub@redhat.com>
  7192. PR middle-end/64412
  7193. * lto-streamer.h (lto_stream_offload_p): New declaration.
  7194. * lto-streamer.c (lto_stream_offload_p): New variable.
  7195. * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
  7196. at the same time as section_name_prefix.
  7197. * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
  7198. if lto_stream_offload_p.
  7199. * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
  7200. stream TREE_TARGET_OPTION if lto_stream_offload_p.
  7201. (write_ts_function_decl_tree_pointers): Don't
  7202. stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
  7203. * tree-streamer-in.c (unpack_value_fields): Don't stream
  7204. TREE_TARGET_OPTION in if ACCEL_COMPILER.
  7205. (lto_input_ts_function_decl_tree_pointers): Don't stream
  7206. DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
  7207. * lto-opts.c (lto_write_options): Use lto_stream_offload_p
  7208. instead of section_name_prefix string comparisons.
  7209. 2015-01-09 Jakub Jelinek <jakub@redhat.com>
  7210. PR rtl-optimization/64536
  7211. * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
  7212. tablejumps.
  7213. 2015-01-09 Michael Collison <michael.collison@linaro.org>
  7214. PR tree-optimization/64322
  7215. * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
  7216. range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
  7217. 2015-01-09 Tom de Vries <tom@codesourcery.com>
  7218. PR rtl-optimization/64539
  7219. * regcprop.c (kill_clobbered_values): Factor out of ...
  7220. (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
  7221. instead of note_stores with kill_clobbered_value.
  7222. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
  7223. * ginclude/unwind-arm-common.h: Revert previous commit.
  7224. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
  7225. * config.gcc (arm*-*-freebsd*): New configuration.
  7226. * config/arm/freebsd.h: New file.
  7227. * config.host: Add extra components for arm*-*-freebsd*.
  7228. * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
  7229. * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
  7230. 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
  7231. * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
  7232. for -mcpu=e6500.
  7233. * config/rs6000/t-rtems: Add e6500 multilibs.
  7234. 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
  7235. * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
  7236. MPC8540.
  7237. 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
  7238. * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
  7239. MULTILIB_EXCEPTIONS.
  7240. 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
  7241. * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
  7242. MULTILIB_EXCEPTIONS.
  7243. 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
  7244. * config/arm/t-rtems-eabi: Rename to...
  7245. * config/arm/t-rtems: ...this.
  7246. * config/arm/rtems-eabi.h: Rename to...
  7247. * config/arm/rtems.h: ...this.
  7248. * config.gcc (arm*-*-rtems*): Reflect changes above.
  7249. 2015-01-09 Richard Biener <rguenther@suse.de>
  7250. PR tree-optimization/64410
  7251. * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
  7252. on the LHS.
  7253. (execute_update_addresses_taken): Deal with that.
  7254. * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
  7255. loads/stores for complex variables.
  7256. 2015-01-09 Martin Liska <mliska@suse.cz>
  7257. * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
  7258. name comparison.
  7259. (func_checker::compare_memory_operand): New function.
  7260. (func_checker::compare_operand): Split case to newly
  7261. added functions.
  7262. (func_checker::compare_cst_or_decl): New function.
  7263. (func_checker::compare_gimple_call): Identify
  7264. memory operands.
  7265. (func_checker::compare_gimple_assign): Likewise.
  7266. * ipa-icf-gimple.h: New function.
  7267. 2015-01-09 Martin Liska <mliska@suse.cz>
  7268. PR ipa/64503
  7269. * sreal.c (sreal::dump): Change unsigned format to signed for
  7270. m_exp value.
  7271. (sreal::to_double): Replace exp2 with scalbln.
  7272. 2015-01-09 Martin Liska <mliska@suse.cz>
  7273. * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
  7274. * ipa-icf.c (sem_function::equals_private): Add support for target and
  7275. (sem_item_optimizer::merge_classes): Remove redundant function
  7276. optimization flags comparison.
  7277. * tree.h (target_opts_for_fn): New function.
  7278. 2015-01-09 Tom de Vries <tom@codesourcery.com>
  7279. * omp-low.c (expand_omp_for_static_chunk): Fix assert.
  7280. 2015-01-09 Kito Cheng <kito@0xlab.org>
  7281. PR rtl-optimization/64348
  7282. * lra-constraints.c (split_reg): Fix caller-save store/restore
  7283. instruction generation.
  7284. 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
  7285. PR gcov-profile/61790
  7286. * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
  7287. long long. Fallback to int64_t if host doesn't have long long and
  7288. use strtol if int64_t is long. Otherwise, use sscanf for conversion.
  7289. 2015-01-08 Jakub Jelinek <jakub@redhat.com>
  7290. PR tree-optimization/63989
  7291. * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
  7292. from 1000 to 10000.
  7293. * tree-ssa-strlen.c (get_strinfo): Moved earlier.
  7294. (get_stridx): If we don't have a record for certain SSA_NAME,
  7295. but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
  7296. constant offset, call get_stridx_plus_constant.
  7297. (get_stridx_plus_constant): New function.
  7298. (zero_length_string): Don't use get_stridx here.
  7299. PR target/55023
  7300. PR middle-end/64388
  7301. * dse.c (struct insn_info): Mention frame_read set also
  7302. before reload for tail calls on some targets.
  7303. (scan_insn): Revert 2014-12-22 change. Set frame_read
  7304. also before reload for tail calls if
  7305. HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
  7306. instead of add_non_frame_wild_read for non-const/memset
  7307. tail calls after reload.
  7308. 2015-01-08 Jason Merrill <jason@redhat.com>
  7309. * ubsan.c (do_ubsan_in_current_function): New.
  7310. (pass_ubsan::gate): Use it.
  7311. * ubsan.h: Declare it.
  7312. * convert.c (convert_to_integer): Use it.
  7313. 2015-01-08 Jakub Jelinek <jakub@redhat.com>
  7314. PR target/64338
  7315. * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
  7316. compare_code when it is unconditionally overwritten afterwards.
  7317. Use ix86_reverse_condition instead of reverse_condition. Don't
  7318. change code if *reverse_condition* returned UNKNOWN and don't
  7319. swap ct/cf and negate diff in that case.
  7320. 2015-01-08 Mike Stump <mikestump@comcast.net>
  7321. * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
  7322. (pass_tsan_O0::gate): Likewise.
  7323. * extend.texi (Function Attributes): Add no_sanitize_thread
  7324. documentation.
  7325. 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
  7326. * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
  7327. for registering builtins.
  7328. * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
  7329. add -fopenmp to the argv_obstack used when invoking
  7330. compile_for_target.
  7331. * config/i386/intelmic-mkoffload.c (compile_for_target): Always
  7332. add "-m32" or "-m64" to argv_obstack.
  7333. (generate_host_descr_file): Likewise, when invoking host_compiler.
  7334. (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
  7335. ld.
  7336. 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
  7337. * config/sh/sh-mem.cc: Use constant as second operand when emitting
  7338. tstsi_t insns.
  7339. 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
  7340. PR target/55212
  7341. * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
  7342. constant load if constant operand fits into I08.
  7343. 2015-01-08 Jakub Jelinek <jakub@redhat.com>
  7344. PR sanitizer/64336
  7345. * tree.c (build2_stat): Fix up initialization of TREE_READONLY
  7346. and TREE_THIS_VOLATILE for MEM_REFs.
  7347. (build5_stat): Fix up initialization of TREE_READONLY and
  7348. TREE_THIS_VOLATILE for TARGET_MEM_REFs.
  7349. 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
  7350. PR target/64533
  7351. * config/sh/sh.md (*addsi3_compact): Use u constraint instead
  7352. of r for the second alternative of the destination operand.
  7353. 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
  7354. PR target/36557
  7355. * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
  7356. 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
  7357. * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
  7358. keywords.
  7359. ([-fivar-visibility], [-fvisibility]): Likewise.
  7360. 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
  7361. * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
  7362. the file where @code, @command, etc is more appropriate.
  7363. 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
  7364. * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
  7365. of -mrecip= documentation.
  7366. 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
  7367. PR target/64505
  7368. * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
  7369. correct reload handler if -m32 -mpowerpc64 is used.
  7370. 2015-01-06 Tom de Vries <tom@codesourcery.com>
  7371. * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
  7372. 2015-01-08 Christian Bruel <christian.bruel@st.com>
  7373. PR target/64507
  7374. * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
  7375. 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
  7376. PR tree-optimization/63259
  7377. * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
  7378. if optab exists for 16bit byteswap.
  7379. 2015-01-06 Jakub Jelinek <jakub@redhat.com>
  7380. * opts.c (common_handle_option): Add support for
  7381. -fno-sanitize=all and -f{,no-}sanitize-recover=all.
  7382. * doc/invoke.texi: Document -fno-sanitize=all,
  7383. -f{,no-}sanitize-recover=all. Document that
  7384. -fsanitize=float-cast-overflow is not enabled
  7385. by -fsanitize=undefined. Fix up documentation
  7386. of -f{,no-}sanitize-recover.
  7387. 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
  7388. * config.gcc: Add Visium support.
  7389. * configure.ac: Likewise.
  7390. * configure: Regenerate.
  7391. * doc/extend.texi (interrupt attribute): Add Visium.
  7392. * doc/invoke.texi: Document Visium options.
  7393. * doc/install.texi: Document Visium target.
  7394. * doc/md.texi: Document Visium constraints.
  7395. * common/config/visium: New directory.
  7396. * config/visium: Likewise.
  7397. 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
  7398. * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
  7399. for the "(and X (ior (not X) Y) -> (and X Y)" transform.
  7400. 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
  7401. * combine.c (combine_validate_cost): Do not count the cost of a
  7402. split I2 twice. Do not display it twice in the dump, either.
  7403. 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
  7404. Revert parts of r219199.
  7405. * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
  7406. <inttypes.h>.
  7407. ([-Wtraditional]): Restore markup on <limits.h>.
  7408. 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
  7409. PR c++/31397
  7410. * doc/invoke.texi: Document -Wsuggest-override.
  7411. 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
  7412. PR rtl-optimization/64287
  7413. * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
  7414. (process_options): Disable flag_ipa_ra if profiling.
  7415. 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
  7416. * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
  7417. 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
  7418. * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
  7419. hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
  7420. put under #if TARGET_LOOPS guard.
  7421. 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
  7422. * config/i386/i386.c (output_387_binary_op): Use std::swap.
  7423. 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
  7424. * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
  7425. * rtl.h (refers_to_regno_p): Add overload.
  7426. * cse.c: Use it.
  7427. * bt-load.c: Likewise.
  7428. * combine.c: Likewise.
  7429. * df-scan.c: Likewise.
  7430. * sched-deps.c: Likewise.
  7431. * config/s390/s390.c: Likewise.
  7432. * config/m32r/m32r.c: Likewise.
  7433. * config/rs6000/spe.md: Likewise.
  7434. * config/rs6000/rs6000.c: Likewise.
  7435. * config/pa/pa.c: Likewise.
  7436. * config/stormy16/stormy16.c: Likewise.
  7437. * config/cris/cris.c: Likewise.
  7438. * config/arc/arc.md: Likewise.
  7439. * config/arc/arc.c: Likewise.
  7440. * config/sh/sh.md: Likewise.
  7441. * config/sh/sh.c: Likewise.
  7442. * config/frv/frv.c: Likewise.
  7443. 2015-01-05 Jakub Jelinek <jakub@redhat.com>
  7444. PR sanitizer/64265
  7445. * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
  7446. call as cleanup of the whole body.
  7447. * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
  7448. * tsan.c (replace_func_exit): New function.
  7449. (instrument_func_exit): Moved earlier.
  7450. (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
  7451. Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
  7452. been found.
  7453. (tsan_pass): Don't call instrument_func_exit.
  7454. * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
  7455. * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
  7456. inlining.
  7457. PR sanitizer/64344
  7458. * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
  7459. * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
  7460. it to libubsan handler instead of EXPR. Fold comparisons earlier,
  7461. if the result is integer_zerop, return NULL_TREE.
  7462. * convert.c (convert_to_integer): Pass expr as ARG.
  7463. PR tree-optimization/64465
  7464. * tree-inline.c (redirect_all_calls): During inlining
  7465. clean up EH stmts and EH edges if redirect_call_stmt_to_callee
  7466. changed the stmt to a non-throwing call.
  7467. 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
  7468. * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
  7469. etc markup throughout the file.
  7470. 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
  7471. Enable experimental TSAN support for Ada.
  7472. * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
  7473. 2015-01-05 Jakub Jelinek <jakub@redhat.com>
  7474. PR tree-optimization/64494
  7475. * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
  7476. clear SSA_NAME_ANTI_RANGE_P flag.
  7477. 2015-01-05 Marek Polacek <polacek@redhat.com>
  7478. * doc/extend.texi (Arrays of Length Zero): Add missing comma.
  7479. 2015-01-05 Jakub Jelinek <jakub@redhat.com>
  7480. Update copyright years.
  7481. * gcc.c (process_command): Update copyright notice dates.
  7482. * gcov-dump.c: Ditto.
  7483. * gcov.c: Ditto.
  7484. * doc/cpp.texi: Bump @copying's copyright year.
  7485. * doc/cppinternals.texi: Ditto.
  7486. * doc/gcc.texi: Ditto.
  7487. * doc/gccint.texi: Ditto.
  7488. * doc/gcov.texi: Ditto.
  7489. * doc/install.texi: Ditto.
  7490. * doc/invoke.texi: Ditto.
  7491. * auto-profile.c, auto-profile.h: Fix up Copyright line.
  7492. 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
  7493. * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
  7494. verb tense, etc.
  7495. ([-fvtable-verify], [-fvtv-debug]): Likewise.
  7496. ([-Wabi]): Likewise.
  7497. ([-fmessage-length]): Likewise.
  7498. ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
  7499. ([-Wno-discarded-qualifiers]): Likewise.
  7500. ([-Wnodiscarded-array-qualifiers]): Likewise.
  7501. ([-Wno-virtual-move-assign]): Likewise.
  7502. ([-fsanitize=address], [-fsanitize=thread]): Likewise.
  7503. ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
  7504. ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
  7505. ([-fsanitize-undefined-trap-on-error]): Likewise.
  7506. ([-floop-interchange]): Likewise.
  7507. ([-ftree-coalesce-inlined-vars]): Likewise.
  7508. ([-fvect-cost-model]): Likewise.
  7509. ([-flto]): Likewise.
  7510. ([--param]): Likewise.
  7511. (Spec Files): Likewise.
  7512. ([-mstrict-align]): Likewise.
  7513. ([-mfix-cortex-a53-835769]): Likewise.
  7514. ([-march], [-mtune]): Likewise.
  7515. ([-mpic-register]): Likewise.
  7516. ([-munaligned-access]): Likewise.
  7517. ([-msp8]): Likewise.
  7518. (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
  7519. (AVR Built-in Macros): Likewise.
  7520. ([-mpreferred-stack-boundary]): Likewise.
  7521. ([-mtune-crtl]): Likewise.
  7522. ([-mashf]): Likewise.
  7523. ([-mmcu=]): Likewise.
  7524. ([-minrt]): Likewise.
  7525. ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
  7526. ([-mupper-regs]): Likewise.
  7527. ([-matomic-model]): Likewise.
  7528. ([-mdiv]): Likewise.
  7529. ([-mzdcbranch]): Likewise.
  7530. ([-mdisable-callt]): Likewise.
  7531. ([-msoft-float]): Likewise.
  7532. ([-m8byte-align]): Likewise.
  7533. ([-fstack-reuse]): Likewise.
  7534. 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
  7535. * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
  7536. Fix markup, light copy-editing.
  7537. ([-fauto-profile]): Rewrite to fix formatting and content
  7538. problems.
  7539. 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
  7540. * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
  7541. Copy-edit description.
  7542. ([-fisolate-erroneous-paths-attribute]): Likewise.
  7543. * common.opt (fisolate-erroneous-paths-dereference):
  7544. Copy-edit description.
  7545. (fisolate-erroneous-paths-attribute): Likewise.
  7546. 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
  7547. * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
  7548. tidy grammar.
  7549. 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
  7550. * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
  7551. ([-fvtv-debug]): Likewise.
  7552. ([-Wc++-compat]): Likewise.
  7553. ([-Wc++11-compat]): Likewise.
  7554. ([-Wc++14-compat]): Likewise.
  7555. ([-Wno-sized-deallocation]): Likewise.
  7556. ([-femit-class-debug-always]): Likewise.
  7557. ([-femit-struct-debug-detailed]): Likewise.
  7558. ([-fno-keep-inline-dllexport]): Likewise.
  7559. ([-fira-algorithm]): Likewise.
  7560. ([-fira-region]): Likewise.
  7561. ([-flra-remat]): Likewise.
  7562. ([-fipa-ra]): Likewise.
  7563. ([-fhoist-adjacent-loads]): Likewise.
  7564. ([-fisolate-erroneous-paths-dereference]): Likewise.
  7565. ([-fisolate-erroneous-paths-attribute]): Likewise.
  7566. ([-ftree-switch-conversion]): Likewise.
  7567. ([-ftree-tail-merge]): Likewise.
  7568. ([-ftree-loop-if-convert]): Likewise.
  7569. ([-ftree-loop-if-convert-stores]): Likewise.
  7570. ([-ftree-loop-distribution]): Likewise.
  7571. ([-ftree-loop-distribute-patterns]): Likewise.
  7572. ([-flto-compression-level]): Likewise.
  7573. ([-flto-report]): Likewise.
  7574. ([-flto-report-wpa]): Likewise.
  7575. ([-fuse-linker-plugin]): Likewise.
  7576. ([-mfix-cortex-a53-835769]): Likewise.
  7577. ([-mno-fix-cortex-a53-835769]): Likewise.
  7578. ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
  7579. explicit listing; add a note to the discussion indicating they
  7580. exist. Reorder table to group similar options. Add missing
  7581. @opindex entries. Add @need commands throughout the table to
  7582. allow it to be split across multiple pages.
  7583. ([-m8bit-idiv]): Fix @opindex.
  7584. ([-mavx256-split-unaligned-load]): Likewise.
  7585. ([-mavx256-split-unaligned-store]): Likewise.
  7586. ([-mstack-protector-guard]): Likewise.
  7587. ([-mcpu=]): Likewise.
  7588. ([-mcpu]): Likewise.
  7589. ([-mpointer-size=]): Likewise.
  7590. 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
  7591. * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
  7592. instead of `m' constraint. Likewise for unnamed movb comparison
  7593. patterns using reg_before_reload_operand predicate.
  7594. * config/pa/predicates.md (reg_before_reload_operand): Tighten
  7595. predicate to reject register index and LO_SUM DLT memory forms
  7596. after reload.
  7597. 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
  7598. * doc/invoke.texi (Option Summary): Fix spelling of
  7599. -fdevirtualize-at-ltrans.
  7600. ([-fdevirtualize]): Fix markup.
  7601. ([-fdevirtualize-speculatively]): Fix typo.
  7602. ([-fdevirtualize-at-ltrans]): Likewise. Make description less
  7603. implementor-speaky.
  7604. * common.opt (fdevirtualize-at-ltrans): Likewise.
  7605. * ipa-devirt.c: Fix typos in comments throughout the file.
  7606. (ipa_devirt): Fix typos in format strings for dump output.
  7607. 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
  7608. * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
  7609. discussion of defaults, light copy-editing.
  7610. 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
  7611. * tsan.c (instrument_expr): corrected previous checkin.
  7612. 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
  7613. Instrument bit field and unaligned accesses for TSAN.
  7614. * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
  7615. (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
  7616. * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
  7617. Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
  7618. unaligned memory regions.
  7619. 2015-01-01 Anthony Green <green@moxielogic.com>
  7620. * config/moxie/predicates.md (moxie_general_movsrc_operand):
  7621. Restrict move source register offsets to 16 bits.
  7622. Copyright (C) 2015 Free Software Foundation, Inc.
  7623. Copying and distribution of this file, with or without modification,
  7624. are permitted in any medium without royalty provided the copyright
  7625. notice and this notice are preserved.