14#ifndef CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_LOWERMODULE_H
15#define CLANG_LIB_CIR_DIALECT_TRANSFORMS_TARGETLOWERING_LOWERMODULE_H
19#include "mlir/IR/BuiltinOps.h"
30 mlir::ModuleOp module;
31 const std::unique_ptr<clang::TargetInfo> target;
32 std::unique_ptr<TargetLoweringInfo> targetLoweringInfo;
33 std::unique_ptr<CIRCXXABI> abi;
37 mlir::ModuleOp &module,
38 std::unique_ptr<clang::TargetInfo> target);
43 return target->getCXXABI().getKind();
Defines the clang::LangOptions interface.
mlir::MLIRContext * getMLIRContext()
CIRCXXABI & getCXXABI() const
LowerModule(clang::LangOptions langOpts, clang::CodeGenOptions codeGenOpts, mlir::ModuleOp &module, std::unique_ptr< clang::TargetInfo > target)
clang::TargetCXXABI::Kind getCXXABIKind() const
const TargetLoweringInfo & getTargetLoweringInfo()
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)
static bool lowerModuleLangOpts()