-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[Scalarizer] Test *_with_overflow crash with min-bits=32 and min-bits=16 #127739
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
Comments
@Icohedron can you look into this issue. I'm also noticing a second potential issue:
The struct return elements are not the same type. one is vec3 of i32 one is and one is vec3 of i1. you need to add the |
I'm on it |
As mentioned in #127996, note that you can also provoke this bug by adding |
Adding the
|
…sitExtractValueInst` (llvm#128538) Fixes llvm#127739 The `visitExtractValueInst` is missing a check that was present in `splitCall` / `visitCallInst`. This check ensures that each struct element has a VectorSplit, and that each VectorSplit contains the same number of elements packed per fragment. --------- Co-authored-by: Jay Foad <[email protected]>
first reported here: #127520
introduced by: #126815
No line numbers, Looks like we have some missing debug symbols I suspect the assert is coming from
ScalarizerVisitor::visitExtractValueInst
There is a use of Scatterer::operator[] as part of creating the ExtractValue IR.
We likely need to check
VS.NumPacked
before callingScatterer::operator[]
Because that operator is using
Frag * VS.NumPacked
to create the exrtractElement instruction.CV[Frag] = Builder.CreateExtractElement(V, Frag * VS.NumPacked, V->getName() + ".i" + Twine(Frag))
The text was updated successfully, but these errors were encountered: