LLZK
0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Ops.cpp
Go to the documentation of this file.
1
//===-- Ops.cpp - Boolean operation implementations ----------------*- C++ -*-===//
2
//
3
// Part of the LLZK Project, under the Apache License v2.0.
4
// See LICENSE.txt for license information.
5
// Copyright 2025 Veridise Inc.
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
9
10
#include "
llzk/Dialect/Bool/IR/Ops.h
"
11
#include "
llzk/Dialect/Polymorphic/IR/Types.h
"
12
#include "
llzk/Util/TypeHelper.h
"
13
14
// TableGen'd implementation files
15
#define GET_OP_CLASSES
16
#include "
llzk/Dialect/Bool/IR/Ops.cpp.inc
"
17
18
using namespace
mlir
;
19
20
namespace
llzk::boolean
{
21
22
//===------------------------------------------------------------------===//
23
// AssertOp
24
//===------------------------------------------------------------------===//
25
26
// This side effect models "program termination". Based on
27
// https://github.com/llvm/llvm-project/blob/f325e4b2d836d6e65a4d0cf3efc6b0996ccf3765/mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp#L92-L97
28
void
AssertOp::getEffects
(
29
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>> &effects
30
) {
31
effects.emplace_back(MemoryEffects::Write::get());
32
}
33
34
}
// namespace llzk::boolean
Ops.cpp.inc
Ops.h
Types.h
TypeHelper.h
llzk::boolean::AssertOp::getEffects
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition
Ops.cpp:28
llzk::boolean
Definition
Ops.cpp:20
mlir
Definition
Types.h.inc:13
lib
Dialect
Bool
IR
Ops.cpp
Generated by
1.13.2
Copyright 2025 Veridise Inc. under the Apache License v2.0.