aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-05-07 12:21:28 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-05-07 12:21:28 -0400
commit184ff798d97ce43b1666b4b1e568f62ec61d5219 (patch)
tree1cebebd0de8162c9c815eada580ff8a8e6c97cd6
parentb288f2b3393ffdce4b2b9b70203d1804d202c529 (diff)
downloadgcc-184ff798d97ce43b1666b4b1e568f62ec61d5219.zip
gcc-184ff798d97ce43b1666b4b1e568f62ec61d5219.tar.gz
gcc-184ff798d97ce43b1666b4b1e568f62ec61d5219.tar.bz2
(REG_ALLOC_ORDER): New macro.
From-SVN: r7264
-rw-r--r--gcc/config/i386/i386.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 828a8f7..b69604b 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -259,6 +259,16 @@ extern int target_flags;
/*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
{ 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
+/* Order in which to allocate registers. First allocate registers
+ for which no insn operand demands that register, next those that are
+ demanded by the least number of insns. List frame pointer late and fixed
+ egisters last. Note that, in general, we want to put nonsaved registers
+ late, but we put bx relatively early since it is not demanded by
+ any insn operand. */
+#define REG_ALLOC_ORDER \
+/*si,di,bx,cx,dx,ax,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
+{ 4, 5, 3, 2, 1, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
+
/* Macro to conditionally modify fixed_regs/call_used_regs. */
#define CONDITIONAL_REGISTER_USAGE \
{ \