|
LLVM 24.0.0git
|
#include "SLPUtils.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/STLFunctionalExtras.h"#include "llvm/ADT/Sequence.h"#include "llvm/ADT/SmallBitVector.h"#include "llvm/ADT/SmallVector.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Instructions.h"#include "llvm/Support/Casting.h"#include <algorithm>#include <cassert>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| class | llvm::slpvectorizer::BaseShuffleAnalysis |
| The base class for shuffle instruction emission and shuffle cost estimation. More... | |
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 | |
| template<typename T> | |
| T * | llvm::slpvectorizer::performExtractsShuffleAction (MutableArrayRef< std::pair< T *, SmallVector< int > > > ShuffleMask, Value *Base, function_ref< unsigned(T *)> GetVF, function_ref< std::pair< T *, bool >(T *, ArrayRef< int >, bool)> ResizeAction, function_ref< T *(ArrayRef< int >, ArrayRef< T * >)> Action) |
| Does the analysis of the provided shuffle masks and performs the requested actions on the vectors with the given shuffle masks. | |