LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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:
Inheritance graph
[legend]

Public Member Functions

 SCEVLoopAddRecRewriter (ScalarEvolution &SE, LoopToScevMapT &M)
 
const SCEVvisitAddRecExpr (const SCEVAddRecExpr *Expr)
 
- Public Member Functions inherited from llvm::SCEVRewriteVisitor< SCEVLoopAddRecRewriter >
 SCEVRewriteVisitor (ScalarEvolution &SE)
 
const SCEVvisit (const SCEV *S)
 
const SCEVvisitConstant (const SCEVConstant *Constant)
 
const SCEVvisitVScale (const SCEVVScale *VScale)
 
const SCEVvisitPtrToIntExpr (const SCEVPtrToIntExpr *Expr)
 
const SCEVvisitTruncateExpr (const SCEVTruncateExpr *Expr)
 
const SCEVvisitZeroExtendExpr (const SCEVZeroExtendExpr *Expr)
 
const SCEVvisitSignExtendExpr (const SCEVSignExtendExpr *Expr)
 
const SCEVvisitAddExpr (const SCEVAddExpr *Expr)
 
const SCEVvisitMulExpr (const SCEVMulExpr *Expr)
 
const SCEVvisitUDivExpr (const SCEVUDivExpr *Expr)
 
const SCEVvisitAddRecExpr (const SCEVAddRecExpr *Expr)
 
const SCEVvisitSMaxExpr (const SCEVSMaxExpr *Expr)
 
const SCEVvisitUMaxExpr (const SCEVUMaxExpr *Expr)
 
const SCEVvisitSMinExpr (const SCEVSMinExpr *Expr)
 
const SCEVvisitUMinExpr (const SCEVUMinExpr *Expr)
 
const SCEVvisitSequentialUMinExpr (const SCEVSequentialUMinExpr *Expr)
 
const SCEVvisitUnknown (const SCEVUnknown *Expr)
 
const SCEVvisitCouldNotCompute (const SCEVCouldNotCompute *Expr)
 
- Public Member Functions inherited from llvm::SCEVVisitor< SC, RetVal >
RetVal visit (const SCEV *S)
 
RetVal visitCouldNotCompute (const SCEVCouldNotCompute *S)
 

Static Public Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from llvm::SCEVRewriteVisitor< SCEVLoopAddRecRewriter >
ScalarEvolutionSE
 
SmallDenseMap< const SCEV *, const SCEV * > RewriteResults
 

Detailed Description

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

Definition at line 928 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVLoopAddRecRewriter()

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

Definition at line 931 of file ScalarEvolutionExpressions.h.

Member Function Documentation

◆ rewrite()

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

◆ visitAddRecExpr()

const SCEV * llvm::SCEVLoopAddRecRewriter::visitAddRecExpr ( const SCEVAddRecExpr Expr)
inline

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