-
Notifications
You must be signed in to change notification settings - Fork 30
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
Possible regression in Julia 1.11 for throw block #643
Comments
Yes, cases like this should be hidden by |
In the analysis performed by `OptAnalyzer`, when the `skip_unoptimized_throw_blocks` configuration is enabled, dynamic dispatch on `throw` code path is supposed to be ignored. However, cached reports of non-inlined callees on the `throw` code path were not ignored, leading to confusion (#643). This commit addresses the issue by overloading the propagation of reports from callees in abstract interpretation. While the issue has been resolved, the resulting code is quite hacky, and improvements to these interfaces are certainly desirable.
In the analysis performed by `OptAnalyzer`, when the `skip_unoptimized_throw_blocks` configuration is enabled, dynamic dispatch on `throw` code path is supposed to be ignored. However, cached reports of non-inlined callees on the `throw` code path were not ignored, leading to confusion (#643). This commit addresses the issue by overloading the propagation of reports from callees in abstract interpretation. While the issue has been resolved, the resulting code is quite hacky, and improvements to these interfaces are certainly desirable.
Thanks! Is it possible to also make JET detect using JET
function g(x)
error("Please ignore this: $x")
end
@test_opt unoptimize_throw_blocks=true g(1/3) |
I created a follow-up issue #647 to track the remaining issue. Thanks again. |
The following code passes in 1.10, but flags an error in 1.11.0-rc1
The error is:
My understanding of
skip_unoptimized_throw_blocks = true
(the default) is that it should ignore unoptimization ing
, which is known tothrow
. Is that correct?The text was updated successfully, but these errors were encountered: