mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-28 23:43:50 +00:00
Add clarifying comments for the new arguments to UnrollLoop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135988 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
617793d1d6
commit
478849e98c
@ -106,6 +106,18 @@ static BasicBlock *FoldBlockIntoPredecessor(BasicBlock *BB, LoopInfo* LI) {
|
||||
/// 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.
|
||||
///
|
||||
/// Similarly, TripMultiple divides the number of times that the LatchBlock may
|
||||
/// execute without exiting the loop.
|
||||
///
|
||||
/// The LoopInfo Analysis that is passed will be kept consistent.
|
||||
///
|
||||
/// If a LoopPassManager is passed in, and the loop is fully removed, it will be
|
||||
|
Loading…
Reference in New Issue
Block a user