| Index: lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsDist.cpp
|
| diff --git a/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsDist.cpp b/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsDist.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a8bb6db4830c6af106bdd282cd1e7d4f4fae9972
|
| --- /dev/null
|
| +++ b/lib/Bitcode/NaCl/Analysis/NaClBitcodeBitsDist.cpp
|
| @@ -0,0 +1,40 @@
|
| +//===- NaClBitcodeBitsDist.cpp ----------------------------------*- C++ -*-===//
|
| +// Implements distributions of values with the corresponding number
|
| +// of bits in PNaCl bitcode.
|
| +//
|
| +// 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/NaClBitcodeBitsDist.h"
|
| +
|
| +using namespace llvm;
|
| +
|
| +NaClBitcodeBitsDistElement::~NaClBitcodeBitsDistElement() {}
|
| +
|
| +void NaClBitcodeBitsDistElement::AddRecord(const NaClBitcodeRecord &Record) {
|
| + NaClBitcodeDistElement::AddRecord(Record);
|
| + TotalBits += Record.GetNumBits();
|
| +}
|
| +
|
| +void NaClBitcodeBitsDistElement::AddBlock(const NaClBitcodeBlock &Block) {
|
| + NaClBitcodeDistElement::AddBlock(Block);
|
| + TotalBits += Block.GetLocalNumBits();
|
| +}
|
| +
|
| +void NaClBitcodeBitsDistElement::PrintStatsHeader(raw_ostream &Stream) const {
|
| + NaClBitcodeDistElement::PrintStatsHeader(Stream);
|
| + Stream << " # Bits Bits/Elmt";
|
| +}
|
| +
|
| +void NaClBitcodeBitsDistElement::
|
| +PrintRowStats(raw_ostream &Stream,
|
| + const NaClBitcodeDist *Distribution) const {
|
| + NaClBitcodeDistElement::PrintRowStats(Stream, Distribution);
|
| + Stream << format(" %9lu %12.2f",
|
| + (unsigned long) GetTotalBits(),
|
| + (double) GetTotalBits()/GetNumInstances());
|
| +}
|
|
|