14#ifndef MLIR_DIALECT_LLVMIR_LLVMATTRS_H_
15#define MLIR_DIALECT_LLVMIR_LLVMATTRS_H_
23#include "mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc"
40 using DINodeAttr::DINodeAttr;
50 using DIScopeAttr::DIScopeAttr;
59 using DINodeAttr::DINodeAttr;
68 using DINodeAttr::DINodeAttr;
94using linkage::Linkage;
95using tailcallkind::TailCallKind;
100 std::optional<int64_t> alignment,
101 const ::mlir::DataLayout *dataLayout,
112#include "mlir/Dialect/LLVMIR/LLVMAttrInterfaces.h.inc"
114#define GET_ATTRDEF_CLASSES
115#include "mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.h.inc"
123 return LoopAnnotationAttr::name;
Attributes are known-constant values of operations.
constexpr Attribute()=default
AttributeStorage ImplType
This class represents a diagnostic that is inflight and set to be reported.
This class represents a LLVM attribute that describes a local debug info scope.
static bool classof(Attribute attr)
Support LLVM type casting.
This class represents the base attribute for all debug info attributes.
constexpr Attribute()=default
static bool classof(Attribute attr)
This class represents a LLVM attribute that describes a debug info scope.
static bool classof(Attribute attr)
Support LLVM type casting.
This class represents a LLVM attribute that describes a debug info type.
static bool classof(Attribute attr)
Support LLVM type casting.
This class represents a LLVM attribute that describes a debug info variable.
static bool classof(Attribute attr)
Support LLVM type casting.
Base class for LLVM attributes participating in the TBAA graph.
static TBAANodeAttr getFromOpaquePointer(const void *pointer)
Required by DenseMapInfo to create the empty key.
static bool classof(Attribute attr)
Support LLVM type casting.
constexpr Attribute()=default
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
LogicalResult verifyModuleFlagValue(StringAttr key, Attribute value, function_ref< InFlightDiagnostic()> emitError)
Verifies that a module flag value can be exported to LLVM IR.
bool isValidLoadStoreImpl(Type type, ptr::AtomicOrdering ordering, std::optional< int64_t > alignment, const ::mlir::DataLayout *dataLayout, function_ref< InFlightDiagnostic()> emitError)
Checks whether the given type is an LLVM type that can be loaded or stored.
constexpr llvm::StringLiteral getLoopAnnotationAttrName()
Canonical name used when attaching LoopAnnotationAttr as a discardable attribute on operations that d...
Include the generated interface declarations.
InFlightDiagnostic emitError(Location loc)
Utility method to emit an error message using this location.
llvm::function_ref< Fn > function_ref