diff mbox series

[034/nnn] poly_int: get_inner_reference_aff

Message ID 87she9okhp.fsf@linaro.org
State New
Headers show
Series [034/nnn] poly_int: get_inner_reference_aff | expand

Commit Message

Richard Sandiford Oct. 23, 2017, 5:13 p.m. UTC
This patch makes get_inner_reference_aff return the size as a
poly_widest_int rather than a widest_int.


2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* tree-affine.h (get_inner_reference_aff): Return the size as a
	poly_widest_int.
	* tree-affine.c (get_inner_reference_aff): Likewise.
	* tree-data-ref.c (dr_may_alias_p): Update accordingly.
	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Likewise.

Comments

Jeff Law Nov. 28, 2017, 5:47 p.m. UTC | #1
On 10/23/2017 11:13 AM, Richard Sandiford wrote:
> This patch makes get_inner_reference_aff return the size as a

> poly_widest_int rather than a widest_int.

> 

> 

> 2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>

> 	    Alan Hayward  <alan.hayward@arm.com>

> 	    David Sherwood  <david.sherwood@arm.com>

> 

> gcc/

> 	* tree-affine.h (get_inner_reference_aff): Return the size as a

> 	poly_widest_int.

> 	* tree-affine.c (get_inner_reference_aff): Likewise.

> 	* tree-data-ref.c (dr_may_alias_p): Update accordingly.

> 	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Likewise.

> 

OK.
jeff
diff mbox series

Patch

Index: gcc/tree-affine.h
===================================================================
--- gcc/tree-affine.h	2017-10-23 17:17:16.129993616 +0100
+++ gcc/tree-affine.h	2017-10-23 17:18:30.290584430 +0100
@@ -80,7 +80,7 @@  bool aff_combination_constant_multiple_p
 void aff_combination_expand (aff_tree *, hash_map<tree, name_expansion *> **);
 void tree_to_aff_combination_expand (tree, tree, aff_tree *,
 				     hash_map<tree, name_expansion *> **);
-tree get_inner_reference_aff (tree, aff_tree *, widest_int *);
+tree get_inner_reference_aff (tree, aff_tree *, poly_widest_int *);
 void free_affine_expand_cache (hash_map<tree, name_expansion *> **);
 bool aff_comb_cannot_overlap_p (aff_tree *, const poly_widest_int &,
 				const poly_widest_int &);
Index: gcc/tree-affine.c
===================================================================
--- gcc/tree-affine.c	2017-10-23 17:17:16.129993616 +0100
+++ gcc/tree-affine.c	2017-10-23 17:18:30.290584430 +0100
@@ -927,7 +927,7 @@  debug_aff (aff_tree *val)
    which REF refers.  */
 
 tree
-get_inner_reference_aff (tree ref, aff_tree *addr, widest_int *size)
+get_inner_reference_aff (tree ref, aff_tree *addr, poly_widest_int *size)
 {
   HOST_WIDE_INT bitsize, bitpos;
   tree toff;
Index: gcc/tree-data-ref.c
===================================================================
--- gcc/tree-data-ref.c	2017-10-23 17:17:16.129993616 +0100
+++ gcc/tree-data-ref.c	2017-10-23 17:18:30.290584430 +0100
@@ -2134,7 +2134,7 @@  dr_may_alias_p (const struct data_refere
   if (!loop_nest)
     {
       aff_tree off1, off2;
-      widest_int size1, size2;
+      poly_widest_int size1, size2;
       get_inner_reference_aff (DR_REF (a), &off1, &size1);
       get_inner_reference_aff (DR_REF (b), &off2, &size2);
       aff_combination_scale (&off1, -1);
Index: gcc/tree-ssa-loop-im.c
===================================================================
--- gcc/tree-ssa-loop-im.c	2017-10-23 17:17:16.129993616 +0100
+++ gcc/tree-ssa-loop-im.c	2017-10-23 17:18:30.291584342 +0100
@@ -1581,7 +1581,7 @@  mem_refs_may_alias_p (im_mem_ref *mem1,
   /* Perform BASE + OFFSET analysis -- if MEM1 and MEM2 are based on the same
      object and their offset differ in such a way that the locations cannot
      overlap, then they cannot alias.  */
-  widest_int size1, size2;
+  poly_widest_int size1, size2;
   aff_tree off1, off2;
 
   /* Perform basic offset and type-based disambiguation.  */