[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 fbde37c..7990725 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 d744a84..6c7b9fe 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;