-
-
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
bug in MaybeUndef handling pass for PhiC #29152
Labels
bug
Indicates an unexpected problem or unintended behavior
compiler:optimizer
Optimization passes (mostly in base/compiler/ssair/)
Comments
Keno
added a commit
that referenced
this issue
Sep 12, 2018
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Fixes #29152
Keno
added a commit
that referenced
this issue
Nov 30, 2018
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152
Keno
added a commit
that referenced
this issue
Dec 1, 2018
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152
Probably not fixed, although the referenced PR should mitigate this considerably. |
KristofferC
pushed a commit
that referenced
this issue
Dec 6, 2018
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152 (cherry picked from commit ecd7291)
KristofferC
pushed a commit
that referenced
this issue
Dec 12, 2018
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152 (cherry picked from commit ecd7291)
KristofferC
pushed a commit
that referenced
this issue
Feb 11, 2019
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152 (cherry picked from commit ecd7291)
JeffBezanson
added
bug
Indicates an unexpected problem or unintended behavior
compiler:optimizer
Optimization passes (mostly in base/compiler/ssair/)
labels
Feb 23, 2019
KristofferC
pushed a commit
that referenced
this issue
Feb 20, 2020
While we're guaranteed never to look at undefined values, we're not guaranteed that the type information can't change, which in the case of a union generates code to change the layout. As a result, we need to make sure to have the union selectors be valid (the actual data will be junk and no semantic operation will ever look at it, but it shouldn't be ouf of bounds). Ref #29152 (cherry picked from commit ecd7291)
Same as #31133, I can't reproduce on master, should this be closed? |
We handled the known cases, but think there may still an underlying problem here. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
Indicates an unexpected problem or unintended behavior
compiler:optimizer
Optimization passes (mostly in base/compiler/ssair/)
It looks like we might be trying to look at the type of value before noticing that it is undef. The Julia IR seems OK, so I think the issue is probably with the order of events we're emitting in codegen.
The text was updated successfully, but these errors were encountered: