This is the mail archive of the gcc-patches@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: A few simple DImode improvements


On 06/28/2010 08:05 PM, Ian Lance Taylor wrote:

> It's superfluous for a simple example like this one, but it's not
> clearly superfluous in all cases.  If register 68 here should wind up
> being allocated to a floating point register which can't be SUBREG'ed,
> then my concern is that taking a SUBREG is going to make it harder to
> allocate the register correctly.  In other words, the bitmap is not
> irrelevant; it's a proxy for non-SImode register classes.

That however applies to only one case in which bits can be set in that
bitmap, the SUBREG case in find_decomposable_subregs.  The normal case,
I think, is that these bits come from occurrences of the reg that are in
NOT_SIMPLE_MOVE, and I think this is irrelevant here.  Do we need to
keep track of two different bitmaps?

>  I don't know
> whether this a concern with IRA; can IRA allocate a DImode pseudo to a
> floating point register if there are SImode SUBREGs of it?  The old
> register allocator wouldn't, and you could wind up with a bunch of
> reloads.

I don't know whether IRA would do that or whether it can determine the
costs correctly; I can't find anything right now which would deal with
this case.


Bernd


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