`via IR` speedrun
summary
Solidity compiler adds a ULE intermediate stage and ULE optimizer before existing EVM assembly and optimizer, producing bytecode with slightly lower gas on average but noticeably longer compile times. Plan is to flip it to via IR default June 2024 (v0.9) once the new debug-data format is ready. Results: a significant reduction in stack-too-deep errors, inline assembly needs a memory-safe annotation, Legacy pipeline stays available.
AI-written summary · about
chapters (9)
- 0:00VI IR pipeline introduction
- 2:51VI IR pipeline disadvantages
- 4:18VI IR pipeline advantages
- 5:42VI IR future plans
- 7:48Why VI IR introduced
- 10:22Why not LLVM for VI IR
- 11:02Code compatibility between pipelines
- 12:26Impact on inline assembly
- 14:13Impact on decompilers and debugging
related talks
30mThe Solidity Optimizooooor
23mGenerating EVM Bytecode from Yul in the new via IR Pipeline
37mSolidity in 2022: Recent and Planned Features
25msolx: an LLVM-based Solidity toolchain
28mSSA CFG Yul A new viaIR backend
10mA quick view into a compiler
26mAn MLIR Dialect for WebAssembly
23mSynthesizing Efficient Super-Instruction Sets for Ethereum Virtual Machine
