mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +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:
@ -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
|
||||||
|
Reference in New Issue
Block a user