This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/50494] gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50494

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-13 10:55:15 UTC ---
Created attachment 29436
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29436
patch

-fsection-anchors enables pass_ipa_increase_alignment (the vectorizer can
not align globals after any function was assembled, so we do that upfront).

In LTO:

  /* If this variable belongs to the global constant pool, retrieve the
     pre-computed RTL or recompute it in LTO mode.  */
  if (TREE_CODE (decl) == VAR_DECL && DECL_IN_CONSTANT_POOL (decl))
    {
      SET_DECL_RTL (decl, output_constant_def (DECL_INITIAL (decl), 1));
      return;

but obviously output_constant_def when just getting DECL_INITIAL cannot
honor any special alignment requirements of decl.  It will simply get
a new decl with standard alignment.

We know decl is already the decl associated with the constant, so we
should just re-use it.

So I believe the attached should fix this.  Can PPC people plaease test?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]