about summary refs log tree commit diff homepage
path: root/lib/Module/Optimize.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Module/Optimize.cpp')
-rw-r--r--lib/Module/Optimize.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Module/Optimize.cpp b/lib/Module/Optimize.cpp
index fc37c1a9..20922e9e 100644
--- a/lib/Module/Optimize.cpp
+++ b/lib/Module/Optimize.cpp
@@ -27,7 +27,11 @@
 #else
 #include "llvm/Support/DynamicLibrary.h"
 #endif
-#include "llvm/Target/DataLayout.h"
+#if LLVM_VERSION_CODE < LLVM_VERSION(3, 1)
+#include "llvm/Target/TargetData.h"
+#else
+#include "llvm/DataLayout.h"
+#endif
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/Scalar.h"
@@ -178,8 +182,13 @@ void Optimize(Module* M) {
   if (VerifyEach)
     Passes.add(createVerifierPass());
 
+#if LLVM_VERSION_CODE < LLVM_VERSION(3, 1)
+  // Add an appropriate TargetData instance for this module...
+  addPass(Passes, new TargetData(M));
+#else
   // Add an appropriate DataLayout instance for this module...
   addPass(Passes, new DataLayout(M));
+#endif
 
   // DWD - Run the opt standard pass list as well.
   AddStandardCompilePasses(Passes);