SCEV visitor that divides a numerator expression by a fixed denominator.

Synopsis

Declared in <llvm/Analysis/ScalarEvolutionDivision.h>

struct SCEVDivision
    : SCEVVisitor<SCEVDivision, void>

Base Classes

Name

Description

SCEVVisitor<SCEVDivision, void>

This class defines a simple visitor class that may be used for various SCEV analysis purposes.

Member Functions

Name

Description

visit

Dispatch to the typed visit method for S.

visitAddExpr

Divide an add SCEV by the denominator when possible.

visitAddRecExpr

Divide an add‐recurrence SCEV by the denominator when possible.

visitConstant

Divide a constant SCEV by the denominator when possible.

visitCouldNotCompute

visitCouldNotCompute overloads

visitMulExpr

Divide a multiply SCEV by the denominator when possible.

visitPtrToAddrExpr

Leave the trivial quotient/remainder for a pointer‐to‐address numerator.

visitSMaxExpr

Leave the trivial quotient/remainder for a signed‐max numerator.

visitSMinExpr

Leave the trivial quotient/remainder for a signed‐min numerator.

visitSequentialUMinExpr

Leave the trivial quotient/remainder for a sequential unsigned‐min.

visitSignExtendExpr

Leave the trivial quotient/remainder for a sign‐extend numerator.

visitTruncateExpr

Leave the trivial quotient/remainder for a truncate numerator.

visitUDivExpr

Leave the trivial quotient/remainder for an unsigned‐divide numerator.

visitUMaxExpr

Leave the trivial quotient/remainder for an unsigned‐max numerator.

visitUMinExpr

Leave the trivial quotient/remainder for an unsigned‐min numerator.

visitUnknown

Leave the trivial quotient/remainder for an unknown SCEV numerator.

visitVScale

Divide a vscale SCEV by the denominator when possible.

visitZeroExtendExpr

Leave the trivial quotient/remainder for a zero‐extend numerator.

Static Member Functions

Name

Description

divide

Compute quotient and remainder SCEVs for dividing Numerator by Denominator.

Created with MrDocs