Polly 20.0.0git
Namespaces | Functions
SCEVValidator.h File Reference
#include "polly/Support/ScopHelper.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This file contains the declaration of the PolyhedralInfo class, which will provide an interface to expose polyhedral analysis information of Polly.
 
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.