1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

[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
This commit is contained in:
Simon Pilgrim 2017-09-22 13:32:26 +00:00
parent 98ceac3d19
commit 0a1c4b0914
2 changed files with 5 additions and 6 deletions

View File

@ -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 << ',';
}

View File

@ -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;
};