similar to: OptBisect implementation for new pass manager

Displaying 20 results from an estimated 20000 matches similar to: "OptBisect implementation for new pass manager"

2018 Sep 26
2
OptBisect implementation for new pass manager
Philip, It kinda depends on user expectations. What do you really expect as a result of your compilation when you set -opt-bisect-limit=X? Do you just get a resulting IR and scan for the bad pattern? Then you dont care about pass sequences and do brute-force bisect. Do you expect to get a runnable code at the end and check for buggy run-time behavior? Then you need to keep the passes that are
2018 Sep 27
4
OptBisect implementation for new pass manager
Hi Andrew, We absolutely need to be able to generate executable programs using > opt-bisect, so some mechanism for not skipping required passes is needed. > It might be nice to have a mode where no passes are skipped and the IR/MIR > is dumped when the bisect limit is reached, but I don't see that as a > requirement. > At this point it makes no sense to worry about the code
2018 Sep 28
3
OptBisect implementation for new pass manager
On 09/28/2018 12:25 AM, Kaylor, Andrew wrote: > As I said, that’s really outside the scope of the current discussion > except to say that the relevant question is what component should make > the decision about whether or not a pass should be run. A planned way of implementation for new-pm's OptBisect is for instrumenting object to control the execution. Whenever instrumentation
2018 Oct 01
3
OptBisect implementation for new pass manager
On 10/01/2018 05:01 PM, David Greene wrote: > > I think registration time is probably fine for IR/opt-level passes. For > codegen it will probably work 95% of the time but there are some cases > where we may not know at registration time whether the pass is needed or > not. I'm making the assumption that registration happens basically as > it does now, where the
2018 Oct 01
4
OptBisect implementation for new pass manager
On 10/01/2018 11:13 PM, David Greene wrote: > Philip Pfaffe <philip.pfaffe at gmail.com> writes: >> Sorry, but I strongly oppose to the road you're suggesting here. As I >> said before the Pass*Manager* is entirely the wrong place to handle >> OptNone, the absolutely the wrong design. It makes sense for function >> *only*, and immediately breaks down everywhere
2018 Sep 26
2
OptBisect implementation for new pass manager
But they're deeply connected. I debug codegen problems all the time. That opt-bisect doesn't work with codegen is really unfortunate. If opt-bisect should work with codegen then we need to think about how codegen will work with the new PM. 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
2018 Oct 01
2
OptBisect implementation for new pass manager
On 10/02/2018 01:17 AM, Kaylor, Andrew wrote: > Some of the issues we're talking about were also considered when I did the initial implementation of OptBisect. If anyone wants to look at the relevant reviews they can be found here: Thanks for sharing these, very useful! > https://reviews.llvm.org/D18576 (Abandoned first attempt) > https://reviews.llvm.org/D19172 (Committed second
2018 Jun 08
2
RFC: Pass Execution Instrumentation interface
Thanks Craig, that's exactly what I mean, stopping at particular changes inside a pass. Would you please refer me the discuss about combining opt-bisect with debug counters? Is it already under implementation? On Fri, Jun 8, 2018 at 12:19 AM Craig Topper <craig.topper at gmail.com> wrote: > I think that "level" was referring to what level of granularity the >
2018 Jun 08
2
RFC: Pass Execution Instrumentation interface
Care to expand a bit on what you mean by per-optimization level? Preferably with a use case. To me optbisect is a low level developer tool and it doesn't cope well with a crude user level hammer of optimization level. F. On Fri, Jun 8, 2018 at 9:12 AM +0300, "Zhizhou Yang" <zhizhouy at google.com<mailto:zhizhouy at google.com>> wrote: Hi Fedor, Thanks for replying
2018 Jun 07
5
RFC: Pass Execution Instrumentation interface
TL;DR ==== This RFC suggests an API to enable customizable instrumentation of pass execution. The intent is to have a common machinery to implement all the pass-execution-debugging features mentioned here. Prime target of the interface is the new pass manager. The overall approach and most of the implementation details should be equially applicable to the legacy one though. Background
2018 Sep 26
2
OptBisect implementation for new pass manager
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
2018 Jun 11
2
RFC: Pass Execution Instrumentation interface
I was going to write something up about fine-grained opt-bisect but didn't get to it last week. We've had a -pass-max option here for some time and have hand-added instrumentation to various passes to honor it. It's saved us man-years of debug time. I was planning on sending it upstream but saw this effort with pass execution instrumentation and thought it might fit there.
2018 Oct 01
2
OptBisect implementation for new pass manager
On 10/01/2018 08:39 PM, David Greene wrote: > "Kaylor, Andrew" <andrew.kaylor at intel.com> writes: > >> What if in the registration interface we had three options: skippable, >> not skippable, and run at OptLevel::None. > I kind of like this idea. If necessary, the pass could even query the > target (or some other entity) about what OptLevel::None means.
2018 Jun 06
2
Porting OptBisect to New Pass Manager
Hi Chandler, I am now working on a bisecting tool to find mis-optimization on LLVM. I found OptBisect a very useful option and hope to make it work on the new pass manager. I have several questions about it. 1. Any plans to apply codegen stage with new pass manager? IIUC, new pass manager only works for opt stage. However the OptBisect option tries to accumulate pass counts through opt stage
2020 Jun 07
5
optnone/skipping passes in the new pass manager
Looking through some of the remaining test failures under the new pass manager, I've narrowed down one of the failures in GWPAsan(!) to the fact that the new pass manager doesn't properly skip passes like the old pass manager. For example, when a function is marked optnone, or when using https://llvm.org/docs/OptBisect.html. Lots of passes (e.g. SROA) will do the following under the
2018 May 03
2
Opt Bisect layering
David, we definitely need to address this issue and I did not forget about it. I'm still fleshing out a proposal on a generic solution for "pass execution control points", which was inspired by the new pass manager needs but then it appears we can largerly reuse the implementation for both managers. Since the implementation should be based on a special Analysis, it definitely
2018 Oct 01
2
OptBisect implementation for new pass manager
Sorry, but I strongly oppose to the road you're suggesting here. As I said before the Pass*Manager* is entirely the wrong place to handle OptNone, the absolutely the wrong design. It makes sense for function *only*, and immediately breaks down everywhere else. Frankly, OptNone should take no role in this particular discussion, and I feel like so far it has because "We've always done
2018 Apr 03
2
Opt Bisect layering
On Tue, Apr 3, 2018 at 8:50 AM Fedor Sergeev <fedor.sergeev at azul.com> wrote: > > Pass Manager (PassManager.h) itself, does not - it's only templates, > none of it depends on Region, Loop, etc. > Well, true but the problem happens when you try to instantiate the thing. > And for generic features like opt-bisection, ir-print-after-all etc that > want: > - to
2018 Apr 03
2
Opt Bisect layering
On Mon, Apr 2, 2018 at 11:32 PM Fedor Sergeev via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On 03/30/2018 12:05 AM, David Blaikie via llvm-dev wrote: > > & now looking back at the patch-in-progress, I see it allows setting > the OptBisector/OptPassGate as suggested in (2). > Well, the patch currently discussed does not attempt to solve the > passgate object
2018 Apr 23
0
Opt Bisect layering
Ping on this - any chance we can look at fixing the OptBisect layering here/now? Could we move the implementation into Analysis & require users to set it, rather than having it as a default value in IR? On Tue, Apr 3, 2018 at 9:25 AM David Blaikie <dblaikie at gmail.com> wrote: > On Tue, Apr 3, 2018 at 8:50 AM Fedor Sergeev <fedor.sergeev at azul.com> > wrote: >