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