LLVM 24.0.0git
llvm::SCEVLoopAddRecRewriter Class Reference

The SCEVLoopAddRecRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs. More...

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVLoopAddRecRewriter:
[legend]

Public Member Functions

 SCEVLoopAddRecRewriter (ScalarEvolution &SE, LoopToScevMapT &M)
const SCEV * visitAddRecExpr (const SCEVAddRecExpr *Expr)
Public Member Functions inherited from llvm::SCEVRewriteVisitor< SCEVLoopAddRecRewriter >
 SCEVRewriteVisitor (ScalarEvolution &SE)
const SCEV * visit (const SCEV *S)
const SCEV * visitConstant (const SCEVConstant *Constant)
const SCEV * visitVScale (const SCEVVScale *VScale)
const SCEV * visitPtrToAddrExpr (const SCEVPtrToAddrExpr *Expr)
const SCEV * visitTruncateExpr (const SCEVTruncateExpr *Expr)
const SCEV * visitZeroExtendExpr (const SCEVZeroExtendExpr *Expr)
const SCEV * visitSignExtendExpr (const SCEVSignExtendExpr *Expr)
const SCEV * visitAddExpr (const SCEVAddExpr *Expr)
const SCEV * visitMulExpr (const SCEVMulExpr *Expr)
const SCEV * visitUDivExpr (const SCEVUDivExpr *Expr)
const SCEV * visitAddRecExpr (const SCEVAddRecExpr *Expr)
const SCEV * visitSMaxExpr (const SCEVSMaxExpr *Expr)
const SCEV * visitUMaxExpr (const SCEVUMaxExpr *Expr)
const SCEV * visitSMinExpr (const SCEVSMinExpr *Expr)
const SCEV * visitUMinExpr (const SCEVUMinExpr *Expr)
const SCEV * visitSequentialUMinExpr (const SCEVSequentialUMinExpr *Expr)
const SCEV * visitUnknown (const SCEVUnknown *Expr)
const SCEV * visitCouldNotCompute (const SCEVCouldNotCompute *Expr)
Public Member Functions inherited from llvm::SCEVVisitor< SCEVLoopAddRecRewriter, const SCEV * >
const SCEV * visit (const SCEV *S)
const SCEV * visitCouldNotCompute (const SCEVCouldNotCompute *S)

Static Public Member Functions

static const SCEV * rewrite (const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE)

Additional Inherited Members

Protected Attributes inherited from llvm::SCEVRewriteVisitor< SCEVLoopAddRecRewriter >
ScalarEvolution & SE
SmallDenseMap< const SCEV *, const SCEV *, 16 > RewriteResults

Detailed Description

The SCEVLoopAddRecRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs.

Definition at line 974 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVLoopAddRecRewriter()

llvm::SCEVLoopAddRecRewriter::SCEVLoopAddRecRewriter ( ScalarEvolution & SE,
LoopToScevMapT & M )
inline

Member Function Documentation

◆ rewrite()

const SCEV * llvm::SCEVLoopAddRecRewriter::rewrite ( const SCEV * Scev,
LoopToScevMapT & Map,
ScalarEvolution & SE )
inlinestatic

◆ visitAddRecExpr()


The documentation for this class was generated from the following file: