diff options
author | c8ef <c8ef@outlook.com> | 2024-10-14 21:43:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-14 21:43:49 +0800 |
commit | a3b0c31ebc2f6fe672f08f6b7d15f25a2b26edda (patch) | |
tree | 7c2d2b0aee0ced959d1a07637e81667fddf58fa3 /llvm/lib/CodeGen | |
parent | c2d8112f71d59384d77ac56e278147afc1947ce9 (diff) | |
download | llvm-a3b0c31ebc2f6fe672f08f6b7d15f25a2b26edda.zip llvm-a3b0c31ebc2f6fe672f08f6b7d15f25a2b26edda.tar.gz llvm-a3b0c31ebc2f6fe672f08f6b7d15f25a2b26edda.tar.bz2 |
Revert "[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes." (#112200)
Reverts llvm/llvm-project#111774
This appears to be causing some tests to fail.
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 924558a2..810ca45 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -4190,26 +4190,26 @@ SDValue DAGCombiner::visitSUB(SDNode *N) { // smax(a,b) - smin(a,b) --> abds(a,b) if ((!LegalOperations || hasOperation(ISD::ABDS, VT)) && - sd_match(N0, m_SMaxLike(m_Value(A), m_Value(B))) && - sd_match(N1, m_SMinLike(m_Specific(A), m_Specific(B)))) + sd_match(N0, m_SMax(m_Value(A), m_Value(B))) && + sd_match(N1, m_SMin(m_Specific(A), m_Specific(B)))) return DAG.getNode(ISD::ABDS, DL, VT, A, B); // smin(a,b) - smax(a,b) --> neg(abds(a,b)) if (hasOperation(ISD::ABDS, VT) && - sd_match(N0, m_SMinLike(m_Value(A), m_Value(B))) && - sd_match(N1, m_SMaxLike(m_Specific(A), m_Specific(B)))) + sd_match(N0, m_SMin(m_Value(A), m_Value(B))) && + sd_match(N1, m_SMax(m_Specific(A), m_Specific(B)))) return DAG.getNegative(DAG.getNode(ISD::ABDS, DL, VT, A, B), DL, VT); // umax(a,b) - umin(a,b) --> abdu(a,b) if ((!LegalOperations || hasOperation(ISD::ABDU, VT)) && - sd_match(N0, m_UMaxLike(m_Value(A), m_Value(B))) && - sd_match(N1, m_UMinLike(m_Specific(A), m_Specific(B)))) + sd_match(N0, m_UMax(m_Value(A), m_Value(B))) && + sd_match(N1, m_UMin(m_Specific(A), m_Specific(B)))) return DAG.getNode(ISD::ABDU, DL, VT, A, B); // umin(a,b) - umax(a,b) --> neg(abdu(a,b)) if (hasOperation(ISD::ABDU, VT) && - sd_match(N0, m_UMinLike(m_Value(A), m_Value(B))) && - sd_match(N1, m_UMaxLike(m_Specific(A), m_Specific(B)))) + sd_match(N0, m_UMin(m_Value(A), m_Value(B))) && + sd_match(N1, m_UMax(m_Specific(A), m_Specific(B)))) return DAG.getNegative(DAG.getNode(ISD::ABDU, DL, VT, A, B), DL, VT); return SDValue(); |