> 
> I unforutnately spot another problem. With presence of section anchors we
> can not increase alignment of symbol that was already placed into the section.
> I think this is reason why we still have pass_increase_alignments that runs
> only on target with anchors.
> 
> I added the following check:
> 
> +  /* If target is already placed in an anchor, we can not touch its
> +     alignment.  */
> +  if (DECL_RTL_SET_P (target->decl)
> +      && MEM_P (DECL_RTL (target->decl))
> +      && SYMBOL_REF_HAS_BLOCK_INFO_P (XEXP (DECL_RTL (target->decl), 0)))
> +    return false;
> 
> but found it breaks several vectorization testcases with LTO.  This is
> becuase notice_global_symbol computes DECL_RTL even before 
> node->increase_alignment is run and we are stuck.
> 
> I decided to track this separately from this patch that snowballed quite a bit
> already. I do not see how to solve it short of making notice_global_symbol to
> not compute DECL_RTL.  It was never quite clear to me why notice_global_symbol
> is actually doing this at first place.  Is it becuase of target mangling
> happing only at RTL generation time?

This is now PR65355

Reply via email to