Skip to content

Conversation

@hvitved
Copy link
Contributor

@hvitved hvitved commented Dec 9, 2025

Now that CFG splitting based on Boolean values has been removed, we no longer need the PreSsa library.

@github-actions github-actions bot added the C# label Dec 9, 2025
@hvitved hvitved force-pushed the csharp/remove-pre-ssa branch from 5fb90fb to 857b1d1 Compare December 11, 2025 10:06
@hvitved hvitved added the no-change-note-required This PR does not need a change note label Dec 11, 2025
@hvitved hvitved marked this pull request as ready for review December 11, 2025 12:53
@hvitved hvitved requested a review from a team as a code owner December 11, 2025 12:53
Copilot AI review requested due to automatic review settings December 11, 2025 12:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes the PreSsa library from the C# codebase following the removal of CFG splitting based on Boolean values. The cleanup consolidates SSA-related functionality into the BaseSSA module.

  • The entire PreSsa.qll library is deleted along with its associated test files
  • SSA functionality previously in PreSsa (like SimpleLocalScopeVariable and related predicates) is migrated to BaseSSA.qll
  • References to PreSsa across the codebase are updated to use BaseSSA instead

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
csharp/ql/lib/semmle/code/csharp/controlflow/internal/PreSsa.qll Deleted - entire PreSsa library removed
csharp/ql/test/library-tests/dataflow/ssa/PreSsaConsistency.ql Deleted - test file for PreSsa consistency checks
csharp/ql/test/library-tests/dataflow/ssa/PreSsaConsistency.expected Deleted - expected output for PreSsa consistency tests
csharp/ql/lib/semmle/code/csharp/dataflow/internal/BaseSSA.qll Moved SimpleLocalScopeVariable class and supporting predicates from PreSsa
csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll Updated import from PreSsa to BaseSSA
csharp/ql/lib/semmle/code/csharp/controlflow/internal/Splitting.qll Removed TSsaBooleanSplitSubKind and PreSsa import
csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll Removed PreCfg module and moved predicates to top level; one incorrect reference updated
csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.ql Updated import and type references from PreSsa to BaseSSA
csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.ql Updated import and type references from PreSsa to BaseSSA
csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.ql Updated import and type references from PreSsa to BaseSSA

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hvitved hvitved force-pushed the csharp/remove-pre-ssa branch from 7589533 to adac392 Compare December 11, 2025 13:17
Copy link
Contributor

@aschackmull aschackmull left a comment

Choose a reason for hiding this comment

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

Nice!

Copy link
Contributor

@michaelnebel michaelnebel left a comment

Choose a reason for hiding this comment

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

Looks plausible to me!

@hvitved hvitved merged commit 0566a9f into github:main Dec 12, 2025
22 checks passed
@hvitved hvitved deleted the csharp/remove-pre-ssa branch December 12, 2025 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C# no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants