mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
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
This commit is contained in:
@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
|
class Function;
|
||||||
|
|
||||||
/// This structure is used to contain the output of the Bytecode Analysis
|
/// This structure is used to contain the output of the Bytecode Analysis
|
||||||
/// library. It simply contains fields to hold each item of the analysis
|
/// library. It simply contains fields to hold each item of the analysis
|
||||||
/// results.
|
/// results.
|
||||||
@ -69,14 +71,18 @@ struct BytecodeAnalysis {
|
|||||||
unsigned byteSize; ///< The size of the function in bytecode bytes
|
unsigned byteSize; ///< The size of the function in bytecode bytes
|
||||||
unsigned numInstructions; ///< The number of instructions in the function
|
unsigned numInstructions; ///< The number of instructions in the function
|
||||||
unsigned numBasicBlocks; ///< The number of basic blocks 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
|
unsigned numOperands; ///< The number of operands in the function
|
||||||
double density; ///< Density of function
|
double density; ///< Density of function
|
||||||
double vbrEffectiveness; ///< Effectiveness of variable bit rate encoding.
|
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
|
/// A mapping of function slot numbers to the collected information about
|
||||||
/// the function.
|
/// the function.
|
||||||
std::map<unsigned,BytecodeFunctionInfo> FunctionInfo;
|
std::map<const Function*,BytecodeFunctionInfo> FunctionInfo;
|
||||||
|
|
||||||
/// The content of the bytecode dump
|
/// The content of the bytecode dump
|
||||||
std::string BytecodeDump;
|
std::string BytecodeDump;
|
||||||
|
Reference in New Issue
Block a user