OSDN Git Service

2001-09-17 Dale Johannesen <dalej@apple.com>
authorshebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2001 23:24:52 +0000 (23:24 +0000)
committershebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2001 23:24:52 +0000 (23:24 +0000)
        * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45669 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/aix.h
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/sysv4.h

index 6a069f1..ae11d42 100644 (file)
@@ -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
index 428ab43..28bf98a 100644 (file)
@@ -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
 
index 6e6a04f..32bdfba 100644 (file)
@@ -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
index b602dfb..a1103a7 100644 (file)
@@ -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, \
index 38fcb83..554090c 100644 (file)
@@ -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.  */