LLVM 22.0.0git
ScalarEvolutionNormalization.h File Reference

Go to the source code of this file.

Namespaces

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

Typedefs

typedef SmallPtrSet< const Loop *, 2 > llvm::PostIncLoopSet
typedef function_ref< bool(const SCEVAddRecExpr *)> llvm::NormalizePredTy

Functions

LLVM_ABI const SCEVllvm::normalizeForPostIncUse (const SCEV *S, const PostIncLoopSet &Loops, ScalarEvolution &SE, bool CheckInvertible=true)
 Normalize S to be post-increment for all loops present in Loops.
LLVM_ABI const SCEVllvm::normalizeForPostIncUseIf (const SCEV *S, NormalizePredTy Pred, ScalarEvolution &SE)
 Normalize S for all add recurrence sub-expressions for which Pred returns true.
LLVM_ABI const SCEVllvm::denormalizeForPostIncUse (const SCEV *S, const PostIncLoopSet &Loops, ScalarEvolution &SE)
 Denormalize S to be post-increment for all loops present in Loops.