Commit 5feec5c1 by Vladimir Makarov Committed by H.J. Lu

re PR middle-end/37359 (IRA miscompiled transfer.o in libgfortran, sejmp)

2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/37359
	* ira-lives.c (process_bb_node_lives): Check setjmp.

From-SVN: r139996
parent a1c5742d
2008-09-04 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37359
* ira-lives.c (process_bb_node_lives): Check setjmp.
2008-09-04 Richard Sandiford <rdsandiford@googlemail.com> 2008-09-04 Richard Sandiford <rdsandiford@googlemail.com>
PR middle-end/37243 PR middle-end/37243
......
...@@ -714,9 +714,12 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node) ...@@ -714,9 +714,12 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
ALLOCNO_CALL_FREQ (a) += freq; ALLOCNO_CALL_FREQ (a) += freq;
ALLOCNO_CALLS_CROSSED_NUM (a)++; ALLOCNO_CALLS_CROSSED_NUM (a)++;
/* Don't allocate allocnos that cross calls, if this /* Don't allocate allocnos that cross setjmps or any
function receives a nonlocal goto. */ call, if this function receives a nonlocal
if (cfun->has_nonlocal_label) goto. */
if (cfun->has_nonlocal_label
|| find_reg_note (insn, REG_SETJMP,
NULL_RTX) != NULL_RTX)
{ {
SET_HARD_REG_SET (ALLOCNO_CONFLICT_HARD_REGS (a)); SET_HARD_REG_SET (ALLOCNO_CONFLICT_HARD_REGS (a));
SET_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a)); SET_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a));
......
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