|
LLVM 24.0.0git
|
#include "SLPMemoryUtils.h"#include "SLPCompatibilityAnalysis.h"#include "SLPUtils.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/ScalarEvolutionExpressions.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/Instructions.h"#include <algorithm>#include <set>#include <utility>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::arePointersCompatible (Value *Ptr1, Value *Ptr2, const TargetLibraryInfo &TLI, unsigned MaxDepth, bool CompareOpcodes=true) |
MaxDepth is the recursion limit for getUnderlyingObject. | |
| template<typename T> | |
| Align | llvm::slpvectorizer::computeCommonAlignment (ArrayRef< Value * > VL) |
| Calculates minimal alignment as a common alignment. | |
| template Align | llvm::slpvectorizer::computeCommonAlignment< LoadInst > (ArrayRef< Value * >) |
| template Align | llvm::slpvectorizer::computeCommonAlignment< StoreInst > (ArrayRef< Value * >) |
| const SCEV * | llvm::slpvectorizer::calculateRtStride (ArrayRef< Value * > PointerOps, Type *ElemTy, const DataLayout &DL, ScalarEvolution &SE, SmallVectorImpl< unsigned > &SortedIndices) |
Checks if the provided list of pointers Pointers represents the strided pointers for type ElemTy. | |