Mercurial > projects > ldc
changeset 1566:c03d164e96d9
lookupTarget no longer takes a Module.
And we need to get TargetData from the module if the Target
doesn't have it.
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Tue, 04 Aug 2009 12:21:59 +0200 |
parents | b1e5f8001904 |
children | f1f33c8dcd90 |
files | gen/main.cpp gen/toobj.cpp |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/main.cpp Mon Aug 03 11:29:35 2009 +0200 +++ b/gen/main.cpp Tue Aug 04 12:21:59 2009 +0200 @@ -486,7 +486,7 @@ #if LLVM_REV < 77946 std::auto_ptr<llvm::TargetMachine> target(theTarget->createTargetMachine(mod, FeaturesStr)); #else - std::auto_ptr<llvm::TargetMachine> target(theTarget->createTargetMachine(mod, mod.getTargetTriple(), FeaturesStr)); + std::auto_ptr<llvm::TargetMachine> target(theTarget->createTargetMachine(mod.getTargetTriple(), FeaturesStr)); #endif assert(target.get() && "Could not allocate target machine!"); gTargetMachine = target.get();
--- a/gen/toobj.cpp Mon Aug 03 11:29:35 2009 +0200 +++ b/gen/toobj.cpp Tue Aug 04 12:21:59 2009 +0200 @@ -295,7 +295,10 @@ ExistingModuleProvider Provider(&m); FunctionPassManager Passes(&Provider); - Passes.add(new TargetData(*Target.getTargetData())); + if (const TargetData *TD = Target.getTargetData()) + Passes.add(new TargetData(*TD)); + else + Passes.add(new TargetData(&m)); // Ask the target to add backend passes as necessary. MachineCodeEmitter *MCE = 0;