[PATCH] D50935: Add data structure to form equivalence classes of mangled names.

Erik Pilkington via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 22 00:32:39 PDT 2018


erik.pilkington accepted this revision.
erik.pilkington added a comment.
This revision is now accepted and ready to land.

LGTM too, pretty neat stuff!



================
Comment at: lib/Support/ItaniumManglingCanonicalizer.cpp:83-85
+template<> void ProfileNode::operator()(const ForwardTemplateReference *N) {
+  llvm_unreachable("should never canonicalize a ForwardTemplateReference");
+};
----------------
Can you add a testcase to show that all the ForwardTemplateReference special casing works? It looks like it does, but I think it would be nice to add. i.e. call the canonicalizing demangler with _ZN1ScvT_I1GEEv or something.


================
Comment at: lib/Support/ItaniumManglingCanonicalizer.cpp:92
+class FoldingNodeAllocator {
+  class alignas(alignof(Node *)) NodeHeader : public llvm::FoldingSetNode {
+  public:
----------------
Shouldn't this technically be alignof(Node)?


Repository:
  rL LLVM

https://reviews.llvm.org/D50935





More information about the llvm-commits mailing list