<div dir="ltr"><div>Looks like this do not work:</div><div><br></div><div><div>// Type your code here, or load an example.</div><div>int a[10];</div><div><br></div><div>void unswitch2(int i, int x, int y0, int y1) {</div><div>  if (x) {</div><div>    a[i] = y0;</div><div>    a[i + 1] = y1;</div><div>  } else {</div><div>    a[i + 1] = y0;</div><div>    a[i] = y1;</div><div>  }</div><div>}</div></div><div><br></div><a href="https://godbolt.org/g/Ldd5qV">https://godbolt.org/g/Ldd5qV</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 25, 2017 at 10:22 PM, Hongbin Zheng <span dir="ltr"><<a href="mailto:etherzhhb@gmail.com" target="_blank">etherzhhb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks,<div><br></div><div>Looks like inst combine do the job</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 25, 2017 at 9:36 PM, Davide Italiano <span dir="ltr"><<a href="mailto:davide@freebsd.org" target="_blank">davide@freebsd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Tue, Apr 25, 2017 at 9:24 PM, Hongbin Zheng via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> Hi,<br>
><br>
> Is there a pass in LLVM that can optimize:<br>
><br>
> if (x)<br>
>   a[i] = y0;<br>
> else<br>
>   a[i] = y1;<br>
><br>
> to<br>
><br>
> a[i] = x ? y0 : y1?<br>
><br>
> I tried opt (3.9) with -O3 but looks like such an optimization do not<br>
> happened.<br>
><br>
<br>
</span>The same IR at -O3 for both cases on this example.<br>
<a href="https://godbolt.org/g/Tk2MM8" rel="noreferrer" target="_blank">https://godbolt.org/g/Tk2MM8</a><br>
<span class="m_-7575599966051767950HOEnZb"><font color="#888888"><br>
--<br>
Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>