summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-26 01:29:55 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-26 01:29:55 +0000
commit52bcea50930fd341d2987e5ffbbafa5fe00059f3 (patch)
tree6aa867f5807baac857b6241361735f56eb71ed58 /gcc/emit-rtl.c
parenta8456aba1dfa99dfeaf3365380d84627a5a74a9c (diff)
downloadgcc-52bcea50930fd341d2987e5ffbbafa5fe00059f3.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49234 138bc75d-0d04-0410-961f-82ee72b054a4
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);