clang 23.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 "llvm/ADT/StringRef.h"
16#include <memory>
17
18namespace llvm {
19class LLVMContext;
20class Module;
21} // namespace llvm
22
23namespace mlir {
24class ModuleOp;
25} // namespace mlir
26
27namespace cir {
28
29namespace direct {
30std::unique_ptr<llvm::Module>
31lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule,
32 llvm::LLVMContext &llvmCtx,
33 llvm::StringRef mlirSaveTempsOutFile = {});
34} // namespace direct
35} // namespace cir
36
37#endif // CLANG_CIR_LOWERTOLLVM_H
std::unique_ptr< llvm::Module > lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule, llvm::LLVMContext &llvmCtx, llvm::StringRef mlirSaveTempsOutFile={})
@ 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