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
felt
{
11
class
FeltBinaryOpInterface
;
12
namespace
detail
{
13
struct
FeltBinaryOpInterfaceInterfaceTraits
{
14
struct
Concept
{
16
::mlir::Value (*
getLhs
)(
const
Concept
*
impl
, ::mlir::Operation *);
17
::mlir::Value (*
getRhs
)(
const
Concept
*
impl
, ::mlir::Operation *);
18
};
19
template
<
typename
ConcreteOp>
20
class
Model
:
public
Concept
{
21
public
:
22
using
Interface
=
::llzk::felt::FeltBinaryOpInterface
;
23
Model
() :
Concept
{
getLhs
,
getRhs
} {}
24
25
static
inline ::mlir::Value
getLhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
26
static
inline ::mlir::Value
getRhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
27
};
28
template
<
typename
ConcreteOp>
29
class
FallbackModel
:
public
Concept
{
30
public
:
31
using
Interface
=
::llzk::felt::FeltBinaryOpInterface
;
32
FallbackModel
() :
Concept
{
getLhs
,
getRhs
} {}
33
34
static
inline ::mlir::Value
getLhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val);
35
static
inline ::mlir::Value
getRhs
(
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
FeltBinaryOpInterfaceTrait
;
45
46
}
// namespace detail
47
class
FeltBinaryOpInterface
:
public
::mlir::OpInterface<FeltBinaryOpInterface, detail::FeltBinaryOpInterfaceInterfaceTraits> {
48
public
:
49
using ::mlir::OpInterface<FeltBinaryOpInterface, detail::FeltBinaryOpInterfaceInterfaceTraits>::OpInterface;
50
template
<
typename
ConcreteOp>
51
struct
Trait
:
public
detail::FeltBinaryOpInterfaceTrait
<ConcreteOp> {};
53
::mlir::Value
getLhs
();
55
::mlir::Value
getRhs
();
56
};
57
namespace
detail
{
58
template
<
typename
ConcreteOp>
59
struct
FeltBinaryOpInterfaceTrait
:
public
::mlir::OpInterface<FeltBinaryOpInterface, detail::FeltBinaryOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
60
};
61
}
// namespace detail
62
}
// namespace felt
63
}
// namespace llzk
64
namespace
llzk
{
65
namespace
felt {
66
template
<
typename
ConcreteOp>
67
::mlir::Value
detail::FeltBinaryOpInterfaceInterfaceTraits::Model<ConcreteOp>::getLhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
68
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getLhs();
69
}
70
template
<
typename
ConcreteOp>
71
::mlir::Value
detail::FeltBinaryOpInterfaceInterfaceTraits::Model<ConcreteOp>::getRhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
72
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).getRhs();
73
}
74
template
<
typename
ConcreteOp>
75
::mlir::Value
detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getLhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
76
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getLhs
(tablegen_opaque_val);
77
}
78
template
<
typename
ConcreteOp>
79
::mlir::Value
detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getRhs
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val) {
80
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
getRhs
(tablegen_opaque_val);
81
}
82
}
// namespace felt
83
}
// namespace llzk
llzk::felt::FeltBinaryOpInterface
Definition
OpInterfaces.h.inc:47
llzk::felt::FeltBinaryOpInterface::getRhs
::mlir::Value getRhs()
Gets the right operand.
Definition
OpInterfaces.cpp.inc:14
llzk::felt::FeltBinaryOpInterface::getLhs
::mlir::Value getLhs()
Gets the left operand.
Definition
OpInterfaces.cpp.inc:10
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::ExternalModel
Definition
OpInterfaces.h.inc:38
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::ExternalModel::ConcreteEntity
ConcreteOp ConcreteEntity
Definition
OpInterfaces.h.inc:40
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel::FallbackModel
FallbackModel()
Definition
OpInterfaces.h.inc:32
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel::getLhs
static inline ::mlir::Value getLhs(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:75
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel::getRhs
static inline ::mlir::Value getRhs(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:79
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::FallbackModel::Interface
::llzk::felt::FeltBinaryOpInterface Interface
Definition
OpInterfaces.h.inc:31
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Model::Model
Model()
Definition
OpInterfaces.h.inc:23
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Model::getRhs
static inline ::mlir::Value getRhs(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:71
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Model::Interface
::llzk::felt::FeltBinaryOpInterface Interface
Definition
OpInterfaces.h.inc:22
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Model::getLhs
static inline ::mlir::Value getLhs(const Concept *impl, ::mlir::Operation *tablegen_opaque_val)
Definition
OpInterfaces.h.inc:67
llzk::felt::detail
Definition
OpInterfaces.h.inc:12
llzk::felt
Definition
Attrs.cpp:14
llzk::impl
Definition
CallGraphPasses.cpp:29
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::felt::FeltBinaryOpInterface::Trait
Definition
OpInterfaces.h.inc:51
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Concept
Definition
OpInterfaces.h.inc:14
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Concept::getRhs
::mlir::Value(* getRhs)(const Concept *impl, ::mlir::Operation *)
Definition
OpInterfaces.h.inc:17
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits::Concept::getLhs
::mlir::Value(* getLhs)(const Concept *impl, ::mlir::Operation *)
The methods defined by the interface.
Definition
OpInterfaces.h.inc:16
llzk::felt::detail::FeltBinaryOpInterfaceInterfaceTraits
Definition
OpInterfaces.h.inc:13
llzk::felt::detail::FeltBinaryOpInterfaceTrait
Definition
OpInterfaces.h.inc:59
build
include
llzk
Dialect
Felt
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.