<div dir="ltr">Out of curiosity, at what phase do you see these redundancies?<br><div>GCC used to canonicalize on the CFG version and do select formation late specifically to address some of these issues.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 25, 2015 at 7:20 AM, 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">I've abandoned this patch (originally abandoned on March 16th).  Overall, I saw no significant performance improvements across SPEC2K/SPEC2K6 and after further testing there was one significant regression (i.e., 6% on spec2000/vpr), which was the workload I was targeting.  While the patch does remove the redundant load, that redundancy was replaced by another set of redundant instructions, fcmp/csel.  IIRC, csel instructions are bad for A57 devices in general.<br>
<br>
I agree that a more general solution should be considered and if the new PRE pass can enable that solution, I'm in no rush to push this patch forward.<br>
<br>
Regardless, I do appreciate everyones feedback!<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<a href="http://reviews.llvm.org/D8120" target="_blank">http://reviews.llvm.org/D8120</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</div></div></blockquote></div><br></div>