ΒΆllvm::Value* createSimpleTargetReduction(
    IRBuilder<>& B,
    const llvm::TargetTransformInfo* TTI,
    unsigned int Opcode,
    llvm::Value* Src,
    TargetTransformInfo::ReductionFlags Flags =
        llvm::TargetTransformInfo::
            ReductionFlags(),
    ArrayRef<llvm::Value*> RedOps = None)

Description

Create a target reduction of the given vector. The reduction operation is described by the \p Opcode parameter. min/max reductions require additional information supplied in \p Flags. The target is queried to determine if intrinsics or shuffle sequences are required to implement the reduction. Fast-math-flags are propagated using the IRBuilder's setting.

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

Parameters

IRBuilder<>& B
const llvm::TargetTransformInfo* TTI
unsigned int Opcode
llvm::Value* Src
TargetTransformInfo::ReductionFlags Flags = llvm::TargetTransformInfo::ReductionFlags()
ArrayRef<llvm::Value*> RedOps = None