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?

Reply via email to