Changeset View
Changeset View
Standalone View
Standalone View
mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | let extraClassDeclaration = [{ | ||||
static StringRef getByValAttrName() { return "llvm.byval"; } | static StringRef getByValAttrName() { return "llvm.byval"; } | ||||
static StringRef getByRefAttrName() { return "llvm.byref"; } | static StringRef getByRefAttrName() { return "llvm.byref"; } | ||||
static StringRef getStructRetAttrName() { return "llvm.sret"; } | static StringRef getStructRetAttrName() { return "llvm.sret"; } | ||||
static StringRef getInAllocaAttrName() { return "llvm.inalloca"; } | static StringRef getInAllocaAttrName() { return "llvm.inalloca"; } | ||||
static StringRef getNoUndefAttrName() { return "llvm.noundef"; } | static StringRef getNoUndefAttrName() { return "llvm.noundef"; } | ||||
static StringRef getSExtAttrName() { return "llvm.signext"; } | static StringRef getSExtAttrName() { return "llvm.signext"; } | ||||
static StringRef getZExtAttrName() { return "llvm.zeroext"; } | static StringRef getZExtAttrName() { return "llvm.zeroext"; } | ||||
static StringRef getTBAAAttrName() { return "llvm.tbaa"; } | static StringRef getTBAAAttrName() { return "llvm.tbaa"; } | ||||
static StringRef getNestAttrName() { return "llvm.nest"; } | |||||
/// Verifies if the attribute is a well-formed value for "llvm.struct_attrs" | /// Verifies if the attribute is a well-formed value for "llvm.struct_attrs" | ||||
static LogicalResult verifyStructAttr( | static LogicalResult verifyStructAttr( | ||||
Operation *op, Attribute attr, Type annotatedType); | Operation *op, Attribute attr, Type annotatedType); | ||||
/// Verifies if the given string is a well-formed data layout descriptor. | /// Verifies if the given string is a well-formed data layout descriptor. | ||||
/// Uses `reportError` to report errors. | /// Uses `reportError` to report errors. | ||||
static LogicalResult verifyDataLayoutString( | static LogicalResult verifyDataLayoutString( | ||||
Show All 17 Lines | let extraClassDeclaration = [{ | ||||
static StringRef getReadnoneAttrName() { | static StringRef getReadnoneAttrName() { | ||||
return "llvm.readnone"; | return "llvm.readnone"; | ||||
} | } | ||||
Type parseType(DialectAsmParser &p) const override; | Type parseType(DialectAsmParser &p) const override; | ||||
void printType(Type, DialectAsmPrinter &p) const override; | void printType(Type, DialectAsmPrinter &p) const override; | ||||
private: | private: | ||||
/// Verifies a parameter attribute attached to a parameter of type | |||||
/// paramType. | |||||
LogicalResult verifyParameterAttribute(Operation *op, | |||||
Type paramType, | |||||
NamedAttribute paramAttr); | |||||
/// Register all types. | /// Register all types. | ||||
void registerTypes(); | void registerTypes(); | ||||
/// A cache storing compatible LLVM types that have been verified. This | /// A cache storing compatible LLVM types that have been verified. This | ||||
/// can save us lots of verification time if there are many occurrences | /// can save us lots of verification time if there are many occurrences | ||||
/// of some deeply-nested aggregate types in the program. | /// of some deeply-nested aggregate types in the program. | ||||
ThreadLocalCache<DenseSet<Type>> compatibleTypes; | ThreadLocalCache<DenseSet<Type>> compatibleTypes; | ||||
▲ Show 20 Lines • Show All 391 Lines • Show Last 20 Lines |