aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/AnalyzerWrappers.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-06-10 22:00:54 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-06-10 22:00:54 +0000
commitcbb22e218ecffc2c0c03b2fe41f7cd5ca5879c07 (patch)
tree0077581b8591143a16945c0e11abc3b4c7f5563e /lib/Bytecode/Reader/AnalyzerWrappers.cpp
parent2467a06057df3ce1a76666e0e23b931615f9bd7e (diff)
Implement detailed function level data collection and reporting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/AnalyzerWrappers.cpp')
-rw-r--r--lib/Bytecode/Reader/AnalyzerWrappers.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/Bytecode/Reader/AnalyzerWrappers.cpp b/lib/Bytecode/Reader/AnalyzerWrappers.cpp
index fd23dc8086..a3cf9f5413 100644
--- a/lib/Bytecode/Reader/AnalyzerWrappers.cpp
+++ b/lib/Bytecode/Reader/AnalyzerWrappers.cpp
@@ -293,21 +293,27 @@ void llvm::PrintBytecodeAnalysis(BytecodeAnalysis& bca, std::ostream& Out )
double(bca.BlockSizes[BytecodeFormat::CompactionTable]),
double(bca.byteSize));
- std::map<unsigned,BytecodeAnalysis::BytecodeFunctionInfo>::iterator I =
+ std::map<const Function*,BytecodeAnalysis::BytecodeFunctionInfo>::iterator I =
bca.FunctionInfo.begin();
- std::map<unsigned,BytecodeAnalysis::BytecodeFunctionInfo>::iterator E =
+ std::map<const Function*,BytecodeAnalysis::BytecodeFunctionInfo>::iterator E =
bca.FunctionInfo.end();
while ( I != E ) {
Out << std::left << std::setw(0);
- Out << "Function: " << I->second.name << " Slot=" << I->first << "\n";
- print(Out,"Type:", I->second.description);
- print(Out,"Byte Size", I->second.byteSize);
- print(Out,"Instructions", I->second.numInstructions);
- print(Out,"Basic Blocks", I->second.numBasicBlocks);
- print(Out,"Operand", I->second.numOperands);
- print(Out,"Function Density", I->second.density);
- print(Out,"VBR Effectiveness", I->second.vbrEffectiveness);
+ Out << "Function: " << I->second.name << "\n";
+ print(Out, "Type:", I->second.description);
+ print(Out, "Byte Size", I->second.byteSize);
+ print(Out, "Instructions", I->second.numInstructions);
+ print(Out, "Basic Blocks", I->second.numBasicBlocks);
+ print(Out, "Operand", I->second.numOperands);
+ print(Out, "Function Density", I->second.density);
+ print(Out, "Number of VBR 32-bit Integers", I->second.vbrCount32);
+ print(Out, "Number of VBR 64-bit Integers", I->second.vbrCount64);
+ print(Out, "Number of VBR Compressed Bytes", I->second.vbrCompBytes);
+ print(Out, "Number of VBR Expanded Bytes", I->second.vbrExpdBytes);
+ print(Out, "VBR Savings",
+ double(I->second.vbrExpdBytes)-double(I->second.vbrCompBytes),
+ double(I->second.byteSize));
++I;
}
}