mboehme created this revision. mboehme added a reviewer: klimek. mboehme added a subscriber: cfe-commits. Herald added a subscriber: klimek.
r282433 added LLVM_ATTRIBUTE_ALWAYS_INLINE to the StringRef(const char *) constructor. This causes the size of the stack frame for RegistryMaps::RegistryMaps() to become excessive when compiling with gcc. This change avoids inlining the StringRef constructor for every REGISTER_MATCHER line. https://reviews.llvm.org/D24962 Files: lib/ASTMatchers/Dynamic/Registry.cpp Index: lib/ASTMatchers/Dynamic/Registry.cpp =================================================================== --- lib/ASTMatchers/Dynamic/Registry.cpp +++ lib/ASTMatchers/Dynamic/Registry.cpp @@ -40,11 +40,11 @@ const ConstructorMap &constructors() const { return Constructors; } private: - void registerMatcher(StringRef MatcherName, MatcherDescriptor *Callback); + void registerMatcher(const char *MatcherName, MatcherDescriptor *Callback); ConstructorMap Constructors; }; -void RegistryMaps::registerMatcher(StringRef MatcherName, +void RegistryMaps::registerMatcher(const char *MatcherName, MatcherDescriptor *Callback) { assert(Constructors.find(MatcherName) == Constructors.end()); Constructors[MatcherName] = Callback;
Index: lib/ASTMatchers/Dynamic/Registry.cpp =================================================================== --- lib/ASTMatchers/Dynamic/Registry.cpp +++ lib/ASTMatchers/Dynamic/Registry.cpp @@ -40,11 +40,11 @@ const ConstructorMap &constructors() const { return Constructors; } private: - void registerMatcher(StringRef MatcherName, MatcherDescriptor *Callback); + void registerMatcher(const char *MatcherName, MatcherDescriptor *Callback); ConstructorMap Constructors; }; -void RegistryMaps::registerMatcher(StringRef MatcherName, +void RegistryMaps::registerMatcher(const char *MatcherName, MatcherDescriptor *Callback) { assert(Constructors.find(MatcherName) == Constructors.end()); Constructors[MatcherName] = Callback;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits