Skip to content

Optimization without dependencies in CompilerStack#15230

Closed
cameel wants to merge 10 commits intomodular-ir-generator-outputfrom
optimization-without-dependencies-in-compiler-stack
Closed

Optimization without dependencies in CompilerStack#15230
cameel wants to merge 10 commits intomodular-ir-generator-outputfrom
optimization-without-dependencies-in-compiler-stack

Conversation

@cameel
Copy link
Collaborator

@cameel cameel commented Jul 1, 2024

Fixes #15179.
Depends on #15229.
Replaces/closes #15182.
Includes commits from #15228.

This PR builds on the refactor from #15229, making CompilerStack actually take advantage of the new structure. IRGeneratorOutput can now be parsed into a partial Yul Object that does not contain dependencies and can also be optimized in this form.

What we have here should already be good enough for #15179, but it we wanted to, we could go one step further and extend it to reusing EVM assemblies, avoiding repeating the Yul->EVM transform.

Status

Mostly done in terms of functionality. Needs resolving a few final snags, some cleanup and testing.

  • Need a less hacky way to bypass dependency checks in Yul analysis.
  • Change in MSize detection inconsistency (can't detect it in dependencies at optimization time but can at assembling time).
  • Should I generate IR source only on demand and work primarily with the partial Objects, without serializing and reparsing them?
  • More testing.

@cameel cameel added performance 🐎 optimizer has dependencies The PR depends on other PRs that must be merged first labels Jul 1, 2024
@cameel cameel self-assigned this Jul 1, 2024
@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Jul 15, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Jul 16, 2024
@argotorg argotorg deleted a comment from github-actions bot Jul 16, 2024
@cameel
Copy link
Collaborator Author

cameel commented Jul 16, 2024

Just like in case of #15182, closing because we won't be merging it. The actual fix is based on caching optimized IR instead.

@cameel cameel closed this Jul 16, 2024
@cameel cameel mentioned this pull request Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

has dependencies The PR depends on other PRs that must be merged first optimizer performance 🐎

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant