This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: more ia32 bugs (unrolling)
On Mon, Jun 28, 1999 at 10:53:27PM +0200, Toon Moene wrote:
> Yep, it's probably an uninitialised NOTE_LINE_NUMBER, so its value could
> be anything ...
Actually, it wasn't uninitialized, it was clobbered. By a
pointer, so it's value was guaranteed large. ;-)
Just a little buglet in the earlier patch in this thread.
r~
1999-06-08 Richard Henderson <rth@cygnus.com>
* loop.c (loop_emit_jump_insn_before): Return the jump insn.
(loop_emit_jump_insn_after): Likewise.
(check_dbra_loop): Correct last change to use the return value.
Index: loop.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/loop.c,v
retrieving revision 1.165.2.4
diff -c -p -d -r1.165.2.4 loop.c
*** loop.c 1999/06/27 03:25:56 1.165.2.4
--- loop.c 1999/06/28 21:12:54
*************** check_dbra_loop (loop_end, insn_count, l
*** 8397,8403 ****
XEXP (jump_label, 0));
tem = gen_sequence ();
end_sequence ();
! loop_emit_jump_insn_before (tem, loop_end, XEXP (jump_label, 0));
if (nonneg)
{
--- 8397,8404 ----
XEXP (jump_label, 0));
tem = gen_sequence ();
end_sequence ();
! tem = loop_emit_jump_insn_before (tem, loop_end,
! XEXP (jump_label, 0));
if (nonneg)
{
*************** replace_label (x, data)
*** 10560,10566 ****
}
/* Like emit_jump_insn_before, except initialize the jump insn's
! JUMP_LABEL to LABEL. */
static rtx
loop_emit_jump_insn_before (insn, before, label)
--- 10561,10567 ----
}
/* Like emit_jump_insn_before, except initialize the jump insn's
! JUMP_LABEL to LABEL. Return the jump instruction. */
static rtx
loop_emit_jump_insn_before (insn, before, label)
*************** loop_emit_jump_insn_before (insn, before
*** 10573,10585 ****
if (GET_CODE (p) == JUMP_INSN)
{
JUMP_LABEL (p) = label;
! return ret;
}
abort ();
}
/* Like emit_jump_insn_after, except initialize the jump insn's
! JUMP_LABEL to LABEL. */
static rtx
loop_emit_jump_insn_after (insn, after, label)
--- 10574,10586 ----
if (GET_CODE (p) == JUMP_INSN)
{
JUMP_LABEL (p) = label;
! return p;
}
abort ();
}
/* Like emit_jump_insn_after, except initialize the jump insn's
! JUMP_LABEL to LABEL. Return the jump instruction. */
static rtx
loop_emit_jump_insn_after (insn, after, label)
*************** loop_emit_jump_insn_after (insn, after,
*** 10592,10598 ****
if (GET_CODE (p) == JUMP_INSN)
{
JUMP_LABEL (p) = label;
! return ret;
}
abort ();
}
--- 10593,10599 ----
if (GET_CODE (p) == JUMP_INSN)
{
JUMP_LABEL (p) = label;
! return p;
}
abort ();
}