Updated the BytecodeAnalysis data structure to contain additional fields
authorReid Spencer <rspencer@reidspencer.com>
Thu, 10 Jun 2004 22:28:11 +0000 (22:28 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 10 Jun 2004 22:28:11 +0000 (22:28 +0000)
needed for analysis of individual functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14125 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bytecode/Analyzer.h

index b60559cd10cca84a5d0f64547e95037d27400d62..24b219e029ddf52992b1c2570cbd3a573faba820 100644 (file)
@@ -25,6 +25,8 @@
 
 namespace llvm {
 
+class Function;
+
 /// This structure is used to contain the output of the Bytecode Analysis 
 /// library. It simply contains fields to hold each item of the analysis 
 /// results.
@@ -69,14 +71,18 @@ struct BytecodeAnalysis {
     unsigned byteSize;        ///< The size of the function in bytecode bytes
     unsigned numInstructions; ///< The number of instructions in the function
     unsigned numBasicBlocks;  ///< The number of basic blocks in the function
+    unsigned numPhis;         ///< Number of Phi Nodes in Instructions
     unsigned numOperands;     ///< The number of operands in the function
-    double density;           ///< Density of function
-    double vbrEffectiveness;  ///< Effectiveness of variable bit rate encoding.
+    double   density;         ///< Density of function
+    unsigned vbrCount32;      ///< Number of 32-bit vbr values
+    unsigned vbrCount64;      ///< Number of 64-bit vbr values
+    unsigned vbrCompBytes;    ///< Number of vbr bytes (compressed)
+    unsigned vbrExpdBytes;    ///< Number of vbr bytes (expanded)
   };
 
   /// A mapping of function slot numbers to the collected information about 
   /// the function.
-  std::map<unsigned,BytecodeFunctionInfo> FunctionInfo; 
+  std::map<const Function*,BytecodeFunctionInfo> FunctionInfo; 
 
   /// The content of the bytecode dump
   std::string BytecodeDump;