LLVM 22.0.0git
|
#include "llvm/Transforms/Utils/Local.h"
Public Member Functions | |
OverflowTracking ()=default | |
LLVM_ABI void | mergeFlags (Instruction &I) |
Merge in the no-wrap flags from I . | |
LLVM_ABI void | applyFlags (Instruction &I) |
Apply the no-wrap flags to I if applicable. | |
Public Attributes | |
bool | HasNUW = true |
bool | HasNSW = true |
bool | IsDisjoint = true |
std::optional< unsigned > | Opcode |
Opcode of merged instructions. | |
bool | AllKnownNonNegative = true |
bool | AllKnownNonZero = true |
|
default |
void OverflowTracking::applyFlags | ( | Instruction & | I | ) |
Apply the no-wrap flags to I
if applicable.
Definition at line 4003 of file Local.cpp.
References AllKnownNonNegative, AllKnownNonZero, HasNSW, HasNUW, I, and IsDisjoint.
void OverflowTracking::mergeFlags | ( | Instruction & | I | ) |
bool llvm::OverflowTracking::AllKnownNonNegative = true |
Definition at line 587 of file Local.h.
Referenced by applyFlags().
bool llvm::OverflowTracking::AllKnownNonZero = true |
Definition at line 588 of file Local.h.
Referenced by applyFlags().
bool llvm::OverflowTracking::HasNSW = true |
Definition at line 574 of file Local.h.
Referenced by applyFlags(), and mergeFlags().
bool llvm::OverflowTracking::HasNUW = true |
Definition at line 573 of file Local.h.
Referenced by applyFlags(), and mergeFlags().
bool llvm::OverflowTracking::IsDisjoint = true |
Definition at line 575 of file Local.h.
Referenced by applyFlags(), and mergeFlags().
std::optional<unsigned> llvm::OverflowTracking::Opcode |
Opcode of merged instructions.
All instructions passed to mergeFlags must have the same opcode.
Definition at line 580 of file Local.h.
Referenced by mergeFlags().