Mercurial > octave
changeset 24245:b3b7677334f6
jit: pt-jit.cc: Use createBasicAAWrapperPass instead of createBasicAliasAnalysisPass
author | Julien Bect <jbect@users.sourceforge.net> |
---|---|
date | Mon, 24 Jul 2017 13:49:15 +0200 |
parents | 9eef7983b9bc |
children | d74d01e39f91 |
files | configure.ac libinterp/parse-tree/pt-jit.cc |
diffstat | 2 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.ac Mon Jul 24 13:54:24 2017 +0200 +++ b/configure.ac Mon Jul 24 13:49:15 2017 +0200 @@ -1685,6 +1685,7 @@ fi AC_CHECK_HEADERS([llvm/IR/Verifier.h]) + AC_CHECK_HEADERS([llvm/Analysis/BasicAliasAnalysis.h]) OCTAVE_LLVM_FUNCTION_ADDATTRIBUTE_API OCTAVE_LLVM_FUNCTION_ADDFNATTR_API
--- a/libinterp/parse-tree/pt-jit.cc Mon Jul 24 13:54:24 2017 +0200 +++ b/libinterp/parse-tree/pt-jit.cc Mon Jul 24 13:49:15 2017 +0200 @@ -55,6 +55,13 @@ # include <llvm/Analysis/Verifier.h> #endif +#if defined (HAVE_LLVM_ANALYSIS_BASICALIASANALYSIS_H) +// In LLVM 3.8.x and later, we use createBasicAAWrapperPass from: +# include <llvm/Analysis/BasicAliasAnalysis.h> +#endif +// In LLVM 3.7.x and earlier, we use createBasicAliasAnalysisPass +// from llvm/Analysis/Passes.h (already included above) + #include <llvm/Bitcode/ReaderWriter.h> #include <llvm/ExecutionEngine/ExecutionEngine.h> #include <llvm/ExecutionEngine/JIT.h> @@ -2080,8 +2087,15 @@ #else pass_manager->add (new llvm::TargetData (*engine->getTargetData ())); #endif + pass_manager->add (llvm::createCFGSimplificationPass ()); + +#if defined (HAVE_LLVM_ANALYSIS_BASICALIASANALYSIS_H) + pass_manager->add (llvm::createBasicAAWrapperPass ()); +#else pass_manager->add (llvm::createBasicAliasAnalysisPass ()); +#endif + pass_manager->add (llvm::createPromoteMemoryToRegisterPass ()); pass_manager->add (llvm::createInstructionCombiningPass ()); pass_manager->add (llvm::createReassociatePass ());