<div dir="ltr">Hi Matt,<div><br></div><div>Yes; min/max is now matched at the IR level. I know there is the possibility of this approach missing some min/max's exposed at the DAGCombine level, but that could be fixed with point fixes if a common pattern emerges.</div><div><br></div><div>The advantage of matching at the SDAGBuilder stage is that all the (fairly complex) logic gets kept in one place. We've now (or will have by the end of the week) removed 4 separate implementations of matching mins/maxs, all dealing with the subtleties of orderedness/unorderedness/signed-zeroes/NaNs. I hope that in the long run this new approach will be more maintainable, and I'm sure we can patch up any regressions in DAGCombine.</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 13 Aug 2015 at 20:27 Matt Arsenault via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">arsenm accepted this revision.<br>
arsenm added a comment.<br>
This revision is now accepted and ready to land.<br>
<br>
I think I tried to do this before, but hit a regression where a min/max pattern showed up during lowering since the generic min / max was only formed during SelectionDAGBuilder. I wasn't sure why min/max was only being matched so early. Was this fixed / is min/max matched in DAGCombiner now?<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D12007" rel="noreferrer" target="_blank">http://reviews.llvm.org/D12007</a><br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>