| Index: lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsAndAbbrevsDist.cpp
|
| diff --git a/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsAndAbbrevsDist.cpp b/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsAndAbbrevsDist.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ae1d3cbcffa88ef2b7d5b927caa01c9e0d554c52
|
| --- /dev/null
|
| +++ b/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsAndAbbrevsDist.cpp
|
| @@ -0,0 +1,42 @@
|
| +//===- NaClBitcodeBitsAndAbbrevsDist.cpp ------------------*- C++ -*-===//
|
| +// Implements distributions of values with the corresponding
|
| +// number of bits and percentage of abbreviations used in PNaCl
|
| +// bitcode records.
|
| +//
|
| +// The LLVM Compiler Infrastructure
|
| +//
|
| +// This file is distributed under the University of Illinois Open Source
|
| +// License. See LICENSE.TXT for details.
|
| +//
|
| +//===----------------------------------------------------------------------===//
|
| +
|
| +#include "llvm/Bitcode/NaCl/NaClBitcodeBitsAndAbbrevsDist.h"
|
| +
|
| +using namespace llvm;
|
| +
|
| +NaClBitcodeBitsAndAbbrevsDistElement::~NaClBitcodeBitsAndAbbrevsDistElement() {}
|
| +
|
| +void NaClBitcodeBitsAndAbbrevsDistElement::
|
| +AddRecord(const NaClBitcodeRecord &Record) {
|
| + NaClBitcodeBitsDistElement::AddRecord(Record);
|
| + if (Record.UsedAnAbbreviation()) {
|
| + ++NumAbbrevs;
|
| + }
|
| +}
|
| +
|
| +void NaClBitcodeBitsAndAbbrevsDistElement::
|
| +PrintStatsHeader(raw_ostream &Stream) const {
|
| + NaClBitcodeBitsDistElement::PrintStatsHeader(Stream);
|
| + Stream << " % Abv";
|
| +}
|
| +
|
| +void NaClBitcodeBitsAndAbbrevsDistElement::
|
| +PrintRowStats(raw_ostream &Stream,
|
| + const NaClBitcodeDist *Distribution) const {
|
| + NaClBitcodeBitsDistElement::PrintRowStats(Stream, Distribution);
|
| + if (GetNumAbbrevs())
|
| + Stream << format(" %7.2f",
|
| + (double) GetNumAbbrevs()/GetNumInstances()*100.0);
|
| + else
|
| + Stream << " ";
|
| +}
|
|
|