<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>