[#llvm-RecurrenceDescriptor-2constructor-05] = xref:llvm.adoc[llvm]::xref:llvm/RecurrenceDescriptor.adoc[RecurrenceDescriptor]::RecurrenceDescriptor :relfileprefix: ../../ :mrdocs: Construct a recurrence descriptor with full reduction metadata. == Synopsis Declared in `<llvm/Analysis/IVDescriptors.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- RecurrenceDescriptor( xref:llvm/Value.adoc[Value]* Start, xref:llvm/Instruction.adoc[Instruction]* Exit, xref:llvm/StoreInst.adoc[StoreInst]* Store, xref:llvm/RecurKind.adoc[RecurKind] K, xref:llvm/FastMathFlags.adoc[FastMathFlags] FMF, xref:llvm/Instruction.adoc[Instruction]* ExactFP, xref:llvm/Type.adoc[Type]* RT, bool Signed, bool Ordered, xref:llvm/SmallPtrSetImpl-05.adoc[SmallPtrSetImpl<Instruction*>]& CI, unsigned int MinWidthCastToRecurTy, bool PhiHasUsesOutsideReductionChain = false); ---- == Parameters [cols="1,4"] |=== | Name| Description | *Start* | Starting value of the recurrence. | *Exit* | Instruction whose value is used outside the loop. | *Store* | Optional store of a reduction result to an invariant address. | *K* | Kind of recurrence represented by this descriptor. | *FMF* | Fast‐math flags on the recurrent instructions. | *ExactFP* | First non‐reassociative FP instruction in the use‐chain. | *RT* | Type of the recurrence, possibly narrower than the PHI type. | *Signed* | True if all source operands are SExtInsts. | *Ordered* | True if this recurrence can be treated as in‐order. | *CI* | Instructions used for type‐promoting the recurrence. | *MinWidthCastToRecurTy* | Minimum bit width used by the recurrence. | *PhiHasUsesOutsideReductionChain* | True if the PHI has uses outside the reduction chain. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#