[#llvm-AANoUnwind] = xref:llvm.adoc[llvm]::AANoUnwind :relfileprefix: ../ :mrdocs: Abstract attribute for the nounwind function attribute. == Synopsis Declared in `<llvm/Transforms/IPO/Attributor.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct AANoUnwind : xref:llvm/IRAttribute-023.adoc[IRAttribute<Attribute::NoUnwind, StateWrapper<BooleanState, AbstractAttribute>, AANoUnwind>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/IRAttribute-023.adoc[IRAttribute<Attribute::NoUnwind, StateWrapper<BooleanState, AbstractAttribute>, AANoUnwind>]` | Helper class that provides common functionality to manifest IR attributes. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AANoUnwind/2constructor.adoc[`AANoUnwind`] [.small]#[constructor]# | Create a AANoUnwind for the position `IRP.` | xref:llvm/AANoUnwind/getAttrKind.adoc[`getAttrKind`] | Return the kind that identifies the abstract attribute implementation. | xref:llvm/AANoUnwind/getDeducedAttributes.adoc[`getDeducedAttributes`] [.small]#[virtual]# | Return the deduced attributes in `Attrs.` | xref:llvm/AANoUnwind/getIdAddr.adoc[`getIdAddr`] [.small]#[virtual]# | See AbstractAttribute::getIdAddr() | xref:llvm/AANoUnwind/getName.adoc[`getName`] [.small]#[virtual]# | See AbstractAttribute::getName() | xref:llvm/AANoUnwind/isAssumedNoUnwind.adoc[`isAssumedNoUnwind`] | Returns true if nounwind is assumed. | xref:llvm/AANoUnwind/isKnownNoUnwind.adoc[`isKnownNoUnwind`] | Returns true if nounwind is known. | xref:llvm/AANoUnwind/manifest.adoc[`manifest`] [.small]#[virtual]# | See AbstractAttribute::manifest(...). |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AANoUnwind/classof.adoc[`classof`] | This function should return true if the type of the `AA` is AANoUnwind | xref:llvm/AANoUnwind/createForPosition.adoc[`createForPosition`] | Create an abstract attribute view for the position `IRP.` | xref:llvm/AANoUnwind/hasTrivialInitializer.adoc[`hasTrivialInitializer`] | Most boolean IRAttribute AAs don't do anything non‐trivial in their initializers while non‐boolean ones often do. Subclasses can change this. | xref:llvm/AANoUnwind/isImpliedByIR.adoc[`isImpliedByIR`] | Return true if the IR already implies this attribute. | xref:llvm/AANoUnwind/isImpliedByPoison.adoc[`isImpliedByPoison`] | Return true if the IR attribute(s) associated with this AA are implied for an poison value. | xref:llvm/AANoUnwind/isImpliedByUndef.adoc[`isImpliedByUndef`] | Return true if the IR attribute(s) associated with this AA are implied for an undef value. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/AANoUnwind/ID.adoc[`ID`] | Unique ID (due to the unique address) | xref:llvm/AANoUnwind/IRAttributeKind.adoc[`IRAttributeKind`] | Compile time access to the IR attribute kind. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#