summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/SearchableTableEmitter.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-07-26 09:27:51 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-07-26 09:27:51 +0000
commit729d361834bdb29002ee5506b098582b43bfcd9c (patch)
tree457a183d36f54ef82fd83a5648913344771c8349 /llvm/utils/TableGen/SearchableTableEmitter.cpp
parent273fc26b792884088407a1eb665aff0ec4204af8 (diff)
downloadbcm5719-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/SearchableTableEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/SearchableTableEmitter.cpp4
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";
}
OpenPOWER on IntegriCloud