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

    <tr>
        <th>Summary</th>
        <td>
            [DAG] Replace/Wrap SelectionDAG::isKnownNeverNaN with SelectionDAG::computeKnownFPClass
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    SelectionDAG is missing an equivalent to ValueTrackings's computeKnownFPClass, instead only having a basic implementation for isKnownNeverNaN.

We should create a full SelectionDAG::computeKnownFPClass implementation and then wrap inf/nan/signbit checks around it like ValueTracking does: https://github.com/llvm/llvm-project/blob/04aa5a88d17f5c1cab7acde2e87de05a405e60f1/llvm/lib/Analysis/ValueTracking.cpp#L6306-L6348
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkkFvnD4QxT-NuYyyMraB5cCBfyL-h0RRlVTNebCHxY2xKTa72m9fgVo1SXtoT7Zk-c2b934Yoz15ooYV_7HiLsM1jWFpnu6f7RR81gdzbZ7JkU42-Lv2f7ARJhuj9SdAD_RttWd05BOkAF_QrfR5Qf1q_SkyUUXQYZrXRPc-XHz36dZhjEzcgvUxERoI3l1hxPMuBz1Gq8FOs6OJfMJtJgxhARt3gUc60_KIjwfGW8bbF4I4htUZ0AthIkAYVufgrV8mWybbP7j4OAa9gTSSh8uCM1g_MNF59Ex0W0C9TaBH0q8RcAmrN2ATOPtK73cGEygy2cKY0rxdmOiY6E42jWt_0GFionPu_PO4mZfwlXRioutd6JnouEIs8Hg0eTUUOtfYV6gNCTpWhniBihdU8iF_o2O3f61Hd402MtG9M3TQ88yEfCglL28eSqmOmWmkqWWNGTV5pUrOS17V2diUg6Kqr1SV57WWspTaGKx6HBQiDjzPbCO4KLiSnNcqz-sDFmWNRuamHIwROmeK04TWHTZrh7CcMhvjSk0uq1rJzGFPLu6gCeHpAvsrE2Ljbmn2QPr1FJnizsYUf8kkm9xO6FZocQdPNDvUxET3spX1e98feIGLTePfYZGti2v-ub19ky38H6ueG_E9AAD__69lHY4">