[PATCH] D18576: Initial implementation of optimization bisect

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 12 14:36:32 PDT 2016


MatzeB added a comment.

In http://reviews.llvm.org/D18576#399057, @andrew.w.kaylor wrote:

> In http://reviews.llvm.org/D18576#399015, @MatzeB wrote:
>
> > I still wonder whether we can reuse, the existing OptNone, handling.
>
>
> I can model that and throw up an alternate implementation.  My concern is that would require all passes to opt in to the bisection whereas I'm trying to get it so that everything is included unless it specifically excludes itself.  We'll need passes to opt in to the case-by-case handling to get fine grained, but I'd like to avoid that at the pass level so that we don't run into problems where there is a problem in pass A but bisect points to pass B because pass A didn't make the call to opt in.
>
> Otherwise, I agree that having the skip initiated from within the pass itself has some definite benefits from a design perspective.  The implementation I have up right now felt particularly awkward with the new pass manager and the propagation of the desired default behavior is a good bit less "automatic" in that case, in that it only happens for passes that derive from the right mix-in templates.
>
> The "OptNone" handling that currently exists only applies to function passes, right?  Obviously something analogous can be added to other pass types.


skipOptnoneFunction() is available in FunctionPass, BasicBlockPass and LoopPass and seems to be consistently used there.


Repository:
  rL LLVM

http://reviews.llvm.org/D18576





More information about the llvm-commits mailing list