class SCEVPtrToIntSinkingRewriter
Declaration
class SCEVPtrToIntSinkingRewriter : public SCEVRewriteVisitor { /* full declaration omitted */ };
Description
The SCEVPtrToIntSinkingRewriter takes a scalar evolution expression, which computes a pointer-typed value, and rewrites the whole expression tree so that *all* the computations are done on integers, and the only pointer-typed operands in the expression are SCEVUnknown.
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1137
Inherits from: SCEVRewriteVisitor
Method Overview
- public SCEVPtrToIntSinkingRewriter(llvm::ScalarEvolution & SE)
- public static const llvm::SCEV * rewrite(const llvm::SCEV * Scev, llvm::ScalarEvolution & SE)
- public const llvm::SCEV * visit(const llvm::SCEV * S)
- public const llvm::SCEV * visitAddExpr(const llvm::SCEVAddExpr * Expr)
- public const llvm::SCEV * visitMulExpr(const llvm::SCEVMulExpr * Expr)
- public const llvm::SCEV * visitUnknown(const llvm::SCEVUnknown * Expr)
Methods
¶SCEVPtrToIntSinkingRewriter(
llvm::ScalarEvolution& SE)
SCEVPtrToIntSinkingRewriter(
llvm::ScalarEvolution& SE)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1142
Parameters
¶static const llvm::SCEV* rewrite(
const llvm::SCEV* Scev,
llvm::ScalarEvolution& SE)
static const llvm::SCEV* rewrite(
const llvm::SCEV* Scev,
llvm::ScalarEvolution& SE)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1144
Parameters
- const llvm::SCEV* Scev
- llvm::ScalarEvolution& SE
¶const llvm::SCEV* visit(const llvm::SCEV* S)
const llvm::SCEV* visit(const llvm::SCEV* S)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1149
Parameters
- const llvm::SCEV* S
¶const llvm::SCEV* visitAddExpr(
const llvm::SCEVAddExpr* Expr)
const llvm::SCEV* visitAddExpr(
const llvm::SCEVAddExpr* Expr)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1158
Parameters
- const llvm::SCEVAddExpr* Expr
¶const llvm::SCEV* visitMulExpr(
const llvm::SCEVMulExpr* Expr)
const llvm::SCEV* visitMulExpr(
const llvm::SCEVMulExpr* Expr)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1168
Parameters
- const llvm::SCEVMulExpr* Expr
¶const llvm::SCEV* visitUnknown(
const llvm::SCEVUnknown* Expr)
const llvm::SCEV* visitUnknown(
const llvm::SCEVUnknown* Expr)
Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1178
Parameters
- const llvm::SCEVUnknown* Expr