19 template<
typename ConcreteOp>
25 static inline ::mlir::Value
getVal(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
26 static inline ::mlir::SymbolRefAttr
getNameRef(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
28 template<
typename ConcreteOp>
34 static inline ::mlir::Value
getVal(
const Concept *
impl, ::mlir::Operation *tablegen_opaque_val);
37 template<
typename ConcreteModel,
typename ConcreteOp>
43template <
typename ConcreteOp>
47class GlobalRefOpInterface :
public ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits> {
49 using ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::OpInterface;
50 template <
typename ConcreteOp>
58 ::mlir::FailureOr<SymbolLookupResult<GlobalDefOp>>
getGlobalDefOp(::mlir::SymbolTableCollection &tables);
61 template <
typename ConcreteOp>
62 struct GlobalRefOpInterfaceTrait :
public ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
69template<
typename ConcreteOp>
71 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getVal();
73template<
typename ConcreteOp>
75 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getNameRef();
77template<
typename ConcreteOp>
79 return static_cast<const ConcreteOp *
>(
impl)->
getVal(tablegen_opaque_val);
81template<
typename ConcreteOp>
83 return static_cast<const ConcreteOp *
>(
impl)->
getNameRef(tablegen_opaque_val);
::mlir::Value getVal()
Gets the SSA Value that holds the read/write data for the GlobalRefOp.
::mlir::FailureOr< SymbolLookupResult< GlobalDefOp > > getGlobalDefOp(::mlir::SymbolTableCollection &tables)
Gets the definition for the global referenced in this op.
::mlir::SymbolRefAttr getNameRef()
Gets the global name attribute from the GlobalRefOp.
ConcreteOp ConcreteEntity
::llzk::global::GlobalRefOpInterface Interface
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
::llzk::global::GlobalRefOpInterface Interface
::mlir::SymbolRefAttr(* getNameRef)(const Concept *impl, ::mlir::Operation *)
::mlir::Value(* getVal)(const Concept *impl, ::mlir::Operation *)
The methods defined by the interface.