summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
commit3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b (patch)
treefdb9e9f8a0700a2713dc690fed1a2cf20dae8392 /gcc/integrate.c
parent8ceb1bfd33bc40bf0cbe1fab8903c2c31efd10ee (diff)
downloadgcc-3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b.tar.gz
Merge dataflow branch into mainline
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125624 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index a6eeede3985..827afb7fe51 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -1,6 +1,6 @@
/* Procedure integration for GCC.
Copyright (C) 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -46,6 +46,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "target.h"
#include "langhooks.h"
#include "tree-pass.h"
+#include "df.h"
/* Round to the next highest integer that meets the alignment. */
#define CEIL_ROUND(VALUE,ALIGN) (((VALUE) + (ALIGN) - 1) & ~((ALIGN)- 1))
@@ -318,7 +319,7 @@ struct tree_opt_pass pass_initial_value_sets =
/* If the backend knows where to allocate pseudos for hard
register initial values, register these allocations now. */
void
-allocate_initial_values (rtx *reg_equiv_memory_loc ATTRIBUTE_UNUSED)
+allocate_initial_values (rtx *reg_equiv_memory_loc)
{
if (targetm.allocate_initial_value)
{
@@ -347,18 +348,14 @@ allocate_initial_values (rtx *reg_equiv_memory_loc ATTRIBUTE_UNUSED)
reg_renumber[regno] = new_regno;
/* Poke the regno right into regno_reg_rtx so that even
fixed regs are accepted. */
- REGNO (ivs->entries[i].pseudo) = new_regno;
+ SET_REGNO (ivs->entries[i].pseudo, new_regno);
/* Update global register liveness information. */
FOR_EACH_BB (bb)
{
- struct rtl_bb_info *info = bb->il.rtl;
-
- if (REGNO_REG_SET_P(info->global_live_at_start, regno))
- SET_REGNO_REG_SET (info->global_live_at_start,
- new_regno);
- if (REGNO_REG_SET_P(info->global_live_at_end, regno))
- SET_REGNO_REG_SET (info->global_live_at_end,
- new_regno);
+ if (REGNO_REG_SET_P(DF_LIVE_IN (bb), regno))
+ SET_REGNO_REG_SET (DF_LIVE_IN (bb), new_regno);
+ if (REGNO_REG_SET_P(DF_LIVE_OUT (bb), regno))
+ SET_REGNO_REG_SET (DF_LIVE_OUT (bb), new_regno);
}
}
}