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