[PATCH] D17443: [LPM] Document the new helpers to make it easy to get consistent require and preserve behavior from loop passes.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 19 03:04:09 PST 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL261319: [LPM] Document the new helpers to make it easy to get consistent require (authored by chandlerc).

Changed prior to commit:
  http://reviews.llvm.org/D17443?vs=48471&id=48473#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D17443

Files:
  llvm/trunk/docs/WritingAnLLVMPass.rst

Index: llvm/trunk/docs/WritingAnLLVMPass.rst
===================================================================
--- llvm/trunk/docs/WritingAnLLVMPass.rst
+++ llvm/trunk/docs/WritingAnLLVMPass.rst
@@ -525,6 +525,14 @@
 these methods should return ``true`` if they modified the program, or ``false``
 if they didn't.
 
+A ``LoopPass`` subclass which is intended to run as part of the main loop pass
+pipeline needs to preserve all of the same *function* analyses that the other
+loop passes in its pipeline require. To make that easier,
+a ``getLoopAnalysisUsage`` function is provided by ``LoopUtils.h``. It can be
+called within the subclass's ``getAnalysisUsage`` override to get consistent
+and correct behavior. Analogously, ``INITIALIZE_PASS_DEPENDENCY(LoopPass)``
+will initialize this set of function analyses.
+
 The ``doInitialization(Loop *, LPPassManager &)`` method
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17443.48473.patch
Type: text/x-patch
Size: 938 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160219/9775bb76/attachment.bin>


More information about the llvm-commits mailing list