diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-08-21 20:40:08 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-08-21 20:40:08 +0000 |
commit | e6df25cbcde03b9604e7b5a1b37f411256d27823 (patch) | |
tree | 40d456efe95d4400813985e34a8e98e8e4b210cd /include/llvm/Bytecode | |
parent | 037d732e09e23369c7fe89eb5a325e8d1fb61e91 (diff) | |
download | external_llvm-e6df25cbcde03b9604e7b5a1b37f411256d27823.zip external_llvm-e6df25cbcde03b9604e7b5a1b37f411256d27823.tar.gz external_llvm-e6df25cbcde03b9604e7b5a1b37f411256d27823.tar.bz2 |
Bytecode Analyzer cleanup:
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15977 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bytecode')
-rw-r--r-- | include/llvm/Bytecode/Analyzer.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/llvm/Bytecode/Analyzer.h b/include/llvm/Bytecode/Analyzer.h index 6ce3a39..041f35a 100644 --- a/include/llvm/Bytecode/Analyzer.h +++ b/include/llvm/Bytecode/Analyzer.h @@ -35,6 +35,7 @@ class Module; /// @brief Bytecode Analysis results structure struct BytecodeAnalysis { std::string ModuleId; ///< Identification of the module + unsigned version; ///< The version number of the bytecode file unsigned byteSize; ///< The size of the bytecode file in bytes unsigned numTypes; ///< The number of types unsigned numValues; ///< The number of values @@ -48,6 +49,8 @@ struct BytecodeAnalysis { unsigned numCmpctnTables; ///< The number of compaction tables unsigned numSymTab; ///< The number of symbol tables unsigned numAlignment; ///< The number of alignment bytes + unsigned numLibraries; ///< The number of dependent libraries + unsigned libSize; ///< Number of bytes taken by dep libs. unsigned maxTypeSlot; ///< The maximum slot number for types unsigned maxValueSlot; ///< The maximum slot number for values double fileDensity; ///< Density of file (bytes/definition) @@ -64,7 +67,8 @@ struct BytecodeAnalysis { unsigned vbrCompBytes; ///< Number of vbr bytes (compressed) unsigned vbrExpdBytes; ///< Number of vbr bytes (expanded) - typedef std::map<BytecodeFormat::FileBlockIDs,unsigned> BlockSizeMap; + typedef std::map<BytecodeFormat::CompressedBytecodeBlockIdentifiers,unsigned> + BlockSizeMap; BlockSizeMap BlockSizes; /// A structure that contains various pieces of information related to @@ -90,14 +94,10 @@ struct BytecodeAnalysis { /// the function. std::map<const Function*,BytecodeFunctionInfo> FunctionInfo; - /// The content of the bytecode dump - std::string BytecodeDump; - /// The content of the progressive verification std::string VerifyInfo; /// Flags for what should be done - bool dumpBytecode; ///< If true, BytecodeDump has contents bool detailedResults; ///< If true, FunctionInfo has contents bool progressiveVerify; ///< If true, VerifyInfo has contents }; @@ -109,7 +109,8 @@ struct BytecodeAnalysis { Module* AnalyzeBytecodeFile( const std::string& Filename, ///< The name of the bytecode file to read BytecodeAnalysis& Results, ///< The results of the analysis - std::string* ErrorStr = 0 ///< Errors, if any. + std::string* ErrorStr = 0, ///< Errors, if any. + std::ostream* output = 0 ///< Stream for dump output, if wanted ); /// This function is an alternate entry point into the bytecode analysis @@ -122,7 +123,8 @@ Module* AnalyzeBytecodeBuffer( unsigned BufferSize, ///< Size of the bytecode buffer const std::string& ModuleID, ///< Identifier for the module BytecodeAnalysis& Results, ///< The results of the analysis - std::string* ErrorStr = 0 ///< Errors, if any. + std::string* ErrorStr = 0, ///< Errors, if any. + std::ostream* output = 0 ///< Stream for dump output, if wanted ); /// This function prints the contents of rhe BytecodeAnalysis structure in |