<div dir="ltr"><pre>%0:i32 = var
%1:i32 = and 1:i32, %0
%2:i1 = ne 0:i32, %1
infer %2
%3:i1 = trunc %0
result %3<br><br></pre>We canonicalize from a trunc to the and/icmp sequence. I'm not sure why. Does anyone know the history?<br> <br>  // Canonicalize trunc x to i1 -> (icmp ne (and x, 1), 0), likewise for vector.<br>  if (DestTy->getScalarSizeInBits() == 1) {<br>    Constant *One = ConstantInt::get(SrcTy, 1);<br>    Src = Builder->CreateAnd(Src, One);<br>    Value *Zero = Constant::getNullValue(Src->getType());<br>    return new ICmpInst(ICmpInst::ICMP_NE, Src, Zero);<br>  }<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 2, 2016 at 12:01 AM, John Regehr via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello folks,<br>
<br>
Over the last few years I provided a few links (below) to some optimizations derived by Souper.<br>
<br>
I know that at least a few of these optimizations got implemented in LLVM but I don't have any good data on this. If you implemented any of these, or know of some that got implemented, could you drop me a line?<br>
<br>
Also I'll be at the upcoming dev meeting in San Jose and would love to chat with folks about this stuff.<br>
<br>
Thanks,<br>
<br>
John<br>
<br>
<a href="http://lists.llvm.org/pipermail/llvm-dev/2014-November/078971.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermai<wbr>l/llvm-dev/2014-November/<wbr>078971.html</a><br>
<a href="http://lists.llvm.org/pipermail/llvm-dev/2015-July/088481.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermai<wbr>l/llvm-dev/2015-July/088481.<wbr>html</a><br>
<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>