-//===-- llvm/Bytecode/Analyzer.h - Analyzer for bytecode files --*- C++ -*-===//
+//===-- llvm/Bytecode/Analyzer.h - Analyzer for Bytecode files --*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
//===----------------------------------------------------------------------===//
//
// This functionality is implemented by the lib/Bytecode/Analysis library.
-// This library is used to read VM bytecode files from an iostream and print
-// out a diagnostic analysis of the contents of the file. It is intended for
-// three uses: (a) understanding the bytecode format, (b) ensuring correctness
-// of bytecode format, (c) statistical analysis of generated bytecode files.
+// This library is used to read VM bytecode files from a file or memory buffer
+// and print out a diagnostic analysis of the contents of the file. It is
+// intended for three uses: (a) understanding the bytecode format, (b) ensuring
+// correctness of bytecode format, (c) statistical analysis of generated
+// bytecode files.
//
//===----------------------------------------------------------------------===//
/// function.
std::map<std::string,BytecodeFunctionInfo> FunctionInfo;
+ /// The content of the bytecode dump
+ std::string BytecodeDump;
+
/// Flags for what should be done
- bool dumpBytecode;
+ bool dumpBytecode; ///< If true, BytecodeDump has contents
+ bool detailedResults; ///< If true, FunctionInfo has contents
};
/// This function is the main entry point into the bytecode analysis library. It
/// @brief Print BytecodeAnalysis structure to an ostream
void PrintBytecodeAnalysis(BytecodeAnalysis& bca, std::ostream& Out );
+/// @brief std::ostream inserter for BytecodeAnalysis structure
+inline std::ostream& operator<<(std::ostream& Out, BytecodeAnalysis& bca ) {
+ PrintBytecodeAnalysis(bca,Out);
+ return Out;
+}
+
} // End llvm namespace
#endif