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

Alias analysis cleanups #8620

Merged
merged 4 commits into from
Jun 28, 2024
Merged

Conversation

frej
Copy link
Contributor

@frej frej commented Jun 27, 2024

Cleanups which update the alias analysis pass modules. The changes removes the explicit version argument to sets:new() and friends as the maps-based implementation is now the default. They also remove dead code, which brings up the test coverage to 100% for the beam_ssa_alias and beam_ssa_ss modules. No functional changes.

frej added 4 commits June 27, 2024 09:08
With c3859f6 ("Make sets default to maps-based implementation")
there is no longer a need to explicitly ask for version 2 sets.
With c3859f6 ("Make sets default to maps-based implementation")
there is no longer a need to explicitly ask for version 2 sets.
An `update_record` instruction will always have an `arg_types`
annotation as it will either be preceded by a guard test which allows
the type pass to deduce the types, or else, when the guard is missing,
the types are known, ie there is an annotation present.
Remove an explicit error case in the alias analysis pass which
currently is the only uncovered line in the coverage report for the
pass. During development it was helpful to have a clear-text exit
instead of a match failure when an unknown instruction was
encountered, but now as the code has matured, it is only noise in the
coverage report. Therefore remove it, as, if a new ssa instruction is
added, it will be obvious from the error message what the problem is.
Copy link
Contributor

github-actions bot commented Jun 27, 2024

CT Test Results

    2 files    324 suites   10m 45s ⏱️
  817 tests   815 ✅ 2 💤 0 ❌
5 420 runs  5 418 ✅ 2 💤 0 ❌

Results for commit 7679273.

♻️ This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

@bjorng bjorng self-assigned this Jun 27, 2024
@bjorng bjorng added team:VM Assigned to OTP team VM enhancement testing currently being tested, tag is used by OTP internal CI labels Jun 27, 2024
@bjorng bjorng merged commit ab1dc7f into erlang:master Jun 28, 2024
17 checks passed
@frej frej deleted the frej/alias-analysis-cleanups branch July 1, 2024 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement team:VM Assigned to OTP team VM testing currently being tested, tag is used by OTP internal CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants