summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-11 21:14:13 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-11 21:14:13 +0000
commit26c8b134d0d600058543e045c95ef9c6df068f3f (patch)
treed8e592ac7c818260a3015d24081d2359ed460c07
parentb7fc12222db969ac3e09e90addc058e7f34317d3 (diff)
downloadgcc-26c8b134d0d600058543e045c95ef9c6df068f3f.tar.gz
Fix 2 bugs in last patch.
* alias.c (clear_reg_alias_info): Only handle pseudo registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45553 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/alias.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 25bf3ba5d56..e2178788ca7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-09-11 Jim Wilson <wilson@redhat.com>
+
+ * alias.c (clear_reg_alias_info): Only handle pseudo registers.
+
2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
* builtins.c (c_strlen): Treat an offset too large for a
diff --git a/gcc/alias.c b/gcc/alias.c
index 5da7740ad6c..61c1d8fa2ad 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -969,8 +969,10 @@ void
clear_reg_alias_info (reg)
rtx reg;
{
- if (REGNO (reg) < reg_known_value_size)
- reg_known_value[REGNO (reg)] = reg;
+ unsigned int regno = REGNO (reg);
+
+ if (regno < reg_known_value_size && regno >= FIRST_PSEUDO_REGISTER)
+ reg_known_value[regno] = reg;
}
/* Returns a canonical version of X, from the point of view alias