[PATCH] PR20234 - [SLP Vectorizer] Canonicalize tree operands of commutitive binary operands.

Erik Eckstein eeckstein at apple.com
Thu Jul 31 05:01:55 PDT 2014


Hi Chad,

I'm sorry that I didn't see your patch before.
I'm currently also working on the SLPVectorizer and my patch is in the final review phase. It's about improving the scheduling.
This is a different issue than what you handle in your patch, but still there is one "conflict":

My new scheduling algorithm is more general and made some heuristics obsolete which - like your approach - relied on the instruction numbering. So I could remove the instruction numbering at all.

Now I looked in detail what problem you solve in your test case. Here the original problem is that the load instructions are in the wrong order, so that they are not recognised as consecutive loads.

I attached a new patch which is a more general solution and does not rely on instruction numbering.
Please take a look at it. If it proves to work well, I'd like to replace your change with this algorithm. This would make my life easier for my other patch :-)

For reference I also attached the my scheduling-patch (it's based on an earlier revision).

Thanks and sorry for replying so late,
Erik

-------------- next part --------------
A non-text attachment was scrubbed...
Name: commute.patch
Type: application/octet-stream
Size: 6506 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140731/bdb20602/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slp-vectorizer-scheduling-5.patch
Type: application/octet-stream
Size: 52188 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140731/bdb20602/attachment-0001.obj>
-------------- next part --------------


On 30 Jul 2014, at 23:20, Chad Rosier <mcrosier at codeaurora.org> wrote:

> Committed as r214338.
> 
> http://reviews.llvm.org/D4680
> 
> 



More information about the llvm-commits mailing list