LLVM 23.0.0git
SLPUtils.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include <optional>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::slpvectorizer
 A private "module" namespace for types and utilities used by this pass.

Functions

bool llvm::slpvectorizer::isConstant (Value *V)
bool llvm::slpvectorizer::isVectorLikeInstWithConstOps (Value *V)
 Checks if V is one of vector-like instructions, i.e.
unsigned llvm::slpvectorizer::getNumElements (Type *Ty)
unsigned llvm::slpvectorizer::getPartNumElems (unsigned Size, unsigned NumParts)
 Returns power-of-2 number of elements in a single register (part), given the total number of elements Size and number of registers (parts) NumParts.
unsigned llvm::slpvectorizer::getNumElems (unsigned Size, unsigned PartNumElems, unsigned Part)
 Returns correct remaining number of elements, considering total amount Size, (power-of-2 number) of elements in a single register PartNumElems and current register (part) Part.
bool llvm::slpvectorizer::allSameBlock (ArrayRef< Value * > VL)
bool llvm::slpvectorizer::allConstant (ArrayRef< Value * > VL)
bool llvm::slpvectorizer::isSplat (ArrayRef< Value * > VL)
bool llvm::slpvectorizer::allSameOpcode (ArrayRef< Value * > VL)
std::optional< unsignedllvm::slpvectorizer::getExtractIndex (const Instruction *E)
bool llvm::slpvectorizer::allSameType (ArrayRef< Value * > VL)
template<typename T>
std::optional< unsignedllvm::slpvectorizer::getInsertExtractIndex (const Value *Inst, unsigned Offset)