LLVM 19.0.0git
Namespaces | Typedefs | Functions
ScalarEvolutionNormalization.h File Reference
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallPtrSet.h"

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

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.
 
const SCEVllvm::normalizeForPostIncUseIf (const SCEV *S, NormalizePredTy Pred, ScalarEvolution &SE)
 Normalize S for all add recurrence sub-expressions for which Pred returns true.
 
const SCEVllvm::denormalizeForPostIncUse (const SCEV *S, const PostIncLoopSet &Loops, ScalarEvolution &SE)
 Denormalize S to be post-increment for all loops present in Loops.