llvm::AAMustProgress

An abstract interface for all nonnull attributes.

Synopsis

Declared in <llvm/Transforms/IPO/Attributor.h>

struct AAMustProgress
    : IRAttribute<Attribute::MustProgress, StateWrapper<BooleanState, AbstractAttribute>, AAMustProgress>

Base Classes

NameDescription
IRAttribute<Attribute::MustProgress, StateWrapper<BooleanState, AbstractAttribute>, AAMustProgress>Helper class that provides common functionality to manifest IR attributes.

Member Functions

NameDescription
AAMustProgress [constructor]Create a AAMustProgress for the position IRP.
getAttrKind Return the kind that identifies the abstract attribute implementation.
getDeducedAttributes [virtual]Return the deduced attributes in Attrs.
getIdAddr [virtual]See AbstractAttribute::getIdAddr()
getName [virtual]See AbstractAttribute::getName()
isAssumedMustProgress Return true if we assume that the underlying value is nonnull.
isKnownMustProgress Return true if we know that underlying value is nonnull.
manifest [virtual]See AbstractAttribute::manifest(...).

Static Member Functions

NameDescription
classof This function should return true if the type of the AA is AAMustProgress
createForPosition Create an abstract attribute view for the position IRP.
hasTrivialInitializer Most boolean IRAttribute AAs don't do anything non-trivial in their initializers while non-boolean ones often do. Subclasses can change this.
isImpliedByIR Return true if the IR already implies this attribute.
isImpliedByPoison Return true if the IR attribute(s) associated with this AA are implied for an poison value.
isImpliedByUndef Return true if the IR attribute(s) associated with this AA are implied for an undef value.

Static Data Members

NameDescription
ID Unique ID (due to the unique address)
IRAttributeKind Compile time access to the IR attribute kind.