diff options
Diffstat (limited to 'lib/Module/Optimize.cpp')
-rw-r--r-- | lib/Module/Optimize.cpp | 11 |
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); |