[llvm] ad00e8a - [DAG] Replace m_SpecificInt(1) -> m_One()
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 8 10:21:08 PDT 2024
Author: Simon Pilgrim
Date: 2024-08-08T18:20:46+01:00
New Revision: ad00e8a8ddf8fd5e3a49a1319bec93bfea8d37c1
URL: https://github.com/llvm/llvm-project/commit/ad00e8a8ddf8fd5e3a49a1319bec93bfea8d37c1
DIFF: https://github.com/llvm/llvm-project/commit/ad00e8a8ddf8fd5e3a49a1319bec93bfea8d37c1.diff
LOG: [DAG] Replace m_SpecificInt(1) -> m_One()
For SDPatternMatch there's no difference in undef/poison vector element handling - in fact m_One() just wraps m_SpecificInt(1)
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 7a6a1c6b832b3..f827eb559a01c 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -2563,14 +2563,12 @@ SDValue DAGCombiner::foldSubToAvg(SDNode *N, const SDLoc &DL) {
if ((!LegalOperations || hasOperation(ISD::AVGCEILU, VT)) &&
sd_match(N, m_Sub(m_Or(m_Value(A), m_Value(B)),
- m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)),
- m_SpecificInt(1))))) {
+ m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
return DAG.getNode(ISD::AVGCEILU, DL, VT, A, B);
}
if ((!LegalOperations || hasOperation(ISD::AVGCEILS, VT)) &&
sd_match(N, m_Sub(m_Or(m_Value(A), m_Value(B)),
- m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)),
- m_SpecificInt(1))))) {
+ m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
return DAG.getNode(ISD::AVGCEILS, DL, VT, A, B);
}
return SDValue();
@@ -2928,14 +2926,12 @@ SDValue DAGCombiner::foldAddToAvg(SDNode *N, const SDLoc &DL) {
if ((!LegalOperations || hasOperation(ISD::AVGFLOORU, VT)) &&
sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)),
- m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)),
- m_SpecificInt(1))))) {
+ m_Srl(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
return DAG.getNode(ISD::AVGFLOORU, DL, VT, A, B);
}
if ((!LegalOperations || hasOperation(ISD::AVGFLOORS, VT)) &&
sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)),
- m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)),
- m_SpecificInt(1))))) {
+ m_Sra(m_Xor(m_Deferred(A), m_Deferred(B)), m_One())))) {
return DAG.getNode(ISD::AVGFLOORS, DL, VT, A, B);
}
More information about the llvm-commits
mailing list