ΒΆllvm::Value* createTargetReduction(
    llvm::IRBuilderBase& B,
    const llvm::TargetTransformInfo* TTI,
    const llvm::RecurrenceDescriptor& Desc,
    llvm::Value* Src,
    llvm::PHINode* OrigPhi = nullptr)

Description

Create a generic target reduction using a recurrence descriptor \p Desc The target is queried to determine if intrinsics or shuffle sequences are required to implement the reduction. Fast-math-flags are propagated using the RecurrenceDescriptor.

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:402

Parameters

llvm::IRBuilderBase& B
const llvm::TargetTransformInfo* TTI
const llvm::RecurrenceDescriptor& Desc
llvm::Value* Src
llvm::PHINode* OrigPhi = nullptr