LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
PCL.h
Go to the documentation of this file.
1//===-- PCL.h - C API for Picus PCL Target ------------------------*- C -*-===//
2//
3// Part of the LLZK Project, under the Apache License v2.0.
4// See LICENSE.txt for license information.
5// Copyright 2026 Veridise Inc.
6// SPDX-License-Identifier: Apache-2.0
7//
8//===----------------------------------------------------------------------===//
9//
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef MLIR_C_TARGET_PCL_H
16#define MLIR_C_TARGET_PCL_H
17
18#include "mlir-c/IR.h"
19#include "mlir-c/Pass.h"
20#include "mlir-c/Support.h"
21
22#include "llzk/Config/Config.h"
23
24// Include the generated pass APIs when the PCL backend is enabled.
25#if LLZK_WITH_PCL
26#include "pcl/Conversion/ConversionPasses.capi.h.inc"
27#include "pcl/Transforms/TransformationPasses.capi.h.inc"
28#endif
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#if LLZK_WITH_PCL
36MLIR_CAPI_EXPORTED void llzkRegisterPCLConversionPassPipelines(void);
37
40MLIR_CAPI_EXPORTED void llzkBuildFullPCLLoweringPipeline(MlirOpPassManager passManager);
41#endif
42
49MLIR_CAPI_EXPORTED MlirLogicalResult
50llzkTranslateModuleToPCL(MlirOperation module, MlirStringCallback callback, void *userData);
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif // MLIR_C_TARGET_PCL_H
MLIR_CAPI_EXPORTED MlirLogicalResult llzkTranslateModuleToPCL(MlirOperation module, MlirStringCallback callback, void *userData)
Translate an operation that satisfies the PCL dialect (i.e.