LLVM: llvm::ScalarEvolution::ExitLimit Struct Reference (original) (raw)

Information about the number of loop iterations for which a loop exit's branch condition evaluates to the not-taken path. More...

#include "[llvm/Analysis/ScalarEvolution.h](ScalarEvolution%5F8h%5Fsource.html)"

Public Member Functions
LLVM_ABI ExitLimit (const SCEV *E)
Construct either an exact exit limit from a constant, or an unknown one from a SCEVCouldNotCompute.
LLVM_ABI ExitLimit (const SCEV *E, const SCEV *ConstantMaxNotTaken, const SCEV *SymbolicMaxNotTaken, bool MaxOrZero, ArrayRef< ArrayRef< const SCEVPredicate * > > PredLists={})
LLVM_ABI ExitLimit (const SCEV *E, const SCEV *ConstantMaxNotTaken, const SCEV *SymbolicMaxNotTaken, bool MaxOrZero, ArrayRef< const SCEVPredicate * > PredList)
bool hasAnyInfo () const
Test whether this ExitLimit contains any computed information, or whether it's all SCEVCouldNotCompute values.
bool hasFullInfo () const
Test whether this ExitLimit contains all information.
Public Attributes
const SCEV * ExactNotTaken
const SCEV * ConstantMaxNotTaken
const SCEV * SymbolicMaxNotTaken
bool MaxOrZero = false
SmallVector< const SCEVPredicate *, 4 > Predicates
A vector of predicate guards for this ExitLimit.

Information about the number of loop iterations for which a loop exit's branch condition evaluates to the not-taken path.

This is a temporary pair of exact and max expressions that are eventually summarized in ExitNotTakenInfo and BackedgeTakenInfo.

Definition at line 1167 of file ScalarEvolution.h.

ScalarEvolution::ExitLimit::ExitLimit ( const SCEV * E )

ExitLimit() [2/3]

ExitLimit() [3/3]

hasAnyInfo()

bool llvm::ScalarEvolution::ExitLimit::hasAnyInfo ( ) const inline

hasFullInfo()

bool llvm::ScalarEvolution::ExitLimit::hasFullInfo ( ) const inline

ConstantMaxNotTaken

const SCEV* llvm::ScalarEvolution::ExitLimit::ConstantMaxNotTaken

ExactNotTaken

const SCEV* llvm::ScalarEvolution::ExitLimit::ExactNotTaken

MaxOrZero

bool llvm::ScalarEvolution::ExitLimit::MaxOrZero = false

Predicates

A vector of predicate guards for this ExitLimit.

The result is only valid if all of the predicates in Predicates evaluate to 'true' at run-time.

Definition at line 1179 of file ScalarEvolution.h.

Referenced by ExitLimit().

SymbolicMaxNotTaken

const SCEV* llvm::ScalarEvolution::ExitLimit::SymbolicMaxNotTaken


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