re PR rtl-optimization/5878 (gcc 3.1 breaks on C code generated by the Mercury compiler)
authorRichard Henderson <rth@gcc.gnu.org>
Wed, 13 Mar 2002 05:42:40 +0000 (21:42 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 13 Mar 2002 05:42:40 +0000 (21:42 -0800)
commit5b43fed17bf58c31f3151dd37966e7a9b85a309e
treeff7ebe9916a64b81e187d279cffac13101372cd6
parent56d4fe31c5265b7f5a0aaea8d5013a7154b211e8
re PR rtl-optimization/5878 (gcc 3.1 breaks on C code generated by the Mercury compiler)

PR 5878
* config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
(PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.

* config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.

* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
* config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
(arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
also.  Don't set it if not flag_pic.
* config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
to be INVALID_REGNUM when not used.

* gcc.dg/20020312-2.c: New.

From-SVN: r50713
gcc/ChangeLog
gcc/config/arc/arc.h
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/cris/cris.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/m68k/m68k.h
gcc/config/s390/s390.h
gcc/config/sparc/sparc.h
gcc/testsuite/gcc.dg/20020312-2.c [new file with mode: 0644]