Skip to content

Conversation

@MathiasVP
Copy link
Contributor

I don't have tuple counts for when this went wrong, but I do have this lovely table row from someone at Microsoft:

1096m19s |     1 | 1096m19s @ 1    | IRGuards::GuardConditionFromBinaryLogicalOperator.comparesEq/4#749f53a9#ffbff@5d4f1frn

... Yes, that's 18 hours 😂 I guessed that the 2nd (3rd) parameter being bound by magic had something to do with it, and the end-to-end time went down to 2 hours after these changes 🎉

Copilot AI review requested due to automatic review settings November 7, 2025 17:42
@MathiasVP MathiasVP requested a review from a team as a code owner November 7, 2025 17:42
@github-actions github-actions bot added the C++ label Nov 7, 2025
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 pragma[nomagic] annotations to four override predicates in the GuardConditionFromBinaryLogicalOperator class to optimize query performance in the C++ control flow analysis library.

  • Adds pragma[nomagic] to the comparesLt and comparesEq predicate overrides
  • Improves query performance by preventing magic sets expansion on these recursive predicates
  • No functional code changes, only performance optimization annotations

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

@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Nov 7, 2025
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.

1 participant