From e1092dfee2bbcc2243421c553bca488880324280 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Thu, 14 Feb 2013 08:09:20 +0000 Subject: Pass the target options through to code generation. The code generation stuff is going to set attributes on the functions it generates. To do that it needs the target options. Pass them through. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175141 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/ModuleBuilder.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib/CodeGen/ModuleBuilder.cpp') diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp index 9421e0f74e..d6e5f0673f 100644 --- a/lib/CodeGen/ModuleBuilder.cpp +++ b/lib/CodeGen/ModuleBuilder.cpp @@ -31,13 +31,16 @@ namespace { OwningPtr TD; ASTContext *Ctx; const CodeGenOptions CodeGenOpts; // Intentionally copied in. + const TargetOptions TargetOpts; // Intentionally copied in. protected: OwningPtr M; OwningPtr Builder; public: CodeGeneratorImpl(DiagnosticsEngine &diags, const std::string& ModuleName, - const CodeGenOptions &CGO, llvm::LLVMContext& C) - : Diags(diags), CodeGenOpts(CGO), M(new llvm::Module(ModuleName, C)) {} + const CodeGenOptions &CGO, const TargetOptions &TO, + llvm::LLVMContext& C) + : Diags(diags), CodeGenOpts(CGO), TargetOpts(TO), + M(new llvm::Module(ModuleName, C)) {} virtual ~CodeGeneratorImpl() {} @@ -55,7 +58,7 @@ namespace { M->setTargetTriple(Ctx->getTargetInfo().getTriple().getTriple()); M->setDataLayout(Ctx->getTargetInfo().getTargetDescription()); TD.reset(new llvm::DataLayout(Ctx->getTargetInfo().getTargetDescription())); - Builder.reset(new CodeGen::CodeGenModule(Context, CodeGenOpts, + Builder.reset(new CodeGen::CodeGenModule(Context, CodeGenOpts, TargetOpts, *M, *TD, Diags)); } @@ -122,6 +125,7 @@ void CodeGenerator::anchor() { } CodeGenerator *clang::CreateLLVMCodeGen(DiagnosticsEngine &Diags, const std::string& ModuleName, const CodeGenOptions &CGO, + const TargetOptions &TO, llvm::LLVMContext& C) { - return new CodeGeneratorImpl(Diags, ModuleName, CGO, C); + return new CodeGeneratorImpl(Diags, ModuleName, CGO, TO, C); } -- cgit v1.2.3-18-g5258