Expand description
Mid-level Intermediate Representation (MIR).
MIR is an SSA-form IR that sits between HIR and EVM bytecode.
Structs§
- Basic
Block - A basic block in the MIR.
- BlockId
- A unique identifier for a basic block in the MIR.
- Data
Segment - A data segment in the module.
- Function
- A function in the MIR.
- Function
Attributes - Function attributes.
- Function
Builder - A builder for constructing MIR functions.
- Function
Id - A unique identifier for a function in the MIR.
- Immutable
Slot - An immutable value staged in constructor scratch memory and patched into the runtime code’s immutable placeholders at deploy time.
- InstId
- A unique identifier for an instruction in the MIR.
- Instruction
- An instruction in the MIR.
- Instruction
Metadata - Extra information attached to a MIR instruction by lowering or analysis passes.
- Module
- A MIR module representing a compiled contract.
- Parse
Error - An error produced while parsing textual MIR.
- Storage
Slot - A storage slot in the contract.
- ValueId
- A unique identifier for a value in the MIR.
Enums§
- Effect
Kind - Conservative side-effect class for an instruction.
- Immediate
- An immediate constant value.
- Inst
Kind - The kind of an instruction.
- Memory
Region - A coarse memory region understood by MIR analyses.
- MirType
- Types used in MIR.
- Storage
Alias - A conservative storage alias key.
- Terminator
- A block terminator instruction.
- Value
- An SSA value in the MIR.
Constants§
- IMMUTABLE_
WORD_ SIZE - Current immutable staging and placeholder width.
Functions§
- parse_
function - Parses a single textual MIR function.
- parse_
module - Parses a textual MIR module.