|
LLVM 24.0.0git
|
Narrow reduction leaf: the value, the shift applied after widening and the mask applied in the narrow type before widening, clearing the bits the absorbed narrow shls shift out and applying the absorbed narrow and-masks. More...
#include "Transforms/Vectorize/SLPVectorizer/SLPUtils.h"
Public Member Functions | |
| NarrowedLeafInfo (Value *V, unsigned Shift, APInt Mask) | |
Public Attributes | |
| Value * | V |
| unsigned | Shift |
| APInt | Mask |
Narrow reduction leaf: the value, the shift applied after widening and the mask applied in the narrow type before widening, clearing the bits the absorbed narrow shls shift out and applying the absorbed narrow and-masks.
Lossless narrow shls contribute their known-zero bits to the mask so matching lanes can form a splat. All-ones mask means nothing was absorbed and no 'and' is needed.
Definition at line 346 of file SLPUtils.h.
|
inline |
Definition at line 347 of file SLPUtils.h.
References Mask, llvm::move(), Shift, and V.
| APInt llvm::slpvectorizer::NarrowedLeafInfo::Mask |
Definition at line 352 of file SLPUtils.h.
Referenced by NarrowedLeafInfo().
| unsigned llvm::slpvectorizer::NarrowedLeafInfo::Shift |
Definition at line 351 of file SLPUtils.h.
Referenced by NarrowedLeafInfo().
| Value* llvm::slpvectorizer::NarrowedLeafInfo::V |
Definition at line 350 of file SLPUtils.h.
Referenced by NarrowedLeafInfo().