LLVM 22.0.0git
|
Helper class that provides common functionality to manifest IR attributes. More...
#include "llvm/Transforms/IPO/Attributor.h"
Public Member Functions | |
IRAttribute (const IRPosition &IRP) | |
ChangeStatus | manifest (Attributor &A) override |
See AbstractAttribute::manifest(...). | |
Attribute::AttrKind | getAttrKind () const |
Return the kind that identifies the abstract attribute implementation. | |
virtual void | getDeducedAttributes (Attributor &A, LLVMContext &Ctx, SmallVectorImpl< Attribute > &Attrs) const |
Return the deduced attributes in Attrs . |
Static Public Member Functions | |
static bool | hasTrivialInitializer () |
Most boolean IRAttribute AAs don't do anything non-trivial in their initializers while non-boolean ones often do. | |
static bool | isImpliedByUndef () |
Return true if the IR attribute(s) associated with this AA are implied for an undef value. | |
static bool | isImpliedByPoison () |
Return true if the IR attribute(s) associated with this AA are implied for an poison value. | |
static bool | isImpliedByIR (Attributor &A, const IRPosition &IRP, Attribute::AttrKind ImpliedAttributeKind=AK, bool IgnoreSubsumingPositions=false) |
Static Public Attributes | |
static constexpr Attribute::AttrKind | IRAttributeKind = AK |
Compile time access to the IR attribute kind. |
Helper class that provides common functionality to manifest IR attributes.
Definition at line 3227 of file Attributor.h.
|
inline |
Definition at line 3228 of file Attributor.h.
|
inline |
Return the kind that identifies the abstract attribute implementation.
Definition at line 3270 of file Attributor.h.
Referenced by getDeducedAttributes().
|
inlinevirtual |
Return the deduced attributes in Attrs
.
Definition at line 3273 of file Attributor.h.
References A(), llvm::Attribute::get(), and getAttrKind().
Referenced by manifest().
|
inlinestatic |
Most boolean IRAttribute AAs don't do anything non-trivial in their initializers while non-boolean ones often do.
Subclasses can change this.
Definition at line 3233 of file Attributor.h.
References llvm::Attribute::isEnumAttrKind().
|
inlinestatic |
Definition at line 3246 of file Attributor.h.
References A(), llvm::IRPosition::getAssociatedValue(), and llvm::isa().
Referenced by llvm::AAWillReturn::isImpliedByIR().
|
inlinestatic |
Return true if the IR attribute(s) associated with this AA are implied for an poison value.
Definition at line 3244 of file Attributor.h.
|
inlinestatic |
Return true if the IR attribute(s) associated with this AA are implied for an undef value.
Definition at line 3240 of file Attributor.h.
|
inlineoverride |
See AbstractAttribute::manifest(...).
Definition at line 3259 of file Attributor.h.
References A(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), getDeducedAttributes(), llvm::isa(), and llvm::UNCHANGED.
|
staticconstexpr |
Compile time access to the IR attribute kind.
Definition at line 3236 of file Attributor.h.