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)

Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1142

Parameters

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)

Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1149

Parameters

const llvm::SCEV* S

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)

Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1168

Parameters

const llvm::SCEVMulExpr* Expr

const llvm::SCEV* visitUnknown(
    const llvm::SCEVUnknown* Expr)

Declared at: llvm/lib/Analysis/ScalarEvolution.cpp:1178

Parameters

const llvm::SCEVUnknown* Expr