LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Include.cpp
Go to the documentation of this file.
1//===-- Include.cpp - Include dialect C API implementation ------*- 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
11
12#include "llzk/CAPI/Builder.h"
13#include "llzk/CAPI/Support.h"
17
18#include <mlir-c/Pass.h>
19
20#include <mlir/CAPI/Pass.h>
21#include <mlir/CAPI/Registration.h>
22#include <mlir/CAPI/Wrap.h>
23
24using namespace llzk::include;
25
26static inline void registerLLZKIncludeTransformationPasses() { registerTransformationPasses(); }
27
28// Include the generated CAPI
31
32MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Include, llzk__include, IncludeDialect)
33
35 Include, IncludeOp, InferredContext, MlirStringRef name, MlirStringRef path
36) {
38 builder, wrap(llzk::create<IncludeOp>(builder, location, unwrap(name), unwrap(path)))
39 );
40}
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.
Definition Builder.cpp:167
#define LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD(dialect, op, suffix,...)
Definition Support.h:27
void registerTransformationPasses()
mlir::Operation * create(MlirOpBuilder cBuilder, MlirLocation cLocation, Args &&...args)
Creates a new operation using an ODS build method.
Definition Builder.h:41