Make SPEC2000 and the new allocator
Daniel Berlin
dberlin@dberlin.org
Thu Jul 18 09:56:00 GMT 2002
On Thursday, July 18, 2002, at 12:28 PM, Michael Matz wrote:
> Hi,
>
> this fixes a misunderstanding on my side, where the allocator on
> x86 sometimes assignes registers from MMX_REGS to the stack pseudos.
Err, so?
Intel's compiler does the same thing.
> Until webclass is real we need to constrain ourself to GENERAL_REGS
> here,
> so:
>
> OK?
>
Bad idea, won't this will possibly screw performance on other
architectures who don't have this problem? Or is GENERAL_REGS supposed
to contain all the regs we'd ever want to use as spill regs? (I can
never remember the class names->use mapping)
If not, why don't we just add a new register class on all architectures
labeled "SPILL_REGS" or something, so we can know *exactly* what
registers we might be allowed to use for spills (in case we ever run
into some architecture with extra-funky restrictions or something).
> Ciao,
> Michael.
> --
> * ra-build.c (remember_web_was_spilled): Use GENERAL_REGS.
>
> Index: ra-build.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/ra-build.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 ra-build.c
> --- ra-build.c 16 Jul 2002 11:29:14 -0000 1.3
> +++ ra-build.c 18 Jul 2002 16:23:24 -0000
> @@ -2349,7 +2349,8 @@ remember_web_was_spilled (web)
> reg_class_contents[reg_alternate_class (web->regno)]);
> }
> else
> - COPY_HARD_REG_SET (web->usable_regs, reg_class_contents[(int)
> ALL_REGS]);
> + COPY_HARD_REG_SET (web->usable_regs,
> + reg_class_contents[(int) GENERAL_REGS]);
> AND_COMPL_HARD_REG_SET (web->usable_regs, never_use_colors);
> prune_hardregs_for_mode (&web->usable_regs, PSEUDO_REGNO_MODE
> (web->regno));
> #ifdef CLASS_CANNOT_CHANGE_MODE
>
>
More information about the Gcc-patches
mailing list