From 9383ad6ad60e7f13f412536918b480c6d3c57032 Mon Sep 17 00:00:00 2001 From: Ramkumar Ramachandra Date: Mon, 17 Nov 2025 15:31:25 +0000 Subject: [PATCH] [VectorUtils] Improve mask*All(Ones|Zero)OrUndef (NFC) Use PatternMatch to improve code. --- llvm/lib/Analysis/VectorUtils.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index 530fa9518f40e..b011dcafa1aec 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -1263,7 +1263,7 @@ bool llvm::maskIsAllZeroOrUndef(Value *Mask) { auto *ConstMask = dyn_cast(Mask); if (!ConstMask) return false; - if (ConstMask->isNullValue() || isa(ConstMask)) + if (match(ConstMask, m_CombineOr(m_Zero(), m_Undef()))) return true; if (isa(ConstMask->getType())) return false; @@ -1272,7 +1272,7 @@ bool llvm::maskIsAllZeroOrUndef(Value *Mask) { E = cast(ConstMask->getType())->getNumElements(); I != E; ++I) { if (auto *MaskElt = ConstMask->getAggregateElement(I)) - if (MaskElt->isNullValue() || isa(MaskElt)) + if (match(MaskElt, m_CombineOr(m_Zero(), m_Undef()))) continue; return false; } @@ -1289,7 +1289,7 @@ bool llvm::maskIsAllOneOrUndef(Value *Mask) { auto *ConstMask = dyn_cast(Mask); if (!ConstMask) return false; - if (ConstMask->isAllOnesValue() || isa(ConstMask)) + if (match(ConstMask, m_CombineOr(m_AllOnes(), m_Undef()))) return true; if (isa(ConstMask->getType())) return false; @@ -1298,7 +1298,7 @@ bool llvm::maskIsAllOneOrUndef(Value *Mask) { E = cast(ConstMask->getType())->getNumElements(); I != E; ++I) { if (auto *MaskElt = ConstMask->getAggregateElement(I)) - if (MaskElt->isAllOnesValue() || isa(MaskElt)) + if (match(MaskElt, m_CombineOr(m_AllOnes(), m_Undef()))) continue; return false; } @@ -1315,7 +1315,7 @@ bool llvm::maskContainsAllOneOrUndef(Value *Mask) { auto *ConstMask = dyn_cast(Mask); if (!ConstMask) return false; - if (ConstMask->isAllOnesValue() || isa(ConstMask)) + if (match(ConstMask, m_CombineOr(m_AllOnes(), m_Undef()))) return true; if (isa(ConstMask->getType())) return false; @@ -1324,7 +1324,7 @@ bool llvm::maskContainsAllOneOrUndef(Value *Mask) { E = cast(ConstMask->getType())->getNumElements(); I != E; ++I) { if (auto *MaskElt = ConstMask->getAggregateElement(I)) - if (MaskElt->isAllOnesValue() || isa(MaskElt)) + if (match(MaskElt, m_CombineOr(m_AllOnes(), m_Undef()))) return true; } return false;