<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/150069>150069</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DAG] combineVSelectWithAllOnesOrZeros - missing freeze
</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>
With #145298 we forgot to ensure that the selected operand was frozen - see foldVSelectToSignBitSplatMask for reference
I've included the alive2 for the `select Cond, -1, x → or Cond, x` fold here: https://alive2.llvm.org/ce/z/fwT9Si - but you should confirm the other 2 folds require this as well.
CC @woruyu
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxUUk1v2zgQ_TWjy8AGPfqyDjoo9mqxWCwCrIMW6I0SRxJbinRJyk7y6wvJQYpeSBDzZt57nCdD0KNlriF_gvycyCVOztf__3vRs7NJ59Rb_VXHCYHSQ5ZTdcQ74-D86CJGh2zD4hnjJCPGiTGw4T6yQndlL63Cuww4ePfOFncYeO016stlg724ix7tk46Xq5HxPxl-rJPR88Cebc8gGhDNP0DljVHb3iyK1UYjjb4xbej1CYV4EOPJWQV0wt1hPV8R_iI4FlAROv9ZfIVCbDpwYs-QNjjFeA2QNkAtUPuYvjfmNu-dH4HanoHad6B2uL9UF4077JaIb27BMLnFKOydHbSfNzUuTuyRNoaAnn8uevsiHVAGvLMx-4ez0wkhE3fnl7clUXWqqrSSCdeHMk9J5IdcJFNdFsQ8VD0XpRBplaZVxqoY0r7gXkk1JLomQbkoiQ4l5bnYH7ssH6SomI9lmnUHyATPUptPQ4kOYeH6kAtRVImRHZuwBYBodE7hoH2IuIGACOgERGsvpM1jcdrZc_P3WsvPia_X2q5bxgCZMDrE8Jsp6mi2cK34_Iy9mztt-SMAa7IaY54th2f_jb0LuMNZh6DtiINnfudk8ab-cz2jjtPS7Xs3A7Wbrse1u3r3nfsI1G7aA1D74fFW068AAAD__2ak8aY">