diff --git a/llvm/tools/llvm-profgen/CSPreInliner.h b/llvm/tools/llvm-profgen/CSPreInliner.h index 8a3f16a4f13cb..022c3f8d0daed 100644 --- a/llvm/tools/llvm-profgen/CSPreInliner.h +++ b/llvm/tools/llvm-profgen/CSPreInliner.h @@ -16,9 +16,6 @@ #include "llvm/Transforms/IPO/ProfiledCallGraph.h" #include "llvm/Transforms/IPO/SampleContextTracker.h" -using namespace llvm; -using namespace sampleprof; - namespace llvm { namespace sampleprof { diff --git a/llvm/tools/llvm-profgen/ErrorHandling.h b/llvm/tools/llvm-profgen/ErrorHandling.h index b797add8a892f..17084bd785e64 100644 --- a/llvm/tools/llvm-profgen/ErrorHandling.h +++ b/llvm/tools/llvm-profgen/ErrorHandling.h @@ -16,7 +16,7 @@ #include "llvm/Support/WithColor.h" #include -using namespace llvm; +namespace llvm { [[noreturn]] inline void exitWithError(const Twine &Message, StringRef Whence = StringRef(), @@ -53,4 +53,6 @@ inline void emitWarningSummary(uint64_t Num, uint64_t Total, StringRef Msg) { << "%(" << Num << "/" << Total << ") " << Msg << "\n"; } +} // end namespace llvm + #endif diff --git a/llvm/tools/llvm-profgen/PerfReader.cpp b/llvm/tools/llvm-profgen/PerfReader.cpp index ad113eda27914..4ab5f2e63fd12 100644 --- a/llvm/tools/llvm-profgen/PerfReader.cpp +++ b/llvm/tools/llvm-profgen/PerfReader.cpp @@ -15,6 +15,8 @@ #define DEBUG_TYPE "perf-reader" +using namespace llvm; + cl::opt SkipSymbolization("skip-symbolization", cl::desc("Dump the unsymbolized profile to the " "output file. It will show unwinder " @@ -47,9 +49,6 @@ static cl::opt CSProfMaxUnsymbolizedCtxDepth( cl::desc("Keep the last K contexts while merging unsymbolized profile. -1 " "means no depth limit.")); -extern cl::opt PerfTraceFilename; -extern cl::opt ShowDisassemblyOnly; -extern cl::opt ShowSourceLocations; extern cl::opt OutputFilename; namespace llvm { diff --git a/llvm/tools/llvm-profgen/PerfReader.h b/llvm/tools/llvm-profgen/PerfReader.h index 4b3ac8f569755..19451915812e1 100644 --- a/llvm/tools/llvm-profgen/PerfReader.h +++ b/llvm/tools/llvm-profgen/PerfReader.h @@ -17,9 +17,6 @@ #include #include -using namespace llvm; -using namespace sampleprof; - namespace llvm { class CleanupInstaller; diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.cpp b/llvm/tools/llvm-profgen/ProfileGenerator.cpp index db686c3b597eb..9468228acc427 100644 --- a/llvm/tools/llvm-profgen/ProfileGenerator.cpp +++ b/llvm/tools/llvm-profgen/ProfileGenerator.cpp @@ -17,6 +17,9 @@ #include #include +using namespace llvm; +using namespace sampleprof; + cl::opt OutputFilename("output", cl::value_desc("output"), cl::Required, cl::desc("Output profile file")); @@ -104,9 +107,6 @@ cl::opt InferMissingFrames( "Infer missing call frames due to compiler tail call elimination."), llvm::cl::Optional); -using namespace llvm; -using namespace sampleprof; - namespace llvm { namespace sampleprof { diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.h b/llvm/tools/llvm-profgen/ProfileGenerator.h index 5e36128530cd9..d3e04563a81c2 100644 --- a/llvm/tools/llvm-profgen/ProfileGenerator.h +++ b/llvm/tools/llvm-profgen/ProfileGenerator.h @@ -17,9 +17,6 @@ #include #include -using namespace llvm; -using namespace sampleprof; - namespace llvm { namespace sampleprof { diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.cpp b/llvm/tools/llvm-profgen/ProfiledBinary.cpp index 6847ba1b21b1f..beef4338d5f89 100644 --- a/llvm/tools/llvm-profgen/ProfiledBinary.cpp +++ b/llvm/tools/llvm-profgen/ProfiledBinary.cpp @@ -25,6 +25,7 @@ #define DEBUG_TYPE "load-binary" using namespace llvm; +using namespace llvm::object; using namespace sampleprof; cl::opt ShowDisassemblyOnly("show-disassembly-only", diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.h b/llvm/tools/llvm-profgen/ProfiledBinary.h index 0588cb48b2af6..5b35c040b2c4b 100644 --- a/llvm/tools/llvm-profgen/ProfiledBinary.h +++ b/llvm/tools/llvm-profgen/ProfiledBinary.h @@ -42,15 +42,10 @@ #include namespace llvm { + extern cl::opt EnableCSPreInliner; extern cl::opt UseContextCostForPreInliner; -} // namespace llvm - -using namespace llvm; -using namespace sampleprof; -using namespace llvm::object; -namespace llvm { namespace sampleprof { class ProfiledBinary; @@ -303,34 +298,34 @@ class ProfiledBinary { bool IsCOFF = false; - void setPreferredTextSegmentAddresses(const ObjectFile *O); + void setPreferredTextSegmentAddresses(const object::ObjectFile *O); template - void setPreferredTextSegmentAddresses(const ELFFile &Obj, + void setPreferredTextSegmentAddresses(const object::ELFFile &Obj, StringRef FileName); - void setPreferredTextSegmentAddresses(const COFFObjectFile *Obj, + void setPreferredTextSegmentAddresses(const object::COFFObjectFile *Obj, StringRef FileName); - void checkPseudoProbe(const ELFObjectFileBase *Obj); + void checkPseudoProbe(const object::ELFObjectFileBase *Obj); - void decodePseudoProbe(const ELFObjectFileBase *Obj); + void decodePseudoProbe(const object::ELFObjectFileBase *Obj); - void - checkUseFSDiscriminator(const ObjectFile *Obj, - std::map &AllSymbols); + void checkUseFSDiscriminator( + const object::ObjectFile *Obj, + std::map &AllSymbols); // Set up disassembler and related components. - void setUpDisassembler(const ObjectFile *Obj); + void setUpDisassembler(const object::ObjectFile *Obj); symbolize::LLVMSymbolizer::Options getSymbolizerOpts() const; // Load debug info of subprograms from DWARF section. - void loadSymbolsFromDWARF(ObjectFile &Obj); + void loadSymbolsFromDWARF(object::ObjectFile &Obj); // Load debug info from DWARF unit. void loadSymbolsFromDWARFUnit(DWARFUnit &CompilationUnit); // Create elf symbol to its start address mapping. - void populateElfSymbolAddressList(const ELFObjectFileBase *O); + void populateElfSymbolAddressList(const object::ELFObjectFileBase *O); // A function may be spilt into multiple non-continuous address ranges. We use // this to set whether start a function range is the real entry of the @@ -341,11 +336,12 @@ class ProfiledBinary { void warnNoFuncEntry(); /// Dissassemble the text section and build various address maps. - void disassemble(const ObjectFile *O); + void disassemble(const object::ObjectFile *O); /// Helper function to dissassemble the symbol and extract info for unwinding bool dissassembleSymbol(std::size_t SI, ArrayRef Bytes, - SectionSymbolsTy &Symbols, const SectionRef &Section); + SectionSymbolsTy &Symbols, + const object::SectionRef &Section); /// Symbolize a given instruction pointer and return a full call context. SampleContextFrameVector symbolize(const InstructionPointer &IP, bool UseCanonicalFnName = false, diff --git a/llvm/tools/llvm-profgen/llvm-profgen.cpp b/llvm/tools/llvm-profgen/llvm-profgen.cpp index 3b974e25103ad..5464888e77ad5 100644 --- a/llvm/tools/llvm-profgen/llvm-profgen.cpp +++ b/llvm/tools/llvm-profgen/llvm-profgen.cpp @@ -21,6 +21,9 @@ #include "llvm/Support/TargetSelect.h" #include "llvm/Support/VirtualFileSystem.h" +using namespace llvm; +using namespace sampleprof; + static cl::OptionCategory ProfGenCategory("ProfGen Options"); static cl::opt PerfScriptFilename( @@ -71,9 +74,6 @@ extern cl::opt ShowDisassemblyOnly; extern cl::opt ShowSourceLocations; extern cl::opt SkipSymbolization; -using namespace llvm; -using namespace sampleprof; - // Validate the command line input. static void validateCommandLine() { // Allow the missing perfscript if we only use to show binary disassembly.