Displaying 20 results from an estimated 30000 matches similar to: "New pass manager for optimization pipeline status and questions"
2020 Jul 23
2
New pass manager for optimization pipeline status and questions
FWIW I'm in favor of this direction while making sure that we keep focus on
removing the vestiges of the old pass manager for the code health impact to
the project.
-eric
On Wed, Jul 22, 2020 at 3:15 PM Philip Reames via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> (I'm probably going to derail your thread, sorry about that.)
>
> I think at this point, we should just
2020 Jul 24
3
New pass manager for optimization pipeline status and questions
Hi all,
The current plan is to prioritize enabling the NPM as soon as possible, and
that includes addressing any blockers that are known or arise. This means
prioritizing those blockers over other LLVM work. The current umbrella bug
is PR46649 <https://bugs.llvm.org/show_bug.cgi?id=46649>.
Philip's point is spot on that we are deficient now in the testing of the
LegacyPassManager,
2020 Jul 28
2
New pass manager for optimization pipeline status and questions
On Fri, Jul 24, 2020 at 12:54 PM Sjoerd Meijer <Sjoerd.Meijer at arm.com>
wrote:
> Hi Alina,
>
> I think this is an excellent direction, this is the direction we should
> take here. Just a somewhat irrelevant disagreement on this though:
>
> > Philip's point is spot on that we are deficient now in the testing of
> the LegacyPassManager,
>
> I disagree
2020 Jul 14
3
[RFC] Introducing classes for the codegen driven by new pass manager
-Yuanfang
> -----Original Message-----
> From: Arthur Eubanks <aeubanks at google.com>
> Sent: Monday, July 13, 2020 12:49 PM
> To: Chen, Yuanfang <Yuanfang.Chen at sony.com>
> Cc: LLVM Developers' List <llvm-dev at lists.llvm.org>
> Subject: Re: [llvm-dev] [RFC] Introducing classes for the codegen driven by
> new pass manager
>
> While we're
2020 Jul 11
2
[RFC] Introducing classes for the codegen driven by new pass manager
(NPM: new pass manager; LPM: legacy pass manager)
Hello, community
While we're still working towards using NPM for optimizer pipeline by default, we still don't have a machine pass interface and the corresponding machine pass manager using NPM. The potential benefits using NPM aside, this inhibits us from making any progress on deprecating LPM for the codegen pipeline which blocks
2020 Jul 14
4
[RFC] Introducing classes for the codegen driven by new pass manager
I'd just note that not every pass you can run with "opt" is actually part
of the optimization pipeline. There are a few important IR-level passes
that only run in the codegen pipeline, but are still nameable with opt to
run individually for testing purposes. Switching over doesn't need to block
on these passes being migrated. So I'm not sure this method of determining
2020 Jun 25
2
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,
2020 Jul 22
2
NPM and code-size
(NPM: new pass manager; LPM: legacy pass manager)
In a first quick experiment today I compared code-size of the LMP vs. the NMP for the CSiBE benchmark (and some other), and this shows code-size increases with the NPM that would probably be unacceptable for us. So, now I am wondering how/if we need to mitigate this, and have a bunch of questions.
As I've noticed quite some activity around
2020 Jul 15
3
[RFC] Introducing classes for the codegen driven by new pass manager
> On Jul 15, 2020, at 12:28, Chen, Yuanfang <Yuanfang.Chen at sony.com> wrote:
>
> In codegen with NPM, I've made all codegen passes (IR or MIR pass) to be only driven by `llc`. Both due to the way NPM registering pass (on-demand&dynamic instead of static initialization in Legacy PM), and reduce the confusion about which tool (`llc` or `opt`) to test codegen IR passes.
>
2020 Jun 25
4
Renaming passes
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`.
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
2020 Jul 16
2
[RFC] Introducing classes for the codegen driven by new pass manager
On Wed, Jul 15, 2020 at 6:39 PM Chen, Yuanfang via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Indeed, but there is a distinction about their position in the pipeline. We run opt & codegen pipeline separately,
Why, though? Is there a reason why this inherently makes sense, or is
it just a historical accident? At least to me it seems that it would
make more sense to run all passes
2020 Jul 15
2
[RFC] Introducing classes for the codegen driven by new pass manager
> On Jul 15, 2020, at 09:16, Robinson, Paul via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>> I'd just note that not every pass you can run with "opt" is actually part of the optimization pipeline. There are a few important IR-level passes that only run in the codegen pipeline, but are still nameable with opt to run individually for testing purposes. Switching
2020 Jun 08
2
optnone/skipping passes in the new pass manager
Hmm it looks like getting NPM to work with opt is non-trivial. Only a small
portion of the opt functionality works with NPM :(
On Mon, Jun 8, 2020 at 3:36 PM Robinson, Paul <paul.robinson at sony.com>
wrote:
> Maybe you could change the default PM in opt and see what fails?
>
> --paulr
>
>
>
> *From:* Arthur Eubanks <aeubanks at google.com>
> *Sent:* Monday,
2020 Jun 24
2
Renaming passes
> On Jun 24, 2020, at 19:17, Arthur Eubanks <aeubanks at google.com> wrote:
>
>
>
> On Wed, Jun 24, 2020 at 12:23 PM Philip Reames <listmail at philipreames.com <mailto:listmail at philipreames.com>> wrote:
>
>
> On 6/24/20 11:21 AM, Matt Arsenault via llvm-dev wrote:
>>
>>
>>> On Jun 24, 2020, at 14:13, Arthur Eubanks via
2020 Jun 24
4
Renaming passes
Hi,
As part of new pass manager work, I've been trying to get something like
`opt -foo` working under the NPM, where `foo` is the name of a pass.
In the past there's been no reason to keep the names of passes consistent
between NPM and legacy PM. But now there is a reason to make them match, so
that we don't have to touch every single test that uses `opt`.
There are a couple of
2020 Jul 21
3
[RFC] Introducing classes for the codegen driven by new pass manager
One thing I want to mention. I believe in the current legacy pass manager
implementation only one MachineFunction ever exists at a time. It is
deleted before the next MachineFunction is created. This is very
important for memory usage. I think the MachineOutliner being in the
pipeline may create an exception to this. I think the initial version of
retpoline used a ModulePass and that had to be
2020 Jun 24
2
Renaming passes
On 6/24/20 11:21 AM, Matt Arsenault via llvm-dev wrote:
>
>
>> On Jun 24, 2020, at 14:13, Arthur Eubanks via llvm-dev
>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hi,
>>
>> As part of new pass manager work, I've been trying to get something
>> like `opt -foo` working under the NPM, where `foo` is
2020 Jun 08
2
optnone/skipping passes in the new pass manager
On Mon, Jun 8, 2020 at 7:11 AM Robinson, Paul <paul.robinson at sony.com>
wrote:
> When the optnone design was being discussed, Chandler specifically
> rejected having the pass manager involved in the decision (which was the
> original proposed design). Assuming he still feels the same way now, if
> the existing `skipFunction` calls aren’t being executed under the new pass
>
2020 Jun 07
5
optnone/skipping passes in the new pass manager
Looking through some of the remaining test failures under the new pass
manager, I've narrowed down one of the failures in GWPAsan(!) to the fact
that the new pass manager doesn't properly skip passes like the old pass
manager. For example, when a function is marked optnone, or when using
https://llvm.org/docs/OptBisect.html.
Lots of passes (e.g. SROA) will do the following under the
2020 May 13
3
Sanitizers + New Pass Manager
Just tested it out, that test does indeed fail under the old PM at -O3 and
even at -O2.
If the ASan pass runs after optimizations and is designed to detect
undefined behavior at runtime, I don't see how it can be super reliable at
higher optimization levels.
On Wed, May 13, 2020 at 12:39 PM David Blaikie <dblaikie at gmail.com> wrote:
> +some sanitizer/new pass manager folks
>