LLVM  14.0.0git
Classes | Namespaces | Functions
Delinearization.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/raw_ostream.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

struct  llvm::DelinearizationPrinterPass
 

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 

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...