diff options
author | Lang Hames <lhames@gmail.com> | 2010-07-21 09:02:06 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2010-07-21 09:02:06 +0000 |
commit | 5a8ea65c5c72ee35c83f611a985d81efb8a4626e (patch) | |
tree | 302d2ec875deb81a7fea19ddb226dd307e125d4b /lib/CodeGen | |
parent | cf6ca031288332c4fb43a314a3c30df8deeb2ffb (diff) | |
download | external_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/CodeGen')
-rw-r--r-- | lib/CodeGen/RenderMachineFunction.cpp | 37 | ||||
-rw-r--r-- | lib/CodeGen/RenderMachineFunction.h | 39 |
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; |