[PATCH] D112696: CycleInfo: Introduce cycles as a generalization of loops

Ruiling, Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 23 19:26:16 PST 2021


ruiling accepted this revision.
ruiling added a comment.
This revision is now accepted and ready to land.

LGTM. please wait a few days before committing in case others have further comments.



================
Comment at: llvm/include/llvm/ADT/GenericCycleInfo.h:17-24
+/// Cycles are defined recursively:
+///  1. The root "cycle" consists of all basic blocks of a function. Its header
+///     is the entry block of the function.
+///  2. The cycles nested inside a cycle C with header H are the maximal
+///     non-trivial strongly connected components of the (induced) subgraph on
+///     (C - H). (Non-trivial means that there must be an actual cycle, i.e.
+///     a single basic block is only considered a cycle if it has a self-loop.)
----------------
Can you update this part to match the document?


================
Comment at: llvm/include/llvm/ADT/GenericCycleInfo.h:199-201
+  /// \brief Returns true iff \p A contains \p A.
+  ///
+  /// Note: Non-strict containment check, i.e. return true if a == b.
----------------
Can you update the comment?


================
Comment at: llvm/include/llvm/InitializePasses.h:450
 void initializeTypePromotionPass(PassRegistry&);
+void initializeUniformityInfoWrapperPassPass(PassRegistry &);
 void initializeUnifyFunctionExitNodesLegacyPassPass(PassRegistry &);
----------------
This belongs to a future change?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112696



More information about the llvm-commits mailing list