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
{
10
namespace
global
{
11
class
GlobalRefOpInterface
;
12
namespace
detail
{
13
struct
GlobalRefOpInterfaceInterfaceTraits
{
14
struct
Concept
{
16
::mlir::Value (*
getVal
)(
const
Concept
*
impl
, ::mlir::Operation *);
17
::mlir::SymbolRefAttr (*
getNameRef
)(
const
Concept
*
impl
, ::mlir::Operation *);
18
};
19
template
<
typename
ConcreteOp>
20
class
Model
:
public
Concept
{
21
public
:
22
using
Interface
=
::llzk::global::GlobalRefOpInterface
;
23
Model
() :
Concept
{
getVal
,
getNameRef
} {}
24
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);
27
};
28
template
<
typename
ConcreteOp>
29
class
FallbackModel
:
public
Concept
{
30
public
:
31
using
Interface
=
::llzk::global::GlobalRefOpInterface
;
32
FallbackModel
() :
Concept
{
getVal
,
getNameRef
} {}
33
34
static
inline ::mlir::Value
getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
35
static
inline ::mlir::SymbolRefAttr
getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
36
};
37
template
<
typename
ConcreteModel,
typename
ConcreteOp>
38
class
ExternalModel
:
public
FallbackModel
<ConcreteModel> {
39
public
:
40
using
ConcreteEntity
= ConcreteOp;
41
};
42
};
43
template
<
typename
ConcreteOp>
44
struct
GlobalRefOpInterfaceTrait
;
45
46
}
// namespace detail
47
class
GlobalRefOpInterface
:
public
::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits> {
48
public
:
49
using ::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::OpInterface;
50
template
<
typename
ConcreteOp>
51
struct
Trait
:
public
detail::GlobalRefOpInterfaceTrait
<ConcreteOp> {};
53
::mlir::Value
getVal
();
55
::mlir::SymbolRefAttr
getNameRef
();
56
58
::mlir::FailureOr<SymbolLookupResult<GlobalDefOp>>
getGlobalDefOp
(::mlir::SymbolTableCollection &tables);
59
};
60
namespace
detail
{
61
template
<
typename
ConcreteOp>
62
struct
GlobalRefOpInterfaceTrait
:
public
::mlir::OpInterface<GlobalRefOpInterface, detail::GlobalRefOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
63
};
64
}
// namespace detail
65
}
// namespace global
66
}
// namespace llzk
67
namespace
llzk
{
68
namespace
global {
69
template
<
typename
ConcreteOp>
70
::mlir::Value
detail::GlobalRefOpInterfaceInterfaceTraits::Model<ConcreteOp>::getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
71
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getVal();
72
}
73
template
<
typename
ConcreteOp>
74
::mlir::SymbolRefAttr
detail::GlobalRefOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
75
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getNameRef();
76
}
77
template
<
typename
ConcreteOp>
78
::mlir::Value
detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getVal
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
79
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getVal
(tablegen_opaque_val);
80
}
81
template
<
typename
ConcreteOp>
82
::mlir::SymbolRefAttr
detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameRef
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
83
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getNameRef
(tablegen_opaque_val);
84
}
85
}
// namespace global
86
}
// namespace llzk
llzk::global::GlobalRefOpInterface
Definition
OpInterfaces.h.inc:47
llzk::global::GlobalRefOpInterface::getVal
::mlir::Value getVal()
Gets the SSA Value that holds the read/write data for the GlobalRefOp.
Definition
OpInterfaces.cpp.inc:10
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:411
llzk::global::GlobalRefOpInterface::getNameRef
::mlir::SymbolRefAttr getNameRef()
Gets the global name attribute from the GlobalRefOp.
Definition
OpInterfaces.cpp.inc:14
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::ExternalModel
Definition
OpInterfaces.h.inc:38
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::ExternalModel::ConcreteEntity
ConcreteOp ConcreteEntity
Definition
OpInterfaces.h.inc:40
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::Interface
::llzk::global::GlobalRefOpInterface Interface
Definition
OpInterfaces.h.inc:31
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::getVal
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:78
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::FallbackModel
FallbackModel()
Definition
OpInterfaces.h.inc:32
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::FallbackModel::getNameRef
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:82
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::Model
Model()
Definition
OpInterfaces.h.inc:23
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::getNameRef
static inline ::mlir::SymbolRefAttr getNameRef(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:74
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::getVal
static inline ::mlir::Value getVal(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:70
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Model::Interface
::llzk::global::GlobalRefOpInterface Interface
Definition
OpInterfaces.h.inc:22
llzk::global::detail
Definition
OpInterfaces.h.inc:12
llzk::global
Definition
InitializerUtils.h:16
llzk::impl
Definition
CallGraphPasses.cpp:29
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::global::GlobalRefOpInterface::Trait
Definition
OpInterfaces.h.inc:51
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept
Definition
OpInterfaces.h.inc:14
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept::getNameRef
::mlir::SymbolRefAttr(* getNameRef)(const Concept *impl, ::mlir::Operation *)
Definition
OpInterfaces.h.inc:17
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits::Concept::getVal
::mlir::Value(* getVal)(const Concept *impl, ::mlir::Operation *)
The methods defined by the interface.
Definition
OpInterfaces.h.inc:16
llzk::global::detail::GlobalRefOpInterfaceInterfaceTraits
Definition
OpInterfaces.h.inc:13
llzk::global::detail::GlobalRefOpInterfaceTrait
Definition
OpInterfaces.h.inc:62
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.