diff options
author | Geoff Keating <geoffk@cygnus.com> | 1999-11-16 03:40:16 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-11-16 03:40:16 +0000 |
commit | a38d360d6b8105485882916e61abf2c93e5b00c0 (patch) | |
tree | b9cf56ac4bcdaa65e99b6c21dc15d0352bb09e8f | |
parent | ae673f140351f3cb46dd7856c493a3ae52a7f15c (diff) | |
download | gcc-a38d360d6b8105485882916e61abf2c93e5b00c0.zip gcc-a38d360d6b8105485882916e61abf2c93e5b00c0.tar.gz gcc-a38d360d6b8105485882916e61abf2c93e5b00c0.tar.bz2 |
rs6000.c (first_reg_to_save): Save PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
* config/rs6000/rs6000.c (first_reg_to_save): Save
PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
From-SVN: r30542
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c4e0ff..5e757c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com> + + * config/rs6000/rs6000.c (first_reg_to_save): Save + PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. + 1999-11-15 Jason Merrill <jason@casey.cygnus.com> * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 535e7bd..250c8cd 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3508,7 +3508,11 @@ first_reg_to_save () /* Find lowest numbered live register. */ for (first_reg = 13; first_reg <= 31; first_reg++) - if (regs_ever_live[first_reg] && ! call_used_regs[first_reg]) + if (regs_ever_live[first_reg] + && (! call_used_regs[first_reg] + || (first_reg == PIC_OFFSET_TABLE_REGNUM + && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) + && flag_pic == 1))) break; if (profile_flag) |