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

feat: parse globals in SSA parser #7112

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Conversation

asterite
Copy link
Collaborator

Description

Problem

Resolves #7082

Summary

Additional Context

Documentation

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Contributor

github-actions bot commented Jan 17, 2025

Compilation Report

Program Compilation Time %
sha256_regression 1.090s 5%
regression_4709 0.875s 8%
ram_blowup_regression 16.500s 2%
rollup-root 3.960s 11%
rollup-merge 2.122s 2%
rollup-block-root-single-tx 149.000s 2%
rollup-block-root-empty 2.106s 1%
rollup-block-root 137.000s -2%
rollup-block-merge 3.722s 6%
rollup-base-public 28.020s 1%
rollup-base-private 10.216s 0%
private-kernel-tail 0.945s -7%
private-kernel-reset 6.088s 0%
private-kernel-inner 1.996s -4%

Copy link
Contributor

github-actions bot commented Jan 17, 2025

Execution Report

Program Execution Time %
sha256_regression 0.056s 5%
regression_4709 0.001s 0%
ram_blowup_regression 0.601s 1%
rollup-root 0.107s 2%
rollup-merge 0.007s 0%
rollup-block-root 38.300s 0%
rollup-block-merge 0.105s 0%
rollup-base-public 1.220s 0%
rollup-base-private 0.452s 0%
private-kernel-tail 0.022s 15%
private-kernel-reset 0.311s 0%
private-kernel-inner 0.068s 0%

Copy link
Contributor

github-actions bot commented Jan 17, 2025

Execution Memory Report

Program Peak Memory
keccak256 74.630
workspace 123.720
regression_4709 315.940
ram_blowup_regression 512.570
rollup-root 498.700
rollup-merge 473.340
rollup-block-root 1230.000
rollup-block-merge 498.710
rollup-base-public 734.390
rollup-base-private 590.800
private-kernel-tail 180.840
private-kernel-reset 245.440
private-kernel-inner 208.840

@asterite asterite requested a review from a team January 17, 2025 21:06
Copy link
Contributor

github-actions bot commented Jan 17, 2025

Compilation Memory Report

Program Peak Memory
keccak256 77.560
workspace 123.850
regression_4709 424.070
ram_blowup_regression 1460.000
rollup-root 601.590
rollup-merge 494.440
rollup-block-root-single-tx 16060.000
rollup-block-root-empty 489.060
rollup-block-root 16070.000
rollup-block-merge 601.590
rollup-base-public 2380.000
rollup-base-private 1140.000
private-kernel-tail 207.250
private-kernel-reset 584.400
private-kernel-inner 294.620

Copy link
Contributor

@vezenovm vezenovm left a comment

Choose a reason for hiding this comment

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

LGTM! Thank you for this PR!

@vezenovm vezenovm enabled auto-merge January 17, 2025 21:47
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.10.

Benchmark suite Current: 434df26 Previous: dd70845 Ratio
rollup-root 3.96 s 3.566 s 1.11

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@asterite asterite disabled auto-merge January 17, 2025 22:42
@asterite
Copy link
Collaborator Author

In the end I missed that you have to declare globals in every function using make_global. Now it almost works but the GlobalsGraph still need to be set on every function, and that's why printing currently fails. I tried changing how printing works but that's wrong so I reverted it. I'll continue on Monday :-)

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.10.

Benchmark suite Current: 434df26 Previous: dd70845 Ratio
private-kernel-tail 0.022 s 0.019 s 1.16

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@asterite
Copy link
Collaborator Author

Done! Asking for a re-review just to check I got globals setting right. It seems we need to set:

  1. Ssa.globals
  2. A GlobalsGraph on each function
  3. Call make_global for every globals on each function

@asterite asterite requested a review from vezenovm January 20, 2025 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📋 Backlog
Development

Successfully merging this pull request may close these issues.

Add globals to the SSA parser
2 participants