Commit d902c7ea by Jim Wilson

(expand_exit_loop_if_false): Emit conditional jump around

unconditional loop exit instead of conditional loop exit.

From-SVN: r7346
parent f6709c70
...@@ -2267,7 +2267,17 @@ expand_exit_loop_if_false (whichloop, cond) ...@@ -2267,7 +2267,17 @@ expand_exit_loop_if_false (whichloop, cond)
NULL_TREE); NULL_TREE);
} }
else else
do_jump (cond, whichloop->data.loop.end_label, NULL_RTX); {
/* In order to handle fixups, we actually create a conditional jump
around a unconditional branch to exit the loop. If fixups are
necessary, they go before the unconditional branch. */
rtx label = gen_label_rtx ();
do_jump (cond, NULL_RTX, label);
expand_goto_internal (NULL_TREE, whichloop->data.loop.end_label,
NULL_RTX);
emit_label (label);
}
return 1; return 1;
} }
......
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