-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Conditional
lattice element is semantically broken in the presence of SSAValues
#55548
Labels
Comments
Keno
added
bug
Indicates an unexpected problem or unintended behavior
compiler:inference
Type inference
labels
Aug 21, 2024
We might need to pass julia/base/compiler/abstractinterpretation.jl Lines 1443 to 1492 in 8483130
Although ssa_def_slot might not be entirely sound either...That being said, the correct way to replace Conditional would be to implement proper backward abstract interpretation, which would be quite a big work. It might be something we should do, but for now, I'll look for a short-term fix.
|
aviatesk
added a commit
that referenced
this issue
Aug 21, 2024
When updating a state of local variables from an assignment, all stale slot wrapper types must be invalidated. However, up until now, only those held in the local variable state were being invalidated. In fact, those held in `ssavaluetypes` also need to be invalidated, and this commit addresses that. Currently all `ssavaluetypes` are iterated over with each assignment to a local variable, so this could potentially lead to performance issues. If so it might be necessary to perform invalidation more efficiently along with flow control. - fixes #55548
aviatesk
added a commit
that referenced
this issue
Aug 21, 2024
When updating a state of local variables from an assignment, all stale slot wrapper types must be invalidated. However, up until now, only those held in the local variable state were being invalidated. In fact, those held in `ssavaluetypes` also need to be invalidated, and this commit addresses that. Currently all `ssavaluetypes` are iterated over with each assignment to a local variable, so this could potentially lead to performance issues. If so it might be necessary to perform invalidation more efficiently along with flow control. - fixes #55548
aviatesk
added a commit
that referenced
this issue
Aug 22, 2024
When updating a state of local variables from an assignment, all stale slot wrapper types must be invalidated. However, up until now, only those held in the local variable state were being invalidated. In fact, those held in `ssavaluetypes` also need to be invalidated, and this commit addresses that. Currently all `ssavaluetypes` are iterated over with each assignment to a local variable, so this could potentially lead to performance issues. If so it might be necessary to perform invalidation more efficiently along with flow control. - fixes #55548
aviatesk
added a commit
that referenced
this issue
Aug 23, 2024
When updating a state of local variables from an assignment, all stale slot wrapper types must be invalidated. However, up until now, only those held in the local variable state were being invalidated. In fact, those held in `ssavaluetypes` also need to be invalidated, and this commit addresses that. Currently all `ssavaluetypes` are iterated over with each assignment to a local variable, so this could potentially lead to performance issues. If so it might be necessary to perform invalidation more efficiently along with flow control. - fixes #55548
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Ooops:
Basically, this code doesn't know about SSAValues:
julia/base/compiler/typelattice.jl
Lines 749 to 757 in 86cba99
But it's not clear what a sound way to change that is.
The text was updated successfully, but these errors were encountered: