[llvm-dev] Renaming passes

Alina Sbirlea via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 25 13:41:50 PDT 2020


Hi,

First of all, I agree that the discussion on whether to keep `-passes=...`
or `-foo-pass` is a separate discussion and deserves its own RFC thread.

I don't know of a written rationale for the decision to move forward only
with `passes=...`. This was mostly discussed verbally, and no firm decision
is yet in place. I believe the high-level motivation was the
precision/clarity with which the `passes=...` format can describe a pass
pipeline (one example from the recent compatibility patch is that NPM
cannot have AA passes arbitrarily interleaved with module/function/loop,
it's using an AA pipeline instead).

I'd suggest having a broader discussion on pros/cons, either now or after
the switch to the NPM, as the community prefers.

Thanks,
Alina


On Thu, Jun 25, 2020 at 11:20 AM Chen, Yuanfang <Yuanfang.Chen at sony.com>
wrote:

> Agree with @Arthur Eubanks <aeubanks at google.com> that we could leave the
> discussion (legacy PM versus new PM) on 1. Option compatibility 2. Pass
> name compatibility to the future. IMHO, the current issue about test
> correctness parity between legacy and new PM regarding pass name should be
> done with least disruptive way. Name alias seems to be proper to achieve
> that.
>
>
>
> - Yuanfang
>
>
>
> *From:* llvm-dev <llvm-dev-bounces at lists.llvm.org> *On Behalf Of *Arthur
> Eubanks via llvm-dev
> *Sent:* Thursday, June 25, 2020 10:09 AM
> *To:* Roman Lebedev <lebedev.ri at gmail.com>
> *Cc:* llvm-dev <llvm-dev at lists.llvm.org>; Alina Sbirlea <
> asbirlea at google.com>
> *Subject:* Re: [llvm-dev] Renaming passes
>
>
>
>
>
>
>
> On Thu, Jun 25, 2020 at 9:59 AM Roman Lebedev <lebedev.ri at gmail.com>
> wrote:
>
> On Thu, Jun 25, 2020 at 7:48 PM Arthur Eubanks via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> >
> > After talking with some NPM people, I believe the ultimate goal after
> NPM is enabled by default is to only support `-passes=`, and remove support
> for `-foo-pass`.
> Hm, is there any written rationale behind such a decision?
> I would have thought that -passes= is the temporary solution, not the
> other way around.
>
> This is really a separate issue that's somewhat orthogonal to the original
> issue, but someone like asbirlea may be able to chime in more. Maybe a new
> RFC thread?
>
>
> > However, until NPM is enabled by default, we still want tests using opt
> to use the legacy PM by default.
> > We could attempt to make `-passes=` work with the legacy PM and have a
> legacy vs new PM flag, but given the design/syntax of `-passes=` I don't
> think that's feasible (see llvm/include/llvm/Passes/PassBuilder.h).
> > So for making sure everything works with NPM, I think we need to support
> `-foo-pass` in NPM to be able to run all opt tests against NPM. Then at
> some point after NPM is enabled by default we can attempt to migrate
> everything to `-passes=`.
>
> Roman.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200625/5d31ed34/attachment.html>


More information about the llvm-dev mailing list