[PATCH] D77576: [globalisel] Add lost debug locations verifier
Daniel Sanders via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 15 16:35:50 PDT 2020
dsanders added a comment.
In D77576#1979013 <https://reviews.llvm.org/D77576#1979013>, @dsanders wrote:
> In D77576#1978914 <https://reviews.llvm.org/D77576#1978914>, @qcolombet wrote:
>
> > Hi Daniel,
> >
> > What is the compile time impact of this change?
>
>
> That depends on VerifyDebugLocs. When it's `None` (default for release), there shouldn't be a measurable impact as the observer doesn't get installed. I haven't measured it for `Locations` (current default for asserts) yet as I've been more focused on fixing the bugs it finds in our out-of-tree target so far. I don't expect it to be noticable as it's a fairly simple matcher on small search spaces but if it is we can change the default to None at the cost of needing to use an extra option in out `llvm-lit -Dllc='llc ...'` command.
Running CTMark with -j20 (because I'm not looking at individual tests, just the rough total), I get:
- X86 -fglobal-isel -g: 3215s without this patch, 3209s with it
- X86 -fglobal-isel: 3133s without this patch, 3133s with it
- AArch64 -fglobal-isel -g: 3065s without this patch, 3053s with it
- AArch64 -fglobal-isel: 2972s without this patch, 2979s with it
So I'd say that leaving it on by default for asserts has no significant impact on compile time
I did run into an interesting issue in some other testing I was doing though. A verifier failure can cause GlobalISel to fall back on DAGISel when fallbacks are enabled, changing codegen. I'm going to have to tweak how failures are reported to fix that
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77576/new/
https://reviews.llvm.org/D77576
More information about the llvm-commits
mailing list