On 2011/5/20 下午 07:41, Ramana Radhakrishnan wrote: > On 17/05/11 14:10, Chung-Lin Tang wrote: >> On 2011/5/13 04:26 PM, Richard Sandiford wrote: >>> Richard Sandiford<richard.sandif...@linaro.org> writes: >>>> Chung-Lin Tang<clt...@codesourcery.com> writes: >>>>> My fix here simply adds 'reload_completed' as an additional condition >>>>> for EPILOGUE_USES to return true for LR_REGNUM. I think this should be >>>>> valid, as correct LR save/restoring is handled by the >>>>> epilogue/prologue >>>>> code; it should be safe for IRA to treat it as a normal call-used >>>>> register. >>>> >>>> FWIW, epilogue_completed might be a more accurate choice. >>> >>> I still stand by this, although I realise no other target does it. >> >> Did a re-test of the patch just to be sure, as expected the test results >> were also clear. Attached is the updated patch. > > Can you specify what you tested with this patch ?
Native bootstrap success, plus C/C++ and libstdc++ tests. IIRC I also saw one or two FAIL->PASS in the results too (forgot specific testcases) > > So, it's interesting to note that the use of this was changed in 2007 by > zadeck as a part of the df merge. > > I can't find the patch trail beyond this on the lists. > > http://gcc.gnu.org/viewvc/branches/dataflow-branch/gcc/config/arm/arm.h?r1=120281&r2=121501 > > > It might be better to understand why this was done in the first place > for the ARM port as part of the Dataflow bring up and why folks wanted > to make this unconditional. Oh dear, more archeology... Thanks, Chung-Lin