<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I basically run "clang -fexperimental-new-pass-manager -print-after-all ..."<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It's conceivable that something is different in our setup or in clang (from opt)... I'll see if I can reproduce it outside our setup.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 6, 2019 at 9:35 AM Fedor Sergeev <<a href="mailto:fedor.sergeev@azul.com">fedor.sergeev@azul.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
<br>
<div>On 8/6/19 7:31 PM, Fedor Sergeev via
llvm-dev wrote:<br>
</div>
<blockquote type="cite">
<br>
<br>
<div>On 8/6/19 3:02 AM, Hiroshi Yamauchi
via llvm-dev wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I had a
chance to try -print-after-all with NPM.</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It seems
like there's still no output for the passes
before objc-arc-contract (which is basically what I saw
before.) Does anyone else see this?</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Are we
talking about the same thing?</div>
</div>
</blockquote>
Apparently both yes and no.<br>
How do you run this?<br>
<br>
IR printing is implemented through pass instrumentation and is
enabled in e.g. opt through the use of StandardInstrumentation<br>
in llvm::runPassPipeline.<br>
If you set up NewPM by yourself w/o the use llvm::runPassPipeline
then most likely you just do not have StandardInstrumentation
installed.<br>
</blockquote>
Reread your mail/output once more and honestly, I do not understand
what happens there.<br>
Can you share exact setup where you get this?<br>
<br>
regards,<br>
Fedor.<br>
<br>
<blockquote type="cite"> <br>
regards,<br>
Fedor.
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">*** IR Dump
After ObjC ARC contraction ***<br>
*** IR Dump After Pre-ISel Intrinsic Lowering ***<br>
*** IR Dump After Expand Atomic instructions ***<br>
*** IR Dump After Canonicalize natural loops ***<br>
*** IR Dump After Loop Strength Reduction ***<br>
*** IR Dump After Merge contiguous icmps into a memcmp ***<br>
*** IR Dump After Expand memcmp() to load/stores ***<br>
*** IR Dump After Lower Garbage Collection Instructions ***<br>
*** IR Dump After Shadow Stack GC Lowering ***<br>
*** IR Dump After Remove unreachable blocks from the CFG ***<br>
*** IR Dump After Constant Hoisting ***<br>
*** IR Dump After Partially inline calls to library
functions ***<br>
*** IR Dump After Instrument function entry/exit with calls
to e.g. mcount() (post inlining) ***<br>
*** IR Dump After Scalarize Masked Memory Intrinsics ***<br>
*** IR Dump After Expand reduction intrinsics ***<br>
*** IR Dump After Interleaved Access Pass ***<br>
*** IR Dump After Expand indirectbr instructions ***<br>
*** IR Dump After CodeGen Prepare ***<br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">*** IR Dump
After Rewrite Symbols ***<br>
*** IR Dump After Exception handling preparation ***<br>
*** IR Dump After Safe Stack instrumentation pass ***<br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">.....</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">(dump from
the machine passes)</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul 21, 2019 at 7:37
AM Fedor Sergeev <<a href="mailto:fedor.v.sergeev@gmail.com" target="_blank">fedor.v.sergeev@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto">FWIW, print-*-all should work under NPM just
fine and the only problem with print-* is (absent) uniform
pass name processing for cl::opt.
<div dir="auto">It is easy to introduce yet another option
that takes NPM pass names (and that's what we actually
did downstream).</div>
<div dir="auto">Any suggestions on how to resolve this
nuisance are welcome.</div>
<div dir="auto"><br>
</div>
<div dir="auto">regards, </div>
<div dir="auto"> Fedor. </div>
<div dir="auto"><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">чт, 11 июл. 2019 г.,
18:53 Hiroshi Yamauchi via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I don't exactly
remember when I last tried it and I didn't realize<br>
there was r342896. I'll check it out. Thanks.<br>
<br>
On Wed, Jul 10, 2019 at 1:14 PM Philip Pfaffe <<a href="mailto:philip.pfaffe@gmail.com" rel="noreferrer" target="_blank">philip.pfaffe@gmail.com</a>>
wrote:<br>
><br>
> Printing was implemented in r342896.<br>
> @Hiroshi: Are there specific issues or limitations
you encountered with it?<br>
><br>
> Cheers,<br>
> Philip<br>
><br>
> On Wed, Jul 10, 2019 at 8:48 PM Troy Johnson via
llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
>><br>
>> -print-after-all is very useful for debugging
and learning about LLVM. I would hope that would be
implemented for the new PM before removing the old PM.
I'd personally consider it a blocker.<br>
>><br>
>> -Troy<br>
>><br>
>> > -----Original Message-----<br>
>> > From: llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
On Behalf Of Eric Christopher<br>
>> > via llvm-dev<br>
>> > Sent: Tuesday, July 09, 2019 7:40 PM<br>
>> > To: Hiroshi Yamauchi <<a href="mailto:yamauchi@google.com" rel="noreferrer" target="_blank">yamauchi@google.com</a>><br>
>> > Cc: llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>>;
Yi Kong <<a href="mailto:yikong@google.com" rel="noreferrer" target="_blank">yikong@google.com</a>><br>
>> > Subject: Re: [llvm-dev] Status of the New
Pass Manager<br>
>> ><br>
>> > They don't, but this isn't considered a
blocker to removing the old one as far as I<br>
>> > know.<br>
>> ><br>
>> > -eric<br>
>> ><br>
>> > On Tue, Jul 9, 2019 at 11:09 AM Hiroshi
Yamauchi via llvm-dev <llvm-<br>
>> > <a href="mailto:dev@lists.llvm.org" rel="noreferrer" target="_blank">dev@lists.llvm.org</a>>
wrote:<br>
>> > ><br>
>> > > FWIW, the flags like -print-after,
-printer-after-all don't work well<br>
>> > > with the new pass manager last time I
checked.<br>
>> > ><br>
>> > > On Mon, Jul 8, 2019 at 12:20 PM
Stephen Hines via llvm-dev<br>
>> > > <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
>> > > ><br>
>> > > > The Android platform build
(AOSP) has also switched to the new pass<br>
>> > manager recently. We do have a few bugs
that we are chasing (hence opt-outs),<br>
>> > but it is working quite well otherwise.<br>
>> > > ><br>
>> > > > Our current list of issues:<br>
>> > > > 1) Libsqlite still has a
mysterious failure that we haven't been able to reduce<br>
>> > well.<br>
>> > > > 2) <a href="https://bugs.llvm.org/show_bug.cgi?id=42124" rel="noreferrer noreferrer" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=42124</a>
shows that inlining costs<br>
>> > are a bit different under NPM. <a href="https://reviews.llvm.org/D63034" rel="noreferrer
noreferrer" target="_blank">https://reviews.llvm.org/D63034</a>
is one proposed<br>
>> > patch for addressing this.<br>
>> > > > 3) libpdfium exposed a
non-determinism issue with NPM where having the<br>
>> > linux-libc-dev system package installed
changes execution. We are still looking<br>
>> > at why this happens.<br>
>> > > > 4) Sanitizer coverage
information isn't supported by the NPM yet<br>
>> > (<a href="https://reviews.llvm.org/D62888" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D62888</a>).<br>
>> > > ><br>
>> > > > Thanks,<br>
>> > > > Steve<br>
>> > > ><br>
>> > > > On Mon, Jul 1, 2019 at 11:07 AM
Alex Bradbury via llvm-dev <llvm-<br>
>> > <a href="mailto:dev@lists.llvm.org" rel="noreferrer" target="_blank">dev@lists.llvm.org</a>>
wrote:<br>
>> > > >><br>
>> > > >> On Thu, 27 Jun 2019 at
17:46, Philip Reames via llvm-dev<br>
>> > > >> <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
>> > > >> ><br>
>> > > >> > For our downstream
usage, we've switched entirely to the new pass<br>
>> > manager. We made the switch a couple of
months ago. All of our testing is<br>
>> > being done with the NPM, and we're about
to start deleting (downstream) code<br>
>> > which was only needed by the legacy pass
manager.<br>
>> > > >> ><br>
>> > > >> > I believe several other
major contributors are in the same state. We<br>
>> > really need to get upstream switched over
so that all of the community's testing<br>
>> > efforts are aligned again.<br>
>> > > >><br>
>> > > >> I hadn't realised it was so
close to being ready. Do you see this<br>
>> > > >> as a switch that could be
made before 9.0, or after it?<br>
>> > > >><br>
>> > > >> Best,<br>
>> > > >><br>
>> > > >> Alex<br>
>> > > >>
_______________________________________________<br>
>> > > >> LLVM Developers mailing list<br>
>> > > >> <a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> > > >> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>> > > ><br>
>> > > >
_______________________________________________<br>
>> > > > LLVM Developers mailing list<br>
>> > > > <a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> > > > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>> > >
_______________________________________________<br>
>> > > LLVM Developers mailing list<br>
>> > > <a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> > > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>> >
_______________________________________________<br>
>> > LLVM Developers mailing list<br>
>> > <a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
</div>
</blockquote></div>