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;