[PATCH] D51174: Move Microsoft Demangler to Support

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 23 10:42:48 PDT 2018


zturner created this revision.
zturner added reviewers: chandlerc, erik.pilkington, rnk, smeenai, rsmith.
Herald added subscribers: hiraditya, mgorny.

It seems like people feel that Demangler logically belongs in Support *anyway*, but for logistical reasons (such as libcxxabi needing to use the itanium demangler), it can't yet go there.

The Microsoft demangler doesn't have the same restrictions, and doesn't make sense to ever be part of libcxxabi either.  So while it's nice from a layering perspective to put all demanglers the same place, it comes with the downside of impeding the development and making the code worse.

The MS Demangler is mostly complete, but I'd like to take some time to make it not just work, but also be clean.  Having access to some Support classes (`Casting.h`, `StringRef.h`, `SmallVector.h`, `raw_ostream.h`, etc) would really help clean up a lot of the code (as well as making it more efficient in some cases).

Currently there's no use case for a standalone Microsoft demangler, and supporting standalone versions of all of the various things LLVM can do seems like a non-goal anyway so I think this is a win.


https://reviews.llvm.org/D51174

Files:
  llvm/include/llvm/Demangle/Demangle.h
  llvm/include/llvm/Support/MicrosoftDemangle.h
  llvm/lib/Demangle/CMakeLists.txt
  llvm/lib/Demangle/MicrosoftDemangle.cpp
  llvm/lib/Support/CMakeLists.txt
  llvm/lib/Support/MicrosoftDemangle.cpp
  llvm/tools/llvm-undname/llvm-undname.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51174.162229.patch
Type: text/x-patch
Size: 75723 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180823/8f1c1b83/attachment.bin>


More information about the llvm-commits mailing list