An abstract interface for memory access kind related attributes (readnone/readonly/writeonly).
Declared in <llvm/Transforms/IPO/Attributor.h>
struct AAMemoryBehavior
: IRAttribute<Attribute::None, StateWrapper<BitIntegerState<uint8_t, 3>, AbstractAttribute>, AAMemoryBehavior>
| Name | Description |
|---|---|
IRAttribute<Attribute::None, StateWrapper<BitIntegerState<uint8_t, 3>, AbstractAttribute>, AAMemoryBehavior> | Helper class that provides common functionality to manifest IR attributes. |
| Name | Description |
|---|---|
Unnamed enum | State encoding bits. A set bit in the state means the property holds. BEST_STATE is the best possible state, 0 the worst possible state. |
| Name | Description |
|---|---|
AAMemoryBehavior [constructor] | Create a AAMemoryBehavior 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() |
isAssumedReadNone | Return true if we assume that the underlying value is not read or accessed in its respective scope. |
isAssumedReadOnly | Return true if we assume that the underlying value is not accessed (=written) in its respective scope. |
isAssumedWriteOnly | Return true if we assume that the underlying value is not read in its respective scope. |
isKnownReadNone | Return true if we know that the underlying value is not read or accessed in its respective scope. |
isKnownReadOnly | Return true if we know that the underlying value is not accessed (=written) in its respective scope. |
isKnownWriteOnly | Return true if we know that the underlying value is not read in its respective scope. |
manifest [virtual] | See AbstractAttribute::manifest(...). |
| Name | Description |
|---|---|
classof | This function should return true if the type of the AA is AAMemoryBehavior |
createForPosition | Create an abstract attribute view for the position IRP. |
hasTrivialInitializer | See AbstractAttribute::hasTrivialInitializer. |
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. |
isValidIRPositionForInit | See AbstractAttribute::isValidIRPositionForInit |
| Name | Description |
|---|---|
ID | Unique ID (due to the unique address) |
IRAttributeKind | Compile time access to the IR attribute kind. |