This is an archive of the discontinued LLVM Phabricator instance.

Bitcode: Maintain block info block abbreviations in the BitstreamCursor.
AbandonedPublic

Authored by pcc on Oct 28 2016, 3:27 PM.

Details

Summary

This will be necessary in order to correctly interpret bitcode inputs
containing multiple block info blocks.

At this point BitstreamReader is not much more than a container for a
MemoryObject; once MemoryObject is removed [0] I would also like to remove
BitstreamReader and change BitstreamCursor to hold a memory buffer directly.

[0] http://lists.llvm.org/pipermail/llvm-dev/2016-October/106595.html

Event Timeline

pcc updated this revision to Diff 76260.Oct 28 2016, 3:27 PM
pcc retitled this revision from to Bitcode: Maintain block info block abbreviations in the BitstreamCursor..
pcc updated this object.
pcc added a reviewer: mehdi_amini.
pcc added a subscriber: llvm-commits.
mehdi_amini edited edge metadata.Oct 28 2016, 4:38 PM

I think this is basically like "merging" responsibility from the bitstream reader and the cursor into the cursor. The cursor isn't just a "position" in the stream with the "bitstreamreader" in charge of keeping the "context".
If this is correct, I'm not against it but at least you should reflect it in the class documentation.

Also added Duncan for an extra opinion here.

ABataev added inline comments.
llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
86

%s/GetBlockName/getBlockName/g

pcc abandoned this revision.Nov 2 2016, 2:00 PM

Obsoleted by D26259