aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2010-07-21 09:02:06 +0000
committerLang Hames <lhames@gmail.com>2010-07-21 09:02:06 +0000
commit5a8ea65c5c72ee35c83f611a985d81efb8a4626e (patch)
tree302d2ec875deb81a7fea19ddb226dd307e125d4b /lib
parentcf6ca031288332c4fb43a314a3c30df8deeb2ffb (diff)
downloadexternal_llvm-5a8ea65c5c72ee35c83f611a985d81efb8a4626e.zip
external_llvm-5a8ea65c5c72ee35c83f611a985d81efb8a4626e.tar.gz
external_llvm-5a8ea65c5c72ee35c83f611a985d81efb8a4626e.tar.bz2
Changed OStream templates to functions on raw_ostream, removed the unused "renderWarnings" function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109003 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/RenderMachineFunction.cpp37
-rw-r--r--lib/CodeGen/RenderMachineFunction.h39
2 files changed, 25 insertions, 51 deletions
diff --git a/lib/CodeGen/RenderMachineFunction.cpp b/lib/CodeGen/RenderMachineFunction.cpp
index 0f5f67d..9bcbfb4 100644
--- a/lib/CodeGen/RenderMachineFunction.cpp
+++ b/lib/CodeGen/RenderMachineFunction.cpp
@@ -499,8 +499,7 @@ namespace llvm {
// ---------- MachineFunctionRenderer implementation ----------
- template <typename OStream>
- void RenderMachineFunction::Spacer::print(OStream &os) const {
+ void RenderMachineFunction::Spacer::print(raw_ostream &os) const {
if (!prettyHTML)
return;
for (unsigned i = 0; i < ns; ++i) {
@@ -512,8 +511,7 @@ namespace llvm {
return Spacer(ns);
}
- template <typename OStream>
- OStream& operator<<(OStream &os, const RenderMachineFunction::Spacer &s) {
+ raw_ostream& operator<<(raw_ostream &os, const RenderMachineFunction::Spacer &s) {
s.print(os);
return os;
}
@@ -583,8 +581,7 @@ namespace llvm {
}
/// \brief Render a machine instruction.
- template <typename OStream>
- void RenderMachineFunction::renderMachineInstr(OStream &os,
+ void RenderMachineFunction::renderMachineInstr(raw_ostream &os,
const MachineInstr *mi) const {
std::string s;
raw_string_ostream oss(s);
@@ -593,9 +590,9 @@ namespace llvm {
os << escapeChars(oss.str());
}
- template <typename OStream, typename T>
+ template <typename T>
void RenderMachineFunction::renderVertical(const Spacer &indent,
- OStream &os,
+ raw_ostream &os,
const T &t) const {
if (ro.fancyVerticals()) {
os << indent << "<object\n"
@@ -626,9 +623,8 @@ namespace llvm {
}
}
- template <typename OStream>
void RenderMachineFunction::insertCSS(const Spacer &indent,
- OStream &os) const {
+ raw_ostream &os) const {
os << indent << "<style type=\"text/css\">\n"
<< indent + s(2) << "body { font-color: black; }\n"
<< indent + s(2) << "table.code td { font-family: monospace; "
@@ -647,9 +643,8 @@ namespace llvm {
<< indent << "</style>\n";
}
- template <typename OStream>
void RenderMachineFunction::renderFunctionSummary(
- const Spacer &indent, OStream &os,
+ const Spacer &indent, raw_ostream &os,
const char * const renderContextStr) const {
os << indent << "<h1>Function: " << mf->getFunction()->getName()
<< "</h1>\n"
@@ -657,10 +652,9 @@ namespace llvm {
}
- template <typename OStream>
void RenderMachineFunction::renderPressureTableLegend(
const Spacer &indent,
- OStream &os) const {
+ raw_ostream &os) const {
os << indent << "<h2>Rendering Pressure Legend:</h2>\n"
<< indent << "<table class=\"code\">\n"
<< indent + s(2) << "<tr>\n"
@@ -685,9 +679,9 @@ namespace llvm {
<< indent << "</table>\n";
}
- template <typename OStream, typename CellType>
+ template <typename CellType>
void RenderMachineFunction::renderCellsWithRLE(
- const Spacer &indent, OStream &os,
+ const Spacer &indent, raw_ostream &os,
const std::pair<CellType, unsigned> &rleAccumulator,
const std::map<CellType, std::string> &cellTypeStrs) const {
@@ -706,9 +700,8 @@ namespace llvm {
}
- template <typename OStream>
void RenderMachineFunction::renderCodeTablePlusPI(const Spacer &indent,
- OStream &os) const {
+ raw_ostream &os) const {
std::map<LiveState, std::string> lsStrs;
lsStrs[Dead] = "l-n";
@@ -854,14 +847,8 @@ namespace llvm {
renderPressureTableLegend(indent, os);
}
- template <typename OStream>
- void RenderMachineFunction::renderWarnings(const Spacer &indent,
- OStream &os) const {
- }
-
- template <typename OStream>
void RenderMachineFunction::renderFunctionPage(
- OStream &os,
+ raw_ostream &os,
const char * const renderContextStr) const {
os << "<html>\n"
<< s(2) << "<head>\n"
diff --git a/lib/CodeGen/RenderMachineFunction.h b/lib/CodeGen/RenderMachineFunction.h
index 090b03e..4d22b34 100644
--- a/lib/CodeGen/RenderMachineFunction.h
+++ b/lib/CodeGen/RenderMachineFunction.h
@@ -31,6 +31,7 @@ namespace llvm {
class TargetRegisterClass;
class TargetRegisterInfo;
class VirtRegMap;
+ class raw_ostream;
/// \brief Provide extra information about the physical and virtual registers
/// in the function being compiled.
@@ -225,8 +226,7 @@ namespace llvm {
private:
class Spacer;
- template <typename OStream>
- friend OStream& operator<<(OStream &os, const Spacer &s);
+ friend raw_ostream& operator<<(raw_ostream &os, const Spacer &s);
std::string fqn;
@@ -256,7 +256,7 @@ namespace llvm {
public:
explicit Spacer(unsigned numSpaces) : ns(numSpaces) {}
Spacer operator+(const Spacer &o) const { return Spacer(ns + o.ns); }
- template <typename OStream> void print(OStream &os) const;
+ void print(raw_ostream &os) const;
private:
unsigned ns;
};
@@ -267,57 +267,44 @@ namespace llvm {
std::string escapeChars(Iterator sBegin, Iterator sEnd) const;
/// \brief Render a machine instruction.
- template <typename OStream>
- void renderMachineInstr(OStream &os,
+ void renderMachineInstr(raw_ostream &os,
const MachineInstr *mi) const;
/// \brief Render vertical text.
- template <typename OStream, typename T>
+ template <typename T>
void renderVertical(const Spacer &indent,
- OStream &os,
+ raw_ostream &os,
const T &t) const;
/// \brief Insert CSS layout info.
- template <typename OStream>
void insertCSS(const Spacer &indent,
- OStream &os) const;
+ raw_ostream &os) const;
/// \brief Render a brief summary of the function (including rendering
/// context).
- template <typename OStream>
void renderFunctionSummary(const Spacer &indent,
- OStream &os,
+ raw_ostream &os,
const char * const renderContextStr) const;
/// \brief Render a legend for the pressure table.
- template <typename OStream>
void renderPressureTableLegend(const Spacer &indent,
- OStream &os) const;
+ raw_ostream &os) const;
/// \brief Render a consecutive set of HTML cells of the same class using
/// the colspan attribute for run-length encoding.
- template <typename OStream, typename CellType>
+ template <typename CellType>
void renderCellsWithRLE(
- const Spacer &indent, OStream &os,
+ const Spacer &indent, raw_ostream &os,
const std::pair<CellType, unsigned> &rleAccumulator,
const std::map<CellType, std::string> &cellTypeStrs) const;
/// \brief Render code listing, potentially with register pressure
/// and live intervals shown alongside.
- template <typename OStream>
void renderCodeTablePlusPI(const Spacer &indent,
- OStream &os) const;
-
- /// \brief Render warnings about the machine function, or weird rendering
- /// parameter combinations (e.g. rendering specified live intervals
- /// over more than one machine function).
- template <typename OStream>
- void renderWarnings(const Spacer &indent,
- OStream &os) const;
+ raw_ostream &os) const;
/// \brief Render the HTML page representing the MachineFunction.
- template <typename OStream>
- void renderFunctionPage(OStream &os,
+ void renderFunctionPage(raw_ostream &os,
const char * const renderContextStr) const;
std::string escapeChars(const std::string &s) const;