[PATCH] D26675: [LoopUnroll] Modify a comment to clarify the usage of TripCount. NFC.

Haicheng Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 20 12:34:20 PST 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL290199: [LoopUnroll] Modify a comment to clarify the usage of TripCount. NFC. (authored by haicheng).

Changed prior to commit:
  https://reviews.llvm.org/D26675?vs=80764&id=82131#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D26675

Files:
  llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp


Index: llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
+++ llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
@@ -178,14 +178,14 @@
 /// branch instruction. However, if the trip count (and multiple) are not known,
 /// loop unrolling will mostly produce more code that is no faster.
 ///
-/// TripCount is generally defined as the number of times the loop header
-/// executes. UnrollLoop relaxes the definition to permit early exits: here
-/// TripCount is the iteration on which control exits LatchBlock if no early
-/// exits were taken. Note that UnrollLoop assumes that the loop counter test
-/// terminates LatchBlock in order to remove unnecesssary instances of the
-/// test. In other words, control may exit the loop prior to TripCount
-/// iterations via an early branch, but control may not exit the loop from the
-/// LatchBlock's terminator prior to TripCount iterations.
+/// TripCount is the upper bound of the iteration on which control exits
+/// LatchBlock. Control may exit the loop prior to TripCount iterations either
+/// via an early branch in other loop block or via LatchBlock terminator. This
+/// is relaxed from the general definition of trip count which is the number of
+/// times the loop header executes. Note that UnrollLoop assumes that the loop
+/// counter test is in LatchBlock in order to remove unnecesssary instances of
+/// the test.  If control can exit the loop from the LatchBlock's terminator
+/// prior to TripCount iterations, flag PreserveCondBr needs to be set.
 ///
 /// PreserveCondBr indicates whether the conditional branch of the LatchBlock
 /// needs to be preserved.  It is needed when we use trip count upper bound to


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26675.82131.patch
Type: text/x-patch
Size: 1789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161220/849f7e4d/attachment.bin>


More information about the llvm-commits mailing list