[llvm-dev] OptBisect implementation for new pass manager

Fedor Sergeev via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 26 12:29:34 PDT 2018



On 09/26/2018 10:04 PM, David Greene wrote:
 > But they're deeply connected.  I debug codegen problems all the time.
 > That opt-bisect doesn't work with codegen is really unfortunate.
Perhaps I'm missing some context here, but afaik current 
-opt-bisect-limit does work with codegen.
And even if you turn on new pass manager and use -opt-bisect-limit you will
still get bisect on codegen (which runs under legacy and thus has legacy 
OptBisect
applied there).

 > If opt-bisect should work with codegen then we need to think about how
 > codegen will work with the new PM.
Just as it works now - IR passes are run through new PM pipeline, while 
Codegen passes
are run through legacy pipeline.

 > I agree that whether or not the new PM becomes default is somewhat
 > orthogonal but eventually it will and at that point I hope we have a
 > functioning opt-bisect for codegen.
I do expect opt-bisect to be functional for the whole compilation that 
involves
new PM at a very first attempt of implementation being discussed here.
Thats why I mentioned the need for "joint implementation" in my original 
mail.

regards,
   Fedor.


 >
 >                             -David
 >
 > Fedor Sergeev <fedor.sergeev at azul.com> writes:
 >
 >> I would really like to separate OptBisect and New-PM-by-default
 >> discussions! :)
 >>
 >> regards,
 >>   Fedor.
 >>
 >> On 09/26/2018 09:13 PM, David Greene wrote:
 >>> I'm concerned about codegen.  If Codegen is not yet ready for the new
 >>> PM, should the new PM really become default?  I would at least like to
 >>> see a plan of how Codegen is going to migrate before the new PM becomes
 >>> default.  Codegen pass pipelines have been wonky ever since I started
 >>> working with LLVM and it would be nice to get that cleaned up.
 >>>
 >>>                              -David
 >>>
 >>> Philip Pfaffe <philip.pfaffe at gmail.com> writes:
 >>>
 >>>> Well, I think we don't have a clear idea about new-PM codegen should
 >>>> work in general. Is this really something that concerns us right now?
 >>>>
 >>>> Philip
 >>>>
 >>>> On Wed, Sep 26, 2018 at 7:54 PM Friedman, Eli
 >>>> <efriedma at codeaurora.org> wrote:
 >>>>
 >>>>      On 9/26/2018 10:47 AM, Philip Pfaffe via llvm-dev wrote:
 >>>>      > Hi Fedor,
 >>>>      >
 >>>>      > can you make an example where a pass actually needs to opt-out?
 >>>>      > Because IMO, bisect should quite literally to 
DebugCounter-style
 >>>>      skip
 >>>>      > every step in every ::run method's loop. Passes should not even
 >>>>      be
 >>>>      > concerned with this.
 >>>>           This isn't so much an issue for the optimization
 >>>> pipeline, but
 >>>>      code
 >>>>      generation involves some passes which are mandatory (e.g. isel).
 >>>>           -Eli
 >>>>           --
 >>>>      Employee of Qualcomm Innovation Center, Inc.
 >>>>      Qualcomm Innovation Center, Inc. is a member of Code Aurora 
Forum,
 >>>>      a Linux Foundation Collaborative Project
 >>>>




More information about the llvm-dev mailing list