aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-01-07 12:59:42 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-01-07 12:59:42 -0800
commit1afdf91c834722965854f32ca0f53d1694bf681b (patch)
treefb5308a92bae6e9a85b381d61fabd752851e1467 /gcc
parentd02c69bed70139fc64568a118ae5aaa89458b95b (diff)
downloadgcc-1afdf91c834722965854f32ca0f53d1694bf681b.zip
gcc-1afdf91c834722965854f32ca0f53d1694bf681b.tar.gz
gcc-1afdf91c834722965854f32ca0f53d1694bf681b.tar.bz2
alias.c (find_base_value): Only use new_reg_base_value shortcut if the register is set once.
* alias.c (find_base_value): Only use new_reg_base_value shortcut if the register is set once. From-SVN: r61017
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/alias.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6114e53..98f174d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-07 Richard Henderson <rth@redhat.com>
+
+ * alias.c (find_base_value): Only use new_reg_base_value shortcut
+ if the register is set once.
+
2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
* config/i386/i386.c (ix86_init_mmx_sse_builtins):
diff --git a/gcc/alias.c b/gcc/alias.c
index fee64b1..960475be 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1,5 +1,6 @@
/* Alias analysis for GNU C
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
@@ -787,7 +788,8 @@ find_base_value (src)
{
/* If we're inside init_alias_analysis, use new_reg_base_value
to reduce the number of relaxation iterations. */
- if (new_reg_base_value && new_reg_base_value[regno])
+ if (new_reg_base_value && new_reg_base_value[regno]
+ && REG_N_SETS (regno) == 1)
return new_reg_base_value[regno];
if (reg_base_value[regno])