changeset 26542:e590d8ad9ed0 stable

jit: Remove jit::PassManager and jit::FunctionPassManager from public API * libinterp/parse-tree/jit-util.h: Remove jit::PassManager and jit::FunctionPassManager from public API. * libinterp/parse-tree/pt-jit.h: Idem. * libinterp/parse-tree/pt-jit.cc: Define them here.
author Julien Bect <jbect@users.sourceforge.net>
date Fri, 04 Jan 2019 11:02:28 +0100
parents 3e6d559c8756
children 0ba9ecd3814b 6657213145e5
files libinterp/parse-tree/jit-util.h libinterp/parse-tree/pt-jit.cc libinterp/parse-tree/pt-jit.h
diffstat 3 files changed, 12 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/jit-util.h	Thu Jan 03 23:10:31 2019 +0100
+++ b/libinterp/parse-tree/jit-util.h	Fri Jan 04 11:02:28 2019 +0100
@@ -44,16 +44,6 @@
 {
   class Value;
   class Module;
-#if defined (LEGACY_PASSMANAGER)
-  namespace legacy
-  {
-    class FunctionPassManager;
-    class PassManager;
-  }
-#else
-  class FunctionPassManager;
-  class PassManager;
-#endif
   class ExecutionEngine;
   class Function;
   class BasicBlock;
--- a/libinterp/parse-tree/pt-jit.cc	Thu Jan 03 23:10:31 2019 +0100
+++ b/libinterp/parse-tree/pt-jit.cc	Fri Jan 04 11:02:28 2019 +0100
@@ -136,6 +136,17 @@
 
 namespace octave
 {
+  namespace jit
+  {    
+#if defined (LEGACY_PASSMANAGER)
+    typedef llvm::legacy::PassManager PassManager;
+    typedef llvm::legacy::FunctionPassManager FunctionPassManager;
+#else
+    typedef llvm::PassManager PassManager;
+    typedef llvm::FunctionPassManager FunctionPassManager;
+#endif
+  }
+
   static llvm::IRBuilder<> builder (tree_jit::llvm_context);
 
   static llvm::LLVMContext& context = tree_jit::llvm_context;
--- a/libinterp/parse-tree/pt-jit.h	Thu Jan 03 23:10:31 2019 +0100
+++ b/libinterp/parse-tree/pt-jit.h	Fri Jan 04 11:02:28 2019 +0100
@@ -29,6 +29,7 @@
 
 #if defined (HAVE_LLVM)
 
+#include "jit-util.h"
 #include "jit-typeinfo.h"
 #include "jit-ir.h"
 #include "pt-walk.h"
@@ -41,14 +42,6 @@
 {
   namespace jit
   {
-#if defined (LEGACY_PASSMANAGER)
-    typedef llvm::legacy::PassManager PassManager;
-    typedef llvm::legacy::FunctionPassManager FunctionPassManager;
-#else
-    typedef llvm::PassManager PassManager;
-    typedef llvm::FunctionPassManager FunctionPassManager;
-#endif
-
     typedef std::unique_ptr<llvm::Module> ModuleOwner;
     typedef std::unique_ptr<llvm::ExecutionEngine> EngineOwner;
   }