Lines Matching defs:UseMask
600 enum class UseMask {
617 UseMask MaskArg) {
618 SmallBitVector UseMask(VF, true);
621 if (MaskArg == UseMask::UndefsAsMask)
622 UseMask.reset(Idx);
625 if (MaskArg == UseMask::FirstArg && Value < VF)
626 UseMask.reset(Value);
627 else if (MaskArg == UseMask::SecondArg && Value >= VF)
628 UseMask.reset(Value - VF);
630 return UseMask;
634 /// Also, if the \p UseMask is not empty, tries to check if the non-masked
638 const SmallBitVector &UseMask = {}) {
639 SmallBitVector Res(UseMask.empty() ? 1 : UseMask.size(), true);
648 if (!UseMask.empty()) {
659 if (*Idx < UseMask.size() && !UseMask.test(*Idx))
666 SmallBitVector SubMask(UseMask.size(), false);
677 (UseMask.empty() || (I < UseMask.size() && !UseMask.test(I))))
9314 buildUseMask(LocalVF, ExtMask, UseMask::FirstArg))
9318 buildUseMask(LocalVF, ExtMask, UseMask::SecondArg))
9386 V2, buildUseMask(VF, Mask, UseMask::SecondArg))
9421 ExtMask1, UseMask::SecondArg);
9431 ExtMask2, UseMask::SecondArg);
11408 buildUseMask(NumElts, InsertMask, UseMask::UndefsAsMask));
12346 SmallBitVector UseMask =
12347 buildUseMask(Mask.size(), Mask, UseMask::UndefsAsMask);
12348 SmallBitVector IsBaseUndef = isUndefVector(Base, UseMask);
12353 SmallBitVector IsBasePoison = isUndefVector<true>(Base, UseMask);
15476 SmallBitVector UseMask =
15477 buildUseMask(NumElts, InsertMask, UseMask::UndefsAsMask);
15479 isUndefVector<true>(FirstInsert->getOperand(0), UseMask);
15481 isUndefVector(FirstInsert->getOperand(0), UseMask);
15520 SmallBitVector UseMask =
15521 buildUseMask(NumElts, InsertMask, UseMask::UndefsAsMask);
15523 isUndefVector(FirstInsert->getOperand(0), UseMask);
15529 isUndefVector<true>(FirstInsert->getOperand(0), UseMask);
15548 isUndefVector<true>(FirstInsert->getOperand(0), UseMask);