VPIntrinsic::getStaticVectorLength infers the operational vector length of a VPIntrinsic instance from a type that is used with the intrinsic. The function used the mask operand before. Yet, vp.merge|select do not have a mask operand (in the predicating sense that the other VP intrinsics are using them - it is a selection mask for them). Fallback to the return type to fix this.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
llvm/lib/IR/IntrinsicInst.cpp | ||
---|---|---|
302–308 | Please add assert in then closure to see whether it is vp.select or vp.merge. |
Please add assert in then closure to see whether it is vp.select or vp.merge.
Also please add comments to describe why vp.select and vp.merge don't have a mask operand here for future references.