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>
decomposeBitTestICmp(
Value* LHS,
Value* RHS,
CmpInst::Predicate Pred,
bool LookThroughTrunc = true,
bool AllowNonZeroC = false,
bool DecomposeAnd = false);
Return Value
Class template for optional values.
Parameters
Name |
Description |
LHS |
LLVM Value Representation |
RHS |
LLVM Value Representation |
Pred |
This enumeration lists the possible predicates for CmpInst subclasses. Values in the range 0‐31 are reserved for FCmpInst, while values in the range 32‐64 are reserved for ICmpInst. This is necessary to ensure the predicate values are not overlapping between the classes. |
Created with MrDocs