Expand description
LLVM 3.7 IR as DXIL stores it, read from the bitstream tree: the type table, module values (globals, functions, constants), metadata, value names and function bodies. Only what DXIL programs use is decoded; any other record in a function body is refused by name. The blocks of a function body that say nothing a reader of the program’s behaviour needs (its metadata, the metadata attached to its instructions and its use-list order) are the only things skipped.
Structs§
- Function
- A function body.
- Instruction
- An instruction of a function body.
- Module
- A module: its types, values, metadata and function bodies.
Enums§
- Binary
Op - A binary operator code (LLVM’s
BinaryOpcodes). - CastOp
- A cast opcode (LLVM’s
CastOpcodes). - Constant
- A module-level constant.
- Metadata
- A metadata record.
- Op
- An instruction, with the value ids (absolute) and block numbers it names.
- Type
- A type of the module’s type table.
- Value
- A value the module numbers.
Type Aliases§
- Metadata
Id - An index into
Module::metadata. - TypeId
- An index into
Module::types. - ValueId
- An index into the values: the module’s
Module::values, then a function body’s ownFunction::locals.