public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-2014] Less strip_offset in IVOPTs
@ 2023-06-21 12:01 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2023-06-21 12:01 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:5d88932657de239a941ad84ef0996a906ecd8fe9

commit r14-2014-g5d88932657de239a941ad84ef0996a906ecd8fe9
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Jun 21 11:38:19 2023 +0200

    Less strip_offset in IVOPTs
    
    This avoids a strip_offset use in record_group_use where we know
    it operates on addresses.
    
            * tree-ssa-loop-ivopts.cc (record_group_use): Use
            split_constant_offset.

Diff:
---
 gcc/tree-ssa-loop-ivopts.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc
index 82531f97b93..957a3001e16 100644
--- a/gcc/tree-ssa-loop-ivopts.cc
+++ b/gcc/tree-ssa-loop-ivopts.cc
@@ -1175,9 +1175,6 @@ contain_complex_addr_expr (tree expr)
   return res;
 }
 
-static tree
-strip_offset (tree expr, poly_uint64_pod *offset);
-
 /* Allocates an induction variable with given initial value BASE and step STEP
    for loop LOOP.  NO_OVERFLOW implies the iv doesn't overflow.  */
 
@@ -1609,7 +1606,10 @@ record_group_use (struct ivopts_data *data, tree *use_p,
     {
       unsigned int i;
 
-      addr_base = strip_offset (iv->base, &addr_offset);
+      gcc_assert (POINTER_TYPE_P (TREE_TYPE (iv->base)));
+      tree addr_toffset;
+      split_constant_offset (iv->base, &addr_base, &addr_toffset);
+      addr_offset = int_cst_value (addr_toffset);
       for (i = 0; i < data->vgroups.length (); i++)
 	{
 	  struct iv_use *use;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-06-21 12:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-21 12:01 [gcc r14-2014] Less strip_offset in IVOPTs 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).