On November 22, 2014 6:38:03 PM CET, "H.J. Lu" <hjl.to...@gmail.com> wrote: >On Thu, Jun 12, 2014 at 3:14 PM, Jan Hubicka <hubi...@ucw.cz> wrote: >> Hi, >> while updating vect_can_force_dr_alignment_p for section API I >noticed the >> predicate is bit confused about when it can update the alignment. >> >> We need to check that decl_binds_to_current_def_p and in case we >compile >> a partition also that the symbol is not homed in other partition. >> Previous code was wrong i.e. for COMDATs, weaks or -fpic. >> >> Also when having an alias, only way to promote the alignment is to >bump >> up alignment of target. >> >> On the other hand comment about DECL_IN_CONSTANT_POOL seems confused >- we have >> no sharing across partitions. I assume it was old hack and removed >it.
It's quite recent and it will break Ada iirc. Richard. >> >> I also see no reason for disregarding DECL_PRESERVE - we only update >> alignment that should not disturb whatever magic user does. But I >kept >> it. >> >> We probably should separate the logic into symtab predicate - it just >checks if >> we can change definition of variable to meet our needs. I can do that >> incrementally. >> >> Bootstrapped/regtested x86_64-linux, comitted. >> >> Honza >> >> * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): >Reorg >> to use symtab and decl_binds_to_current_def_p >> * tree-vectorizer.c (increase_alignment): Increase alignment >> of alias target, too. > >It caused: > >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64024 >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64028 > >H.J.