An abstract interface for all nonnull attributes.
Declared in <llvm/Transforms/IPO/Attributor.h>
struct AANonNull
: IRAttribute<Attribute::NonNull, StateWrapper<BooleanState, AbstractAttribute>, AANonNull>
| Name | Description |
|---|---|
IRAttribute<Attribute::NonNull, StateWrapper<BooleanState, AbstractAttribute>, AANonNull> | Helper class that provides common functionality to manifest IR attributes. |
| Name | Description |
|---|---|
AANonNull [constructor] | Constructor |
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() |
isAssumedNonNull | Return true if we assume that the underlying value is nonnull. |
isKnownNonNull | Return true if we know that underlying value is nonnull. |
manifest [virtual] | See AbstractAttribute::manifest(...). |
| Name | Description |
|---|---|
classof | This function should return true if the type of the AA is AANonNull |
createForPosition | Create an abstract attribute view for the position IRP. |
hasTrivialInitializer | See AbstractAttribute::hasTrivialInitializer. |
isImpliedByIR | See AbstractAttribute::isImpliedByIR(...). |
isImpliedByPoison | Return true if the IR attribute(s) associated with this AA are implied for an poison value. |
isImpliedByUndef | See IRAttribute::isImpliedByUndef. Undef is not necessarily nonnull as nonnull + noundef would cause poison. Poison implies nonnull though. |
isValidIRPositionForInit | See AbstractAttribute::isValidIRPositionForInit |
| Name | Description |
|---|---|
ID | Unique ID (due to the unique address) |
IRAttributeKind | Compile time access to the IR attribute kind. |