summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_init.c9
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_misc.cpp2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 8b8686dd2dd..ce87b8ce932 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -43,6 +43,14 @@
#include <llvm-c/BitWriter.h>
+/* Only MCJIT is available as of LLVM SVN r216982 */
+#if HAVE_LLVM >= 0x0306
+
+#define USE_MCJIT 1
+#define HAVE_AVX 1
+
+#else
+
/**
* AVX is supported in:
* - standard JIT from LLVM 3.2 onwards
@@ -64,6 +72,7 @@
# define HAVE_AVX 0
#endif
+#endif /* HAVE_LLVM >= 0x0306 */
#if USE_MCJIT
void LLVMLinkInMCJIT();
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
index 55aa8b9bda7..2fd85a82090 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
@@ -456,7 +456,9 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
.setOptLevel((CodeGenOpt::Level)OptLevel);
if (useMCJIT) {
+#if HAVE_LLVM < 0x0306
builder.setUseMCJIT(true);
+#endif
#ifdef _WIN32
/*
* MCJIT works on Windows, but currently only through ELF object format.