LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
InlineStructsPass.h
Go to the documentation of this file.
1
//===-- InlineStructsPass.h -------------------------------------*- 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
#pragma once
11
12
#include "
llzk/Dialect/Struct/IR/Ops.h
"
13
14
#include <mlir/IR/SymbolTable.h>
15
#include <mlir/Support/LogicalResult.h>
16
23
using
InliningPlan
= mlir::SmallVector<
24
std::pair<llzk::component::StructDefOp, mlir::SmallVector<llzk::component::StructDefOp>>>;
25
26
mlir::LogicalResult
performInlining
(mlir::SymbolTableCollection &tables,
InliningPlan
&plan);
performInlining
mlir::LogicalResult performInlining(mlir::SymbolTableCollection &tables, InliningPlan &plan)
InliningPlan
mlir::SmallVector< std::pair< llzk::component::StructDefOp, mlir::SmallVector< llzk::component::StructDefOp > > > InliningPlan
Maps caller struct to callees that should be inlined.
Definition
InlineStructsPass.h:23
Ops.h
include
llzk
Dialect
Struct
Transforms
InlineStructsPass.h
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.