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

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 >
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 

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 

◆ visitAddRecExpr()

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

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