Decompose an icmp into the form ((X & Mask) pred C) if possible. Unless AllowNonZeroC is true, C will always be 0. If DecomposeAnd is specified, then, for equality predicates, this will decompose bitmasking via and.

Synopsis

Declared in <llvm/Analysis/CmpInstAnalysis.h>

std::optional<DecomposedBitTest>
decomposeBitTest(
    Value* Cond,
    bool LookThroughTrunc = true,
    bool AllowNonZeroC = false,
    bool DecomposeAnd = false);

Return Value

Class template for optional values.

Parameters

Name

Description

Cond

LLVM Value Representation

Created with MrDocs