This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/50251] [4.7 Regression] Revision 178353 caused many test failures
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 02 Sep 2011 09:42:13 +0000
- Subject: [Bug middle-end/50251] [4.7 Regression] Revision 178353 caused many test failures
- Auto-submitted: auto-generated
- References: <bug-50251-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50251
--- Comment #13 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-02 09:42:13 UTC ---
(In reply to comment #6)
> fold_builtin_alloca_for_var should record stack alignment
> change due to
>
> + /* Declare array. */
> + elem_type = build_nonstandard_integer_type (BITS_PER_UNIT, 1);
> + n_elem = size * 8 / BITS_PER_UNIT;
> + align = MIN (size * 8, BIGGEST_ALIGNMENT);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> + array_type = build_array_type_nelts (elem_type, n_elem);
> + var = create_tmp_var (array_type, NULL);
> + DECL_ALIGN (var) = align;
> +
If the stack alignment code cannot handle decls with any DECL_ALIGN
it is broken. We for sure do not need to do anything here nor
in the vectorizer, which does
if (vect_can_force_dr_alignment_p (decl, alignment))
{
DECL_ALIGN (decl) = TYPE_ALIGN (vectype);
DECL_USER_ALIGN (decl) = 1;