This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: subreg against register allocation?


Bernd Schmidt <bernds@codesourcery.com> writes:

> On 06/15/2010 12:06 AM, Ian Lance Taylor wrote:
>
>> Well, as you know, subregs have two meanings which look similar but
>> are in fact entirely different.  It's valid to set subregs of the same
>> pseudo in parallel if the subregs represent different hard registers.
>> It's not valid if the subregs represent different pieces of the same
>> hard register.
>
> Are you aware of any examples of this in the compiler?  The explanation
> is of course plausible, but do we know that we handle this correctly
> everywhere?

Hmmm, you could be right.  I wrote and tested some examples when
working on lower-subreg, but I never committed them.  The current
define_splits in i386.md which can do parallel sets only run if
reload_completed is true, when simplify_gen_subreg will return
different hard registers.  While I don't know of any reason that it
wouldn't work, I guess I don't know for sure that it is safe.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]