[PATCH] D26219: Bitcode: Change reader interface to take memory buffers.

Mehdi AMINI via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 1 16:24:28 PDT 2016


mehdi_amini added a comment.





================
Comment at: llvm/include/llvm/Bitcode/BitstreamReader.h:63
 public:
-  BitstreamReader() : IgnoreBlockInfoNames(true) {
-  }
-
-  BitstreamReader(const unsigned char *Start, const unsigned char *End)
-      : IgnoreBlockInfoNames(true) {
-    init(Start, End);
-  }
-
-  BitstreamReader(std::unique_ptr<MemoryObject> BitcodeBytes)
-      : BitcodeBytes(std::move(BitcodeBytes)), IgnoreBlockInfoNames(true) {}
-
-  void init(const unsigned char *Start, const unsigned char *End) {
-    assert(((End-Start) & 3) == 0 &&"Bitcode stream not a multiple of 4 bytes");
-    BitcodeBytes.reset(getNonStreamedMemoryObject(Start, End));
-  }
-
-  MemoryObject &getBitcodeBytes() { return *BitcodeBytes; }
+  BitstreamReader() {}
+  BitstreamReader(ArrayRef<uint8_t> BitcodeBytes)
----------------
`= default;` ?


================
Comment at: llvm/include/llvm/Bitcode/BitstreamReader.h:69
+            reinterpret_cast<const uint8_t *>(BitcodeBytes.getBufferStart()),
+            BitcodeBytes.getBufferSize()) {}
+  BitstreamReader(StringRef BitcodeBytes)
----------------
You can forward to the next ctor:

```
BitstreamReader(MemoryBufferRef BitcodeBytes)
      : BitstreamReader(BitcodeBytes.getBuffer()) {}
```


================
Comment at: llvm/lib/Bitcode/Reader/BitcodeReader.cpp:235
 protected:
-  BitcodeReaderBase() = default;
   BitcodeReaderBase(MemoryBuffer *Buffer) : Buffer(Buffer) {}
----------------
Is this related to this commit?


================
Comment at: llvm/lib/Bitcode/Reader/BitcodeReader.cpp:402
   BitcodeReader(MemoryBuffer *Buffer, LLVMContext &Context);
-  BitcodeReader(LLVMContext &Context);
   ~BitcodeReader() override { freeState(); }
----------------
Is this related to this change or can you remove this as a pre-commit?


https://reviews.llvm.org/D26219





More information about the llvm-commits mailing list