Commit 54a0ac2d by Vladimir Makarov Committed by Vladimir Makarov

re PR target/40587 (Revision 139590 caused ICE in emit_swap_insn at reg-stack.c:827)

2009-07-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/40587
	* ira.c (build_insn_chain): Use DF_LR_OUT instead of
	df_get_live_out.
	* testsuite/gfortran.dg/pr40587.f: New test.

From-SVN: r149212
parent fae1034e
2009-07-03 Vladimir Makarov <vmakarov@redhat.com>
PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
df_get_live_out.
* testsuite/gfortran.dg/pr40587.f: New test.
2009-07-03 Richard Guenther <rguenther@suse.de> 2009-07-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40640 PR tree-optimization/40640
......
...@@ -2797,14 +2797,14 @@ build_insn_chain (void) ...@@ -2797,14 +2797,14 @@ build_insn_chain (void)
CLEAR_REG_SET (live_relevant_regs); CLEAR_REG_SET (live_relevant_regs);
memset (live_subregs_used, 0, max_regno * sizeof (int)); memset (live_subregs_used, 0, max_regno * sizeof (int));
EXECUTE_IF_SET_IN_BITMAP (df_get_live_out (bb), 0, i, bi) EXECUTE_IF_SET_IN_BITMAP (DF_LR_OUT (bb), 0, i, bi)
{ {
if (i >= FIRST_PSEUDO_REGISTER) if (i >= FIRST_PSEUDO_REGISTER)
break; break;
bitmap_set_bit (live_relevant_regs, i); bitmap_set_bit (live_relevant_regs, i);
} }
EXECUTE_IF_SET_IN_BITMAP (df_get_live_out (bb), EXECUTE_IF_SET_IN_BITMAP (DF_LR_OUT (bb),
FIRST_PSEUDO_REGISTER, i, bi) FIRST_PSEUDO_REGISTER, i, bi)
{ {
if (pseudo_for_reload_consideration_p (i)) if (pseudo_for_reload_consideration_p (i))
......
C PR traget/40587
C { dg-do compile }
C { dg-options "-O2" }
subroutine TEST(i, r, result)
implicit none
integer i
REAL*8 r
REAL*8 result
REAL*8 r2
if(i.eq.0) then
r2 = r
else
call ERROR()
endif
result = r2
return
end
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