LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
LLZKInlineStructsPass.h
Go to the documentation of this file.
1//===-- LLZKInlineStructsPass.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
13
14#include <mlir/IR/SymbolTable.h>
15#include <mlir/Support/LogicalResult.h>
16
23using InliningPlan = mlir::SmallVector<
24 std::pair<llzk::component::StructDefOp, mlir::SmallVector<llzk::component::StructDefOp>>>;
25
26mlir::LogicalResult performInlining(mlir::SymbolTableCollection &tables, InliningPlan &plan);
mlir::LogicalResult performInlining(mlir::SymbolTableCollection &tables, InliningPlan &plan)
mlir::SmallVector< std::pair< llzk::component::StructDefOp, mlir::SmallVector< llzk::component::StructDefOp > > > InliningPlan
Maps caller struct to callees that should be inlined.