[PATCH] D107964: [LoopIdiom] Don't transform loop into memmove when load from body has more than one use

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 20 08:47:31 PDT 2021


lebedev.ri added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1310-1311
 
   // If the store is a memcpy instruction, we must check if it will write to
   // the load memory locations. So remove it from the ignored stores.
   if (IsMemCpy)
----------------
The new bailout needs some similar comment.


================
Comment at: llvm/test/Transforms/LoopIdiom/basic.ll:1303
 
+;; Do not form memmove when load has more than one use.
+define i32 @do_not_form_memmove5(i32* %p) {
----------------
Please precommit the test


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107964/new/

https://reviews.llvm.org/D107964



More information about the llvm-commits mailing list