@@ -281,7 +281,7 @@ using Demangler = ManglingParser<DefaultAllocator>;
281281class Remangler {
282282public:
283283 Remangler (ASTContext *AST, const Node *Root,
284- SmallDenseMap<const char *, const char *> TypeReplacements)
284+ const SmallDenseMap<const char *, const char *> & TypeReplacements)
285285 : AST(AST), Root(Root), TypeReplacements(TypeReplacements) {
286286 MangleContext.reset (
287287 ItaniumMangleContext::create (*AST, AST->getDiagnostics ()));
@@ -728,7 +728,7 @@ class Remangler {
728728 ASTContext *AST = nullptr ;
729729 std::unique_ptr<clang::MangleContext> MangleContext{};
730730 const Node *Root = nullptr ;
731- SmallDenseMap<const char *, const char *> TypeReplacements{} ;
731+ const SmallDenseMap<const char *, const char *> & TypeReplacements;
732732
733733 bool Failed = false ;
734734
@@ -790,16 +790,18 @@ class TargetTypeReplacements {
790790 createRemangledTypeReplacements ();
791791 }
792792
793- SmallDenseMap<const char *, const char *> getParameterTypeReplacements () {
793+ const SmallDenseMap<const char *, const char *> &
794+ getParameterTypeReplacements () const {
794795 return ParameterTypeReplacements;
795796 }
796797
797- SmallDenseMap<const char *, const char *> getCloneTypeReplacements () {
798+ const SmallDenseMap<const char *, const char *> &
799+ getCloneTypeReplacements () const {
798800 return CloneTypeReplacements;
799801 }
800802
801- SmallDenseMap<const char *, const char *>
802- getRemangledCloneTypeReplacements () {
803+ const SmallDenseMap<const char *, const char *> &
804+ getRemangledCloneTypeReplacements () const {
803805 return RemangledCloneTypeReplacements;
804806 }
805807};
@@ -841,11 +843,11 @@ class LibCLCRemangler : public ASTConsumer {
841843 Replacements.getRemangledCloneTypeReplacements ());
842844 }
843845
844- bool
845- createCloneFromMap ( llvm::Module *M, StringRef OriginalName,
846- const itanium_demangle::Node *FunctionTree,
847- SmallDenseMap<const char *, const char *> TypeReplacements,
848- bool CloneeTypeReplacement = false ) {
846+ bool createCloneFromMap (
847+ llvm::Module *M, StringRef OriginalName,
848+ const itanium_demangle::Node *FunctionTree,
849+ const SmallDenseMap<const char *, const char *> & TypeReplacements,
850+ bool CloneeTypeReplacement = false ) {
849851 Remangler ATR{ASTCtx, FunctionTree, TypeReplacements};
850852
851853 std::string const RemangledName = ATR.remangle ();
0 commit comments