Bitcode: ArrayRef-ize EmitRecordWithAbbrev(), NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 9 Sep 2015 00:34:25 +0000 (00:34 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 9 Sep 2015 00:34:25 +0000 (00:34 +0000)
Change `EmitRecordWithAbbrev()` and friends to take an `ArrayRef<T>`
instead of requiring a `SmallVectorImpl<T>`.  No functionality change
intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247107 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bitcode/BitstreamWriter.h

index 9f23023a14199fe030a5871cfeba7ad18413a237..ac7a7cf9aa83a64792e546a5510620467eb9a6f0 100644 (file)
@@ -15,6 +15,7 @@
 #ifndef LLVM_BITCODE_BITSTREAMWRITER_H
 #define LLVM_BITCODE_BITSTREAMWRITER_H
 
+#include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Bitcode/BitCodes.h"
@@ -286,8 +287,8 @@ private:
   /// 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
   /// known to exist at the end of the record.
-  template<typename uintty>
-  void EmitRecordWithAbbrevImpl(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
+  template <typename uintty>
+  void EmitRecordWithAbbrevImpl(unsigned Abbrev, ArrayRef<uintty> Vals,
                                 StringRef Blob) {
     const char *BlobData = Blob.data();
     unsigned BlobLen = (unsigned) Blob.size();
@@ -398,14 +399,14 @@ public:
     // Insert the code into Vals to treat it uniformly.
     Vals.insert(Vals.begin(), Code);
 
-    EmitRecordWithAbbrev(Abbrev, Vals);
+    EmitRecordWithAbbrev(Abbrev, makeArrayRef(Vals));
   }
 
   /// EmitRecordWithAbbrev - Emit a record with the specified abbreviation.
   /// Unlike EmitRecord, the code for the record should be included in Vals as
   /// the first entry.
-  template<typename uintty>
-  void EmitRecordWithAbbrev(unsigned Abbrev, SmallVectorImpl<uintty> &Vals) {
+  template <typename uintty>
+  void EmitRecordWithAbbrev(unsigned Abbrev, ArrayRef<uintty> Vals) {
     EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef());
   }
 
@@ -414,27 +415,27 @@ public:
   /// 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
   /// of the record.
-  template<typename uintty>
-  void EmitRecordWithBlob(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
+  template <typename uintty>
+  void EmitRecordWithBlob(unsigned Abbrev, ArrayRef<uintty> Vals,
                           StringRef Blob) {
     EmitRecordWithAbbrevImpl(Abbrev, Vals, Blob);
   }
-  template<typename uintty>
-  void EmitRecordWithBlob(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
+  template <typename uintty>
+  void EmitRecordWithBlob(unsigned Abbrev, ArrayRef<uintty> Vals,
                           const char *BlobData, unsigned BlobLen) {
     return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(BlobData, BlobLen));
   }
 
   /// EmitRecordWithArray - Just like EmitRecordWithBlob, works with records
   /// that end with an array.
-  template<typename uintty>
-  void EmitRecordWithArray(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
-                          StringRef Array) {
+  template <typename uintty>
+  void EmitRecordWithArray(unsigned Abbrev, ArrayRef<uintty> Vals,
+                           StringRef Array) {
     EmitRecordWithAbbrevImpl(Abbrev, Vals, Array);
   }
-  template<typename uintty>
-  void EmitRecordWithArray(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
-                          const char *ArrayData, unsigned ArrayLen) {
+  template <typename uintty>
+  void EmitRecordWithArray(unsigned Abbrev, ArrayRef<uintty> Vals,
+                           const char *ArrayData, unsigned ArrayLen) {
     return EmitRecordWithAbbrevImpl(Abbrev, Vals, StringRef(ArrayData,
                                                             ArrayLen));
   }