https://gcc.gnu.org/g:8d19fbb2be487f19ed1c48699e17cafe19520525

commit r15-7395-g8d19fbb2be487f19ed1c48699e17cafe19520525
Author: Tamar Christina <tamar.christ...@arm.com>
Date:   Thu Feb 6 17:46:52 2025 +0000

    middle-end: Remove unused internal function after IVopts cleanup [PR118756]
    
    It seems that after my IVopts patches the function contain_complex_addr_expr
    became unused and clang is rightfully complaining about it.
    
    This removes the unused internal function.
    
    gcc/ChangeLog:
    
            PR tree-optimization/118756
            * tree-ssa-loop-ivopts.cc (contain_complex_addr_expr): Remove.

Diff:
---
 gcc/tree-ssa-loop-ivopts.cc | 28 ----------------------------
 1 file changed, 28 deletions(-)

diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc
index 989321137df9..e37b24062f73 100644
--- a/gcc/tree-ssa-loop-ivopts.cc
+++ b/gcc/tree-ssa-loop-ivopts.cc
@@ -1149,34 +1149,6 @@ determine_base_object (struct ivopts_data *data, tree 
expr)
   return obj;
 }
 
-/* Return true if address expression with non-DECL_P operand appears
-   in EXPR.  */
-
-static bool
-contain_complex_addr_expr (tree expr)
-{
-  bool res = false;
-
-  STRIP_NOPS (expr);
-  switch (TREE_CODE (expr))
-    {
-    case POINTER_PLUS_EXPR:
-    case PLUS_EXPR:
-    case MINUS_EXPR:
-      res |= contain_complex_addr_expr (TREE_OPERAND (expr, 0));
-      res |= contain_complex_addr_expr (TREE_OPERAND (expr, 1));
-      break;
-
-    case ADDR_EXPR:
-      return (!DECL_P (TREE_OPERAND (expr, 0)));
-
-    default:
-      return false;
-    }
-
-  return res;
-}
-
 /* Allocates an induction variable with given initial value BASE and step STEP
    for loop LOOP.  NO_OVERFLOW implies the iv doesn't overflow.  */

Reply via email to