LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
DiscardableAllocationOpInterfaces.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
15
class
DiscardableAllocationAccessorOpInterface
;
16
17
}
// namespace llzk
18
namespace
llzk
{
19
24
namespace
detail
{
25
struct
DiscardableAllocationAccessorOpInterfaceInterfaceTraits
{
26
struct
Concept
{
28
bool (*
loadsFromDiscardableAllocation
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value);
29
bool (*
storesToDiscardableAllocation
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value);
30
bool (*
canEraseAsDeadStoreTo
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value, const ::mlir::DataLayout &);
31
};
32
template
<
typename
ConcreteOp>
33
class
Model
:
public
Concept
{
34
public
:
35
using
Interface
=
::llzk::DiscardableAllocationAccessorOpInterface
;
36
Model
() :
Concept
{
loadsFromDiscardableAllocation
,
storesToDiscardableAllocation
,
canEraseAsDeadStoreTo
} {}
37
38
static
inline
bool
loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
39
static
inline
bool
storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
40
static
inline
bool
canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
41
};
42
template
<
typename
ConcreteOp>
43
class
FallbackModel
:
public
Concept
{
44
public
:
45
using
Interface
=
::llzk::DiscardableAllocationAccessorOpInterface
;
46
FallbackModel
() :
Concept
{
loadsFromDiscardableAllocation
,
storesToDiscardableAllocation
,
canEraseAsDeadStoreTo
} {}
47
48
static
inline
bool
loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
49
static
inline
bool
storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
50
static
inline
bool
canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
51
};
52
template
<
typename
ConcreteModel,
typename
ConcreteOp>
53
class
ExternalModel
:
public
FallbackModel
<ConcreteModel> {
54
public
:
55
using
ConcreteEntity
= ConcreteOp;
56
};
57
};
58
template
<
typename
ConcreteOp>
59
struct
DiscardableAllocationAccessorOpInterfaceTrait
;
60
61
}
// namespace detail
62
class
DiscardableAllocationAccessorOpInterface
:
public
::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits> {
63
public
:
64
using ::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits>::OpInterface;
65
template
<
typename
ConcreteOp>
66
struct
Trait
:
public
detail::DiscardableAllocationAccessorOpInterfaceTrait
<ConcreteOp> {};
67
69
bool
loadsFromDiscardableAllocation
(::mlir::Value ptr);
70
72
bool
storesToDiscardableAllocation
(::mlir::Value ptr);
73
75
bool
canEraseAsDeadStoreTo
(::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
76
};
77
78
}
// namespace llzk
79
namespace
llzk::detail
{
80
81
template
<
typename
ConcreteOp>
82
struct
DiscardableAllocationAccessorOpInterfaceTrait
:
public
::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
83
};
84
85
}
// namespace llzk::detail
86
namespace
llzk
{
87
88
template
<
typename
ConcreteOp>
89
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
90
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).loadsFromDiscardableAllocation(ptr);
91
}
92
template
<
typename
ConcreteOp>
93
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
94
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).storesToDiscardableAllocation(ptr);
95
}
96
template
<
typename
ConcreteOp>
97
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout) {
98
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).canEraseAsDeadStoreTo(ptr, dataLayout);
99
}
100
template
<
typename
ConcreteOp>
101
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
102
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
loadsFromDiscardableAllocation
(tablegen_opaque_val, ptr);
103
}
104
template
<
typename
ConcreteOp>
105
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
106
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
storesToDiscardableAllocation
(tablegen_opaque_val, ptr);
107
}
108
template
<
typename
ConcreteOp>
109
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout) {
110
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
canEraseAsDeadStoreTo
(tablegen_opaque_val, ptr, dataLayout);
111
}
112
113
}
// namespace llzk
llzk::DiscardableAllocationAccessorOpInterface
Definition
DiscardableAllocationOpInterfaces.h.inc:62
llzk::DiscardableAllocationAccessorOpInterface::canEraseAsDeadStoreTo
bool canEraseAsDeadStoreTo(::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
Returns true if this op can be erased as a dead store to ptr.
Definition
DiscardableAllocationOpInterfaces.cpp.inc:21
llzk::DiscardableAllocationAccessorOpInterface::loadsFromDiscardableAllocation
bool loadsFromDiscardableAllocation(::mlir::Value ptr)
Returns true if this op reads from the allocation represented by ptr.
Definition
DiscardableAllocationOpInterfaces.cpp.inc:11
llzk::DiscardableAllocationAccessorOpInterface::storesToDiscardableAllocation
bool storesToDiscardableAllocation(::mlir::Value ptr)
Returns true if this op writes to the allocation represented by ptr.
Definition
DiscardableAllocationOpInterfaces.cpp.inc:16
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::ExternalModel
Definition
DiscardableAllocationOpInterfaces.h.inc:53
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::ExternalModel::ConcreteEntity
ConcreteOp ConcreteEntity
Definition
DiscardableAllocationOpInterfaces.h.inc:55
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::canEraseAsDeadStoreTo
static bool canEraseAsDeadStoreTo(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
Definition
DiscardableAllocationOpInterfaces.h.inc:109
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::FallbackModel
FallbackModel()
Definition
DiscardableAllocationOpInterfaces.h.inc:46
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::Interface
::llzk::DiscardableAllocationAccessorOpInterface Interface
Definition
DiscardableAllocationOpInterfaces.h.inc:45
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::storesToDiscardableAllocation
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:105
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::loadsFromDiscardableAllocation
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:101
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::Interface
::llzk::DiscardableAllocationAccessorOpInterface Interface
Definition
DiscardableAllocationOpInterfaces.h.inc:35
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::Model
Model()
Definition
DiscardableAllocationOpInterfaces.h.inc:36
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::loadsFromDiscardableAllocation
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:89
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::storesToDiscardableAllocation
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:93
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::canEraseAsDeadStoreTo
static bool canEraseAsDeadStoreTo(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout &dataLayout)
Definition
DiscardableAllocationOpInterfaces.h.inc:97
llzk::detail
Provides the necessary information to the RemoveUnusedDiscardableAllocations pass about operations th...
Definition
Ops.cpp.inc:41
llzk::impl
Definition
CallGraphPasses.cpp:29
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::DiscardableAllocationAccessorOpInterface::Trait
Definition
DiscardableAllocationOpInterfaces.h.inc:66
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept
Definition
DiscardableAllocationOpInterfaces.h.inc:26
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::storesToDiscardableAllocation
bool(* storesToDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
Definition
DiscardableAllocationOpInterfaces.h.inc:29
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::loadsFromDiscardableAllocation
bool(* loadsFromDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
The methods defined by the interface.
Definition
DiscardableAllocationOpInterfaces.h.inc:28
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::canEraseAsDeadStoreTo
bool(* canEraseAsDeadStoreTo)(const Concept *impl, ::mlir::Operation *, ::mlir::Value, const ::mlir::DataLayout &)
Definition
DiscardableAllocationOpInterfaces.h.inc:30
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits
Definition
DiscardableAllocationOpInterfaces.h.inc:25
llzk::detail::DiscardableAllocationAccessorOpInterfaceTrait
Definition
DiscardableAllocationOpInterfaces.h.inc:82
build
include
llzk
Dialect
Shared
DiscardableAllocationOpInterfaces.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.