diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-06-10 22:00:54 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-06-10 22:00:54 +0000 |
commit | cbb22e218ecffc2c0c03b2fe41f7cd5ca5879c07 (patch) | |
tree | 0077581b8591143a16945c0e11abc3b4c7f5563e /lib/Bytecode/Analyzer/AnalyzerWrappers.cpp | |
parent | 2467a06057df3ce1a76666e0e23b931615f9bd7e (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/Analyzer/AnalyzerWrappers.cpp')
-rw-r--r-- | lib/Bytecode/Analyzer/AnalyzerWrappers.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/Bytecode/Analyzer/AnalyzerWrappers.cpp b/lib/Bytecode/Analyzer/AnalyzerWrappers.cpp index fd23dc8086..a3cf9f5413 100644 --- a/lib/Bytecode/Analyzer/AnalyzerWrappers.cpp +++ b/lib/Bytecode/Analyzer/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; } } |