diff options
author | Dale Johannesen <dalej@apple.com> | 2001-09-17 23:24:52 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-09-17 23:24:52 +0000 |
commit | 5dead3e5cdc72ff0ece51a1b55edf1fd52fe6a1a (patch) | |
tree | 34bfeb952447f40c5f0cb3394e0b0a33770ada05 /gcc | |
parent | 5d5e5e4e42a8cb7e64d1d0a766feed132b192c68 (diff) | |
download | gcc-5dead3e5cdc72ff0ece51a1b55edf1fd52fe6a1a.zip gcc-5dead3e5cdc72ff0ece51a1b55edf1fd52fe6a1a.tar.gz gcc-5dead3e5cdc72ff0ece51a1b55edf1fd52fe6a1a.tar.bz2 |
rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
2001-09-17 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
* config/rs6000/aix.h (FIXED_R2): Define.
* config/rs6000/darwin.h (FIXED_R2): Define.
* config/rs6000/sysv4.h (FIXED_R2): Define.
From-SVN: r45669
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/aix.h | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/darwin.h | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 2 |
5 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a069f1..ae11d42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-09-17 Dale Johannesen <dalej@apple.com> + + * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2. + * config/rs6000/aix.h (FIXED_R2): Define. + * config/rs6000/darwin.h (FIXED_R2): Define. + * config/rs6000/sysv4.h (FIXED_R2): Define. + 2001-09-17 Jeff Sturm <jsturm@one-point.com> * except.c (dw2_build_landing_pads): New local diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h index 428ab43..28bf98a 100644 --- a/gcc/config/rs6000/aix.h +++ b/gcc/config/rs6000/aix.h @@ -161,6 +161,7 @@ Boston, MA 02111-1307, USA. */ #define TARGET_NO_TOC 0 #define TARGET_TOC 1 +#define FIXED_R2 1 /* AIX allows r13 to be used. */ #define FIXED_R13 0 diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 6e6a04f..32bdfba 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -39,6 +39,8 @@ Boston, MA 02111-1307, USA. */ #define CC1_SPEC "%{!static:-fPIC}" +/* Make both r2 and r3 available for allocation. */ +#define FIXED_R2 0 #define FIXED_R13 0 #undef TARGET_DEFAULT diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index b602dfb..a1103a7 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -641,14 +641,15 @@ extern int rs6000_debug_arg; /* debug argument handling */ /* 1 for registers that have pervasive standard uses and are not available for the register allocator. - On RS/6000, r1 is used for the stack and r2 is used as the TOC pointer. + On RS/6000, r1 is used for the stack. On Darwin, r2 is available + as a local register; for all other OS's r2 is the TOC pointer. cr5 is not supposed to be used. On System V implementations, r13 is fixed and not available for use. */ #define FIXED_REGISTERS \ - {0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FIXED_R13, 0, 0, \ + {0, 1, FIXED_R2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FIXED_R13, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 38fcb83..554090c 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -314,9 +314,9 @@ do { \ #undef PROCESSOR_DEFAULT #define PROCESSOR_DEFAULT PROCESSOR_PPC750 +#define FIXED_R2 1 /* System V.4 uses register 13 as a pointer to the small data area, so it is not available to the normal user. */ - #define FIXED_R13 1 /* Size of the V.4 varargs area if needed. */ |