LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
llvm::SCEVApplyRewriter Struct Reference

#include <ScalarEvolutionExpressions.h>

Inheritance diagram for llvm::SCEVApplyRewriter:
Inheritance graph
[legend]
Collaboration diagram for llvm::SCEVApplyRewriter:
Collaboration graph
[legend]

Public Member Functions

 SCEVApplyRewriter (ScalarEvolution &S, LoopToScevMapT &M)
 
const SCEVvisitConstant (const SCEVConstant *Constant)
 
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 SCEVvisitUnknown (const SCEVUnknown *Expr)
 
const SCEVvisitCouldNotCompute (const SCEVCouldNotCompute *Expr)
 
- Public Member Functions inherited from llvm::SCEVVisitor< SCEVApplyRewriter, 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)
 

Detailed Description

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

Definition at line 653 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

llvm::SCEVApplyRewriter::SCEVApplyRewriter ( ScalarEvolution S,
LoopToScevMapT M 
)
inline

Definition at line 662 of file ScalarEvolutionExpressions.h.

Member Function Documentation

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

Definition at line 656 of file ScalarEvolutionExpressions.h.

References Rewriter, and llvm::SCEVVisitor< SC, RetVal >::visit().

Referenced by llvm::apply().

const SCEV* llvm::SCEVApplyRewriter::visitAddExpr ( const SCEVAddExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitAddRecExpr ( const SCEVAddRecExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitConstant ( const SCEVConstant Constant)
inline

Definition at line 665 of file ScalarEvolutionExpressions.h.

References llvm::ISD::Constant.

const SCEV* llvm::SCEVApplyRewriter::visitCouldNotCompute ( const SCEVCouldNotCompute Expr)
inline

Definition at line 735 of file ScalarEvolutionExpressions.h.

const SCEV* llvm::SCEVApplyRewriter::visitMulExpr ( const SCEVMulExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitSignExtendExpr ( const SCEVSignExtendExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitSMaxExpr ( const SCEVSMaxExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitTruncateExpr ( const SCEVTruncateExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitUDivExpr ( const SCEVUDivExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitUMaxExpr ( const SCEVUMaxExpr Expr)
inline
const SCEV* llvm::SCEVApplyRewriter::visitUnknown ( const SCEVUnknown Expr)
inline

Definition at line 731 of file ScalarEvolutionExpressions.h.

const SCEV* llvm::SCEVApplyRewriter::visitZeroExtendExpr ( const SCEVZeroExtendExpr Expr)
inline

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