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
13
14// TableGen'd implementation files
15#define GET_OP_CLASSES
17
18using namespace mlir;
19
20namespace 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
29 SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>> &effects
30) {
31 effects.emplace_back(MemoryEffects::Write::get());
32}
33
34} // namespace llzk::boolean
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp:28