SSA CFG Yul A new viaIR backend
summary
New SSA+CFG backend replaces the VIR codegen stage and targets big speedups in compiler invocation time after profiling 6,000 Sourcify contracts and finding the U optimizer as the main bottleneck. SSA makes data‑flow queries constant time, enables a top‑down stack layout that handles stack‑too‑deep via controlled memory spilling, and yields EVM bytecode whose gas is currently on par or slightly better than the existing pipeline. A prototype exists and is planned for release under an experimental flag, with fuzzing and bytecode‑equivalence tests using HVM tools.
AI-written summary · about
chapters (11)
- 0:00SSA CFG and VIR backend
- 1:05VIR performance issues
- 3:14Solidity compiler internals
- 7:30SSA form data flow
- 8:56SSA CFG benefits
- 12:13SSA CFG code generation
- 15:07SSA CFG stack layout
- 19:21Stack too deep with SSA
- 22:13SSA CFG implementation
- 23:38Status and future
- 24:00Q&A
related talks
23mGenerating EVM Bytecode from Yul in the new via IR Pipeline
26mSSA Translation Is an Abstract Interpretation
30mThe Solidity Optimizooooor
19mSSA without Dominance for Higher-Order Programs
16m`via IR` speedrun
35m[VIVEKFEST24] Vivek Sarkar (Georgia Tech)
18mSSA is Freyd Categories
18mCompiling with Abstract Interpretation
