Commit 609c3937 by Richard Henderson Committed by Richard Henderson

re PR rtl-optimization/17186 (ICE in move_for_stack_reg, at reg-stack.c:1065)

        PR rtl-opt/17186
        * function.c (expand_function_end): Have fall-off-the-end
        return path jump around return register setup.

From-SVN: r87199
parent 4e5b002b
2004-09-08 Richard Henderson <rth@redhat.com>
PR rtl-opt/17186
* function.c (expand_function_end): Have fall-off-the-end
return path jump around return register setup.
2004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (sparc_indent_opcode): New variable.
......@@ -34,7 +40,6 @@
* doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
-segs_read_write_addr.
2004-09-08 Richard Henderson <rth@redhat.com>
* function.c (reference_callee_copied): New.
......
......@@ -4411,20 +4411,19 @@ expand_function_end (void)
/* Emit the actual code to clobber return register. */
{
rtx seq, after;
rtx seq;
start_sequence ();
clobber_return_register ();
expand_naked_return ();
seq = get_insns ();
end_sequence ();
after = emit_insn_after (seq, clobber_after);
emit_insn_after (seq, clobber_after);
}
/* Output the label for the naked return from the function, if one is
expected. This is currently used only by __builtin_return. */
if (naked_return_label)
emit_label (naked_return_label);
/* Output the label for the naked return from the function. */
emit_label (naked_return_label);
/* ??? This should no longer be necessary since stupid is no longer with
us, but there are some parts of the compiler (eg reload_combine, and
......
/* PR 17186 */
double foo()
{
int i;
double d;
if (i)
bar();
else
if (d) return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment