Represent one information held inside an operand bundle of an llvm.assume. AttrKind is the property that holds. WasOn if not null is that Value for which AttrKind holds. ArgValue is optionally an argument of the attribute. For example if we know that %P has an alignment of at least four: ‐ AttrKind will be Attribute::Alignment. ‐ WasOn will be %P. ‐ ArgValue will be 4.

Synopsis

Declared in <llvm/Analysis/AssumeBundleQueries.h>

struct RetainedKnowledge;

Member Functions

Name

Description

RetainedKnowledge [constructor]

operator bool

Conversion to bool

operator==

Equality operator

operator!=

Inequality operator

operator<

This is only intended for use in std::min/std::max between attribute that only differ in ArgValue.

Static Member Functions

Name

none

Data Members

Non-Member Functions

Name

Description

getKnowledgeForValue

Return a valid Knowledge associated to the Value V if its Attribute kind is in AttrKinds and it matches the Filter.

getKnowledgeFromBundle

This extracts the Knowledge from an element of an operand bundle. This is mostly for use in the assume builder.

getKnowledgeFromUse

Return a valid Knowledge associated to the Use U if its Attribute kind is in AttrKinds.

getKnowledgeValidInContext

Return a valid Knowledge associated to the Value V if its Attribute kind is in AttrKinds and the knowledge is suitable to be used in the context of CtxI.

Created with MrDocs