ΒΆllvm::Value* createTargetReduction(
llvm::IRBuilderBase& B,
const llvm::TargetTransformInfo* TTI,
const llvm::RecurrenceDescriptor& Desc,
llvm::Value* Src,
llvm::PHINode* OrigPhi = nullptr)
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