<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Taewook contributes this patch <a href="https://reviews.llvm.org/D65975" target="_blank">https://reviews.llvm.org/D65975</a>. It works for me. Thanks!</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">*** IR Dump After ForceFunctionAttrsPass ***<br>*** IR Dump After EntryExitInstrumenterPass ***<br>*** IR Dump After AddDiscriminatorsPass ***<br>*** IR Dump After InferFunctionAttrsPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After SROA ***<br>*** IR Dump After EarlyCSEPass ***<br>*** IR Dump After LowerExpectIntrinsicPass ***<br>*** IR Dump After CallSiteSplittingPass ***<br>*** IR Dump After IPSCCPPass ***<br>*** IR Dump After CalledValuePropagationPass ***<br>*** IR Dump After GlobalOptPass ***<br>*** IR Dump After PromotePass ***<br>*** IR Dump After DeadArgumentEliminationPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After RequireAnalysisPass<llvm::GlobalsAA, llvm::Module, llvm::AnalysisManager<llvm::Module>> ***<br>*** IR Dump After RequireAnalysisPass<llvm::ProfileSummaryAnalysis, llvm::Module, llvm::AnalysisManager<llvm::Module>> ***<br>*** IR Dump After InlinerPass *** (scc: (_Z3fooi))<br>*** IR Dump After PostOrderFunctionAttrsPass *** (scc: (_Z3fooi))<br>*** IR Dump After ArgumentPromotionPass *** (scc: (_Z3fooi))<br>*** IR Dump After SROA ***<br>*** IR Dump After EarlyCSEPass ***<br>*** IR Dump After SpeculativeExecutionPass ***<br>*** IR Dump After JumpThreadingPass ***<br>*** IR Dump After CorrelatedValuePropagationPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After AggressiveInstCombinePass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After LibCallsShrinkWrapPass ***<br>*** IR Dump After TailCallElimPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After ReassociatePass ***<br>*** IR Dump After RequireAnalysisPass<llvm::OptimizationRemarkEmitterAnalysis, llvm::Function, llvm::AnalysisManager<llvm::Function>> ***<br>*** IR Dump After LoopSimplifyPass ***<br>*** IR Dump After LCSSAPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After LoopSimplifyPass ***<br>*** IR Dump After LCSSAPass ***<br>*** IR Dump After MergedLoadStoreMotionPass ***<br>*** IR Dump After GVN ***<br>*** IR Dump After MemCpyOptPass ***<br>*** IR Dump After SCCPPass ***<br>*** IR Dump After BDCEPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After JumpThreadingPass ***<br>*** IR Dump After CorrelatedValuePropagationPass ***<br>*** IR Dump After DSEPass ***<br>*** IR Dump After LoopSimplifyPass ***<br>*** IR Dump After LCSSAPass ***<br>*** IR Dump After ADCEPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After DevirtSCCRepeatedPass<llvm::PassManager<LazyCallGraph::SCC, llvm::CGSCCAnalysisManager, llvm::LazyCallGraph &, llvm::CGSCCUpdateResult &> > *** (scc: (_Z3fooi))<br>*** IR Dump After GlobalOptPass ***<br>*** IR Dump After GlobalDCEPass ***<br>*** IR Dump After EliminateAvailableExternallyPass ***<br>*** IR Dump After ReversePostOrderFunctionAttrsPass ***<br>*** IR Dump After RequireAnalysisPass<llvm::GlobalsAA, llvm::Module, llvm::AnalysisManager<llvm::Module>> ***<br>*** IR Dump After Float2IntPass ***<br>*** IR Dump After LoopSimplifyPass ***<br>*** IR Dump After LCSSAPass ***<br>*** IR Dump After LoopDistributePass ***<br>*** IR Dump After LoopVectorizePass ***<br>*** IR Dump After LoopLoadEliminationPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After SLPVectorizerPass ***<br>*** IR Dump After InstCombinePass ***<br>*** IR Dump After LoopUnrollPass ***<br>*** IR Dump After WarnMissedTransformationsPass ***<br>*** IR Dump After InstCombinePass ***<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">*** IR Dump After RequireAnalysisPass<llvm::OptimizationRemarkEmitterAnalysis, llvm::Function, llvm::AnalysisManager<llvm::Function>> ***<br>*** IR Dump After LoopSimplifyPass ***<br>*** IR Dump After LCSSAPass ***<br>*** IR Dump After AlignmentFromAssumptionsPass ***<br>*** IR Dump After LoopSinkPass ***<br>*** IR Dump After InstSimplifyPass ***<br>*** IR Dump After DivRemPairsPass ***<br>*** IR Dump After SimplifyCFGPass ***<br>*** IR Dump After SpeculateAroundPHIsPass ***<br>*** IR Dump After CGProfilePass ***<br>*** IR Dump After GlobalDCEPass ***<br>*** IR Dump After ConstantMergePass ***<br>*** 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 Module Verifier ***<br>*** IR Dump After Canonicalize natural loops ***<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>*** IR Dump After Rewrite Symbols ***<br>*** IR Dump After Exception handling preparation ***<br>*** IR Dump After Safe Stack instrumentation pass ***<br>*** IR Dump After Module Verifier ***<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"># *** IR Dump After Finalize ISel and expand pseudo-instructions ***:<br># *** IR Dump After X86 Domain Reassignment Pass ***:<br># *** IR Dump After Early Tail Duplication ***:<br># *** IR Dump After Optimize machine instruction PHIs ***:<br># *** IR Dump After Slot index numbering ***:<br># *** IR Dump After Merge disjoint stack slots ***:<br># *** IR Dump After Local Stack Slot Allocation ***:<br># *** IR Dump After Remove dead machine instructions ***:<br># *** IR Dump After Early If-Conversion ***:<br># *** IR Dump After Machine InstCombiner ***:<br># *** IR Dump After X86 cmov Conversion ***:<br># *** IR Dump After Early Machine Loop Invariant Code Motion ***:<br># *** IR Dump After Machine Common Subexpression Elimination ***:<br># *** IR Dump After Machine code sinking ***:<br># *** IR Dump After Peephole Optimizations ***:<br># *** IR Dump After Remove dead machine instructions ***:<br># *** IR Dump After Live Range Shrink ***:<br># *** IR Dump After X86 Optimize Call Frame ***:<br># *** IR Dump After X86 Avoid Store Forwarding Blocks ***:<br># *** IR Dump After X86 speculative load hardening ***:<br># *** IR Dump After X86 EFLAGS copy lowering ***:<br># *** IR Dump After Detect Dead Lanes ***:<br># *** IR Dump After Process Implicit Definitions ***:<br># *** IR Dump After Remove unreachable machine basic blocks ***:<br># *** IR Dump After Live Variable Analysis ***:<br># *** IR Dump After Eliminate PHI nodes for register allocation ***:<br># *** IR Dump After Two-Address instruction pass ***:<br># *** IR Dump After Slot index numbering ***:<br># *** IR Dump After Live Interval Analysis ***:<br># *** IR Dump After Simple Register Coalescing ***:<br># *** IR Dump After Rename Disconnected Subregister Components ***:<br># *** IR Dump After Machine Instruction Scheduler ***:<br># *** IR Dump After Debug Variable Analysis ***:<br># *** IR Dump After Live Stack Slot Analysis ***:<br># *** IR Dump After Virtual Register Map ***:<br># *** IR Dump After Live Register Matrix ***:<br># *** IR Dump After Greedy Register Allocator ***:<br># *** IR Dump After Virtual Register Rewriter ***:<br># *** IR Dump After Stack Slot Coloring ***:<br># *** IR Dump After Machine Copy Propagation Pass ***:<br># *** IR Dump After Machine Loop Invariant Code Motion ***:<br># *** IR Dump After X86 FP Stackifier ***:<br># *** IR Dump After PostRA Machine Sink ***:<br># *** IR Dump After Shrink Wrapping analysis ***:<br># *** IR Dump After Prologue/Epilogue Insertion & Frame Finalization ***:<br># *** IR Dump After Control Flow Optimizer ***:<br># *** IR Dump After Tail Duplication ***:<br># *** IR Dump After Machine Copy Propagation Pass ***:<br># *** IR Dump After Post-RA pseudo instruction expansion pass ***:<br># *** IR Dump After X86 pseudo instruction expansion pass ***:<br># *** IR Dump After Post RA top-down list latency scheduler ***:<br># *** IR Dump After Analyze Machine Code For Garbage Collection ***:<br># *** IR Dump After Branch Probability Basic Block Placement ***:<br># *** IR Dump After X86 Execution Dependency Fix ***:<br># *** IR Dump After BreakFalseDeps ***:<br># *** IR Dump After X86 Byte/Word Instruction Fixup ***:<br># *** IR Dump After X86 LEA Fixup ***:<br># *** IR Dump After Compressing EVEX instrs to VEX encoding when possible ***:<br># *** IR Dump After Contiguously Lay Out Funclets ***:<br># *** IR Dump After StackMap Liveness Analysis ***:<br># *** IR Dump After Live DEBUG_VALUE analysis ***:<br># *** IR Dump After Insert fentry calls ***:<br># *** IR Dump After Insert XRay ops ***:<br># *** IR Dump After Implement the 'patchable-function' attribute ***:<br># *** IR Dump After Check CFA info and insert CFI instructions if needed ***:<br></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 Wed, Aug 7, 2019 at 3:16 PM Hiroshi Yamauchi <<a href="mailto:yamauchi@google.com" target="_blank">yamauchi@google.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="ltr"><div dir="ltr"><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 Wed, Aug 7, 2019 at 8:33 AM Fedor Sergeev <<a href="mailto:fedor.sergeev@azul.com" target="_blank">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/7/19 6:20 PM, Hiroshi Yamauchi
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div style="font-family:arial,helvetica,sans-serif">I basically run
          "clang -fexperimental-new-pass-manager -print-after-all ..."<br></div></div></blockquote></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It actually needs "-mllvm" in front of "-print-after-all".</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"><blockquote type="cite"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">
        </div>
        <div style="font-family:arial,helvetica,sans-serif"><br>
        </div>
        <div 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>
    </blockquote>
    Does it depend on machine architecture?<br>
    I generally use x86...<br></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm not sure, but this is on x86.</div></div><div><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>
    regards,<br>
      Fedor.<br>
    <blockquote type="cite">
      <div dir="ltr">
        <div style="font-family:arial,helvetica,sans-serif"><br>
        </div>
        <div style="font-family:arial,helvetica,sans-serif">Thanks.</div>
        <div 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" target="_blank">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 style="font-family:arial,helvetica,sans-serif">I had
                    a chance to try -print-after-all with NPM.</div>
                  <div style="font-family:arial,helvetica,sans-serif"><br>
                  </div>
                  <div 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 style="font-family:arial,helvetica,sans-serif"><br>
                  </div>
                  <div 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 style="font-family:arial,helvetica,sans-serif"><br>
                  </div>
                  <div 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 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 style="font-family:arial,helvetica,sans-serif">.....</div>
                  <div style="font-family:arial,helvetica,sans-serif">(dump
                    from the machine passes)</div>
                  <div 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>
    </blockquote>
    <br>
  </div>

</blockquote></div></div>
</blockquote></div>