> > 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