-
Notifications
You must be signed in to change notification settings - Fork 1.7k
C++: Add an interface for models to block flow #15528
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code and tests LGTM. There's a fair bit of noise on the DCA run, it might be worth rechecking some of the projects with bigger slowdowns.
Thanks! I'm not sure what slowdowns you're referring to? The largest slowdown is Stage timing is also showing a less-than-5% slowdown which I think we can attribute to noise |
This PR adds a new abstract class
FlowOutBarrierFunction
for blocking flow out of a function model. One of the obvious examples isstd::swap
where we onmain
has this FP:This PR adds an interface for specifying that such functions shouldn't have flow out of a given
FunctionInput
. Operationally, this amounts to blocking use-use flow once the data reaches the function's input.In this PR I've just implemented the class on
std::swap
. Once the change is in we can provide extents for a bunch of other classes that we currently model.