<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 17, 2014 at 2:01 PM, Chad Rosier <span dir="ltr"><<a href="mailto:mcrosier@codeaurora.org" target="_blank">mcrosier@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> As a side question, the existing code assumes that the "icmp" are always<br>
> taking the constant as the second operand (it never tries to match the<br>
> first operand). Is it something that is canonicalized in the IR and can be<br>
> assumed here?<br>
<br>
</span>AFAIK, it's the preferred form in IR and I've seen a lot of code that make<br>
this assumption.  However, you should investigate on a case by case basis.<br>
 I'm not aware of any pass or verifier that strictly enforces this<br>
standard across all optimizations/passes.</blockquote></div><br>I'm moderately certain that instcombine canonicalizes constants to the RHS of an icmp.</div></div>