[PATCH] D50828: Add profiling and canonicalization support to demangler nodes. No functionality change intended.

Erik Pilkington via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 16 17:52:58 PDT 2018


erik.pilkington added a comment.

In https://reviews.llvm.org/D50828#1203493, @zturner wrote:

> Another option is to simply move it into support and say that going forward
>  merges to libcxxabi might get more difficult. Perhaps this isn’t so bad
>  though. Isn’t the itanium demangler mostly complete? If the potential for
>  future changes to it is low, maybe this is an acceptable tradeoff.


It's pretty much complete, but there is still going to be a steady stream of updates. Each release of C++ is likely to add a handful more constructs that need manglings, and often new attributes/extensions get custom manglings that need to be handled as well.

> Then we
>  could just move it to support, use it and evolve it any way we want with no
>  restrictions, and when new functionality gets added to the itanium mangler
>  that needs to be port to libcxxabi, it’s a little more effort than a simple
>  copy paste because you have to think about it some.
> 
> Thoughts?

-1 from me, large-scale refactorings such as this, or Pavel's plans here: https://reviews.llvm.org/D50599 would make updating/fixing bugs in the demangler a nightmare. I really don't want to have to implement every feature twice. Not to mention its just plain ugly to have two vaguely similar demanglers in the source tree.


Repository:
  rL LLVM

https://reviews.llvm.org/D50828





More information about the llvm-commits mailing list