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

Remove GenKillAnalysis #131481

Merged
merged 7 commits into from
Oct 16, 2024
Merged

Remove GenKillAnalysis #131481

merged 7 commits into from
Oct 16, 2024

Commits on Oct 14, 2024

  1. Remove ResultsCursor::contains.

    It's hardly worth it, and it needs to be removed so that
    `GenKillAnalysis` can be removed.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    874b03e View commit details
    Browse the repository at this point in the history
  2. Remove Engine::new_gen_kill.

    This is an alternative to `Engine::new_generic` for gen/kill analyses.
    It's supposed to be an optimization, but it has negligible effect.
    The commit merges `Engine::new_generic` into `Engine::new`.
    
    This allows the removal of various other things: `GenKillSet`,
    `gen_kill_statement_effects_in_block`, `is_cfg_cyclic`.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    e0b83c3 View commit details
    Browse the repository at this point in the history
  3. Tweak GenKillAnalysis method arguments.

    `GenKillAnalysis` has very similar methods to `Analysis`, but the first
    two have a notable difference: the second argument is `&mut impl
    GenKill<Self::Idx>` instead of `&mut Self::Domain`. But thanks to the
    previous commit, this difference is no longer necessary.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    13968b4 View commit details
    Browse the repository at this point in the history
  4. Minimize use of GenKill.

    Thanks to the previous couple of commits, many uses of the `GenKill`
    trait can be replaced with a concrete type.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    525f655 View commit details
    Browse the repository at this point in the history
  5. Remove GenKillAnalysis.

    It's now functionally identical to `Analysis`.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    4dc1b4d View commit details
    Browse the repository at this point in the history
  6. Merge AnalysisDomain into Analysis.

    With `GenKillAnalysis` gone, there is no need for them to be separate.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    ba13775 View commit details
    Browse the repository at this point in the history
  7. Add defaults for `Analysis::apply_{call_return_effect,terminator_effe…

    …ct}`.
    
    To avoid some low-value boilerplate code.
    nnethercote committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    33abf6a View commit details
    Browse the repository at this point in the history