diff options
author | Dan Gohman <gohman@apple.com> | 2009-08-26 15:56:38 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-08-26 15:56:38 +0000 |
commit | 6942375aa4a14dab4b8dc0da3c03ec760e425bef (patch) | |
tree | 8e7927097a27ee291fb79bea073e509326d7c619 | |
parent | e685cba8806c67a43d8c960dcd6f65059c99f586 (diff) | |
download | bcm5719-llvm-6942375aa4a14dab4b8dc0da3c03ec760e425bef.tar.gz bcm5719-llvm-6942375aa4a14dab4b8dc0da3c03ec760e425bef.zip |
Move ProfileInfo::Edge's operator<< out of line. Among other benefits,
this eliminates the ATTRIBUTE_USED, which wasn't being used in a manner
acceptable to some GCC versions, according to the buildbots.
llvm-svn: 80103
-rw-r--r-- | llvm/include/llvm/Analysis/ProfileInfo.h | 14 | ||||
-rw-r--r-- | llvm/lib/Analysis/ProfileInfo.cpp | 8 |
2 files changed, 10 insertions, 12 deletions
diff --git a/llvm/include/llvm/Analysis/ProfileInfo.h b/llvm/include/llvm/Analysis/ProfileInfo.h index 59ad9077a0a..16bfc1351c7 100644 --- a/llvm/include/llvm/Analysis/ProfileInfo.h +++ b/llvm/include/llvm/Analysis/ProfileInfo.h @@ -22,8 +22,6 @@ #define LLVM_ANALYSIS_PROFILEINFO_H #include "llvm/BasicBlock.h" -#include "llvm/Support/raw_ostream.h" -#include "llvm/Support/Compiler.h" #include <cassert> #include <string> #include <map> @@ -31,6 +29,7 @@ namespace llvm { class Function; class Pass; + class raw_ostream; /// ProfileInfo Class - This class holds and maintains profiling /// information for some unit of code. @@ -106,16 +105,7 @@ namespace llvm { /// it available to the optimizers. Pass *createProfileLoaderPass(const std::string &Filename); - static raw_ostream& operator<<(raw_ostream &O, - ProfileInfo::Edge E) ATTRIBUTE_USED; - static raw_ostream& operator<<(raw_ostream &O, - ProfileInfo::Edge E) { - O<<"("; - O<<(E.first?E.first->getNameStr():"0"); - O<<","; - O<<(E.second?E.second->getNameStr():"0"); - return O<<")"; - } + raw_ostream& operator<<(raw_ostream &O, ProfileInfo::Edge E); } // End llvm namespace diff --git a/llvm/lib/Analysis/ProfileInfo.cpp b/llvm/lib/Analysis/ProfileInfo.cpp index fdbf03cc34d..55c5cab7510 100644 --- a/llvm/lib/Analysis/ProfileInfo.cpp +++ b/llvm/lib/Analysis/ProfileInfo.cpp @@ -17,6 +17,7 @@ #include "llvm/Pass.h" #include "llvm/Support/CFG.h" #include "llvm/Support/Compiler.h" +#include "llvm/Support/raw_ostream.h" #include <set> using namespace llvm; @@ -81,6 +82,13 @@ double ProfileInfo::getExecutionCount(const Function *F) { return Count; } +raw_ostream& llvm::operator<<(raw_ostream &O, ProfileInfo::Edge E) { + O << "("; + O << (E.first ? E.first->getNameStr() : "0"); + O << ","; + O << (E.second ? E.second->getNameStr() : "0"); + return O << ")"; +} //===----------------------------------------------------------------------===// // NoProfile ProfileInfo implementation |