-
Notifications
You must be signed in to change notification settings - Fork 99
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
Differential returns that are pointer types #25
Comments
This should be handled (and there are some small test cases for) — will look into shortly, this is an implementation bug |
Already fixed this with more minimal test case (will push later tonight because travel). |
Great, if you have the opportunity to make a pull request without too much inconvenience it would be helpful. This case is blocking attempts to find more implementation-gaps/bugs, and it's a case that I'd like to make sure is handled correctly by the load cache elision logic, and in the active/inactive detection logic. |
Pushed #27 |
We currently do not seem to handle differential returns that are pointer types. e.g. a call %x = float* foo() where %x is not a constant value. A test case for this is attached --- if you look at the test case please spend a moment to verify that I set it up correctly as it was extracted from a larger file generated from eigen code. If the general fix isn't easy we should discuss exactly what we want to do here (e.g. create a wrapper function for such calls that put all of our differentiable calls into a common form where certain return values are additional arguments)
eigen-small-test.ll.txt
The text was updated successfully, but these errors were encountered: