Revert "Bitcode: ArrayRef-ize EmitRecordWithAbbrev(), NFC"

This reverts commit r247107.  Turns out clang calls these functions
directly, and `ArrayRef<T>` doesn't have a working implicit conversion
from `SmallVector<T>`.

http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_build/14247

llvm-svn: 247108
This commit is contained in:
Duncan P. N. Exon Smith 2015-09-09 00:37:52 +00:00
parent 98b3cd9280
commit 78b66ecd70
1 changed files with 15 additions and 16 deletions

View File

@ -15,7 +15,6 @@
#ifndef LLVM_BITCODE_BITSTREAMWRITER_H #ifndef LLVM_BITCODE_BITSTREAMWRITER_H
#define LLVM_BITCODE_BITSTREAMWRITER_H #define LLVM_BITCODE_BITSTREAMWRITER_H
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringRef.h"
#include "llvm/Bitcode/BitCodes.h" #include "llvm/Bitcode/BitCodes.h"
@ -287,8 +286,8 @@ private:
/// emission code. If BlobData is non-null, then it specifies an array of /// emission code. If BlobData is non-null, then it specifies an array of
/// data that should be emitted as part of the Blob or Array operand that is /// data that should be emitted as part of the Blob or Array operand that is
/// known to exist at the end of the record. /// known to exist at the end of the record.
template <typename uintty> template<typename uintty>
void EmitRecordWithAbbrevImpl(unsigned Abbrev, ArrayRef<uintty> Vals, void EmitRecordWithAbbrevImpl(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
StringRef Blob) { StringRef Blob) {
const char *BlobData = Blob.data(); const char *BlobData = Blob.data();
unsigned BlobLen = (unsigned) Blob.size(); unsigned BlobLen = (unsigned) Blob.size();
@ -399,14 +398,14 @@ public:
// Insert the code into Vals to treat it uniformly. // Insert the code into Vals to treat it uniformly.
Vals.insert(Vals.begin(), Code); Vals.insert(Vals.begin(), Code);
EmitRecordWithAbbrev(Abbrev, makeArrayRef(Vals)); EmitRecordWithAbbrev(Abbrev, Vals);
} }
/// EmitRecordWithAbbrev - Emit a record with the specified abbreviation. /// EmitRecordWithAbbrev - Emit a record with the specified abbreviation.
/// Unlike EmitRecord, the code for the record should be included in Vals as /// Unlike EmitRecord, the code for the record should be included in Vals as
/// the first entry. /// the first entry.
template <typename uintty> template<typename uintty>
void EmitRecordWithAbbrev(unsigned Abbrev, ArrayRef<uintty> Vals) { void EmitRecordWithAbbrev(unsigned Abbrev, SmallVectorImpl<uintty> &Vals) {
EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef()); EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef());
} }
@ -415,27 +414,27 @@ public:
/// specified by the pointer and length specified at the end. In contrast to /// specified by the pointer and length specified at the end. In contrast to
/// EmitRecord, this routine expects that the first entry in Vals is the code /// EmitRecord, this routine expects that the first entry in Vals is the code
/// of the record. /// of the record.
template <typename uintty> template<typename uintty>
void EmitRecordWithBlob(unsigned Abbrev, ArrayRef<uintty> Vals, void EmitRecordWithBlob(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
StringRef Blob) { StringRef Blob) {
EmitRecordWithAbbrevImpl(Abbrev, Vals, Blob); EmitRecordWithAbbrevImpl(Abbrev, Vals, Blob);
} }
template <typename uintty> template<typename uintty>
void EmitRecordWithBlob(unsigned Abbrev, ArrayRef<uintty> Vals, void EmitRecordWithBlob(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
const char *BlobData, unsigned BlobLen) { const char *BlobData, unsigned BlobLen) {
return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(BlobData, BlobLen)); return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(BlobData, BlobLen));
} }
/// EmitRecordWithArray - Just like EmitRecordWithBlob, works with records /// EmitRecordWithArray - Just like EmitRecordWithBlob, works with records
/// that end with an array. /// that end with an array.
template <typename uintty> template<typename uintty>
void EmitRecordWithArray(unsigned Abbrev, ArrayRef<uintty> Vals, void EmitRecordWithArray(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
StringRef Array) { StringRef Array) {
EmitRecordWithAbbrevImpl(Abbrev, Vals, Array); EmitRecordWithAbbrevImpl(Abbrev, Vals, Array);
} }
template <typename uintty> template<typename uintty>
void EmitRecordWithArray(unsigned Abbrev, ArrayRef<uintty> Vals, void EmitRecordWithArray(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
const char *ArrayData, unsigned ArrayLen) { const char *ArrayData, unsigned ArrayLen) {
return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(ArrayData, return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(ArrayData,
ArrayLen)); ArrayLen));
} }