[vect] Only change base alignment if more restrictive
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Mon, 21 Oct 2019 10:12:18 +0000 (10:12 +0000)
committerAndre Vieira <avieira@gcc.gnu.org>
Mon, 21 Oct 2019 10:12:18 +0000 (10:12 +0000)
This patch makes sure ensure_base_align only changes alignment if the new
alignment is more restrictive.  It already did this if we were dealing with
symbols, but it now does it for all types of declarations.

gcc/ChangeLog:
2019-10-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* tree-vect-stmts (ensure_base_align): Only change alignment if new
alignment is more restrictive.

From-SVN: r277238

gcc/ChangeLog
gcc/tree-vect-stmts.c

index fbde37cf4adfebef33d78196a49d840620492a80..799072510e404a0033700f9998e00210ea5510a0 100644 (file)
@@ -1,3 +1,8 @@
+2019-10-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * tree-vect-stmts (ensure_base_align): Only change alignment if new
+       alignment is more restrictive.
+
 2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
 
        * tree-vectorizer.h (vec_info::vector_size): New member variable.
index d744a84fb2a06f0256db7bc4c6fde6234dbd86e7..6c7b9fe9e6688526781d91b8958e73f5dcb7ed15 100644 (file)
@@ -6293,7 +6293,7 @@ ensure_base_align (dr_vec_info *dr_info)
 
       if (decl_in_symtab_p (base_decl))
        symtab_node::get (base_decl)->increase_alignment (align_base_to);
-      else
+      else if (DECL_ALIGN (base_decl) < align_base_to)
        {
          SET_DECL_ALIGN (base_decl, align_base_to);
           DECL_USER_ALIGN (base_decl) = 1;