public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [PATCH 2/2] find_base_value part
       [not found] <20240115134040.EBA343858404@sourceware.org>
@ 2024-01-22 16:14 ` Jeff Law
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Law @ 2024-01-22 16:14 UTC (permalink / raw)
  To: Richard Biener, gcc-patches



On 1/15/24 06:34, Richard Biener wrote:
> The following adjusts find_base_value similar as to what
> find_base_term was adjusted for PR113255.
> 
> 	* alias.cc (known_base_value_p): Remove.
> 	(find_base_value): Remove PLUS/MINUS handling
> 	when both operands are not CONST_INT_P.
OK.
jeff

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 2/2] find_base_value part
@ 2024-01-15 13:34 Richard Biener
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Biener @ 2024-01-15 13:34 UTC (permalink / raw)
  To: gcc-patches

The following adjusts find_base_value similar as to what
find_base_term was adjusted for PR113255.

	* alias.cc (known_base_value_p): Remove.
	(find_base_value): Remove PLUS/MINUS handling
	when both operands are not CONST_INT_P.
---
 gcc/alias.cc | 62 ++++------------------------------------------------
 1 file changed, 4 insertions(+), 58 deletions(-)

diff --git a/gcc/alias.cc b/gcc/alias.cc
index bdc119822b4..29b3ba82dba 100644
--- a/gcc/alias.cc
+++ b/gcc/alias.cc
@@ -1400,26 +1400,6 @@ unique_base_value_p (rtx x)
   return GET_CODE (x) == ADDRESS && GET_MODE (x) == Pmode;
 }
 
-/* Return true if X is known to be a base value.  */
-
-static bool
-known_base_value_p (rtx x)
-{
-  switch (GET_CODE (x))
-    {
-    case LABEL_REF:
-    case SYMBOL_REF:
-      return true;
-
-    case ADDRESS:
-      /* Arguments may or may not be bases; we don't know for sure.  */
-      return GET_MODE (x) != VOIDmode;
-
-    default:
-      return false;
-    }
-}
-
 /* Inside SRC, the source of a SET, find a base address.  */
 
 static rtx
@@ -1490,46 +1470,12 @@ find_base_value (rtx src)
     case PLUS:
     case MINUS:
       {
-	rtx temp, src_0 = XEXP (src, 0), src_1 = XEXP (src, 1);
-
-	/* If either operand is a REG that is a known pointer, then it
-	   is the base.  */
-	if (REG_P (src_0) && REG_POINTER (src_0))
-	  return find_base_value (src_0);
-	if (REG_P (src_1) && REG_POINTER (src_1))
-	  return find_base_value (src_1);
-
-	/* If either operand is a REG, then see if we already have
-	   a known value for it.  */
-	if (REG_P (src_0))
-	  {
-	    temp = find_base_value (src_0);
-	    if (temp != 0)
-	      src_0 = temp;
-	  }
-
-	if (REG_P (src_1))
-	  {
-	    temp = find_base_value (src_1);
-	    if (temp!= 0)
-	      src_1 = temp;
-	  }
-
-	/* If either base is named object or a special address
-	   (like an argument or stack reference), then use it for the
-	   base term.  */
-	if (src_0 != 0 && known_base_value_p (src_0))
-	  return src_0;
-
-	if (src_1 != 0 && known_base_value_p (src_1))
-	  return src_1;
+	rtx src_0 = XEXP (src, 0), src_1 = XEXP (src, 1);
 
-	/* Guess which operand is the base address:
-	   If either operand is a symbol, then it is the base.  If
-	   either operand is a CONST_INT, then the other is the base.  */
-	if (CONST_INT_P (src_1) || CONSTANT_P (src_0))
+	/* If either operand is a CONST_INT, then the other is the base.  */
+	if (CONST_INT_P (src_1))
 	  return find_base_value (src_0);
-	else if (CONST_INT_P (src_0) || CONSTANT_P (src_1))
+	else if (CONST_INT_P (src_0))
 	  return find_base_value (src_1);
 
 	return 0;
-- 
2.35.3

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-01-22 16:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20240115134040.EBA343858404@sourceware.org>
2024-01-22 16:14 ` [PATCH 2/2] find_base_value part Jeff Law
2024-01-15 13:34 Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).