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
class
DiscardableAllocationAccessorOpInterface
;
11
namespace
detail
{
12
struct
DiscardableAllocationAccessorOpInterfaceInterfaceTraits
{
13
struct
Concept
{
15
bool (*
loadsFromDiscardableAllocation
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value);
16
bool (*
storesToDiscardableAllocation
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value);
17
bool (*
canEraseAsDeadStoreTo
)(
const
Concept
*
impl
, ::mlir::Operation *, ::mlir::Value, const ::mlir::DataLayout &);
18
};
19
template
<
typename
ConcreteOp>
20
class
Model
:
public
Concept
{
21
public
:
22
using
Interface
=
::llzk::DiscardableAllocationAccessorOpInterface
;
23
Model
() :
Concept
{
loadsFromDiscardableAllocation
,
storesToDiscardableAllocation
,
canEraseAsDeadStoreTo
} {}
24
25
static
inline
bool
loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
26
static
inline
bool
storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
27
static
inline
bool
canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
28
};
29
template
<
typename
ConcreteOp>
30
class
FallbackModel
:
public
Concept
{
31
public
:
32
using
Interface
=
::llzk::DiscardableAllocationAccessorOpInterface
;
33
FallbackModel
() :
Concept
{
loadsFromDiscardableAllocation
,
storesToDiscardableAllocation
,
canEraseAsDeadStoreTo
} {}
34
35
static
inline
bool
loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
36
static
inline
bool
storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr);
37
static
inline
bool
canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
38
};
39
template
<
typename
ConcreteModel,
typename
ConcreteOp>
40
class
ExternalModel
:
public
FallbackModel
<ConcreteModel> {
41
public
:
42
using
ConcreteEntity
= ConcreteOp;
43
};
44
};
45
template
<
typename
ConcreteOp>
46
struct
DiscardableAllocationAccessorOpInterfaceTrait
;
47
48
}
// namespace detail
49
class
DiscardableAllocationAccessorOpInterface
:
public
::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits> {
50
public
:
51
using ::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits>::OpInterface;
52
template
<
typename
ConcreteOp>
53
struct
Trait
:
public
detail::DiscardableAllocationAccessorOpInterfaceTrait
<ConcreteOp> {};
55
bool
loadsFromDiscardableAllocation
(::mlir::Value ptr);
57
bool
storesToDiscardableAllocation
(::mlir::Value ptr);
59
bool
canEraseAsDeadStoreTo
(::mlir::Value ptr, const ::mlir::DataLayout & dataLayout);
60
};
61
namespace
detail
{
62
template
<
typename
ConcreteOp>
63
struct
DiscardableAllocationAccessorOpInterfaceTrait
:
public
::mlir::OpInterface<DiscardableAllocationAccessorOpInterface, detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {
64
};
65
}
// namespace detail
66
}
// namespace llzk
67
namespace
llzk
{
68
template
<
typename
ConcreteOp>
69
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
70
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).loadsFromDiscardableAllocation(ptr);
71
}
72
template
<
typename
ConcreteOp>
73
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
74
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).storesToDiscardableAllocation(ptr);
75
}
76
template
<
typename
ConcreteOp>
77
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model<ConcreteOp>::canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout) {
78
return
(llvm::cast<ConcreteOp>(tablegen_opaque_val)).canEraseAsDeadStoreTo(ptr, dataLayout);
79
}
80
template
<
typename
ConcreteOp>
81
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::loadsFromDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
82
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
loadsFromDiscardableAllocation
(tablegen_opaque_val, ptr);
83
}
84
template
<
typename
ConcreteOp>
85
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::storesToDiscardableAllocation
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr) {
86
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
storesToDiscardableAllocation
(tablegen_opaque_val, ptr);
87
}
88
template
<
typename
ConcreteOp>
89
bool
detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::canEraseAsDeadStoreTo
(
const
Concept
*
impl
, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr, const ::mlir::DataLayout & dataLayout) {
90
return
static_cast<
const
ConcreteOp *
>
(
impl
)->
canEraseAsDeadStoreTo
(tablegen_opaque_val, ptr, dataLayout);
91
}
92
}
// namespace llzk
llzk::DiscardableAllocationAccessorOpInterface
Definition
DiscardableAllocationOpInterfaces.h.inc:49
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:18
llzk::DiscardableAllocationAccessorOpInterface::loadsFromDiscardableAllocation
bool loadsFromDiscardableAllocation(::mlir::Value ptr)
Returns true if this op reads from the allocation represented by ptr.
Definition
DiscardableAllocationOpInterfaces.cpp.inc:10
llzk::DiscardableAllocationAccessorOpInterface::storesToDiscardableAllocation
bool storesToDiscardableAllocation(::mlir::Value ptr)
Returns true if this op writes to the allocation represented by ptr.
Definition
DiscardableAllocationOpInterfaces.cpp.inc:14
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::ExternalModel
Definition
DiscardableAllocationOpInterfaces.h.inc:40
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::ExternalModel::ConcreteEntity
ConcreteOp ConcreteEntity
Definition
DiscardableAllocationOpInterfaces.h.inc:42
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:89
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::FallbackModel
FallbackModel()
Definition
DiscardableAllocationOpInterfaces.h.inc:33
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::Interface
::llzk::DiscardableAllocationAccessorOpInterface Interface
Definition
DiscardableAllocationOpInterfaces.h.inc:32
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::storesToDiscardableAllocation
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:85
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::FallbackModel::loadsFromDiscardableAllocation
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:81
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::Interface
::llzk::DiscardableAllocationAccessorOpInterface Interface
Definition
DiscardableAllocationOpInterfaces.h.inc:22
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::Model
Model()
Definition
DiscardableAllocationOpInterfaces.h.inc:23
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::loadsFromDiscardableAllocation
static bool loadsFromDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:69
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Model::storesToDiscardableAllocation
static bool storesToDiscardableAllocation(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Value ptr)
Definition
DiscardableAllocationOpInterfaces.h.inc:73
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:77
llzk::detail
Definition
Ops.cpp.inc:42
llzk::impl
Definition
CallGraphPasses.cpp:29
llzk::polymorphic::detail
Definition
SharedImpl.cpp:43
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::DiscardableAllocationAccessorOpInterface::Trait
Definition
DiscardableAllocationOpInterfaces.h.inc:53
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept
Definition
DiscardableAllocationOpInterfaces.h.inc:13
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::storesToDiscardableAllocation
bool(* storesToDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
Definition
DiscardableAllocationOpInterfaces.h.inc:16
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::loadsFromDiscardableAllocation
bool(* loadsFromDiscardableAllocation)(const Concept *impl, ::mlir::Operation *, ::mlir::Value)
The methods defined by the interface.
Definition
DiscardableAllocationOpInterfaces.h.inc:15
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits::Concept::canEraseAsDeadStoreTo
bool(* canEraseAsDeadStoreTo)(const Concept *impl, ::mlir::Operation *, ::mlir::Value, const ::mlir::DataLayout &)
Definition
DiscardableAllocationOpInterfaces.h.inc:17
llzk::detail::DiscardableAllocationAccessorOpInterfaceInterfaceTraits
Definition
DiscardableAllocationOpInterfaces.h.inc:12
llzk::detail::DiscardableAllocationAccessorOpInterfaceTrait
Definition
DiscardableAllocationOpInterfaces.h.inc:63
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.