aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Bytecode/Analyzer.h
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-06-10 22:28:11 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-06-10 22:28:11 +0000
commit38a6cfe41ea1626ced2ce9f60cfce2025d78fadf (patch)
tree14550cf22bbb0adb588924a25fb73740bd072165 /include/llvm/Bytecode/Analyzer.h
parentdef0e55c871d48122ff617fec49f33802beff1dc (diff)
Updated the BytecodeAnalysis data structure to contain additional fields
needed for analysis of individual functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14125 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bytecode/Analyzer.h')
-rw-r--r--include/llvm/Bytecode/Analyzer.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/Bytecode/Analyzer.h b/include/llvm/Bytecode/Analyzer.h
index b60559cd10..24b219e029 100644
--- a/include/llvm/Bytecode/Analyzer.h
+++ b/include/llvm/Bytecode/Analyzer.h
@@ -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;