Possible CSE quirk involving SUBREG on the i386
Jeffrey A Law
law@cygnus.com
Tue Jul 7 05:29:00 GMT 1998
In message < 199807020417.AAA03219@jwlab.FEITH.COM >you write:
> > Basically local-alloc will try to tie two registers together if
> > MODES_TIEABLE_P is nonzero for two pseudos.
>
> I noticed that. :-)
The other issue is reload; though it looks like the reload case is
handled by LIMIT_RELOAD_CLASS these days.
Based on the comments in combine.c, I think at one time MODES_TIEABLE_P
did have to be symmetric because of the reload issue. I'm starting to
think we can relax this now.
The last issue is register allocation -- I get the impression from reading
the code in cse, combine & regclass that this change may make register
allocation worse in some cases. So we need to have some guess about the
benefit vs the cost.
I propose we table this until after egcs-1.1. Or better yet, instead of
tabling it, we just install your patch in the mainline sources after egcs-1.1
branches.
That gives us plenty of time to study what actually happens instead of
doing something rather risky at this stage.
jeff
More information about the Gcc
mailing list