vyperlang / vyper

Pythonic Smart Contract Language for the EVM
https://vyperlang.org
Other
4.91k stars 802 forks source link

meta: venom IR roadmap #3980

Open harkal opened 6 months ago

harkal commented 6 months ago

Roadmap for the Venom Intermediate Representation Language

Overview

The "Venom" intermediate representation (IR) language is an initiative to enhance the compilation process of the Vyper compiler. The goal is to transition from the existing s-expression based IR to a more efficient, flexible and optimized Venom IR.

Current Status

Currently, "Venom" is being developed as a new form of IR that translates from the existing s-expression based IR. This approach allows for incremental refinement and integration into the existing compilation pipeline.

Proposed Roadmap

Phase 1: Venom IR Development

Phase 2: Implement Basic Optimizations

Phase 3: Advanced Optimizations and Transition

Phase 4: Performance Testing and Benchmarking

Phase 5: Full Integration and Decommission of s-expression IR

Contributing

We welcome contributors to participate at all stages, particularly in the areas of optimization development and testing. Please refer to the project's GitHub repository for detailed contribution guidelines.

charles-cooper commented 6 months ago

we should get the venom optimizer to feature parity with the IRnode optimizer, so we can disable the IRnode optimizer without any performance regressions