LLVM 19.0.0git
Public Member Functions | List of all members
SCEVLoopGuardRewriter Class Reference

A rewriter to replace SCEV expressions in Map with the corresponding entry in the map. More...

Inheritance diagram for SCEVLoopGuardRewriter:
Inheritance graph
[legend]

Public Member Functions

 SCEVLoopGuardRewriter (ScalarEvolution &SE, DenseMap< const SCEV *, const SCEV * > &M)
 
const SCEVvisitAddRecExpr (const SCEVAddRecExpr *Expr)
 
const SCEVvisitUnknown (const SCEVUnknown *Expr)
 
const SCEVvisitZeroExtendExpr (const SCEVZeroExtendExpr *Expr)
 
const SCEVvisitSignExtendExpr (const SCEVSignExtendExpr *Expr)
 
const SCEVvisitUMinExpr (const SCEVUMinExpr *Expr)
 
const SCEVvisitSMinExpr (const SCEVSMinExpr *Expr)
 
- Public Member Functions inherited from llvm::SCEVRewriteVisitor< SCEVLoopGuardRewriter >
 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)
 

Additional Inherited Members

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

Detailed Description

A rewriter to replace SCEV expressions in Map with the corresponding entry in the map.

It skips AddRecExpr because we cannot guarantee that the replacement is loop invariant in the loop of the AddRec.

Definition at line 14975 of file ScalarEvolution.cpp.

Constructor & Destructor Documentation

◆ SCEVLoopGuardRewriter()

SCEVLoopGuardRewriter::SCEVLoopGuardRewriter ( ScalarEvolution SE,
DenseMap< const SCEV *, const SCEV * > &  M 
)
inline

Definition at line 14979 of file ScalarEvolution.cpp.

Member Function Documentation

◆ visitAddRecExpr()

const SCEV * SCEVLoopGuardRewriter::visitAddRecExpr ( const SCEVAddRecExpr Expr)
inline

Definition at line 14983 of file ScalarEvolution.cpp.

◆ visitSignExtendExpr()

const SCEV * SCEVLoopGuardRewriter::visitSignExtendExpr ( const SCEVSignExtendExpr Expr)
inline

◆ visitSMinExpr()

const SCEV * SCEVLoopGuardRewriter::visitSMinExpr ( const SCEVSMinExpr Expr)
inline

Definition at line 15031 of file ScalarEvolution.cpp.

References I, and llvm::SCEVRewriteVisitor< SC >::visitSMinExpr().

◆ visitUMinExpr()

const SCEV * SCEVLoopGuardRewriter::visitUMinExpr ( const SCEVUMinExpr Expr)
inline

Definition at line 15024 of file ScalarEvolution.cpp.

References I, and llvm::SCEVRewriteVisitor< SC >::visitUMinExpr().

◆ visitUnknown()

const SCEV * SCEVLoopGuardRewriter::visitUnknown ( const SCEVUnknown Expr)
inline

Definition at line 14985 of file ScalarEvolution.cpp.

References I.

◆ visitZeroExtendExpr()

const SCEV * SCEVLoopGuardRewriter::visitZeroExtendExpr ( const SCEVZeroExtendExpr Expr)
inline

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