[llvm] r313990 - Revert "[TableGen] Replace InfoByHwMode::getAsString with writeToStream"
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 22 09:18:35 PDT 2017
Author: kparzysz
Date: Fri Sep 22 09:18:35 2017
New Revision: 313990
URL: http://llvm.org/viewvc/llvm-project?rev=313990&view=rev
Log:
Revert "[TableGen] Replace InfoByHwMode::getAsString with writeToStream"
This reverts commit r313989: it breaks Windows bots.
Modified:
llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h
llvm/trunk/utils/TableGen/CodeGenRegisters.cpp
llvm/trunk/utils/TableGen/InfoByHwMode.cpp
llvm/trunk/utils/TableGen/InfoByHwMode.h
Modified: llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp?rev=313990&r1=313989&r2=313990&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp Fri Sep 22 09:18:35 2017
@@ -238,14 +238,10 @@ bool TypeSetByHwMode::operator==(const T
return true;
}
-raw_ostream &operator<<(raw_ostream &OS, const TypeSetByHwMode &T) {
- T.writeToStream(OS);
- return OS;
-}
-
LLVM_DUMP_METHOD
void TypeSetByHwMode::dump() const {
- dbgs() << *this << '\n';
+ writeToStream(dbgs());
+ dbgs() << '\n';
}
bool TypeSetByHwMode::intersect(SetType &Out, const SetType &In) {
Modified: llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h?rev=313990&r1=313989&r2=313990&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h (original)
+++ llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h Fri Sep 22 09:18:35 2017
@@ -240,8 +240,6 @@ private:
bool intersect(SetType &Out, const SetType &In);
};
-raw_ostream &operator<<(raw_ostream &OS, const TypeSetByHwMode &T);
-
struct TypeInfer {
TypeInfer(TreePattern &T) : TP(T), ForceMode(0) {}
Modified: llvm/trunk/utils/TableGen/CodeGenRegisters.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenRegisters.cpp?rev=313990&r1=313989&r2=313990&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenRegisters.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenRegisters.cpp Fri Sep 22 09:18:35 2017
@@ -836,7 +836,7 @@ bool CodeGenRegisterClass::contains(cons
namespace llvm {
raw_ostream &operator<<(raw_ostream &OS, const CodeGenRegisterClass::Key &K) {
- OS << "{ " << K.RSI;
+ OS << "{ " << K.RSI.getAsString();
for (const auto R : *K.Members)
OS << ", " << R->getName();
return OS << " }";
Modified: llvm/trunk/utils/TableGen/InfoByHwMode.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/InfoByHwMode.cpp?rev=313990&r1=313989&r2=313990&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/InfoByHwMode.cpp (original)
+++ llvm/trunk/utils/TableGen/InfoByHwMode.cpp Fri Sep 22 09:18:35 2017
@@ -76,31 +76,34 @@ StringRef ValueTypeByHwMode::getMVTName(
return N;
}
-void ValueTypeByHwMode::writeToStream(raw_ostream &OS) const {
- if (isSimple()) {
- OS << getMVTName(getSimple());
- return;
- }
+std::string ValueTypeByHwMode::getAsString() const {
+ if (isSimple())
+ return getMVTName(getSimple());
std::vector<const PairType*> Pairs;
for (const auto &P : Map)
Pairs.push_back(&P);
std::sort(Pairs.begin(), Pairs.end(), deref<std::less<PairType>>());
- OS << '{';
+ std::stringstream str;
+ str << '{';
for (unsigned i = 0, e = Pairs.size(); i != e; ++i) {
const PairType *P = Pairs[i];
- OS << '(' << getModeName(P->first)
- << ':' << getMVTName(P->second).str() << ')';
+ str << '(' << getModeName(P->first)
+ << ':' << getMVTName(P->second).str() << ')';
if (i != e-1)
- OS << ',';
+ str << ',';
}
- OS << '}';
+ str << '}';
+ return str.str();
}
LLVM_DUMP_METHOD
void ValueTypeByHwMode::dump() const {
- dbgs() << *this << '\n';
+ dbgs() << "size=" << Map.size() << '\n';
+ for (const auto &P : Map)
+ dbgs() << " " << P.first << " -> "
+ << llvm::getEnumName(P.second.SimpleTy) << '\n';
}
ValueTypeByHwMode llvm::getValueTypeByHwMode(Record *Rec,
@@ -133,9 +136,11 @@ bool RegSizeInfo::isSubClassOf(const Reg
SpillSize <= I.SpillSize;
}
-void RegSizeInfo::writeToStream(raw_ostream &OS) const {
- OS << "[R=" << RegSize << ",S=" << SpillSize
- << ",A=" << SpillAlignment << ']';
+std::string RegSizeInfo::getAsString() const {
+ std::stringstream str;
+ str << "[R=" << RegSize << ",S=" << SpillSize
+ << ",A=" << SpillAlignment << ']';
+ return str.str();
}
RegSizeInfoByHwMode::RegSizeInfoByHwMode(Record *R,
@@ -172,35 +177,22 @@ bool RegSizeInfoByHwMode::hasStricterSpi
std::tie(B0.SpillSize, B0.SpillAlignment);
}
-void RegSizeInfoByHwMode::writeToStream(raw_ostream &OS) const {
+std::string RegSizeInfoByHwMode::getAsString() const {
typedef typename decltype(Map)::value_type PairType;
std::vector<const PairType*> Pairs;
for (const auto &P : Map)
Pairs.push_back(&P);
std::sort(Pairs.begin(), Pairs.end(), deref<std::less<PairType>>());
- OS << '{';
+ std::stringstream str;
+ str << '{';
for (unsigned i = 0, e = Pairs.size(); i != e; ++i) {
const PairType *P = Pairs[i];
- OS << '(' << getModeName(P->first) << ':' << P->second << ')';
+ str << '(' << getModeName(P->first)
+ << ':' << P->second.getAsString() << ')';
if (i != e-1)
- OS << ',';
+ str << ',';
}
- OS << '}';
+ str << '}';
+ return str.str();
}
-
-raw_ostream &operator<<(raw_ostream &OS, const ValueTypeByHwMode &T) {
- T.writeToStream(OS);
- return OS;
-}
-
-raw_ostream &operator<<(raw_ostream &OS, const RegSizeInfo &T) {
- T.writeToStream(OS);
- return OS;
-}
-
-raw_ostream &operator<<(raw_ostream &OS, const RegSizeInfoByHwMode &T) {
- T.writeToStream(OS);
- return OS;
-}
-
Modified: llvm/trunk/utils/TableGen/InfoByHwMode.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/InfoByHwMode.h?rev=313990&r1=313989&r2=313990&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/InfoByHwMode.h (original)
+++ llvm/trunk/utils/TableGen/InfoByHwMode.h Fri Sep 22 09:18:35 2017
@@ -27,7 +27,6 @@ namespace llvm {
struct CodeGenHwModes;
class Record;
-class raw_ostream;
template <typename InfoT> struct InfoByHwMode;
@@ -131,7 +130,7 @@ struct ValueTypeByHwMode : public InfoBy
MVT &getOrCreateTypeForMode(unsigned Mode, MVT Type);
static StringRef getMVTName(MVT T);
- void writeToStream(raw_ostream &OS) const;
+ std::string getAsString() const;
void dump() const;
};
@@ -155,7 +154,7 @@ struct RegSizeInfo {
}
bool isSubClassOf(const RegSizeInfo &I) const;
- void writeToStream(raw_ostream &OS) const;
+ std::string getAsString() const;
};
struct RegSizeInfoByHwMode : public InfoByHwMode<RegSizeInfo> {
@@ -170,13 +169,8 @@ struct RegSizeInfoByHwMode : public Info
bool isSubClassOf(const RegSizeInfoByHwMode &I) const;
bool hasStricterSpillThan(const RegSizeInfoByHwMode &I) const;
- void writeToStream(raw_ostream &OS) const;
+ std::string getAsString() const;
};
-
-raw_ostream &operator<<(raw_ostream &OS, const ValueTypeByHwMode &T);
-raw_ostream &operator<<(raw_ostream &OS, const RegSizeInfo &T);
-raw_ostream &operator<<(raw_ostream &OS, const RegSizeInfoByHwMode &T);
-
} // namespace llvm
#endif // LLVM_UTILS_TABLEGEN_INFOBYHWMODE_H
More information about the llvm-commits
mailing list