-
-
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
Fix late gc lowering pass for vector intrinsics #55864
base: master
Are you sure you want to change the base?
Conversation
src/llvm-late-gc-lowering.cpp
Outdated
if (auto VTy = dyn_cast<VectorType>(II->getType())) { | ||
if (hasLoadedTy(VTy->getElementType())) { | ||
// TODO: For now, only support constant index. | ||
auto IdxOp = cast<ConstantInt>(II->getOperand(1)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if(auto IdxOp = dyn_cast<ConstantInt>...
? Otherwise, this would assert for non ConstantInt?
Also add a test for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an assertion. This argument is a immarg argument in llvm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then I don't understand the todo?
Looking at the coredump I get locally, I see its indexing out of bounds at julia/src/llvm-late-gc-lowering.cpp Line 567 in 4843847
julia/src/llvm-late-gc-lowering.cpp Line 560 in 4843847
i >= BaseNumbers.size() and it never got hit.
Here's part of the backtrace form the core dump.
|
Note that this is necessary to upgrade to LLVM 20: #57352. |
28f9e83
to
b58834a
Compare
No description provided.