re PR target/33755 (Gcc 4.2.2 broken for mips linux kernel builds)
commita35de342764f828da54fe6c597d2abff3c927ac3
authorRichard Sandiford <rsandifo@nildram.co.uk>
Wed, 24 Oct 2007 17:52:16 +0000 (24 17:52 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 24 Oct 2007 17:52:16 +0000 (24 17:52 +0000)
tree323a27c7b6a88c15b3a90107b547e080723d71ec
parenta1c6b246b55b9c50aaf5d15e180d13f01b903cf5
re PR target/33755 (Gcc 4.2.2 broken for mips linux kernel builds)

gcc/
PR target/33755
* config/mips/mips.c (mips_lo_sum_offset): New structure.
(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
(mips_lo_sum_offset_lookup, mips_record_lo_sum)
(mips_orphaned_high_part_p: New functions.
(mips_avoid_hazard): Don't check INSN_P here.
(mips_avoid_hazards): Rename to...
(mips_reorg_process_insns): ...this.  Cope with
!TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
or turn them into nops.
(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
(mips_set_mips16_mode): Don't set flag_delayed_branch here.
(mips_override_options): Set flag_delayed_branch to 0.

gcc/testsuite/
PR target/33755
* gcc.target/mips/pr33755.c: New test.

From-SVN: r129606
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/pr33755.c [new file with mode: 0644]