clang 22.0.0git
LowerToLLVM.h
Go to the documentation of this file.
1//====- LowerToLLVM.h- Lowering from CIR to LLVM --------------------------===//
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 converting CIR modules to LLVM IR.
10//
11//===----------------------------------------------------------------------===//
12#ifndef CLANG_CIR_LOWERTOLLVM_H
13#define CLANG_CIR_LOWERTOLLVM_H
14
15#include <memory>
16
17namespace llvm {
18class LLVMContext;
19class Module;
20} // namespace llvm
21
22namespace mlir {
23class ModuleOp;
24} // namespace mlir
25
26namespace cir {
27
28namespace direct {
29std::unique_ptr<llvm::Module>
30lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule,
31 llvm::LLVMContext &llvmCtx);
32} // namespace direct
33} // namespace cir
34
35#endif // CLANG_CIR_LOWERTOLLVM_H
std::unique_ptr< llvm::Module > lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule, llvm::LLVMContext &llvmCtx)
@ Module
Module linkage, which indicates that the entity can be referred to from other translation units withi...
Definition Linkage.h:54
Diagnostic wrappers for TextAPI types for error reporting.
Definition Dominators.h:30