From 23132b188ba651ba172380cd082cc286df73d440 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 24 Aug 2009 03:52:50 +0000 Subject: [PATCH] prune the #includes in raw_ostream.h by moving a member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/raw_ostream.h | 10 +--------- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 1 + lib/CodeGen/AsmPrinter/DwarfPrinter.cpp | 6 +++--- lib/MC/MCAssembler.cpp | 1 + lib/Support/raw_ostream.cpp | 8 ++++++++ lib/Target/CppBackend/CPPBackend.cpp | 1 + lib/Transforms/IPO/ArgumentPromotion.cpp | 1 + tools/bugpoint/ToolRunner.cpp | 1 + utils/TableGen/InstrInfoEmitter.cpp | 1 + 9 files changed, 18 insertions(+), 12 deletions(-) diff --git a/include/llvm/Support/raw_ostream.h b/include/llvm/Support/raw_ostream.h index c2252dcb04e..0a5019edcd2 100644 --- a/include/llvm/Support/raw_ostream.h +++ b/include/llvm/Support/raw_ostream.h @@ -14,11 +14,7 @@ #ifndef LLVM_SUPPORT_RAW_OSTREAM_H #define LLVM_SUPPORT_RAW_OSTREAM_H -#include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" -#include -#include -#include #include namespace llvm { @@ -215,11 +211,7 @@ public: return *this; } - raw_ostream &operator<<(double N) { - this->operator<<(ftostr(N)); - return *this; - } - + raw_ostream &operator<<(double N); /// write_hex - Output \arg N in hexadecimal, without any prefix or padding. raw_ostream &write_hex(unsigned long long N); diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index ab869987501..fbb522df149 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -22,6 +22,7 @@ #include "llvm/Target/TargetFrameInfo.h" #include "llvm/Target/TargetLoweringObjectFile.h" #include "llvm/Target/TargetRegisterInfo.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/Support/Timer.h" #include "llvm/System/Path.h" using namespace llvm; diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp index 857f9954883..20b959b914f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp @@ -17,13 +17,13 @@ #include "llvm/CodeGen/MachineFrameInfo.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineModuleInfo.h" -#include "llvm/Support/Dwarf.h" -#include "llvm/Support/ErrorHandling.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetFrameInfo.h" #include "llvm/Target/TargetRegisterInfo.h" - +#include "llvm/Support/Dwarf.h" +#include "llvm/Support/ErrorHandling.h" +#include "llvm/ADT/StringExtras.h" using namespace llvm; Dwarf::Dwarf(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T, diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 99d2988dc8e..7a67fac7efd 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -16,6 +16,7 @@ #include "llvm/ADT/Twine.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" +#include using namespace llvm; class MachObjectWriter; diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp index 221859d5337..4dd891d64f8 100644 --- a/lib/Support/raw_ostream.cpp +++ b/lib/Support/raw_ostream.cpp @@ -19,6 +19,7 @@ #include "llvm/Config/config.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/ADT/StringExtras.h" #include #include #include @@ -173,6 +174,13 @@ raw_ostream &raw_ostream::operator<<(const void *P) { return write_hex((uintptr_t) P); } +raw_ostream &raw_ostream::operator<<(double N) { + this->operator<<(ftostr(N)); + return *this; +} + + + void raw_ostream::flush_nonempty() { assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty."); size_t Length = OutBufCur - OutBufStart; diff --git a/lib/Target/CppBackend/CPPBackend.cpp b/lib/Target/CppBackend/CPPBackend.cpp index 3de81a47c74..bebad667967 100644 --- a/lib/Target/CppBackend/CPPBackend.cpp +++ b/lib/Target/CppBackend/CPPBackend.cpp @@ -28,6 +28,7 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Target/TargetRegistry.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/Config/config.h" #include #include diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp index 895a87b6cad..75843e84d2a 100644 --- a/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -47,6 +47,7 @@ #include "llvm/Support/raw_ostream.h" #include "llvm/ADT/DepthFirstIterator.h" #include "llvm/ADT/Statistic.h" +#include "llvm/ADT/StringExtras.h" #include using namespace llvm; diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp index e3e1cae4e5d..f6fc37eb1ff 100644 --- a/tools/bugpoint/ToolRunner.cpp +++ b/tools/bugpoint/ToolRunner.cpp @@ -18,6 +18,7 @@ #include "llvm/Support/Debug.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/Config/config.h" // for HAVE_LINK_R #include #include diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp index ef52c07692a..533ff9f98f3 100644 --- a/utils/TableGen/InstrInfoEmitter.cpp +++ b/utils/TableGen/InstrInfoEmitter.cpp @@ -15,6 +15,7 @@ #include "InstrInfoEmitter.h" #include "CodeGenTarget.h" #include "Record.h" +#include "llvm/ADT/StringExtras.h" #include using namespace llvm;