From ccce8d981451518202bf071f10fe49d8bea92a63 Mon Sep 17 00:00:00 2001 From: vmakarov Date: Fri, 3 Jul 2009 22:36:31 +0000 Subject: [PATCH] 2009-07-03 Vladimir Makarov 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149212 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/ira.c | 4 ++-- gcc/testsuite/gfortran.dg/pr40587.f | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/pr40587.f diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2834ac69c91..4f1c48c84c0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-07-03 Vladimir Makarov + + 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 PR tree-optimization/40640 diff --git a/gcc/ira.c b/gcc/ira.c index 98dd6459419..7a2efe9dc86 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -2797,14 +2797,14 @@ build_insn_chain (void) CLEAR_REG_SET (live_relevant_regs); 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) break; 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) { if (pseudo_for_reload_consideration_p (i)) diff --git a/gcc/testsuite/gfortran.dg/pr40587.f b/gcc/testsuite/gfortran.dg/pr40587.f new file mode 100644 index 00000000000..0761d9d7e90 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr40587.f @@ -0,0 +1,17 @@ +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 -- 2.11.4.GIT