llvm::AAWillReturn

An abstract attribute for willreturn.

Synopsis

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

struct AAWillReturn
    : IRAttribute<Attribute::WillReturn, StateWrapper<BooleanState, AbstractAttribute>, AAWillReturn>

Base Classes

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

Member Functions

NameDescription
AAWillReturn [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()
isAssumedWillReturn Return true if "willreturn" is assumed.
isKnownWillReturn Return true if "willreturn" is known.
manifest [virtual]See AbstractAttribute::manifest(...).

Static Member Functions

NameDescription
classof This function should return true if the type of the AA is AAWillReturn
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
isImpliedByMustprogressAndReadonly Check for mustprogress and readonly as they imply willreturn.
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.