ΒΆvoid computeKnownBits(
    const llvm::Value* V,
    const llvm::APInt& DemandedElts,
    llvm::KnownBits& Known,
    const llvm::DataLayout& DL,
    unsigned int Depth = 0,
    llvm::AssumptionCache* AC = nullptr,
    const llvm::Instruction* CxtI = nullptr,
    const llvm::DominatorTree* DT = nullptr,
    llvm::OptimizationRemarkEmitter* ORE =
        nullptr,
    bool UseInstrInfo = true)

Description

Determine which bits of V are known to be either zero or one and return them in the KnownZero/KnownOne bit sets. 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 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 demanded elements in the vector.

Declared at: llvm/include/llvm/Analysis/ValueTracking.h:73

Parameters

const llvm::Value* V
const llvm::APInt& DemandedElts
llvm::KnownBits& Known
const llvm::DataLayout& DL
unsigned int Depth = 0
llvm::AssumptionCache* AC = nullptr
const llvm::Instruction* CxtI = nullptr
const llvm::DominatorTree* DT = nullptr
llvm::OptimizationRemarkEmitter* ORE = nullptr
bool UseInstrInfo = true