<div dir="ltr">If you want to dump the DAG after each iteration, we can add that, but it'll be *noisy*.<div><br></div><div>But I'm not at all inclined to make this switch yet. Currently, I'm seeing hundereds of test failures when i do all of the legalizing as part of the combiner. I think a bunch of post legalization DAG combines were written to only see legalized code, and vice versa. I'm going to keep poking it on the back-burner, but it doesn't seem worth gating this on, and gating making the rules for post-legalization combines less onerous in general.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 17, 2014 at 10:51 PM, Tom Stellard <span dir="ltr"><<a href="mailto:tom@stellard.net" target="_blank">tom@stellard.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Jul 17, 2014 at 03:15:33PM -0400, Chandler Carruth wrote:<br>
> On Thu, Jul 17, 2014 at 3:11 PM, Tom Stellard <<a href="mailto:tom@stellard.net">tom@stellard.net</a>> wrote:<br>
><br>
> > On Thu, Jul 17, 2014 at 04:55:00PM +0000, Chandler Carruth wrote:<br>
> > > Hi hfinkel, grosbach,<br>
> > ><br>
> > > This allows the combiner to produce new nodes which need to go back<br>
> > > through legalization. This is particularly useful when generating<br>
> > > operands to target specific nodes in a post-legalize DAG combine where<br>
> > > the operands are significantly easier to express as pre-legalized<br>
> > > operations. My immediate use case will be PSHUFB formation where we need<br>
> > > to build a constant shuffle mask with a build_vector node.<br>
> > ><br>
> ><br>
> > Since the post-legalize DAG combiner is now doing combining and<br>
> > legalizing, do we still need to run legalize as a separate pass.<br>
> > Can we instead just do:<br>
> ><br>
> > combine -> legalize types -> combine w/ legalize ops<br>
><br>
><br>
> I'm specifically going to try this, but wanted to get at least the meat of<br>
> the patch out there to make sure folks were still OK with the general<br>
> direction and the necessary changes I had to make to the legalization<br>
> engine.<br>
<br>
</div></div>Thinking about this a little more.  My only concern with dropping the<br>
legalize ops pass is that it will make it more difficult to debug.<br>
Right now it's easy to tell if it was the legalizer or the combiner<br>
which made a change, so I know which file to look at while debugging.<br>
<br>
Is there something we can do to make debugging this new hybrid pass<br>
a little easier?  Maybe dump the DAG after every iteration?<br>
<span class="HOEnZb"><font color="#888888"><br>
-Tom<br>
</font></span></blockquote></div><br></div>