Commit baf8706c by Jan Hubicka Committed by Jan Hubicka

* cfgbuild.c (control_flow_insn_p): Notice noreturn call

From-SVN: r82321
parent 63645982
2004-05-27 Jan Hubicka <jh@suse.cz>
* cfgbuild.c (control_flow_insn_p): Notice noreturn call
2004-05-25 Paolo Bonzini <bonzini@gnu.org> 2004-05-25 Paolo Bonzini <bonzini@gnu.org>
* combine.c (gen_binary): Remove. * combine.c (gen_binary): Remove.
......
...@@ -108,6 +108,12 @@ control_flow_insn_p (rtx insn) ...@@ -108,6 +108,12 @@ control_flow_insn_p (rtx insn)
&& GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC); && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC);
case CALL_INSN: case CALL_INSN:
/* Noreturn and sibling call instructions terminate the basic blocks
(but only if they happen unconditionally). */
if ((SIBLING_CALL_P (insn)
|| find_reg_note (insn, REG_NORETURN, 0))
&& GET_CODE (PATTERN (insn)) != COND_EXEC)
return true;
/* Call insn may return to the nonlocal goto handler. */ /* Call insn may return to the nonlocal goto handler. */
return ((nonlocal_goto_handler_labels return ((nonlocal_goto_handler_labels
&& (0 == (note = find_reg_note (insn, REG_EH_REGION, && (0 == (note = find_reg_note (insn, REG_EH_REGION,
......
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