[PATCH] FIx PR16026

Michael Liao michael.liao at intel.com
Wed Jun 5 11:17:55 PDT 2013


Hi Nadav

Yeah, that's a good optimization. The patch doesn't disable that but try
to simplify it by deferring when one of the operand of that build_vector
has the pattern of (extract_vector_elt (shuffle_vector ..)). For the
test case in this PR, (extract_vector_elt (shuffle_vector ..)) could be
simplified further and results in a better for this optimization.

I probably rerun the test case to provide more concrete example as it's
a fix 3 weeks ago.

Thanks
- Michael

On Wed, 2013-06-05 at 11:08 -0700, Nadav Rotem wrote:
> Hi Michael, 
> 
> 
> Converting build_vectors of scalars that come from two vectors into a
> shuffle is a good optimization. I am not sure why you want to disable
> it if one of the users come from a shuffle vector.  Is there another
> way to optimize your test case ?
> 
> 
> Nadav
> 
> On Jun 5, 2013, at 10:23 AM, Michael Liao <michael.liao at intel.com>
> wrote:
> 
> > Ping with patch reattached.
> > 
> > - Michael
> > 
> > On Fri, 2013-05-17 at 12:52 -0700, Michael Liao wrote:
> > > Ping.
> > > 
> > > - Michael
> > > 
> > > On Thu, 2013-05-16 at 10:57 -0700, Michael Liao wrote:
> > > > Hi
> > > > 
> > > > The attach patch fixes PR16026. When DAG combining from
> > > > (build_vector
> > > > (extract_vector_elt ..) ..) to (vector_shuffle), it should be
> > > > deferred
> > > > if one operand of build_vector has patterns of
> > > > (extract_vector_elt
> > > > (shuffle_vector ..)), which could be simplified further.
> > > > 
> > > > Thanks for review.
> > > > - Michael
> > > > 
> > > > _______________________________________________
> > > > llvm-commits mailing list
> > > > llvm-commits at cs.uiuc.edu
> > > > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> > > 
> > > _______________________________________________
> > > llvm-commits mailing list
> > > llvm-commits at cs.uiuc.edu
> > > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> > 
> > <0001-Fix-PR16026.patch>_______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 





More information about the llvm-commits mailing list