clang 23.0.0git
Passes.h
Go to the documentation of this file.
1//===- Passes.h - CIR pass entry points -------------------------*- C++ -*-===//
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 header file defines prototypes that expose pass constructors.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CLANG_CIR_DIALECT_PASSES_H
14#define CLANG_CIR_DIALECT_PASSES_H
15
16#include "mlir/Pass/Pass.h"
17
18namespace clang {
19class ASTContext;
20}
21
22namespace mlir {
23
24std::unique_ptr<Pass> createCIRCanonicalizePass();
25std::unique_ptr<Pass> createCIRFlattenCFGPass();
26std::unique_ptr<Pass> createCIRSimplifyPass();
27std::unique_ptr<Pass> createCIREHABILoweringPass();
28std::unique_ptr<Pass> createCXXABILoweringPass();
29std::unique_ptr<Pass> createTargetLoweringPass();
30std::unique_ptr<Pass> createHoistAllocasPass();
31std::unique_ptr<Pass> createLoweringPreparePass();
32std::unique_ptr<Pass> createLoweringPreparePass(clang::ASTContext *astCtx);
33std::unique_ptr<Pass> createGotoSolverPass();
34std::unique_ptr<Pass> createIdiomRecognizerPass();
35std::unique_ptr<Pass> createIdiomRecognizerPass(clang::ASTContext *astCtx);
36
37void populateCIRPreLoweringPasses(mlir::OpPassManager &pm);
38
39//===----------------------------------------------------------------------===//
40// Registration
41//===----------------------------------------------------------------------===//
42
43void registerCIRDialectTranslation(mlir::MLIRContext &context);
44
45/// Generate the code for registering passes.
46#define GEN_PASS_REGISTRATION
47#include "clang/CIR/Dialect/Passes.h.inc"
48
49} // namespace mlir
50
51#endif // CLANG_CIR_DIALECT_PASSES_H
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition ASTContext.h:226
The JSON file list parser is used to communicate input to InstallAPI.
std::unique_ptr< Pass > createCIREHABILoweringPass()
std::unique_ptr< Pass > createCIRCanonicalizePass()
std::unique_ptr< Pass > createCIRFlattenCFGPass()
std::unique_ptr< Pass > createIdiomRecognizerPass()
void populateCIRPreLoweringPasses(mlir::OpPassManager &pm)
std::unique_ptr< Pass > createTargetLoweringPass()
std::unique_ptr< Pass > createGotoSolverPass()
std::unique_ptr< Pass > createLoweringPreparePass()
std::unique_ptr< Pass > createCIRSimplifyPass()
std::unique_ptr< Pass > createCXXABILoweringPass()
std::unique_ptr< Pass > createHoistAllocasPass()
void registerCIRDialectTranslation(mlir::MLIRContext &context)