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>
42};
template <
typename ConcreteOp>
46class GlobalRefOpInterface :
public ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits> {
48 using ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::OpInterface;
49 template <
typename ConcreteOp>
57 ::mlir::FailureOr<SymbolLookupResult<GlobalDefOp>>
getGlobalDefOp(::mlir::SymbolTableCollection &tables);
60 template <
typename ConcreteOp>
61 struct GlobalRefOpInterfaceTrait :
public ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
68template<
typename ConcreteOp>
70 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getVal();
72template<
typename ConcreteOp>
74 return (llvm::cast<ConcreteOp>(tablegen_opaque_val)).getNameRef();
76template<
typename ConcreteOp>
78 return static_cast<const ConcreteOp *
>(
impl)->
getVal(tablegen_opaque_val);
80template<
typename ConcreteOp>
82 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.