AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, bool HasFunNoNaNAttr, RecurrenceDescriptor &RedDes, DemandedBits *DB=nullptr, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr) | llvm::RecurrenceDescriptor | static |
areAllUsesIn(Instruction *I, SmallPtrSetImpl< Instruction *> &Set) | llvm::RecurrenceDescriptor | static |
getCastInsts() | llvm::RecurrenceDescriptor | inline |
getLoopExitInstr() | llvm::RecurrenceDescriptor | inline |
getMinMaxRecurrenceKind() | llvm::RecurrenceDescriptor | inline |
getRecurrenceBinOp(RecurrenceKind Kind) | llvm::RecurrenceDescriptor | static |
getRecurrenceIdentity(RecurrenceKind K, Type *Tp) | llvm::RecurrenceDescriptor | static |
getRecurrenceKind() | llvm::RecurrenceDescriptor | inline |
getRecurrenceStartValue() | llvm::RecurrenceDescriptor | inline |
getRecurrenceType() | llvm::RecurrenceDescriptor | inline |
getUnsafeAlgebraInst() | llvm::RecurrenceDescriptor | inline |
hasMultipleUsesOf(Instruction *I, SmallPtrSetImpl< Instruction *> &Insts, unsigned MaxNumUses) | llvm::RecurrenceDescriptor | static |
hasUnsafeAlgebra() | llvm::RecurrenceDescriptor | inline |
isArithmeticRecurrenceKind(RecurrenceKind Kind) | llvm::RecurrenceDescriptor | static |
isConditionalRdxPattern(RecurrenceKind Kind, Instruction *I) | llvm::RecurrenceDescriptor | static |
isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, DenseMap< Instruction *, Instruction *> &SinkAfter, DominatorTree *DT) | llvm::RecurrenceDescriptor | static |
isFloatingPointRecurrenceKind(RecurrenceKind Kind) | llvm::RecurrenceDescriptor | static |
isIntegerRecurrenceKind(RecurrenceKind Kind) | llvm::RecurrenceDescriptor | static |
isMinMaxSelectCmpPattern(Instruction *I, InstDesc &Prev) | llvm::RecurrenceDescriptor | static |
isRecurrenceInstr(Instruction *I, RecurrenceKind Kind, InstDesc &Prev, bool HasFunNoNaNAttr) | llvm::RecurrenceDescriptor | static |
isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes, DemandedBits *DB=nullptr, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr) | llvm::RecurrenceDescriptor | static |
isSigned() | llvm::RecurrenceDescriptor | inline |
MinMaxRecurrenceKind enum name | llvm::RecurrenceDescriptor | |
MRK_FloatMax enum value | llvm::RecurrenceDescriptor | |
MRK_FloatMin enum value | llvm::RecurrenceDescriptor | |
MRK_Invalid enum value | llvm::RecurrenceDescriptor | |
MRK_SIntMax enum value | llvm::RecurrenceDescriptor | |
MRK_SIntMin enum value | llvm::RecurrenceDescriptor | |
MRK_UIntMax enum value | llvm::RecurrenceDescriptor | |
MRK_UIntMin enum value | llvm::RecurrenceDescriptor | |
RecurrenceDescriptor()=default | llvm::RecurrenceDescriptor | |
RecurrenceDescriptor(Value *Start, Instruction *Exit, RecurrenceKind K, MinMaxRecurrenceKind MK, Instruction *UAI, Type *RT, bool Signed, SmallPtrSetImpl< Instruction *> &CI) | llvm::RecurrenceDescriptor | inline |
RecurrenceKind enum name | llvm::RecurrenceDescriptor | |
RK_FloatAdd enum value | llvm::RecurrenceDescriptor | |
RK_FloatMinMax enum value | llvm::RecurrenceDescriptor | |
RK_FloatMult enum value | llvm::RecurrenceDescriptor | |
RK_IntegerAdd enum value | llvm::RecurrenceDescriptor | |
RK_IntegerAnd enum value | llvm::RecurrenceDescriptor | |
RK_IntegerMinMax enum value | llvm::RecurrenceDescriptor | |
RK_IntegerMult enum value | llvm::RecurrenceDescriptor | |
RK_IntegerOr enum value | llvm::RecurrenceDescriptor | |
RK_IntegerXor enum value | llvm::RecurrenceDescriptor | |
RK_NoRecurrence enum value | llvm::RecurrenceDescriptor | |