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;
21namespace vfs {
22class FileSystem;
23} // namespace vfs
24} // namespace llvm
25
26namespace mlir {
27class ModuleOp;
28} // namespace mlir
29
30namespace cir {
31
32namespace direct {
33std::unique_ptr<llvm::Module>
34lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule,
35 llvm::LLVMContext &llvmCtx,
36 llvm::StringRef mlirSaveTempsOutFile = {},
37 llvm::vfs::FileSystem *fs = nullptr);
38} // namespace direct
39} // namespace cir
40
41#endif // CLANG_CIR_LOWERTOLLVM_H
std::unique_ptr< llvm::Module > lowerDirectlyFromCIRToLLVMIR(mlir::ModuleOp mlirModule, llvm::LLVMContext &llvmCtx, llvm::StringRef mlirSaveTempsOutFile={}, llvm::vfs::FileSystem *fs=nullptr)
@ 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