X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FBitCodeFormat.html;h=15b05230d020712d3ddf43be1ef9e3e169044166;hb=76926b6789e72eb4864dbfc1830b138486281c1d;hp=1c87b888969410db268f9c418b9e6a98b928ed88;hpb=bb7425fafb3ec90895f45e4bb26d135bcf6126ab;p=oota-llvm.git diff --git a/docs/BitCodeFormat.html b/docs/BitCodeFormat.html index 1c87b888969..15b05230d02 100644 --- a/docs/BitCodeFormat.html +++ b/docs/BitCodeFormat.html @@ -461,24 +461,31 @@ emitted as their code, followed by the extra data.

The possible operand encodings are:

- +
  • Blob: This field is emitted as a vbr6, followed by padding to a + 32-bit boundary (for alignment) and an array of 8-bit objects. The array of + bytes is further followed by tail padding to ensure that its total length is + a multiple of 4 bytes. This makes it very efficient for the reader to + decode the data without having to make a copy of it: it can use a pointer to + the data in the mapped in file and poke directly at it. A blob may only + occur as the last operand of an abbreviation.
  • +

    For example, target triples in LLVM modules are encoded as a record of the @@ -500,9 +507,10 @@ as:

    -
    -[4abbrevwidth, 24, 4vbr6, 06, 16, 26, 36]
    -
    +

    +[4abbrevwidth, 24, 4vbr6, 06, +16, 26, 36] +

    These values are:

    @@ -555,6 +563,8 @@ blocks. The currently specified records are:
     [SETBID (#1), blockid]
     [DEFINE_ABBREV, ...]
    +[BLOCKNAME, ...name...]
    +[SETRECORDNAME, RecordID, ...name...]
     
    @@ -574,6 +584,15 @@ in BLOCKINFO blocks receive abbreviation IDs as described in DEFINE_ABBREV.

    +

    The BLOCKNAME can optionally occur in this block. The elements of +the record are the bytes for the string name of the block. llvm-bcanalyzer uses +this to dump out bitcode files symbolically.

    + +

    The SETRECORDNAME record can optionally occur in this block. The +first entry is a record ID number and the rest of the elements of the record are +the bytes for the string name of the record. llvm-bcanalyzer uses +this to dump out bitcode files symbolically.

    +

    Note that although the data in BLOCKINFO blocks is described as "metadata," the abbreviations they contain are essential for parsing records @@ -596,9 +615,10 @@ stored alongside the BC file. The structure of this file header is:

    -
    -[Magic32, Version32, Offset32, Size32, CPUType32]
    -
    +

    +[Magic32, Version32, Offset32, +Size32, CPUType32] +

    @@ -643,9 +663,9 @@ The magic number for LLVM IR files is:

    -
    -[0x04, 0xC4, 0xE4, 0xD4]
    -
    +

    +[0x04, 0xC4, 0xE4, 0xD4] +