mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Clarify the wording on what it means for a SCEVAddRecExpr to be <NW>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228587 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2ceba77dfa
commit
af30d1e97a
@ -82,12 +82,12 @@ namespace llvm {
|
||||
/// operator. NSW is a misnomer that we use to mean no signed overflow or
|
||||
/// underflow.
|
||||
///
|
||||
/// AddRec expression may have a no-self-wraparound <NW> property if the
|
||||
/// result can never reach the start value. This property is independent of
|
||||
/// the actual start value and step direction. Self-wraparound is defined
|
||||
/// purely in terms of the recurrence's loop, step size, and
|
||||
/// bitwidth. Formally, a recurrence with no self-wraparound satisfies:
|
||||
/// abs(step) * max-iteration(loop) <= unsigned-max(bitwidth).
|
||||
/// AddRec expressions may have a no-self-wraparound <NW> property if, in
|
||||
/// the integer domain, abs(step) * max-iteration(loop) <=
|
||||
/// unsigned-max(bitwidth). This means that the recurrence will never reach
|
||||
/// its start value if the step is non-zero. Computing the same value on
|
||||
/// each iteration is not considered wrapping, and recurrences with step = 0
|
||||
/// are trivially <NW>.
|
||||
///
|
||||
/// Note that NUW and NSW are also valid properties of a recurrence, and
|
||||
/// either implies NW. For convenience, NW will be set for a recurrence
|
||||
|
Loading…
Reference in New Issue
Block a user