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

RIR SSA check pass #1358

Merged
merged 3 commits into from
Apr 4, 2024
Merged

RIR SSA check pass #1358

merged 3 commits into from
Apr 4, 2024

Conversation

swernli
Copy link
Collaborator

@swernli swernli commented Apr 4, 2024

This pass checks that the RIR is in Single Static Assignment (SSA) form. The check verifies that each variable is assigned exactly once before it is used, and that phi nodes are used correctly.

The change also updates how successors are calculated for branch instructions that have constant conditions, and updates the tests that used constant conditions to use dynamic bool values instead.

This pass checks that the RIR is in Single Static Assignment (SSA) form. The check verifies that each variable is assigned exactly once before it is used, and that phi nodes are used correctly.

The change also updates how successors are calculated for branch instructions that have constant conditions, and updates the tests that used constant conditions to use dynamic bool values instead.
@swernli swernli mentioned this pull request Apr 4, 2024
64 tasks
Copy link

github-actions bot commented Apr 4, 2024

Benchmark for 2c8b5e3

Click to view benchmark
Test Base PR %
Array append evaluation 338.4±1.53µs 343.4±3.43µs +1.48%
Array literal evaluation 174.5±2.35µs 174.9±1.84µs +0.23%
Array update evaluation 420.3±1.67µs 423.5±3.24µs +0.76%
Core + Standard library compilation 18.7±2.06ms 16.9±0.17ms -9.63%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.2±0.16ms +4.00%
Large file parity evaluation 33.7±0.23ms 34.5±0.43ms +2.37%
Large input file compilation 12.4±0.75ms 11.4±0.35ms -8.06%
Large input file compilation (interpreter) 51.5±3.72ms 45.2±1.79ms -12.23%
Large nested iteration 32.8±0.26ms 33.0±0.23ms +0.61%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1506.2±29.33µs 1515.2±77.99µs +0.60%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.11ms 7.7±0.10ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1426.1±49.77µs 1416.6±27.72µs -0.67%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.4±0.38ms 22.1±0.70ms +3.27%
Teleport evaluation 80.2±3.62µs 85.4±9.01µs +6.48%

Copy link

github-actions bot commented Apr 4, 2024

Benchmark for c873946

Click to view benchmark
Test Base PR %
Array append evaluation 335.9±5.05µs 339.1±4.92µs +0.95%
Array literal evaluation 181.2±3.23µs 176.7±1.16µs -2.48%
Array update evaluation 418.7±3.23µs 415.0±2.17µs -0.88%
Core + Standard library compilation 19.6±0.98ms 19.8±1.30ms +1.02%
Deutsch-Jozsa evaluation 5.1±0.06ms 5.1±0.06ms 0.00%
Large file parity evaluation 34.4±0.51ms 34.7±0.52ms +0.87%
Large input file compilation 12.9±0.98ms 13.3±1.03ms +3.10%
Large input file compilation (interpreter) 50.0±1.33ms 52.7±2.91ms +5.40%
Large nested iteration 32.7±0.45ms 32.7±0.32ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1566.9±170.32µs 1554.8±146.37µs -0.77%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.3±0.23ms 8.2±0.22ms -1.20%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1468.2±157.12µs 1465.8±131.40µs -0.16%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 22.2±0.75ms 22.4±0.49ms +0.90%
Teleport evaluation 82.2±4.02µs 81.6±4.37µs -0.73%

@swernli swernli added this pull request to the merge queue Apr 4, 2024
Merged via the queue into main with commit f5b4cb5 Apr 4, 2024
16 checks passed
@swernli swernli deleted the swernli/ssa-check branch April 4, 2024 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants