summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc/cse.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1998-03-08 18:31:45 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1998-03-08 18:31:45 +0000
commit5af0055602c4db78f82eccafe751ca54f499fdf1 (patch)
treeead0655d4b5ec422a5903a6bba4b1168cd5963e7 /gnu/usr.bin/gcc/cse.c
parent6e60ece9f7cb1dc3cf104ee80f2b47c728eed447 (diff)
update to gcc 2.8.1
Diffstat (limited to 'gnu/usr.bin/gcc/cse.c')
-rw-r--r--gnu/usr.bin/gcc/cse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/cse.c b/gnu/usr.bin/gcc/cse.c
index c99e4de7337..aaf3e4c531a 100644
--- a/gnu/usr.bin/gcc/cse.c
+++ b/gnu/usr.bin/gcc/cse.c
@@ -2311,6 +2311,10 @@ set_nonvarying_address_components (addr, size, pbase, pstart, pend)
start = 0;
end = 0;
+ if (flag_pic && GET_CODE (base) == PLUS
+ && XEXP (base, 0) == pic_offset_table_rtx)
+ base = XEXP (base, 1);
+
/* Registers with nonvarying addresses usually have constant equivalents;
but the frame pointer register is also possible. */
if (GET_CODE (base) == REG