changeset 26537:7a77eb39c7f0 stable

jit: configure: Check if llvm/Transforms/Scalar/GVN.h exists * configure.ac: Check if llvm/Transforms/Scalar/GVN.h exists. * libinterp/parse-tree/pt-jit.cc: If llvm/Transforms/Scalar/GVN.h exists, we need to include it in order to use llvm::createGVNPass.
author Julien Bect <jbect@users.sourceforge.net>
date Tue, 01 Jan 2019 14:34:28 +0100
parents b3157525cebf
children ea25fc64c275
files configure.ac libinterp/parse-tree/pt-jit.cc
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Sat Dec 29 22:25:25 2018 +0100
+++ b/configure.ac	Tue Jan 01 14:34:28 2019 +0100
@@ -1436,6 +1436,7 @@
 
     AC_CHECK_HEADERS([llvm/IR/Verifier.h])
     AC_CHECK_HEADERS([llvm/Analysis/BasicAliasAnalysis.h])
+    AC_CHECK_HEADERS([llvm/Transforms/Scalar/GVN.h])
 
     OCTAVE_LLVM_FUNCTION_ADDATTRIBUTE_API
     OCTAVE_LLVM_FUNCTION_ADDFNATTR_API
--- a/libinterp/parse-tree/pt-jit.cc	Sat Dec 29 22:25:25 2018 +0100
+++ b/libinterp/parse-tree/pt-jit.cc	Tue Jan 01 14:34:28 2019 +0100
@@ -111,6 +111,13 @@
 #include <llvm/Transforms/IPO.h>
 #include <llvm/Transforms/Scalar.h>
 
+// Starting with LLVM 3.9.0, llvm::createGVNPass has
+// been moved to a new header file named GVN.h
+// (before that it was in llvm/Transforms/Scalar.h)
+#if defined (HAVE_LLVM_TRANSFORMS_SCALAR_GVN_H)
+#  include <llvm/Transforms/Scalar/GVN.h>
+#endif
+
 static bool Vdebug_jit = false;
 
 static bool Vjit_enable = false;