[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