diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-09-22 13:32:26 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-09-22 13:32:26 +0000 |
commit | 6f05a743f7c5101876b27d30d20f653ca21de6b4 (patch) | |
tree | 82c622f18f201f8ad6af41d34d6a43d243159cc3 | |
parent | 34498ba052ee83a931a894509bab2369a411809a (diff) | |
download | bcm5719-llvm-6f05a743f7c5101876b27d30d20f653ca21de6b4.tar.gz bcm5719-llvm-6f05a743f7c5101876b27d30d20f653ca21de6b4.zip |
[TableGen] Return StringRef from ValueTypeByHwMode::getMVTName
Avoid unnecessary std::string creations during TypeSetByHwMode::writeToStream.
Found during investigations into PR28222
Differential Revision: https://reviews.llvm.org/D38174
llvm-svn: 313983
-rw-r--r-- | llvm/utils/TableGen/InfoByHwMode.cpp | 9 | ||||
-rw-r--r-- | llvm/utils/TableGen/InfoByHwMode.h | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/llvm/utils/TableGen/InfoByHwMode.cpp b/llvm/utils/TableGen/InfoByHwMode.cpp index 882a6a78509..aee0dd6fa6a 100644 --- a/llvm/utils/TableGen/InfoByHwMode.cpp +++ b/llvm/utils/TableGen/InfoByHwMode.cpp @@ -70,10 +70,9 @@ MVT &ValueTypeByHwMode::getOrCreateTypeForMode(unsigned Mode, MVT Type) { return Map.insert(std::make_pair(Mode, Type)).first->second; } -std::string ValueTypeByHwMode::getMVTName(MVT T) { - std::string N = llvm::getEnumName(T.SimpleTy); - if (N.substr(0,5) == "MVT::") - N = N.substr(5); +StringRef ValueTypeByHwMode::getMVTName(MVT T) { + StringRef N = llvm::getEnumName(T.SimpleTy); + N.consume_front("MVT::"); return N; } @@ -91,7 +90,7 @@ std::string ValueTypeByHwMode::getAsString() const { for (unsigned i = 0, e = Pairs.size(); i != e; ++i) { const PairType *P = Pairs[i]; str << '(' << getModeName(P->first) - << ':' << getMVTName(P->second) << ')'; + << ':' << getMVTName(P->second).str() << ')'; if (i != e-1) str << ','; } diff --git a/llvm/utils/TableGen/InfoByHwMode.h b/llvm/utils/TableGen/InfoByHwMode.h index 71149e8da19..57640fc3025 100644 --- a/llvm/utils/TableGen/InfoByHwMode.h +++ b/llvm/utils/TableGen/InfoByHwMode.h @@ -129,7 +129,7 @@ struct ValueTypeByHwMode : public InfoByHwMode<MVT> { MVT getType(unsigned Mode) const { return get(Mode); } MVT &getOrCreateTypeForMode(unsigned Mode, MVT Type); - static std::string getMVTName(MVT T); + static StringRef getMVTName(MVT T); std::string getAsString() const; void dump() const; }; |