[PATCH] D20128: MemCpyOpt: combine local load/store sequences into memcpy.

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Tue May 10 13:18:31 PDT 2016


t.p.northover created this revision.
t.p.northover added a subscriber: llvm-commits.
t.p.northover set the repository for this revision to rL LLVM.
Herald added a subscriber: mcrosier.

We've got a loop idiom recognizer that can spot a memcpy, but as far as I can tell nothing for the case where the user has "helpfully" unrolled their loops for us, leaving a linear load/store sequence.

This pass seemed to have most of the machinery in place already to form memsets, so I adapted it to also create memcpy calls when it could. I've run the test-suite with no issues, but I'm still not really in familiar code so I'd appreciate someone else looking over the code.

Cheers.

Tim.

Repository:
  rL LLVM

http://reviews.llvm.org/D20128

Files:
  lib/Transforms/Scalar/MemCpyOptimizer.cpp
  test/Transforms/MemCpyOpt/form-memcpy.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20128.56793.patch
Type: text/x-patch
Size: 28494 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160510/3aacdd7c/attachment.bin>


More information about the llvm-commits mailing list