From: Kazu Hirata Date: Tue, 17 Feb 2004 14:09:35 +0000 (+0000) Subject: h8300.h (FIXED_REGISTERS): Add the soft frame pointer. X-Git-Tag: releases/gcc-4.0.0~10072 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef3f573fc8c6b34fff01fb93d9dd760d7d2318d3;p=thirdparty%2Fgcc.git h8300.h (FIXED_REGISTERS): Add the soft frame pointer. * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame pointer. (CALL_USED_REGISTERS): Likewise. (REG_ALLOC_ORDER): Likewise. (REG_CLASS) : Likewise. From-SVN: r77949 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4f3ec66da90..795460c2d677 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-02-17 Kazu Hirata + + * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame + pointer. + (CALL_USED_REGISTERS): Likewise. + (REG_ALLOC_ORDER): Likewise. + (REG_CLASS) : Likewise. + 2004-02-16 Geoffrey Keating * doc/md.texi (Insn Canonicalizations): Document left-chaining diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index 1b3d6eea9b2d..52b3a70bdcf0 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -288,8 +288,9 @@ extern int target_flags; /* 1 for registers that have pervasive standard uses and are not available for the register allocator. */ -#define FIXED_REGISTERS \ - { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1} +#define FIXED_REGISTERS \ +/* r0 r1 r2 r3 r4 r5 r6 r7 mac ap rap fp */ \ + { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1 } /* 1 for registers not available across function calls. These must include the FIXED_REGISTERS and also any @@ -301,11 +302,13 @@ extern int target_flags; H8 destroys r0,r1,r2,r3. */ -#define CALL_USED_REGISTERS \ - { 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1 } +#define CALL_USED_REGISTERS \ +/* r0 r1 r2 r3 r4 r5 r6 r7 mac ap rap fp */ \ + { 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1 } -#define REG_ALLOC_ORDER \ - { 2, 3, 0, 1, 4, 5, 6, 8, 7, 9, 10} +#define REG_ALLOC_ORDER \ +/* r0 r1 r2 r3 r4 r5 r6 r7 mac ap rap fp */ \ + { 2, 3, 0, 1, 4, 5, 6, 8, 7, 9, 10, 11 } #define CONDITIONAL_REGISTER_USAGE \ { \ @@ -429,9 +432,9 @@ enum reg_class { #define REG_CLASS_CONTENTS \ { {0}, /* No regs */ \ - {0x6ff}, /* GENERAL_REGS */ \ + {0xeff}, /* GENERAL_REGS */ \ {0x100}, /* MAC_REGS */ \ - {0x7ff}, /* ALL_REGS */ \ + {0xfff}, /* ALL_REGS */ \ } /* The same information, inverted: