DetailedRecordsBackend.cpp - printSectionHeading - avoid std::string creation/copies.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 13 Jun 2021 15:49:40 +0000 (16:49 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 13 Jun 2021 15:49:40 +0000 (16:49 +0100)
Don't create std::string from constant c-strings or pass std::string by value - we can use StringRef instead.

llvm/lib/TableGen/DetailedRecordsBackend.cpp

index c336a91..e181f79 100644 (file)
@@ -45,7 +45,7 @@ public:
   void printVariables(raw_ostream &OS);
   void printClasses(raw_ostream &OS);
   void printRecords(raw_ostream &OS);
-  void printSectionHeading(std::string Title, int Count, raw_ostream &OS);
+  void printSectionHeading(StringRef Title, int Count, raw_ostream &OS);
   void printDefms(Record *Rec, raw_ostream &OS);
   void printTemplateArgs(Record *Rec, raw_ostream &OS);
   void printSuperclasses(Record *Rec, raw_ostream &OS);
@@ -113,7 +113,7 @@ void DetailedRecordsEmitter::printRecords(raw_ostream &OS) {
 
 // Print a section heading with the name of the section and
 // the item count.
-void DetailedRecordsEmitter::printSectionHeading(std::string Title, int Count,
+void DetailedRecordsEmitter::printSectionHeading(StringRef Title, int Count,
                                                  raw_ostream &OS) {
   OS << formatv("\n{0} {1} ({2}) {0}\n", "--------------------", Title, Count);
 }