<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 15, 2016, at 6:18 AM, Dave Bozier via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><p class="MsoNormal">Hi all,<span class=""></span></p><div class=""><span class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal">We’re hoping to replace the demangler in some of our tools
to use the LLVM demangler. We’d like to enhance it with missing functionality
(legal names that it cannot demangle) and provide a set of tests that we use
with the demangler that we currently use.<span class=""></span></p><div class=""><span class=""> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal">The demangler that is currently in the LLVM tree appears to
be a copy of the libc++abi implementation, and there appears to be chat about
replacing it with the fast demangler implementation in LLDB.</p></div></div></blockquote><div>I’m not aware of this discussion, do you have any pointer? The fast demangler in LLDB isn’t safe right now (libFuzzer and ASAN uncovered multiple issues last time I checked) and isn’t complete. When I talked with Kate, she told me that it is a lot faster than the libcxxabi one because it does not cover all the corner cases, I don’t know if it can be made robust and a full replacement without losing the performance advantage it has. </div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><p class="MsoNormal">Could you please advise if we should put our contributing efforts into enhancing the fast demangler in LLDB so that it can replace the existing one or just work on what is already there.</p></div></div></blockquote><div>I looked at it last year, but David Majnemer convinced me that starting a new one from scratch was likely the best way forward. He started to experiment with it but I don’t know where it went.</div><div><br class=""></div><div>Note that for licensing reason (to be double checked, I’m not an expert), I believe contributions needs to be made to libcxxabi first and back-ported to LLVM (which is also something to consider before reusing the lldb one).</div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div></div><div class=""><div class=""><br class=""></div><blockquote type="cite" class=""><div dir="ltr" class=""></div></blockquote></div></body></html>