This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
middle-end/1663: bug in loop.c
- To: gcc-gnats at gcc dot gnu dot org
- Subject: middle-end/1663: bug in loop.c
- From: hpenner at de dot ibm dot com
- Date: 16 Jan 2001 11:02:47 -0000
- Reply-To: hpenner at de dot ibm dot com
>Number: 1663
>Category: middle-end
>Synopsis: bug in loop.c
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jan 16 03:06:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: hpenner@de.ibm.com
>Release: gcc-2.97 latest
>Organization:
>Environment:
S/390
>Description:
In loop.c emit_insn_before should be replaced by
loop_insn_emit_before, if used with a where_insn.
Where_insn could be zero and that will crash, if passed
to emit_insn_before. Context loop.c 7940
/* Insn doesn't support that constant or invariant. Copy it
into a register (it will be a loop invariant.) */
tem = gen_reg_rtx (GET_MODE (v->new_reg));
- emit_insn_before (gen_move_insn (tem, copy_rtx (v->add_val)),
- where_insn);
+ loop_insn_emit_before (loop, where_bb, where_insn,
+ gen_move_insn (tem, copy_rtx (v->add_val)));
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: