blob: 6be5695143849fc49e21de436a9e5c6af2e3e303 [file] [log] [blame] [edit]
//===-- NaClBitcodeAbbrevDist.cpp -------------------------------------------===//
// Implements distribution maps for abbreviations associated with
// 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/NaClBitcodeAbbrevDist.h"
using namespace llvm;
NaClBitcodeAbbrevDistElement::~NaClBitcodeAbbrevDistElement() {}
NaClBitcodeDistElement *NaClBitcodeAbbrevDistElement::CreateElement(
NaClBitcodeDistValue Value) const {
return new NaClBitcodeAbbrevDistElement();
}
void NaClBitcodeAbbrevDistElement::
GetValueList(const NaClBitcodeRecord &Record,
ValueListType &ValueList) const {
ValueList.push_back(Record.GetAbbreviationIndex());
}
void NaClBitcodeAbbrevDistElement::AddRecord(const NaClBitcodeRecord &Record) {
NaClBitcodeDistElement::AddRecord(Record);
CodeDist.AddRecord(Record);
}
const char *NaClBitcodeAbbrevDistElement::GetTitle() const {
return "Abbreviation Indices";
}
const char *NaClBitcodeAbbrevDistElement::GetValueHeader() const {
return " Index";
}
void NaClBitcodeAbbrevDistElement::
PrintRowValue(raw_ostream &Stream,
NaClBitcodeDistValue Value,
const NaClBitcodeDist *Distribution) const {
Stream << format("%7u", Value);
}
const SmallVectorImpl<NaClBitcodeDist*> *NaClBitcodeAbbrevDistElement::
GetNestedDistributions() const {
return &NestedDists;
}
NaClBitcodeAbbrevDistElement NaClBitcodeAbbrevDistElement::Sentinel;
NaClBitcodeAbbrevDist::~NaClBitcodeAbbrevDist() {}
NaClBitcodeDistElement* NaClBitcodeAbbrevDist::
CreateElement(NaClBitcodeDistValue Value) const {
return new NaClBitcodeAbbrevDistElement(BlockID);
}