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

C++: Make IRGuardCondition handle p in if(p) and if(!p) better in C programs #16533

Merged
merged 3 commits into from
May 22, 2024

Conversation

MathiasVP
Copy link
Contributor

This improves our GuardCondition support for reasoning about p in the following example:

if(p) {
  use(p);
}

This was actually the thing I excluded in #16364 and #16364 (comment) explains why this is non-trivial. This PR does the non-trivial work required to infer the right (in)equalities.

@github-actions github-actions bot added the C++ label May 20, 2024
@MathiasVP MathiasVP force-pushed the better-negation-guards-in-c branch 2 times, most recently from ed615a3 to 40bcef7 Compare May 20, 2024 21:14
@MathiasVP MathiasVP force-pushed the better-negation-guards-in-c branch from 40bcef7 to 5893e38 Compare May 20, 2024 21:28
@MathiasVP MathiasVP marked this pull request as ready for review May 21, 2024 07:58
@MathiasVP MathiasVP requested a review from a team as a code owner May 21, 2024 07:58
@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label May 21, 2024
@MathiasVP
Copy link
Contributor Author

  • The new result is a TP
  • Performance looks fine
  • I'm not sure what's up with the integration test failure. It looks unrelated to this PR

@MathiasVP MathiasVP requested a review from geoffw0 May 21, 2024 10:18
@MathiasVP
Copy link
Contributor Author

  • I'm not sure what's up with the integration test failure. It looks unrelated to this PR

Indeed, this has been confirmed on Slack now

Copy link
Contributor

@geoffw0 geoffw0 left a comment

Choose a reason for hiding this comment

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

Makes sense, and results LGTM. 👍

@MathiasVP MathiasVP merged commit 09357e1 into github:main May 22, 2024
14 of 16 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