LLVM  15.0.0git
Classes | Namespaces | Functions
Delinearization.h File Reference
#include "llvm/IR/PassManager.h"
Include dependency graph for Delinearization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::SmallVectorImpl< T >
 This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
 
struct  llvm::DelinearizationPrinterPass
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

void llvm::findArrayDimensions (ScalarEvolution &SE, SmallVectorImpl< const SCEV * > &Terms, SmallVectorImpl< const SCEV * > &Sizes, const SCEV *ElementSize)
 Compute the array dimensions Sizes from the set of Terms extracted from the memory access function of this SCEVAddRecExpr (second step of delinearization). More...
 
void llvm::collectParametricTerms (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Terms)
 Collect parametric terms occurring in step expressions (first step of delinearization). More...
 
void llvm::computeAccessFunctions (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< const SCEV * > &Sizes)
 Return in Subscripts the access functions for each dimension in Sizes (third step of delinearization). More...
 
void llvm::delinearize (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< const SCEV * > &Sizes, const SCEV *ElementSize)
 Split this SCEVAddRecExpr into two vectors of SCEVs representing the subscripts and sizes of an array access. More...
 
bool llvm::getIndexExpressionsFromGEP (ScalarEvolution &SE, const GetElementPtrInst *GEP, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< int > &Sizes)
 Gathers the individual index expressions from a GEP instruction. More...