Mercurial > hg > octave-lyh
diff libinterp/corefcn/pt-jit.cc @ 17172:36fd98b9ce48
Add support for llvm 3.3
* configure.ac: Add check for LLVM IR directory.
* jit-ir.cc: Update includes.
* jit-util.h: Define HAVE_LLVM_DATALAYOUT.
* jit-typeinfo.cc: Update includes.
* pt-jit.cc: Update includes.
* acinclude.m4: Update checks for llvm 3.3
author | Max Brister <max@2bass.com> |
---|---|
date | Sat, 03 Aug 2013 16:53:46 -0600 |
parents | 38bcfd413db0 |
children | bc924baa2c4e |
line wrap: on
line diff
--- a/libinterp/corefcn/pt-jit.cc +++ b/libinterp/corefcn/pt-jit.cc @@ -50,23 +50,37 @@ #include <llvm/Analysis/Passes.h> #include <llvm/Analysis/Verifier.h> #include <llvm/Bitcode/ReaderWriter.h> -#include <llvm/LLVMContext.h> #include <llvm/ExecutionEngine/ExecutionEngine.h> #include <llvm/ExecutionEngine/JIT.h> +#include <llvm/PassManager.h> + +#ifdef HAVE_LLVM_IR_FUNCTION_H +#include <llvm/IR/LLVMContext.h> +#include <llvm/IR/Module.h> +#else +#include <llvm/LLVMContext.h> #include <llvm/Module.h> -#include <llvm/PassManager.h> -#ifdef IRBUILDER_HEADER_IN_SUPPORT_DIR +#endif + +#ifdef HAVE_LLVM_SUPPORT_IRBUILDER_H #include <llvm/Support/IRBuilder.h> +#elif defined(HAVE_LLVM_IR_IRBUILDER_H) +#include <llvm/IR/IRBuilder.h> #else #include <llvm/IRBuilder.h> #endif + #include <llvm/Support/raw_os_ostream.h> #include <llvm/Support/TargetSelect.h> -#ifdef HAVE_DATALAYOUT + +#ifdef HAVE_LLVM_IR_DATALAYOUT_H +#include <llvm/IR/DataLayout.h> +#elif defined(HAVE_LLVM_DATALAYOUT_H) #include <llvm/DataLayout.h> #else #include <llvm/Target/TargetData.h> #endif + #include <llvm/Transforms/IPO.h> #include <llvm/Transforms/Scalar.h> @@ -1872,7 +1886,7 @@ module_pass_manager->add (llvm::createAlwaysInlinerPass ()); pass_manager = new llvm::FunctionPassManager (module); -#if HAVE_DATALAYOUT +#ifdef HAVE_LLVM_DATALAYOUT pass_manager->add (new llvm::DataLayout (*engine->getDataLayout ())); #else pass_manager->add (new llvm::TargetData (*engine->getTargetData ()));