Expand description
The EVM backend: the reference Backend
implementation, lowering MIR to EVM bytecode.
This module contains:
EvmCodegen: The main EVM code generatorir: Machine-level EVM instructions and block metadataAssembler: Two-pass assembler with label resolution and instruction peepholesstack: Stack scheduling for DUP/SWAP generation
Re-exports§
pub use ir::EVM_IR_PASSES;pub use ir::EvmIrBlock;pub use ir::EvmIrBlockHotness;pub use ir::EvmIrBlockId;pub use ir::EvmIrBlockMetadata;pub use ir::EvmIrInstruction;pub use ir::EvmIrInstructionKind;pub use ir::EvmIrMetadata;pub use ir::EvmIrMetadataItem;pub use ir::EvmIrModule;pub use ir::EvmIrOperand;pub use ir::EvmIrParseError;pub use ir::EvmIrPass;pub use ir::EvmIrStackEffect;pub use ir::EvmIrStackOp;pub use ir::EvmIrTerminator;pub use ir::EvmIrTerminatorKind;pub use ir::EvmIrValue;pub use ir::EvmIrValueId;pub use ir::EvmIrVerifyError;pub use ir::parse_evm_ir_module;pub use ir::verify_evm_ir_module;pub use assembler::AssembledCode;pub use assembler::Assembler;pub use assembler::AssemblerConfig;pub use assembler::Label;pub use stack::SpillManager;pub use stack::SpillSlot;pub use stack::StackModel;pub use stack::StackScheduler;
Modules§
- assembler
- Two-pass assembler with label resolution.
- ir
- EVM backend IR.
- stack
- Stack scheduling for EVM code generation.
Structs§
- EvmArtifact
- The artifact produced by the EVM backend: deployment and runtime bytecode.
- EvmCodegen
- EVM code generator.
- EvmCodegen
Config - Configuration for the EVM backend.