[PATCH] D20178: Fix PR26055 - LiveDebugValues is very slow
Daniel Berlin via llvm-commits
llvm-commits at lists.llvm.org
Wed May 11 12:52:47 PDT 2016
Thanks for taking on this work!
I'm curious:
Does your new patch + correctness fixes take > 2 iterations to converge on
the .ll file?
(If so, something is still wrong :P)
On Wed, May 11, 2016 at 11:58 AM, Adrian Prantl <aprantl at apple.com> wrote:
> aprantl updated this revision to Diff 56947.
> aprantl added a comment.
>
> This fixes the remaining bugs in the original patch and adds some cleanups.
>
> - [Correctness] The VarLoc::operator<() implementation now takes semantic
> equality between two VarLocs (that have different MI pointers in them) into
> account.
> - [Correctness] Both operator<() implementations now check for equality of
> the first pointer before comparing the second pointer.
> - In join(), I'm using an in-place llvm::set_intersect().
> - [Debuggability] printVarLocInMBB() now sorts the output in BB order
> - The order of the DEBUG_VALUEs is different when they come from a set, so
> I needed to update two of our testcases.
>
> Before this patch, a particularly nasty ASANified testcase that I had took
>
> user 9m20.248s
>
> After this patch, the same testcase compiles in
>
> user 3m12.294s
>
> Definitely a big win! I'll look into the Bitvectors next, but I think we
> can also land this version of the patch meanwhile.
>
>
> http://reviews.llvm.org/D20178
>
> Files:
> lib/CodeGen/LiveDebugValues.cpp
> test/DebugInfo/COFF/register-variables.ll
> test/DebugInfo/MIR/X86/live-debug-values-3preds.mir
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160511/fc0183ba/attachment.html>
More information about the llvm-commits
mailing list