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.

I fear that offload targets have to agree on local variable alignment if we want
to go this way (update DECL_ALIGN).  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?

>
> At which point I don't really see the benefit of moving this into a new file
> either.
>
>         Jakub
>

Reply via email to