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++: Repair MustFlow library for use-use flow #11311

Merged
merged 5 commits into from
Nov 21, 2022

Conversation

MathiasVP
Copy link
Contributor

The MustFlow library was previously defined in terms of the IR-based dataflow nodes, and implicitly relied on the assumption that all relevant instructions had dataflow nodes.

On the feature branch, this is no longer the case. Thus, we cannot use the dataflow nodes, and we have to use the IR directly.

Sadly, this is a breaking change. I think this is okay, however, because:

  1. I haven't seen any uses of it outside the two queries we have in Code Scanning that use it.
  2. It's really easy to transition from the dataflow nodes to the instructions (since the library was already using the IR-based dataflow library).

@jketema
Copy link
Contributor

jketema commented Nov 18, 2022

I wonder if this PR should just target main instead of the feature branch, as it's pretty independent of the use-use dataflow changes.

@MathiasVP
Copy link
Contributor Author

I wonder if this PR should just target main instead of the feature branch, as it's pretty independent of the use-use dataflow changes.

Indeed, I'd also be okay with this.

@MathiasVP MathiasVP marked this pull request as draft November 18, 2022 16:20
@MathiasVP MathiasVP marked this pull request as ready for review November 18, 2022 16:46
@MathiasVP
Copy link
Contributor Author

I've retargeted the PR to target main now. I managed to do so without pinging all teams 🎉, but I didn't manage to stop the bot from adding a bunch of unnecessary labels 😭. Oh well!

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.

One typo and a number of related questions. The latter boil down to: why can we get away with just Instructions as sources and Operands as sinks?

@jketema
Copy link
Contributor

jketema commented Nov 21, 2022

We should probably also do a DCA experiment once my questions have been resolved.

@MathiasVP
Copy link
Contributor Author

We should probably also do a DCA experiment once my questions have been resolved.

Good point. I've started a run now.

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.

I'm happy if DCA is happy.

@MathiasVP
Copy link
Contributor Author

DCA looks fine 🎉

@MathiasVP MathiasVP merged commit c2ac60f into github:main Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants