summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2002-01-26 01:29:55 +0000
committerRichard Henderson <rth@gcc.gnu.org>2002-01-25 17:29:55 -0800
commit751551d5c6134b8297e3862e27b332e7d3399f41 (patch)
tree6aa867f5807baac857b6241361735f56eb71ed58 /gcc/emit-rtl.c
parente564e618054d9ea66778a4b7265da0f66e426104 (diff)
downloadgcc-751551d5c6134b8297e3862e27b332e7d3399f41.tar.gz
emit-rtl.c (gen_rtx_REG): Always return the same rtx for PIC_OFFSET_TABLE_REGNUM.
* 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. From-SVN: r49234
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 28e0dd9ba3c..37f0d9f88da 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -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);