<div dir="ltr"><span style="font-size:12.8px">> I’m not aware of this discussion, do you have any pointer? </span><br><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">The initial checkin comment of ItaniumDemangle.cpp says that the current implementation will be replaced with the fast lldb demangler once it is complete.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I've also seen the latest conversation here:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><a href="https://groups.google.com/forum/#!topic/llvm-dev/v_7OuWx8n1A">https://groups.google.com/forum/#!topic/llvm-dev/v_7OuWx8n1A</a></span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Which has left me a bit unclear what the long term direction is.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">We'd be happy to look at trying to improve the LLDB demangler if that is considered the way to go, or we're willing to help out where we can with </span><span style="font-size:12.8px">David Majnemer's </span><span style="font-size:12.8px">work. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Alternatively we used to have our own in house demangler that is a bit out of date (missing C++11 features) which is something we could take a look at reviving, bringing up-to-date with the latest ABI changes and contribute. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Dave</span></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 15, 2016 at 5:53 PM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Dec 15, 2016, at 6:18 AM, Dave Bozier via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="m_2238204131773800035Apple-interchange-newline"><div><div dir="ltr"><p class="MsoNormal">Hi all,<span></span></p><div><span> </span><br class="m_2238204131773800035webkit-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></span></p><div><span> </span><br class="m_2238204131773800035webkit-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></span><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><span class=""><blockquote type="cite"><div><div dir="ltr"><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></span><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></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></div><div>— </div><span class="HOEnZb"><font color="#888888"><div>Mehdi</div><div><br></div></font></span></div><div><div><br></div><blockquote type="cite"><div dir="ltr"></div></blockquote></div></div></blockquote></div><br></div>