[llvm] [InstCombine] Add combines/simplifications for `llvm.ptrmask` (PR #67166)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 24 02:34:40 PDT 2023
================
@@ -6397,6 +6397,48 @@ static Value *simplifyBinaryIntrinsic(Function *F, Value *Op0, Value *Op1,
return Constant::getNullValue(ReturnType);
break;
}
+ case Intrinsic::ptrmask: {
+ // Fail loudly in case this is ever changed.
+ // TODO: If vector types are supported the logic that checks if the mask is
+ // useless should be updated to use generic constants.
+ assert(!Op0->getType()->isVectorTy() && !Op1->getType()->isVectorTy() &&
+ "These simplifications where written at a time when ptrmask did not "
+ "support vector types and may not work for vectors");
----------------
nikic wrote:
As far as I can see all the code here is already compatible with vectors, so not sure this assert makes sense (and I don't understand what your TODO is referring to either).
https://github.com/llvm/llvm-project/pull/67166
More information about the llvm-commits
mailing list