llvm::OverflowTracking

Accumulates no-wrap and related flags across merged instructions.

Synopsis

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

struct OverflowTracking;

Member Functions

NameDescription
OverflowTracking [constructor]Construct an overflow tracker with optimistic default flags.
applyFlags Apply accumulated no-wrap flags to an instruction when applicable.
mergeFlags Merge in the no-wrap flags from an instruction.

Data Members

NameDescription
AllKnownNonNegative Whether every merged value is known non-negative.
AllKnownNonZero Whether every merged value is known non-zero.
HasNSW Whether every merged instruction has the nsw flag.
HasNUW Whether every merged instruction has the nuw flag.
IsDisjoint Whether every merged instruction has the disjoint flag.
Opcode Opcode of merged instructions. All instructions passed to mergeFlags must have the same opcode.