Skip to content
Snippets Groups Projects
Commit 990f771a authored by Andrew Trick's avatar Andrew Trick
Browse files

Add clarifying comments for the new arguments to UnrollLoop.

llvm-svn: 135988
parent 55c8a787
No related branches found
No related tags found
No related merge requests found
...@@ -106,6 +106,18 @@ static BasicBlock *FoldBlockIntoPredecessor(BasicBlock *BB, LoopInfo* LI) { ...@@ -106,6 +106,18 @@ static BasicBlock *FoldBlockIntoPredecessor(BasicBlock *BB, LoopInfo* LI) {
/// branch instruction. However, if the trip count (and multiple) are not known, /// branch instruction. However, if the trip count (and multiple) are not known,
/// loop unrolling will mostly produce more code that is no faster. /// 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. /// 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 /// If a LoopPassManager is passed in, and the loop is fully removed, it will be
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment