<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/84745>84745</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [DAG] DAGCombiner::visitADDLike - investigate converting fold some basic patterns to SDPatternMatch
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            llvm:SelectionDAG
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          RKSimon
      </td>
    </tr>
</table>

<pre>
    #78654 introduced llvm::SDPatternMatch as the equivalent DSL-alike to existing IR/GISel pattern matchers, but it hasn't been used in actual DAG combines yet.

The folds in DAGCombiner::visitADDLike look to be a straightforward candidate for conversion and to investigate any missing features from SDPatternMatch (e.g. any missing vector constant/splat handling):

https://github.com/llvm/llvm-project/blob/3149c934cb2602691de40d2aeb238675e8831d57/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L2700-L2745

CC @mshockwave 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk82uqzYUhZ_GTLaCYPM_YJAGEV01laqbvoCxd8A9xk5tk9Pz9pVJqyadVHcCEto_ay2-zb1XsyHqWfUTq4aEb2Gxrv_-81Wt1iSTlV89w6Jp66oEZYKzchMkQevHyoojK47X4VceAjnzCw9iAe4hLAT0x6YeXJMJMFwvB67VB0GwQH8qH5SZ4dt3huP525U03J_9sMYB5DzDE0xbABVg4d4wbAJMRAY2TxKUAS7CxjUMxzMIu07KkIcvCinLBpYdn8_fFoKb1dLHhuF4Pj0L3VP0Q3kVjsNwibK0tR9R20TAwQfH1byEm3Wf3EkQ3EgleYjTHAhrHuS8sga4kbFJmQf5oOZYwc0XrMr76O9GPGyOPNycXeE_ITFsKZ3Tt4YHifDc4AM3geHo75rHCIzUyswMu6j9xeISwt3HbzgyHGcVlm1KhV0Zjvvveb4Od2d_JxEHTtpODMciLzvRFaWYsM6w7nJJZSaR04RFWzcVtW2Ry6p5maNi38lKOpNhOF5JkwjKmuF4Zji-xJuK-51hccEmyw4XbMrqVfHpBKzMVr9Y8fHJHwSJ7AvZFR1PqM-bPMurJsc2WfoqI6rqsq2oq7o6F3VX5zQ11BBi1uKUqB4zLLMiz_O8aMs2bdoci6LJJWJTlC2xMqOVK51GD6l1c6K836hvy6asEs0n0n6nHnG2VsJNOR9gr2GIDE8M8W_K3-1ivBPX79lO2-xZmWnlg_93UVBB7xcV66vhf_A7vDH0JGw_kYgveLsSTNwr8c-d-IjdO1DJ5nT_wzjsXj3DcY_krwAAAP__aSJPaw">