LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
TransformationPasses.td
Go to the documentation of this file.
1//===-- TransformationPasses.td ----------------------------*- tablegen -*-===//
2//
3// Part of the LLZK Project, under the Apache License v2.0.
4// See LICENSE.txt for license information.
5// Copyright 2026 Project LLZK
6// SPDX-License-Identifier: Apache-2.0
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLZK_BOOLEAN_TRANSFORMATION_PASSES_TD
11#define LLZK_BOOLEAN_TRANSFORMATION_PASSES_TD
12
13include "llzk/Pass/PassBase.td"
14
15def LowerBoolQuantifiersPass : LLZKPass<"llzk-lower-bool-quantifiers"> {
16 let summary = "Lower bool quantifiers to SCF loops";
17 let description = [{
18 Replace `bool.forall` and `bool.exists` over LLZK arrays with `scf.for`
19 loops that iterate over the first array dimension and accumulate the
20 predicate result with `bool.and` or `bool.or`, respectively.
21 }];
22}
23
24#endif // LLZK_BOOLEAN_TRANSFORMATION_PASSES_TD