18 ::mlir::OpOperand &(*getComponentMutable)(
const Concept *
impl, ::mlir::Operation *);
26 template<
typename ConcreteOp>
32 static inline ::mlir::Value
getVal(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
33 static inline ::mlir::TypedValue<::llzk::component::StructType>
getComponent(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
37 static inline void setFieldName(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::StringRef attrValue);
39 static inline ::llzk::component::StructType
getStructType(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
40 static inline bool isRead(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
42 template<
typename ConcreteOp>
48 static inline ::mlir::Value
getVal(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
49 static inline ::mlir::TypedValue<::llzk::component::StructType>
getComponent(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
53 static inline void setFieldName(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::StringRef attrValue);
58 template<
typename ConcreteModel,
typename ConcreteOp>
63};
template <
typename ConcreteOp>
67class FieldRefOpInterface :
public ::mlir::OpInterface<FieldRefOpInterface, detail::FieldRefOpInterfaceInterfaceTraits> {
69 using ::mlir::OpInterface<FieldRefOpInterface, detail::FieldRefOpInterfaceInterfaceTraits>::OpInterface;
70 template <
typename ConcreteOp>
75 ::mlir::TypedValue<::llzk::component::StructType>
getComponent();
92 ::mlir::FailureOr<SymbolLookupResult<FieldDefOp>>
getFieldDefOp(::mlir::SymbolTableCollection &tables);
95 template <
typename ConcreteOp>
96 struct FieldRefOpInterfaceTrait :
public ::mlir::OpInterface<FieldRefOpInterface, detail::FieldRefOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
103template<
typename ConcreteOp>
105 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getVal();
107template<
typename ConcreteOp>
109 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getComponent();
111template<
typename ConcreteOp>
113 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getComponentMutable();
115template<
typename ConcreteOp>
117 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getFieldName();
119template<
typename ConcreteOp>
121 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getFieldNameAttr();
123template<
typename ConcreteOp>
125 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).setFieldName(attrValue);
127template<
typename ConcreteOp>
129 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).setFieldNameAttr(attr);
131template<
typename ConcreteOp>
133 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getComponent().getType();
135template<
typename ConcreteOp>
137 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).isRead();
139template<
typename ConcreteOp>
141 return static_cast<const ConcreteOp *
>(
impl)->
getVal(tablegen_opaque_val);
143template<
typename ConcreteOp>
145 return static_cast<const ConcreteOp *
>(
impl)->
getComponent(tablegen_opaque_val);
147template<
typename ConcreteOp>
151template<
typename ConcreteOp>
153 return static_cast<const ConcreteOp *
>(
impl)->
getFieldName(tablegen_opaque_val);
155template<
typename ConcreteOp>
159template<
typename ConcreteOp>
161 return static_cast<const ConcreteOp *
>(
impl)->
setFieldName(tablegen_opaque_val, attrValue);
163template<
typename ConcreteOp>
167template<
typename ConcreteOp>
169 return static_cast<const ConcreteOp *
>(
impl)->
getStructType(tablegen_opaque_val);
171template<
typename ConcreteOp>
173 return static_cast<const ConcreteOp *
>(
impl)->
isRead(tablegen_opaque_val);
void setFieldNameAttr(::mlir::FlatSymbolRefAttr attr)
Sets the field name attribute in the FieldRefOp.
::mlir::FailureOr< SymbolLookupResult< FieldDefOp > > getFieldDefOp(::mlir::SymbolTableCollection &tables)
Gets the definition for the field referenced in this op.
void setFieldName(::llvm::StringRef attrValue)
Sets the field name attribute value in the FieldRefOp.
::llzk::component::StructType getStructType()
Gets the struct type of the target component.
::mlir::OpOperand & getComponentMutable()
Gets the SSA value with the target component from the FieldRefOp.
bool isRead()
Return true if the op is a read, false if it's a write.
::llvm::StringRef getFieldName()
Gets the field name attribute value from the FieldRefOp.
::mlir::FlatSymbolRefAttr getFieldNameAttr()
Gets the field name attribute from the FieldRefOp.
::mlir::Value getVal()
Gets the SSA Value that holds the read/write data for the FieldRefOp.
::mlir::TypedValue<::llzk::component::StructType > getComponent()
Gets the SSA value with the target component from the FieldRefOp.
ConcreteOp ConcreteEntity
static inline ::llzk::component::StructType getStructType(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static void setFieldNameAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::FlatSymbolRefAttr attr)
static void setFieldName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::StringRef attrValue)
static inline ::mlir::FlatSymbolRefAttr getFieldNameAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::TypedValue<::llzk::component::StructType > getComponent(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::llvm::StringRef getFieldName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
::llzk::component::FieldRefOpInterface Interface
static bool isRead(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::OpOperand & getComponentMutable(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::llzk::component::StructType getStructType(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::FlatSymbolRefAttr getFieldNameAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::TypedValue<::llzk::component::StructType > getComponent(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static bool isRead(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static void setFieldNameAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::FlatSymbolRefAttr attr)
static void setFieldName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::StringRef attrValue)
::llzk::component::FieldRefOpInterface Interface
static inline ::llvm::StringRef getFieldName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::OpOperand & getComponentMutable(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
::llvm::StringRef(* getFieldName)(const Concept *impl, ::mlir::Operation *)
::mlir::OpOperand &(* getComponentMutable)(const Concept *impl, ::mlir::Operation *)
bool(* isRead)(const Concept *impl, ::mlir::Operation *)
::mlir::FlatSymbolRefAttr(* getFieldNameAttr)(const Concept *impl, ::mlir::Operation *)
::mlir::TypedValue<::llzk::component::StructType >(* getComponent)(const Concept *impl, ::mlir::Operation *)
::llzk::component::StructType(* getStructType)(const Concept *impl, ::mlir::Operation *)
void(* setFieldName)(const Concept *impl, ::mlir::Operation *, ::llvm::StringRef)
void(* setFieldNameAttr)(const Concept *impl, ::mlir::Operation *, ::mlir::FlatSymbolRefAttr)
::mlir::Value(* getVal)(const Concept *impl, ::mlir::Operation *)
The methods defined by the interface.