[PATCH] D77989: Allow disabling of vectorization using internal options

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 14 07:27:47 PDT 2020


tejohnson added a comment.

In D77989#1979772 <https://reviews.llvm.org/D77989#1979772>, @wmi wrote:

> In D77989#1979725 <https://reviews.llvm.org/D77989#1979725>, @wmi wrote:
>
> > The patch makes the reasoning about when the internal flags will take effect much easier.
> >
> > One question is, with the change, the internal flags can only be used to disable loop vectorization/slp vectorization/loop interleaving, but not to enable them. Can we treat them in the way that the flags in PipelineTuningOptions contain the default values set by Opt Level, and the internal flags can override them, which can either enable or disable the vectorizations/interleaving.
>
>
> I realize it is not easy to do since the internal flags are bool type, and there is no easy way to specify unspecified values for the internal flags which could allow us to use the default values set by Opt Level.  Ideally, we want -slp-vectorize=true to enable slp, -slp-vectorize=false to disable slp, no -slp-vectorize flag to keep the default value, but that is not easy to achieve with current commandline library.


Right. The reason I went with the strategy of using the false value to disable is that they are all on by default (at least >O0), and it seemed more useful to have a way to disable.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77989/new/

https://reviews.llvm.org/D77989





More information about the llvm-commits mailing list