Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enough Debugging data for tools to switch to via-IR #13720

Open
4 of 6 tasks
NunoFilipeSantos opened this issue Nov 17, 2022 · 7 comments
Open
4 of 6 tasks

Enough Debugging data for tools to switch to via-IR #13720

NunoFilipeSantos opened this issue Nov 17, 2022 · 7 comments

Comments

@NunoFilipeSantos
Copy link
Contributor

NunoFilipeSantos commented Nov 17, 2022

What

The via-IR pipeline, especially with enabled optimizer, is hard to process for tools, since it doesn't preserve as many fixed patterns in the bytecode as the legacy pipeline. We want to improve this situation in a forward compatible manner by providing tooling with adequate and sufficient debugging data to reconstruct the relations between Solidity code, Yul code and bytecode.

Why

We consider good tooling support a prerequisite for switching to via-IR by default, which we want to do as soon as possible to reduce our maintenance burden.

How

We initiated a debugging data working group (currently spearheaded by @gnidan and @jtohman), with the goal to get to a consensus among tooling about what debugging information precisely and in which format would be most helpful for tooling. We intend to support this process as much as possible, which will hopefully result in a specification of debugging data, which we will then generate from the compiler.

Tasks

Older issues for consideration

@NunoFilipeSantos NunoFilipeSantos added epic effort Multi-stage task that may require coordination between team members across multiple PRs. viair labels Nov 17, 2022
@NunoFilipeSantos NunoFilipeSantos changed the title Enough Debugging data for tools to switch to via IR Enough Debugging data for tools to switch to via-IR Nov 22, 2022
@cameel cameel added roadmap epic and removed epic effort Multi-stage task that may require coordination between team members across multiple PRs. labels Dec 2, 2022
@cameel
Copy link
Member

cameel commented Dec 2, 2022

We could add #9590 as one of the subtasks here. Yul ASTs were requested at the debug data meeting at Devcon Bogota and I think it's pretty clear we need them. The format is also clear I think (same as the Solidity ASTs, which we already output). This is a bit we could work on even without waiting for other decisions about debug data.

@ekpyron
Copy link
Member

ekpyron commented Feb 13, 2023

Linking this to #12533

@NunoFilipeSantos
Copy link
Contributor Author

We could add #9590 as one of the subtasks here. Yul ASTs were requested at the debug data meeting at Devcon Bogota and I think it's pretty clear we need them. The format is also clear I think (same as the Solidity ASTs, which we already output). This is a bit we could work on even without waiting for other decisions about debug data.

@ekpyron WDYT? Is this small enough, or are we expanding the scope too much?

@ekpyron
Copy link
Member

ekpyron commented Feb 14, 2023

We'll only actually define the scope here properly after the debugging data working group comes back to us at the end of this quarter depending on the outcome of that.

@ekpyron
Copy link
Member

ekpyron commented Feb 14, 2023

But yes, #9590 likely falls under this.

@NunoFilipeSantos
Copy link
Contributor Author

Added to the tasklist.

@ekpyron
Copy link
Member

ekpyron commented Mar 20, 2023

Linking #11043 as well for consideration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🌱 Q2 2024
Development

No branches or pull requests

5 participants