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 |