[PATCH] D34667: [Demangler] [DO NOT SUBMIT] Initial patch for Microsoft demangler.

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 30 14:18:26 PDT 2017


ruiu updated this revision to Diff 104934.
ruiu added a comment.

Over the last few days, I made a bunch of changes to the demanler to improve it.
It's not complete yet, but it started working really well. It can now demangle
complex C++ symbols as you can see in MicrosoftDemangleTest.cpp file.

Preliminary performance testing shows that this demangler is pretty fast.
I ran this and Microsoft's UnDecorateSymbolName for the test cases in
MicrosoftDemangleTest.cpp.

It showed that my demangler is 45% faster (or, finishs benchmark in 55% time)
than the Microsoft's demangler. This result seems very promising.

I think the remaining tasks are to add more types, add more tests and fix bugs.
I don't expect any major design changes. So if you want to review this, you can
do that now. I'm sending this out today because I'm on vacation next week, so
I'll address review comments in the week after next.


https://reviews.llvm.org/D34667

Files:
  llvm/include/llvm/Demangle/Demangle.h
  llvm/lib/Demangle/CMakeLists.txt
  llvm/lib/Demangle/MicrosoftDemangle.cpp
  llvm/unittests/CMakeLists.txt
  llvm/unittests/Demangle/CMakeLists.txt
  llvm/unittests/Demangle/MicrosoftDemangleTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34667.104934.patch
Type: text/x-patch
Size: 33363 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170630/ea0e5b7f/attachment-0001.bin>


More information about the llvm-commits mailing list