[Bug target/63534] [5 Regression] Bootstrap failure on x86_64/i686-linux

vmakarov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 15 16:18:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534

--- Comment #11 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Stupachenko Evgeny from comment #10)
> 
> Sounds reasonable. I also don't like 2 set_got one-by-one. However, we
> should ask Vladimir on how we can force RA allocate pseudo GOT on %ebx. I
> expect there should be an easier way to do this. And we should refer %ebx
> for pseudo GOT register in all 32bit cases.
> Right now we can "emit second set_got" and file a bug on potential
> performance improvement in RA.
> 

The modification to IRA to get ebx for GOT pseudo could be not difficult. 
However it will not work.  When I worked on modification RA for this project, I
saw that RA gets info that ebx is clobbered by calls.  I already wrote about
this to Ilya.  So this problem should be solved first.  When the problem is
solved, GOT pseudo will get the best hard reg (most probably ebx) and we will
not need to do modification to RA to assign specifically ebx to GOT pseudo.


> I've measured spec2000 o2 -fporfile-generate execution on train data on
> Corei7.
> Even with additional set_got there is:
> CINT +0,2
> CFP  +1,4
> compared to a compiler before "enabling ebx".



More information about the Gcc-bugs mailing list