mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 23:37:20 +08:00
IRgen: Add CGOptions to CGTypes.
llvm-svn: 133530
This commit is contained in:
@@ -62,7 +62,7 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CodeGenOptions &CGO,
|
||||
: Context(C), Features(C.getLangOptions()), CodeGenOpts(CGO), TheModule(M),
|
||||
TheTargetData(TD), TheTargetCodeGenInfo(0), Diags(diags),
|
||||
ABI(createCXXABI(*this)),
|
||||
Types(C, M, TD, getTargetCodeGenInfo().getABIInfo(), ABI),
|
||||
Types(C, M, TD, getTargetCodeGenInfo().getABIInfo(), ABI, CGO),
|
||||
TBAA(0),
|
||||
VTables(*this), Runtime(0), DebugInfo(0), ARCData(0), RRData(0),
|
||||
CFConstantStringClassRef(0), ConstantStringClassRef(0),
|
||||
|
||||
@@ -28,9 +28,9 @@ using namespace CodeGen;
|
||||
|
||||
CodeGenTypes::CodeGenTypes(ASTContext &Ctx, llvm::Module& M,
|
||||
const llvm::TargetData &TD, const ABIInfo &Info,
|
||||
CGCXXABI &CXXABI)
|
||||
CGCXXABI &CXXABI, const CodeGenOptions &CGO)
|
||||
: Context(Ctx), Target(Ctx.Target), TheModule(M), TheTargetData(TD),
|
||||
TheABIInfo(Info), TheCXXABI(CXXABI) {
|
||||
TheABIInfo(Info), TheCXXABI(CXXABI), CodeGenOpts(CGO) {
|
||||
}
|
||||
|
||||
CodeGenTypes::~CodeGenTypes() {
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace clang {
|
||||
class CXXConstructorDecl;
|
||||
class CXXDestructorDecl;
|
||||
class CXXMethodDecl;
|
||||
class CodeGenOptions;
|
||||
class FieldDecl;
|
||||
class FunctionProtoType;
|
||||
class ObjCInterfaceDecl;
|
||||
@@ -62,6 +63,7 @@ class CodeGenTypes {
|
||||
const llvm::TargetData& TheTargetData;
|
||||
const ABIInfo& TheABIInfo;
|
||||
CGCXXABI &TheCXXABI;
|
||||
const CodeGenOptions &CodeGenOpts;
|
||||
|
||||
llvm::SmallVector<std::pair<QualType,
|
||||
llvm::OpaqueType *>, 8> PointersToResolve;
|
||||
@@ -108,13 +110,15 @@ private:
|
||||
|
||||
public:
|
||||
CodeGenTypes(ASTContext &Ctx, llvm::Module &M, const llvm::TargetData &TD,
|
||||
const ABIInfo &Info, CGCXXABI &CXXABI);
|
||||
const ABIInfo &Info, CGCXXABI &CXXABI,
|
||||
const CodeGenOptions &Opts);
|
||||
~CodeGenTypes();
|
||||
|
||||
const llvm::TargetData &getTargetData() const { return TheTargetData; }
|
||||
const TargetInfo &getTarget() const { return Target; }
|
||||
ASTContext &getContext() const { return Context; }
|
||||
const ABIInfo &getABIInfo() const { return TheABIInfo; }
|
||||
const CodeGenOptions &getCodeGenOpts() const { return CodeGenOpts; }
|
||||
CGCXXABI &getCXXABI() const { return TheCXXABI; }
|
||||
llvm::LLVMContext &getLLVMContext() { return TheModule.getContext(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user