aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Bytecode/Analyzer.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/include/llvm/Bytecode/Analyzer.h b/include/llvm/Bytecode/Analyzer.h
index d3e1b95..e6df72f 100644
--- a/include/llvm/Bytecode/Analyzer.h
+++ b/include/llvm/Bytecode/Analyzer.h
@@ -1,4 +1,4 @@
-//===-- llvm/Bytecode/Analyzer.h - Analyzer for bytecode files --*- C++ -*-===//
+//===-- llvm/Bytecode/Analyzer.h - Analyzer for Bytecode files --*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -8,10 +8,11 @@
//===----------------------------------------------------------------------===//
//
// 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.
//
//===----------------------------------------------------------------------===//
@@ -61,8 +62,12 @@ struct BytecodeAnalysis {
/// 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
@@ -92,6 +97,12 @@ void AnalyzeBytecodeBuffer(
/// @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