LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
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 2025 Veridise Inc.
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLZK_ARRAY_TRANSFORMATION_PASSES_TD
11
#define LLZK_ARRAY_TRANSFORMATION_PASSES_TD
12
13
include "llzk/Pass/PassBase.td"
14
15
def ArrayToScalarPass : LLZKPass<"llzk-array-to-scalar"> {
16
let summary = "Replace arrays with scalar values";
17
let description = [{
18
Replace known-shape arrays with the proper number of scalar values
19
}];
20
}
21
22
def StraightLineStaticArrayPromotionPass
23
: LLZKPass<"llzk-straight-line-static-array-promotion"> {
24
let summary = "Promote straight-line static array accesses to SSA values";
25
let description = [{
26
Promote statically indexed array elements whose accesses have a single linear order within one
27
block or nested single-execution regions. Arrays involving control-flow joins, dynamic indices,
28
or escaping values are left unchanged.
29
}];
30
}
31
32
#endif // LLZK_ARRAY_TRANSFORMATION_PASSES_TD
include
llzk
Dialect
Array
Transforms
TransformationPasses.td
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.