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