Simplify instructions that use this induction variable.

Synopsis

Declared in <llvm/Transforms/Utils/SimplifyIndVar.h>

std::pair<bool, bool>
simplifyUsersOfIV(
    PHINode* CurrIV,
    ScalarEvolution* SE,
    DominatorTree* DT,
    LoopInfo* LI,
    TargetTransformInfo const* TTI,
    SmallVectorImpl<WeakTrackingVH>& Dead,
    SCEVExpander& Rewriter,
    IVVisitor* V = nullptr);

Description

Uses ScalarEvolution to analyze the IV's recurrence.

Return Value

A pair whose first entry is true if changes were made and whose second entry is true if new loop‐unswitching opportunities were introduced.

Parameters

Name

Description

CurrIV

Induction‐variable PHI whose users may be simplified.

SE

ScalarEvolution used to analyze the IV recurrence.

DT

Dominator tree used by simplification.

LI

Loop info for the function containing CurrIV.

TTI

Target transform info used for profitability checks.

Dead

Receives instructions that become dead and may be deleted.

Rewriter

SCEV expander used when rewriting users.

V

Optional visitor notified about interesting IV users.

Created with MrDocs