Module unroll

Module unroll 

Source
Expand description

Routines and structures for “unrolling” a Bitstream into a block-and-record hierarchy.

Structs§

BitcodeModule
A BitcodeModule encapsulates the top-level pieces of bitstream state needed for a single LLVM bitcode module: the IDENTIFICATION_BLOCK, the MODULE_BLOCK itself, a STRTAB_BLOCK, and a SYMTAB_BLOCK (if the last is present). A bitstream can contain multiple LLVM modules (e.g. if produced by llvm-cat -b), so parsing a bitstream can result in multiple BitcodeModules.
UnrolledBitcode
A fully unrolled bitcode structure, taken from a bitstream.
UnrolledBlock
A fully unrolled block within the bitstream, with potential records and sub-blocks.
UnrolledBlocks
Represents a collection of unrolled blocks.
UnrolledRecord
An “unrolled” record. This is internally indistinguishable from a raw bitstream Record, but is newtyped to enforce proper isolation of concerns.
UnrolledRecords
Represents a collection of unrolled records.

Enums§

ConsistencyError
Errors that can occur when attempting to search for blocks and records within an unrolled bitstream.