<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">