7 Commits

Author SHA1 Message Date
Chris Lattner
9221b8fdac wean Blob handling logic off of banging on NextChar directly. Instead, make
it reason about the current bit position, which is always independent of the
underlying cursors word size.

llvm-svn: 173063
2013-01-21 18:18:25 +00:00
Chris Lattner
e1817aae5f rename "SkipToWord" to "SkipToFourByteBoundary" since a word is not always 4 bytes.
llvm-svn: 173062
2013-01-21 18:04:19 +00:00
Chris Lattner
27d3875027 convert the bitstream reader itself and the IR .bc file parser to use the new advance() APIs,
simplifying things and making a bunch of details more private to BitstreamCursor.

llvm-svn: 172947
2013-01-20 02:13:19 +00:00
Chris Lattner
3cf49cf265 stringref'ize readRecord and properly capitalize it. Add a compatibility method to easy
the transition.

llvm-svn: 172940
2013-01-20 01:06:48 +00:00
Chris Lattner
5ba7bcac6b move some private methods out of line, add a skipRecord() method.
llvm-svn: 172931
2013-01-20 00:00:00 +00:00
Chris Lattner
ab7701749c Add a new BitstreamEntry concept, and add two helper methods for walking
through a BitstreamCursor that produce it: advance() and 
advanceSkippingSubblocks(), representing the two most common ways clients
want to walk through bitcode.

llvm-svn: 172919
2013-01-19 21:35:24 +00:00
Chris Lattner
59c3abc6ef BitstreamReader hasn't aged well. It's been hacked on by various people and
has past the point of making sense.  Lets tidy things up: first step, moving
a ton of big functions out of line.

llvm-svn: 172904
2013-01-19 18:19:39 +00:00