This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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