<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 7, 2014 at 2:23 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">> [x86] Teach the new vector shuffle lowering code to handle what is<br>
> essentially a DAG combine that never gets a chance to run.<br>
<br>
</div>Can you please explain what this means? We run DAGCombine in AfterLegalizeDAG mode just before instruction selection.</blockquote></div><br></div><div class="gmail_extra">But by then, we've finished selecting x86 instructions for the VECTOR_SHUFFLE node. The problem is that we see new VECTOR_SHUFFLE nodes created during instruction selection, and yet instruction selection has to remove all such nodes before it finishes and the combiner runs again.</div>
</div>