enum class RecurKind
Description
These are the kinds of recurrences that we support.
Declared at: llvm/include/llvm/Analysis/IVDescriptors.h:35
Enumerators
Name | Value | Comment |
---|---|---|
None | 0 | Not a recurrence. |
Add | 1 | Sum of integers. |
Mul | 2 | Product of integers. |
Or | 3 | Bitwise or logical OR of integers. |
And | 4 | Bitwise or logical AND of integers. |
Xor | 5 | Bitwise or logical XOR of integers. |
SMin | 6 | Signed integer min implemented in terms of select(cmp()). |
SMax | 7 | Signed integer max implemented in terms of select(cmp()). |
UMin | 8 | Unisgned integer min implemented in terms of select(cmp()). |
UMax | 9 | Unsigned integer max implemented in terms of select(cmp()). |
FAdd | 10 | Sum of floats. |
FMul | 11 | Product of floats. |
FMin | 12 | FP min implemented in terms of select(cmp()). |
FMax | 13 | FP max implemented in terms of select(cmp()). |
FMulAdd | 14 | Fused multiply-add of floats (a * b + c). |
SelectICmp | 15 | Integer select(icmp(),x,y) where one of (x,y) is loop invariant |
SelectFCmp | 16 | Integer select(fcmp(),x,y) where one of (x,y) is loop invariant |