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: [RFA] The Integrated Register Allocator


On Mon, Mar 31, 2008 at 8:19 PM, Vladimir Makarov <vmakarov@redhat.com> wrote:
>  Hi, here is the Integrated Register Allocator (IRA).  To make review
>  more convenient, I am submitting IRA as a patch relative to recent
>  trunk (at revision 133688).

This simple patch makes IRA work for spu-elf:
Index: gcc/gcc/config/spu/spu.h
===================================================================
--- gcc/gcc/config/spu/spu.h    (revision 133985)
+++ gcc/gcc/config/spu/spu.h    (working copy)
@@ -224,6 +224,9 @@ enum reg_class {
    LIM_REG_CLASSES
 };

+/* SPU is simple, it really only have one class of registers.  */
+#define IRA_COVER_CLASSES { GENERAL_REGS, LIM_REG_CLASSES }
+
 #define N_REG_CLASSES (int) LIM_REG_CLASSES

 #define REG_CLASS_NAMES \

---- CUT ----
But I am getting more register to register moves with IRA than with the old RA.
For a simple testcase (which is internal, I will see if I can clean it
up and let you have it), I am getting about 192 more register to
register moves.

SPU should be a good model for a good processor when it comes register
allocation since it has no special registers or special constraints on
its instructions and there is only one register class.

Thanks,
Andrew Pinski


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