14#ifndef CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_LOWERMODULE_H
15#define CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_LOWERMODULE_H
18#include "mlir/IR/BuiltinOps.h"
29 mlir::ModuleOp module;
30 const std::unique_ptr<clang::TargetInfo> target;
31 std::unique_ptr<CIRCXXABI> abi;
32 [[maybe_unused]] mlir::PatternRewriter &rewriter;
36 mlir::ModuleOp &module, std::unique_ptr<clang::TargetInfo> target,
37 mlir::PatternRewriter &rewriter);
42 return target->getCXXABI().getKind();
51 mlir::PatternRewriter &rewriter);
Defines the clang::LangOptions interface.
mlir::MLIRContext * getMLIRContext()
CIRCXXABI & getCXXABI() const
clang::TargetCXXABI::Kind getCXXABIKind() const
LowerModule(clang::LangOptions langOpts, clang::CodeGenOptions codeGenOpts, mlir::ModuleOp &module, std::unique_ptr< clang::TargetInfo > target, mlir::PatternRewriter &rewriter)
const clang::TargetInfo & getTarget() const
CodeGenOptions - Track various options which control how the code is optimized and passed to the back...
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Kind
The basic C++ ABI kind.
Exposes information about the current target.
Defines the clang::TargetInfo interface.
std::unique_ptr< LowerModule > createLowerModule(mlir::ModuleOp module, mlir::PatternRewriter &rewriter)
static bool lowerModuleLangOpts()