LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
OpInterfaces.h.inc
Go to the documentation of this file.
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|* *|
3
|* Interface Declarations *|
4
|* *|
5
|* Automatically generated file, do not edit! *|
6
|* *|
7
\*===----------------------------------------------------------------------===*/
8
9
namespace
llzk::global
{
10
12
class
GlobalRefOpInterface
;
13
14
}
// namespace llzk::global
15
namespace
llzk::global
{
16
18
namespace
detail
{
19
struct
GlobalRefOpInterfaceInterfaceTraits
{
20
struct
Concept
{
22
::mlir::Value (*
getVal
)(
const
Concept
*
impl
, ::mlir::Operation *);
23
::mlir::StringAttr (*
getNameRefAttrName
)(
const
Concept
*
impl
, ::mlir::Operation *);
24
::mlir::SymbolRefAttr (*
getNameRef
)(
const
Concept
*
impl
, ::mlir::Operation *);
25
};
26
template
<
typename
ConcreteOp>
27
class
Model
:
public
Concept
{
28
public
:
29
using
Interface
=
::llzk::global::GlobalRefOpInterface
;
30
Model
() :
Concept
{
getVal
,
getNameRefAttrName
,
getNameRef
} {}
31
32
static
inline ::mlir::Value
getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
33
static
inline ::mlir::StringAttr
getNameRefAttrName
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
34
static
inline ::mlir::SymbolRefAttr
getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
35
};
36
template
<
typename
ConcreteOp>
37
class
FallbackModel
:
public
Concept
{
38
public
:
39
using
Interface
=
::llzk::global::GlobalRefOpInterface
;
40
FallbackModel
() :
Concept
{
getVal
,
getNameRefAttrName
,
getNameRef
} {}
41
42
static
inline ::mlir::Value
getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
43
static
inline ::mlir::StringAttr
getNameRefAttrName
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
44
static
inline ::mlir::SymbolRefAttr
getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
45
};
46
template
<
typename
ConcreteModel,
typename
ConcreteOp>
47
class
ExternalModel
:
public
FallbackModel
<ConcreteModel> {
48
public
:
49
using
ConcreteEntity
= ConcreteOp;
50
};
51
};
52
template
<
typename
ConcreteOp>
53
struct
GlobalRefOpInterfaceTrait
;
54
55
}
// namespace detail
56
class
GlobalRefOpInterface
:
public
::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits> {
57
public
:
58
using ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::OpInterface;
59
template
<
typename
ConcreteOp>
60
struct
Trait
:
public
detail::GlobalRefOpInterfaceTrait
<ConcreteOp> {};
61
63
::mlir::Value
getVal
();
64
66
::mlir::StringAttr
getNameRefAttrName
();
67
69
::mlir::SymbolRefAttr
getNameRef
();
70
72
::mlir::FailureOr<SymbolLookupResult<GlobalDefOp>>
getGlobalDefOp
(::mlir::SymbolTableCollection &tables);
73
};
74
75
}
// namespace llzk::global
76
namespace
llzk::global::detail
{
77
78
template
<
typename
ConcreteOp>
79
struct
GlobalRefOpInterfaceTrait
:
public
::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
80
};
81
82
}
// namespace llzk::global::detail
83
namespace
llzk::global
{
84
85
template
<
typename
ConcreteOp>
86
::mlir::Value
detail::GlobalRefOpInterfaceInterfaceTraits::Model<ConcreteOp>::getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
87
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getVal();
88
}
89
template
<
typename
ConcreteOp>
90
::mlir::StringAttr
detail::GlobalRefOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameRefAttrName
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
91
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getNameRefAttrName();
92
}
93
template
<
typename
ConcreteOp>
94
::mlir::SymbolRefAttr
detail::GlobalRefOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
95
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getNameRef();
96
}
97
template
<
typename
ConcreteOp>
98
::mlir::Value
detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
99
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getVal
(tablegen_opaque_val);
100
}
101
template
<
typename
ConcreteOp>
102
::mlir::StringAttr
detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameRefAttrName
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
103
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getNameRefAttrName
(tablegen_opaque_val);
104
}
105
template
<
typename
ConcreteOp>
106
::mlir::SymbolRefAttr
detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
107
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getNameRef
(tablegen_opaque_val);
108
}
109
110
}
// namespace llzk::global
llzk::global::GlobalRefOpInterface
Definition
OpInterfaces.h.inc:56
llzk::global::GlobalRefOpInterface::getVal
::mlir::Value getVal()
Gets the SSA Value that holds the read/write data for the GlobalRefOp.
Definition
OpInterfaces.cpp.inc:11
llzk::global::GlobalRefOpInterface::getNameRefAttrName
::mlir::StringAttr getNameRefAttrName()
Gets the name of the global reference attribute on the GlobalRefOp.
Definition
OpInterfaces.cpp.inc:16
llzk::global::GlobalRefOpInterface::getGlobalDefOp
::mlir::FailureOr< SymbolLookupResult< GlobalDefOp > > getGlobalDefOp(::mlir::SymbolTableCollection &tables)
Gets the definition for the global referenced in this op.
Definition
Ops.cpp:417
llzk::global::GlobalRefOpInterface::getNameRef
::mlir::SymbolRefAttr getNameRef()
Gets the global name attribute from the GlobalRefOp.
Definition
OpInterfaces.cpp.inc:21
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::ExternalModel
Definition
OpInterfaces.h.inc:47
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::ExternalModel::ConcreteEntity
ConcreteOp ConcreteEntity
Definition
OpInterfaces.h.inc:49
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::Interface
::llzk::global::GlobalRefOpInterface Interface
Definition
OpInterfaces.h.inc:39
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::getVal
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:98
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::getNameRefAttrName
static inline ::mlir::StringAttr getNameRefAttrName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:102
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::FallbackModel
FallbackModel()
Definition
OpInterfaces.h.inc:40
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::getNameRef
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:106
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::Model
Model()
Definition
OpInterfaces.h.inc:30
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::getNameRef
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:94
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::getVal
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:86
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::getNameRefAttrName
static inline ::mlir::StringAttr getNameRefAttrName(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:90
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::Interface
::llzk::global::GlobalRefOpInterface Interface
Definition
OpInterfaces.h.inc:29
llzk::global::detail
Common interface for operations that read or write from a global.
Definition
OpInterfaces.h.inc:18
llzk::global::impl
Definition
ConstGlobalPropagationPass.cpp:19
llzk::global
Definition
InitializerUtils.h:16
llzk::global::GlobalRefOpInterface::Trait
Definition
OpInterfaces.h.inc:60
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept
Definition
OpInterfaces.h.inc:20
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept::getNameRef
::mlir::SymbolRefAttr(* getNameRef)(const Concept *impl, ::mlir::Operation *)
Definition
OpInterfaces.h.inc:24
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept::getNameRefAttrName
::mlir::StringAttr(* getNameRefAttrName)(const Concept *impl, ::mlir::Operation *)
Definition
OpInterfaces.h.inc:23
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept::getVal
::mlir::Value(* getVal)(const Concept *impl, ::mlir::Operation *)
The methods defined by the interface.
Definition
OpInterfaces.h.inc:22
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits
Definition
OpInterfaces.h.inc:19
llzk::global::detail::GlobalRefOpInterfaceTrait
Definition
OpInterfaces.h.inc:79
build
include
llzk
Dialect
Global
IR
OpInterfaces.h.inc
Generated by
1.17.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.