OSDN Git Service

* emit_rtl.c (init_emit_once): Ensure that potential aliasing
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Jan 1998 00:01:22 +0000 (00:01 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Jan 1998 00:01:22 +0000 (00:01 +0000)
        between frame_pointer_rtx, hard_frame_pointer_rtx, and
        arg_pointer_rtx is respected in initialization.
        (init_emit_once): Use gen_rtx_raw_REG() to create
        return_address_pointer_rtx.
* rtl.h: Fix typo.

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

gcc/ChangeLog
gcc/emit-rtl.c
gcc/rtl.h

index 23687ca..aa18665 100644 (file)
@@ -48,6 +48,12 @@ Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
 
 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
 
+       * emit_rtl.c (init_emit_once): Ensure that potential aliasing
+       between frame_pointer_rtx, hard_frame_pointer_rtx, and
+       arg_pointer_rtx is respected in initialization.
+       (init_emit_once): Use gen_rtx_raw_REG() to create
+       return_address_pointer_rtx.
+
        * reorg.c: #include "expr.h" for rtx prototypes.
        * Makefile.in (reorg.o): Depend on expr.h
 
@@ -62,6 +68,8 @@ Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
 
 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * rtl.h: Fix typos.
+
        * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
        * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
 
index ef85c41..ad66124 100644 (file)
@@ -3425,10 +3425,14 @@ init_emit_once (line_numbers)
   PUT_MODE (stack_pointer_rtx, Pmode);
   REGNO (frame_pointer_rtx) = FRAME_POINTER_REGNUM;
   PUT_MODE (frame_pointer_rtx, Pmode);
+#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
   REGNO (hard_frame_pointer_rtx) = HARD_FRAME_POINTER_REGNUM;
   PUT_MODE (hard_frame_pointer_rtx, Pmode);
+#endif
+#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
   REGNO (arg_pointer_rtx) = ARG_POINTER_REGNUM;
   PUT_MODE (arg_pointer_rtx, Pmode);
+#endif
 
   REGNO (virtual_incoming_args_rtx) = VIRTUAL_INCOMING_ARGS_REGNUM;
   PUT_MODE (virtual_incoming_args_rtx, Pmode);
@@ -3440,8 +3444,8 @@ init_emit_once (line_numbers)
   PUT_MODE (virtual_outgoing_args_rtx, Pmode);
 
 #ifdef RETURN_ADDRESS_POINTER_REGNUM
-  return_address_pointer_rtx = gen_rtx_REG (Pmode,
-                                           RETURN_ADDRESS_POINTER_REGNUM);
+  return_address_pointer_rtx
+    = gen_rtx_raw_REG (Pmode, RETURN_ADDRESS_POINTER_REGNUM);
 #endif
 
 #ifdef STRUCT_VALUE
index 992b75b..834ce8c 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -970,7 +970,7 @@ extern rtx gen_rtx_REG PROTO((enum machine_mode, int));
 #if FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM
 #define arg_pointer_rtx                (&global_rtl.frame_pointer_val)
 #else
-#if HARD_POINTER_REGNUM == ARG_POINTER_REGNUM
+#if HARD_FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM
 #define arg_pointer_rtx                (&global_rtl.hard_frame_pointer_val)
 #else
 #define arg_pointer_rtx                (&global_rtl.arg_pointer_val)