Generates a vector reduction using shufflevectors to reduce the value. Fast-math-flags are propagated using the IRBuilder's setting.
Declared in <llvm/Transforms/Utils/LoopUtils.h>
Value*
getShuffleReduction(
IRBuilderBase& Builder,
Value* Src,
unsigned int Op,
TargetTransformInfo::ReductionShuffle RS,
RecurKind MinMaxKind = RecurKind::None);
The shuffle reduction result.
| Name | Description |
|---|---|
| Builder | IR builder used to create the shuffle reduction. |
| Src | Vector value being reduced. |
| Op | Arithmetic opcode applied during the reduction. |
| RS | Shuffle reduction strategy from TTI. |
| MinMaxKind | Optional min/max recurrence kind when Op is a compare. |