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

[experimental] Export yul cfg to json #15180

Merged
merged 1 commit into from
Aug 29, 2024
Merged

[experimental] Export yul cfg to json #15180

merged 1 commit into from
Aug 29, 2024

Conversation

r0qs
Copy link
Member

@r0qs r0qs commented Jun 4, 2024

Depends on #15359

Test with:

solc --ir-optimized --optimize --yul-cfg-json --pretty-json test/benchmarks/verifier.sol

Or in assembler mode:

solc --strict-assembly --ir-optimized --optimize --yul-cfg-json --pretty-json test/libyul/yulStackLayout/if.yul

TODO:

  • command-line tests
  • Fix Yul switch statements (still contains GHOST and TMP slots)
    • TMP variables were removed, the GHOST variables may not be a problem after all.
  • convert to SSA form

@r0qs r0qs requested a review from ekpyron June 4, 2024 14:31
@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Jun 21, 2024
@ethereum ethereum deleted a comment from github-actions bot Jun 21, 2024
@r0qs r0qs added must have eventually Something we consider essential but not enough to prevent us from releasing Solidity 1.0 without it. epic and removed stale The issue/PR was marked as stale because it has been open for too long. must have eventually Something we consider essential but not enough to prevent us from releasing Solidity 1.0 without it. labels Jun 21, 2024
@r0qs r0qs force-pushed the export-yul-cfg-json branch 3 times, most recently from b30c404 to dec8e3a Compare June 26, 2024 12:10
@r0qs r0qs self-assigned this Jun 28, 2024
@r0qs r0qs force-pushed the export-yul-cfg-json branch 2 times, most recently from 47156a3 to cf8b262 Compare July 9, 2024 13:57
@r0qs r0qs force-pushed the export-yul-cfg-json branch 4 times, most recently from 123532c to f533ec6 Compare August 6, 2024 14:30
@r0qs r0qs force-pushed the export-yul-cfg-json branch 6 times, most recently from 2a930c0 to a6f3a88 Compare August 13, 2024 10:37
@r0qs r0qs changed the base branch from develop to ssaCfg August 20, 2024 12:33
@r0qs r0qs added the has dependencies The PR depends on other PRs that must be merged first label Aug 20, 2024
@r0qs r0qs force-pushed the export-yul-cfg-json branch 2 times, most recently from 5b6983b to 6190a8c Compare August 21, 2024 12:12
@r0qs r0qs marked this pull request as ready for review August 26, 2024 13:21
@r0qs r0qs force-pushed the export-yul-cfg-json branch 2 times, most recently from 0229d8b to 08f709f Compare August 27, 2024 14:59
@r0qs r0qs force-pushed the ssaCfg branch 2 times, most recently from cc26966 to 253c89b Compare August 28, 2024 13:27
@r0qs r0qs force-pushed the export-yul-cfg-json branch 3 times, most recently from 1b5c409 to d052708 Compare August 28, 2024 13:58
Base automatically changed from ssaCfg to develop August 29, 2024 15:13
Copy link
Member

@ekpyron ekpyron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The existing tests for * output selection not changing confirm that this is hidden unless undocumented output selections or cli options are used, so I'm approving despite the lack of testing for now - we can let the GreY project play with it on the next release and work towards refining, stabilizing and testing it more properly later.

@clonker clonker merged commit ae1c3d4 into develop Aug 29, 2024
72 checks passed
@clonker clonker deleted the export-yul-cfg-json branch August 29, 2024 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic has dependencies The PR depends on other PRs that must be merged first 🟡 PR review label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants