[PATCH] D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass

Anh Tuyen Tran via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 19 21:29:48 PDT 2020


anhtuyen created this revision.
anhtuyen added reviewers: bmahjour, nemanjai, nikic, dfukalov, rupprecht, serge-sans-paille, Eugene.Zelenko.
anhtuyen added a project: LLVM.
Herald added subscribers: llvm-commits, wuzish, hiraditya.
anhtuyen requested review of this revision.

**Loop Idiom Recognize Pass** (LIRP) attempts to transform loops with subscripted arrays into **memcpy/memset **function calls. In some particular situation, this transformation introduces negative impacts. For example, the introduction of **memset/memcpy** function calls can confuse data dependence analysis (DA). While the existing DA can produce accurate dependence vectors based on subscripted array accesses, it might report inaccurate dependencies when the accesses are transformed into function calls.

This patch is to provide the user with options to disable part or the entire Loop Idiom Recognize Pass. The default behavior stays unchanged: no part of LIRP is disabled by default. The options will enable users to disable a particular part of the transformation, while he/she can still enjoy the benefit brought about by the rest of LIRP.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86262

Files:
  llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  llvm/test/Transforms/LoopIdiom/disable-options.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86262.286707.patch
Type: text/x-patch
Size: 12866 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200820/12859f51/attachment.bin>


More information about the llvm-commits mailing list