From 669ff14e8d774550cb426ae240c5c74eb5380d9c Mon Sep 17 00:00:00 2001
From: Bernd Schmidt <bernds@redhat.com>
Date: Wed, 28 Mar 2001 14:21:18 +0000
Subject: [PATCH] Make hash values more random

From-SVN: r40931
---
 gcc/ChangeLog |  4 ++++
 gcc/cselib.c  | 14 +-------------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f57accb45712..ed0b19df34df 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-28  Bernd Schmidt  <bernds@redhat.com>
+
+	* cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
+
 2001-03-28  Richard Henderson  <rth@redhat.com>
 
 	* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
diff --git a/gcc/cselib.c b/gcc/cselib.c
index c0aa0e659bb4..1cc4a74a48bf 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -566,8 +566,6 @@ hash_rtx (x, mode, create)
   const char *fmt;
   unsigned int hash = 0;
 
-  /* repeat is used to turn tail-recursion into iteration.  */
- repeat:
   code = GET_CODE (x);
   hash += (unsigned) code + (unsigned) GET_MODE (x);
 
@@ -637,18 +635,8 @@ hash_rtx (x, mode, create)
       if (fmt[i] == 'e')
 	{
 	  rtx tem = XEXP (x, i);
-	  unsigned int tem_hash;
+	  unsigned int tem_hash = hash_rtx (tem, 0, create);
 
-	  /* If we are about to do the last recursive call
-	     needed at this level, change it into iteration.
-	     This function  is called enough to be worth it.  */
-	  if (i == 0)
-	    {
-	      x = tem;
-	      goto repeat;
-	    }
-
-	  tem_hash = hash_rtx (tem, 0, create);
 	  if (tem_hash == 0)
 	    return 0;
 
-- 
GitLab