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