https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273

--- Comment #36 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 3 Jun 2016, matthew.fortune at imgtec dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273
> 
> --- Comment #35 from Matthew Fortune <matthew.fortune at imgtec dot com> ---
> (In reply to Aurelien Jarno from comment #33)
> > (In reply to Hector Oron from comment #32)
> > > (In reply to Richard Biener from comment #31)
> > > > eipa_sra introduces the remaining SSA name with non-default alignment 
> > > > via
> > > 
> > > [PATCH]
> > > 
> > 
> > For the record, Debian now have the patch from comment #32 in its version of
> > GCC 5 and 6. This fixes a few more issues than reported here, in addition to
> > graphviz, it also fixes subversion and jq.
> 
> Richard: Is the updated patch from comment #32 in-keeping with your original
> changes in comment #20? If so then I'll post it on gcc-patches.
> 
> I do accept that there are MIPS fixes to be made in this area but I'd like to
> get the existing code to 'work' again first if possible.

Note that the tree-ssa.c changes from comment#32 do not work as-is
(on the branch you don't notice that because checking is disabled).
Even the relaxed variant that we don't have over-aligned types in the IL
breaks AFAIR.

Given the analysis in comment #31 I'd rather patch up either
turn_representatives_into_adjustments or ipa_modify_formal_parameters
(which already seems to have code to avoid under-aligned types).

That is, does

Index: gcc/ipa-prop.c
===================================================================
--- gcc/ipa-prop.c      (revision 237053)
+++ gcc/ipa-prop.c      (working copy)
@@ -3910,7 +3909,7 @@ ipa_modify_formal_parameters (tree fndec
              if (is_gimple_reg_type (ptype))
                {
                  unsigned malign = GET_MODE_ALIGNMENT (TYPE_MODE 
(ptype));
-                 if (TYPE_ALIGN (ptype) < malign)
+                 if (TYPE_ALIGN (ptype) != malign)
                    ptype = build_aligned_type (ptype, malign);
                }
            }

fix the issue as well?

Reply via email to