> But I wonder if we can instead fix the memcpy inlining issue by > making the predicates involved honor LOCAL_ALIGNMENT > instead of relying on DECL_ALIGN?
The memcpy inlining issue is not the only one affected by alignment issue, I guess? So I think it would be better to fix DECL_ALIGN? On Mon, Mar 30, 2020 at 5:15 PM Jakub Jelinek <ja...@redhat.com> wrote: > > On Mon, Mar 30, 2020 at 11:09:40AM +0200, Richard Biener wrote: > > On Fri, Mar 27, 2020 at 7:27 PM Jakub Jelinek <ja...@redhat.com> wrote: > > > > > > On Sat, Mar 28, 2020 at 02:06:56AM +0800, Kito Cheng wrote: > > > > PR target/90811 > > > > * ipa-increase-alignment.cc (increase_alignment_local_var): New. > > > > (increase_alignment_global_var): New. > > > > (pass_ipa_increase_alignment::gate): Remove. > > > > > > I'm afraid this is too early, pass_ipa_increase_alignment is part of > > > all_small_ipa_passes list, those are run before the LTO streaming. > > > See cgraphunit.c (ipa_passes). > > > For OpenMP/OpenACC offloading, this has to run after the streaming, > > > which means either a pass in the all_regular_ipa_passes list, or much > > > better > > > (I don't see any advantage of this being an IPA pass) some new pass that > > > is > > > run very early in the all_passes list. > > > > It's an IPA pass because we IPA propagate alignment. > > For global vars sure, but we are talking here about automatic vars, and the > offloading targets really have serious problems dealing with the 16/32 byte > alignment forced from x86 backend. > > Jakub >