Skip to content

Conversation

@MathiasVP
Copy link
Contributor

Other languages have this predicate exposed on their version of Ssa::Definition so we might as well do so as well.

This predicate was necessary in a recent Microsoft query we were writing.

I also did a drive-by fix in 60ee92d. I'll run DCA to make sure I didn't mess up any caching.

@MathiasVP MathiasVP requested a review from a team as a code owner January 21, 2026 20:31
Copilot AI review requested due to automatic review settings January 21, 2026 20:31
@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Jan 21, 2026
@github-actions github-actions bot added the C++ label Jan 21, 2026
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 adds the isLiveAtEndOfBlock predicate to C++'s Ssa::Definition class to align with other languages' SSA implementations. It also includes a drive-by fix to improve caching consistency by wrapping uncertainWriteDefinitionInput in a cached predicate.

Changes:

  • Added isLiveAtEndOfBlock predicate to expose SSA definition liveness information at basic block boundaries
  • Added cached wrappers for uncertainWriteDefinitionInput and ssaDefReachesEndOfBlock predicates for improved performance
  • Updated internal usage to leverage the new cached predicate

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

Copy link
Contributor

@jketema jketema left a comment

Choose a reason for hiding this comment

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

LGTM if DCA is happy

@MathiasVP
Copy link
Contributor Author

DCA was uneventful. Merging!

@MathiasVP MathiasVP merged commit 73eb3e2 into github:main Jan 21, 2026
23 of 25 checks passed
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.

2 participants