Add data structure to form equivalence classes of mangled names.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 24 Aug 2018 22:31:51 +0000 (22:31 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 24 Aug 2018 22:31:51 +0000 (22:31 +0000)
commit2ae8468bd1cc177b72c54de3108653e173ca2d23
tree5bc1cc89c8b519279a8e8ad88ba6f01c14f42c46
parente442a8701f7b493dc9e529fa0f491e94f7d67374
Add data structure to form equivalence classes of mangled names.

Summary:
Given a set of equivalent name fragments, this mechanism determines whether two
mangled names are equivalent. The intent is to use this for fuzzy matching of
profile data against the program after certain refactorings are performed.

Reviewers: erik.pilkington, dlj

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D50935

llvm-svn: 340663
llvm/include/llvm/Demangle/ItaniumDemangle.h
llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h [new file with mode: 0644]
llvm/lib/Support/CMakeLists.txt
llvm/lib/Support/ItaniumManglingCanonicalizer.cpp [new file with mode: 0644]
llvm/unittests/Support/CMakeLists.txt
llvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp [new file with mode: 0644]