middle-end/1663: bug in loop.c

hpenner@de.ibm.com hpenner@de.ibm.com
Sun Apr 1 00:00:00 GMT 2001


>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:


More information about the Gcc-prs mailing list