On February 8, 2016 5:31:16 PM GMT+01:00, Eric Botcazou <ebotca...@adacore.com> wrote: >> No, but if there is none left why would you want to "fix" SRA? > >Because I'm afraid this over-aligned type might leak into other places >so we >would probably be better off not creating it in the first place, all >the more >so that it is probably useless in most cases. > >For PR tree-opt/65310, why couldn't the vectorizer use the alignment of >the >pointed-to type of the addend of the MEM_REF, like for the alias set:
Because that's not valid. Richard. > # .MEM_8 = VDEF <.MEM_1(D)> > # lhs access alignment 128+0 > MEM[(struct LorentzVector *)res_7(D)] = SR.22_44; > # .MEM_53 = VDEF <.MEM_8> > # lhs access alignment 32+0 > MEM[(struct LorentzVector *)res_7(D) + 4B] = SR.23_43; > # .MEM_54 = VDEF <.MEM_53> > # lhs access alignment 64+0 > MEM[(struct LorentzVector *)res_7(D) + 8B] = SR.24_42; > # .MEM_55 = VDEF <.MEM_54> > # lhs access alignment 32+0 > MEM[(struct LorentzVector *)res_7(D) + 12B] = SR.25_41;