clang 22.0.0git
CIRToCIRPasses.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file declares an interface for running CIR-to-CIR passes.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CLANG_CIR_CIRTOCIRPASSES_H
14#define CLANG_CIR_CIRTOCIRPASSES_H
15
16#include "mlir/Pass/Pass.h"
17
18#include <memory>
19
20namespace clang {
21class ASTContext;
22}
23
24namespace mlir {
25class MLIRContext;
26class ModuleOp;
27} // namespace mlir
28
29namespace cir {
30
31// Run set of cleanup/prepare/etc passes CIR <-> CIR.
32mlir::LogicalResult runCIRToCIRPasses(mlir::ModuleOp theModule,
33 mlir::MLIRContext &mlirCtx,
34 clang::ASTContext &astCtx,
35 bool enableVerifier,
36 bool enableCIRSimplify);
37
38} // namespace cir
39
40#endif // CLANG_CIR_CIRTOCIRPASSES_H_
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition ASTContext.h:188
mlir::LogicalResult runCIRToCIRPasses(mlir::ModuleOp theModule, mlir::MLIRContext &mlirCtx, clang::ASTContext &astCtx, bool enableVerifier, bool enableCIRSimplify)
Definition CIRPasses.cpp:20
The JSON file list parser is used to communicate input to InstallAPI.