This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
MIPS/haifa glitch
- To: gcc-patches at gcc dot gnu dot org
- Subject: MIPS/haifa glitch
- From: Jason Eckhardt <jle at cygnus dot com>
- Date: Sat, 15 Jul 2000 17:31:48 -0700 (PDT)
Tuning scheduling for a new mips variant revealed this haifa glitch.
* haifa-sched.c (schedule_insns): Never emit a NOTE_INSN_DELETED
before a barrier.
Index: haifa-sched.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/haifa-sched.c,v
retrieving revision 1.155
diff -c -3 -p -r1.155 haifa-sched.c
*** haifa-sched.c 2000/06/13 22:23:49 1.155
--- haifa-sched.c 2000/07/16 00:28:38
*************** schedule_insns (dump_file)
*** 6990,6997 ****
&& GET_CODE (insn) != CODE_LABEL
/* Don't emit a NOTE if it would end up between an unconditional
jump and a BARRIER. */
! && !(GET_CODE (insn) == JUMP_INSN
! && GET_CODE (NEXT_INSN (insn)) == BARRIER)))
emit_note_after (NOTE_INSN_DELETED, BLOCK_END (n_basic_blocks - 1));
/* Compute INSN_REG_WEIGHT for all blocks. We must do this before
--- 6990,6996 ----
&& GET_CODE (insn) != CODE_LABEL
/* Don't emit a NOTE if it would end up between an unconditional
jump and a BARRIER. */
! && ! GET_CODE (NEXT_INSN (insn)) == BARRIER))
emit_note_after (NOTE_INSN_DELETED, BLOCK_END (n_basic_blocks - 1));
/* Compute INSN_REG_WEIGHT for all blocks. We must do this before