Peter Collingbourne via llvm-dev
2016-Oct-28 17:08 UTC
[llvm-dev] RFC: Removing the DataStreamer and MemoryObject interfaces
Hi all, BitstreamReader is the only in-tree client of the DataStreamer and MemoryObject interfaces. In practice when using user-facing LLVM tools, the bitcode will normally either be in memory or in a file, so the best way to access it is through memory, either directly or memory mapped. As part of some refactorings I am making to BitstreamReader, I would like to simplify it by changing it to use a memory buffer directly and then removing the DataStreamer and MemoryObject interfaces. My understanding that the only significant user of that interface as designed (for network streaming) is PNaCl, however it looks like removing this interface would not impose a significant burden on that project; they are already maintaining a couple of forks of BitstreamReader [1] so it would appear that the only change necessary on their side would be to also fork the interfaces. If you are aware of any other significant users, please speak up! Thanks, -- -- Peter [1] https://chromium.googlesource.com/native_client/pnacl-llvm/+/master/ include/llvm/Bitcode/NaCl/NaClBitstreamReader.h https://chromium.googlesource.com/native_client/pnacl-subzero/+/master/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161028/713bee20/attachment.html>
Peter Collingbourne via llvm-dev
2016-Oct-28 17:14 UTC
[llvm-dev] RFC: Removing the DataStreamer and MemoryObject interfaces
And on a separate thread [0] Derek indicated he'd be fine with removing it. I'll leave this thread open until end of Monday to receive any other opinions, then proceed to remove it. Peter [0] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20161024/400754.html On Fri, Oct 28, 2016 at 10:08 AM, Peter Collingbourne <peter at pcc.me.uk> wrote:> Hi all, > > BitstreamReader is the only in-tree client of the DataStreamer and > MemoryObject interfaces. In practice when using user-facing LLVM tools, the > bitcode will normally either be in memory or in a file, so the best way to > access it is through memory, either directly or memory mapped. > > As part of some refactorings I am making to BitstreamReader, I would like > to simplify it by changing it to use a memory buffer directly and then > removing the DataStreamer and MemoryObject interfaces. > > My understanding that the only significant user of that interface as > designed (for network streaming) is PNaCl, however it looks like removing > this interface would not impose a significant burden on that project; they > are already maintaining a couple of forks of BitstreamReader [1] so it > would appear that the only change necessary on their side would be to also > fork the interfaces. > > If you are aware of any other significant users, please speak up! > > Thanks, > -- > -- > Peter > > [1] https://chromium.googlesource.com/native_client/pnacl- > llvm/+/master/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h > https://chromium.googlesource.com/native_client/pnacl-subzero/+/master/ > pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h >-- -- Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161028/330ace0a/attachment.html>
Rafael EspĂndola via llvm-dev
2016-Oct-28 20:18 UTC
[llvm-dev] RFC: Removing the DataStreamer and MemoryObject interfaces
Awesome! Thanks, Rafael On 28 October 2016 at 13:14, Peter Collingbourne <peter at pcc.me.uk> wrote:> And on a separate thread [0] Derek indicated he'd be fine with removing it. > I'll leave this thread open until end of Monday to receive any other > opinions, then proceed to remove it. > > Peter > > [0] > http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20161024/400754.html > > On Fri, Oct 28, 2016 at 10:08 AM, Peter Collingbourne <peter at pcc.me.uk> > wrote: >> >> Hi all, >> >> BitstreamReader is the only in-tree client of the DataStreamer and >> MemoryObject interfaces. In practice when using user-facing LLVM tools, the >> bitcode will normally either be in memory or in a file, so the best way to >> access it is through memory, either directly or memory mapped. >> >> As part of some refactorings I am making to BitstreamReader, I would like >> to simplify it by changing it to use a memory buffer directly and then >> removing the DataStreamer and MemoryObject interfaces. >> >> My understanding that the only significant user of that interface as >> designed (for network streaming) is PNaCl, however it looks like removing >> this interface would not impose a significant burden on that project; they >> are already maintaining a couple of forks of BitstreamReader [1] so it would >> appear that the only change necessary on their side would be to also fork >> the interfaces. >> >> If you are aware of any other significant users, please speak up! >> >> Thanks, >> -- >> -- >> Peter >> >> [1] >> https://chromium.googlesource.com/native_client/pnacl-llvm/+/master/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h >> https://chromium.googlesource.com/native_client/pnacl-subzero/+/master/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h > > > > > -- > -- > Peter
Possibly Parallel Threads
- RFC: Removing the DataStreamer and MemoryObject interfaces
- RFC: Removing the DataStreamer and MemoryObject interfaces
- [LLVMdev] Proposal: Adding aligned instruction bundle support to MC
- [LLVMdev] prevent frontend from emitting i64
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR