14 #ifndef MLIR_TABLEGEN_ATTRIBUTE_H_ 15 #define MLIR_TABLEGEN_ATTRIBUTE_H_ 19 #include "llvm/ADT/StringRef.h" 39 bool isSubClassOf(StringRef className)
const;
47 explicit Attribute(
const llvm::Record *record);
48 explicit Attribute(
const llvm::DefInit *init);
52 StringRef getStorageType()
const;
55 StringRef getReturnType()
const;
60 StringRef getConvertFromStorageCall()
const;
63 bool isConstBuildable()
const;
69 StringRef getConstBuilderTemplate()
const;
76 bool hasDefaultValue()
const;
78 StringRef getDefaultValue()
const;
81 bool isOptional()
const;
85 bool isDerivedAttr()
const;
89 bool isTypeAttr()
const;
93 bool isEnumAttr()
const;
98 StringRef getAttrDefName()
const;
102 StringRef getDerivedCodeBody()
const;
116 StringRef getConstantValue()
const;
120 const llvm::Record *def;
131 bool isStrCase()
const;
134 StringRef getSymbol()
const;
137 int64_t getValue()
const;
140 const llvm::Record &getDef()
const;
148 explicit EnumAttr(
const llvm::Record *record);
149 explicit EnumAttr(
const llvm::Record &record);
150 explicit EnumAttr(
const llvm::DefInit *init);
152 static bool classof(
const Attribute *attr);
155 bool isBitEnum()
const;
158 StringRef getEnumClassName()
const;
161 StringRef getCppNamespace()
const;
164 StringRef getUnderlyingType()
const;
168 StringRef getUnderlyingToSymbolFnName()
const;
172 StringRef getStringToSymbolFnName()
const;
176 StringRef getSymbolToStringFnName()
const;
180 StringRef getSymbolToStringFnRetType()
const;
184 StringRef getMaxEnumValFnName()
const;
187 std::vector<EnumAttrCase> getAllCases()
const;
196 StringRef getName()
const;
200 const llvm::Record *def;
207 explicit StructAttr(
const llvm::Record *record);
209 explicit StructAttr(
const llvm::DefInit *init);
212 StringRef getStructClassName()
const;
215 StringRef getCppNamespace()
const;
217 std::vector<StructFieldAttr> getAllFields()
const;
223 #endif // MLIR_TABLEGEN_ATTRIBUTE_H_ Definition: InferTypeOpInterface.cpp:20
Definition: PassRegistry.cpp:413
Definition: Attribute.h:126
StructAttr(const llvm::Record &record)
Definition: Attribute.h:208
Definition: Constraint.h:30
Definition: Attribute.h:146
Definition: Attribute.h:31
Definition: Attribute.h:190
Definition: Attribute.h:45
Definition: Attribute.h:108
Definition: Attribute.h:205
Kind getKind() const
Definition: Constraint.h:53
static bool classof(const Constraint *c)
Definition: Attribute.h:35