diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2016-07-26 09:27:51 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2016-07-26 09:27:51 +0000 |
commit | 729d361834bdb29002ee5506b098582b43bfcd9c (patch) | |
tree | 457a183d36f54ef82fd83a5648913344771c8349 /llvm/utils/TableGen | |
parent | 273fc26b792884088407a1eb665aff0ec4204af8 (diff) | |
download | bcm5719-llvm-729d361834bdb29002ee5506b098582b43bfcd9c.tar.gz bcm5719-llvm-729d361834bdb29002ee5506b098582b43bfcd9c.zip |
[tblgen] Compare const char * with strcmp instead of creating StringRef.
Avoids a call to strlen on both strings which always reads the entire
string. strcmp can use early exit.
llvm-svn: 276737
Diffstat (limited to 'llvm/utils/TableGen')
-rw-r--r-- | llvm/utils/TableGen/SearchableTableEmitter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/SearchableTableEmitter.cpp b/llvm/utils/TableGen/SearchableTableEmitter.cpp index 8c1b8804d17..80f0b0d4aaf 100644 --- a/llvm/utils/TableGen/SearchableTableEmitter.cpp +++ b/llvm/utils/TableGen/SearchableTableEmitter.cpp @@ -193,7 +193,7 @@ void SearchableTableEmitter::emitLookupFunction(StringRef Name, StringRef Field, } else { // Make sure the result is null terminated because it's going via "char *". OS << " std::string CanonicalVal = " << Field << ".upper();\n"; - OS << " " << PairType << " Val = {CanonicalVal.data(), 0};\n"; + OS << " " << PairType << " Val = {CanonicalVal.c_str(), 0};\n"; } OS << " ArrayRef<" << PairType << "> Table(" << Name << "sBy" << Field @@ -206,7 +206,7 @@ void SearchableTableEmitter::emitLookupFunction(StringRef Name, StringRef Field, OS << ",\n "; OS << "[](const " << PairType << " &LHS, const " << PairType << " &RHS) {\n"; - OS << " return StringRef(LHS.first) < StringRef(RHS.first);\n"; + OS << " return std::strcmp(LHS.first, RHS.first) < 0;\n"; OS << " });\n\n"; } |