Return true if this function can prove that V does not have undef bits and is never poison.

Synopsis

Declared in <llvm/Analysis/ValueTracking.h>

bool
isGuaranteedNotToBeUndefOrPoison(
    Value const* V,
    AssumptionCache* AC = nullptr,
    Instruction const* CtxI = nullptr,
    DominatorTree const* DT = nullptr,
    unsigned int Depth = 0);

Description

If V is an aggregate value or vector, check whether all elements (except padding) are not undef or poison. Note that this is different from canCreateUndefOrPoison because the function assumes Op's operands are not poison/undef.

If CtxI and DT are specified this method performs flow‐sensitive analysis and returns true if it is guaranteed to be never undef or poison immediately before the CtxI.

Return Value

True if V is guaranteed not undef or poison.

Parameters

Name

Description

V

Value to test for freedom from undef and poison.

AC

Optional assumption cache for context‐sensitive facts.

CtxI

Optional context instruction for flow‐sensitive analysis.

DT

Optional dominator tree for flow‐sensitive analysis.

Depth

Current recursion depth for this query.

Created with MrDocs