LLVM 22.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 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< SCEVLoopAddRecRewriter, const SCEV * >
const SCEVvisit (const SCEV *S)
const SCEVvisitCouldNotCompute (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 932 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: