Polly 22.0.0git
SCEVValidator.h File Reference

Go to the source code of this file.

Namespaces

namespace  llvm
namespace  polly

Functions

void polly::findLoops (const llvm::SCEV *Expr, llvm::SetVector< const llvm::Loop * > &Loops)
 Find the loops referenced from a SCEV expression.
void polly::findValues (const llvm::SCEV *Expr, llvm::ScalarEvolution &SE, llvm::SetVector< llvm::Value * > &Values)
 Find the values referenced by SCEVUnknowns in a given SCEV expression.
bool polly::hasScalarDepsInsideRegion (const llvm::SCEV *Expr, const llvm::Region *R, llvm::Loop *Scope, bool AllowLoops, const InvariantLoadsSetTy &ILS)
 Returns true when the SCEV contains references to instructions within the region.
bool polly::isAffineExpr (const llvm::Region *R, llvm::Loop *Scope, const llvm::SCEV *Expression, llvm::ScalarEvolution &SE, InvariantLoadsSetTy *ILS=nullptr)
bool polly::isAffineConstraint (llvm::Value *V, const llvm::Region *R, llvm::Loop *Scope, llvm::ScalarEvolution &SE, ParameterSetTy &Params, bool OrExpr=false)
 Check if V describes an affine constraint in R.
ParameterSetTy polly::getParamsInAffineExpr (const llvm::Region *R, llvm::Loop *Scope, const llvm::SCEV *Expression, llvm::ScalarEvolution &SE)
std::pair< const llvm::SCEVConstant *, const llvm::SCEV * > polly::extractConstantFactor (const llvm::SCEV *M, llvm::ScalarEvolution &SE)
 Extract the constant factors from the multiplication M.
const llvm::SCEV * polly::tryForwardThroughPHI (const llvm::SCEV *Expr, llvm::Region &R, llvm::ScalarEvolution &SE, ScopDetection *SD)
 Try to look through PHI nodes, where some incoming edges come from error blocks.
llvm::Value * polly::getUniqueNonErrorValue (llvm::PHINode *PHI, llvm::Region *R, ScopDetection *SD)
 Return a unique non-error block incoming value for PHI if available.