* 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).