Commit efaadb93 by Adam Nemet Committed by Adam Nemet

re PR middle-end/39651 (New cleanup test failures)

	PR middle-end/39651
	* except.c (can_throw_external): Look at each insn in a SEQUENCE
	when deciding whether the whole SEQUENCE can throw.

From-SVN: r145986
parent 4c48007b
2009-04-12 Adam Nemet <anemet@caviumnetworks.com>
PR middle-end/39651
* except.c (can_throw_external): Look at each insn in a SEQUENCE
when deciding whether the whole SEQUENCE can throw.
2009-04-12 Uros Bizjak <ubizjak@gmail.com> 2009-04-12 Uros Bizjak <ubizjak@gmail.com>
PR target/39740 PR target/39740
......
...@@ -2892,7 +2892,16 @@ can_throw_external (const_rtx insn) ...@@ -2892,7 +2892,16 @@ can_throw_external (const_rtx insn)
if (NONJUMP_INSN_P (insn) if (NONJUMP_INSN_P (insn)
&& GET_CODE (PATTERN (insn)) == SEQUENCE) && GET_CODE (PATTERN (insn)) == SEQUENCE)
insn = XVECEXP (PATTERN (insn), 0, 0); {
rtx seq = PATTERN (insn);
int i, n = XVECLEN (seq, 0);
for (i = 0; i < n; i++)
if (can_throw_external (XVECEXP (seq, 0, i)))
return true;
return false;
}
note = find_reg_note (insn, REG_EH_REGION, NULL_RTX); note = find_reg_note (insn, REG_EH_REGION, NULL_RTX);
if (!note) if (!note)
......
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