* emit-rtl.c (gen_rtx_REG): Always return the same rtx
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Jan 2002 01:29:55 +0000 (01:29 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Jan 2002 01:29:55 +0000 (01:29 +0000)
        for PIC_OFFSET_TABLE_REGNUM.
        (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.

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

gcc/ChangeLog
gcc/emit-rtl.c

index 765cadb..8854fa8 100644 (file)
@@ -1,3 +1,9 @@
+2002-01-25  Steve Ellcey  <sje@cup.hp.com>
+
+       * emit-rtl.c (gen_rtx_REG): Always return the same rtx
+       for PIC_OFFSET_TABLE_REGNUM.
+       (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
+
 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
 
        * config.gcc (x86_64-*-freebsd*): New target.
index 28e0dd9..37f0d9f 100644 (file)
@@ -410,6 +410,8 @@ gen_rtx_REG (mode, regno)
       if (regno == RETURN_ADDRESS_POINTER_REGNUM)
        return return_address_pointer_rtx;
 #endif
+      if (regno == PIC_OFFSET_TABLE_REGNUM)
+        return pic_offset_table_rtx;
       if (regno == STACK_POINTER_REGNUM)
        return stack_pointer_rtx;
     }
@@ -4974,7 +4976,7 @@ init_emit_once (line_numbers)
 #endif
 
   if (PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM)
-    pic_offset_table_rtx = gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM);
+    pic_offset_table_rtx = gen_raw_REG (Pmode, PIC_OFFSET_TABLE_REGNUM);
 
   ggc_add_rtx_root (&pic_offset_table_rtx, 1);
   ggc_add_rtx_root (&struct_value_rtx, 1);