ΒΆbool MaskedValueIsZero(
const llvm::Value* V,
const llvm::APInt& Mask,
const llvm::DataLayout& DL,
unsigned int Depth = 0,
llvm::AssumptionCache* AC = nullptr,
const llvm::Instruction* CxtI = nullptr,
const llvm::DominatorTree* DT = nullptr,
bool UseInstrInfo = true)
bool MaskedValueIsZero(
const llvm::Value* V,
const llvm::APInt& Mask,
const llvm::DataLayout& DL,
unsigned int Depth = 0,
llvm::AssumptionCache* AC = nullptr,
const llvm::Instruction* CxtI = nullptr,
const llvm::DominatorTree* DT = nullptr,
bool UseInstrInfo = true)
Description
Return true if 'V & Mask' is known to be zero. We use this predicate to simplify operations downstream. Mask is known to be zero for bits that V cannot have. This function is defined on values with integer type, values with pointer type, and vectors of integers. In the case where V is a vector, the mask, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.
Declared at: llvm/include/llvm/Analysis/ValueTracking.h:157
Parameters
- const llvm::Value* V
- const llvm::APInt& Mask
- const llvm::DataLayout& DL
- unsigned int Depth = 0
- llvm::AssumptionCache* AC = nullptr
- const llvm::Instruction* CxtI = nullptr
- const llvm::DominatorTree* DT = nullptr
- bool UseInstrInfo = true