[PATCH] D39415: [ARMISelLowering] Better handling of NEON load/store for sequential memory regions

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 2 08:46:56 PDT 2017


rengolin added a reviewer: majnemer.
rengolin added a comment.

After looking at your PDF, it sounds as though you don't need the while loop at all.

Just iterate once through all users, collecting the increment sizes. 
Then sort them and make sure each one is a step away from the other (step = inc[1]-inc[0]).
If the end is reached and they're all the same size, combine to post-inc.

An optimisation over that would be to find a sub-set of the list which has constant increment and only combine those, but that's a very small edge case inside an already small case and I wouldn't worry about it.

Also, unless you can run the check-all and the test-suite and make sure there are no breakages on your own, it's going to be hard to spend time looking at your patch again.

Adding David (combine code owner) for a better look at the algorithm.

cheers,
--renato


https://reviews.llvm.org/D39415





More information about the llvm-commits mailing list