Earlier commit made the decision whether to use MCJIT a run-time one. At
the same time, it changed the code-flow in the following manner:
- LLVMLinkInMCJIT() was executed regardless of whether MCJIT is to be
used or not. Admittedly it is a no-op at least in some builds.
- LLVMLinkInJIT() was executed regardless of weather MCJIT is to be
used or not.
Resolve that my promoting USE_MCJIT to be static bool, always. Make sure
it's honoured and the correct LLVMLinkIn{MC,}JIT() function is called
only as needed.
Fixes: cf4105740f0 "gallivm: Make MCJIT a runtime option."
Cc: Zhen Wu <[email protected]>
Cc: Jose Fonseca <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
---
Jose, rather than jumping around like a headless chicken I've went ahead
and fixed things... or maybe I broke it ? Afaict this preserves the
original behaviour and linking should be perfectly fine.
XXX: worth dropping the ALL_CAPS from the, now, variable name ? Should
we squash it here or as separate patch ?
As an added bonus might even solve the issue Wu Zhen is hitting :-)
---
src/gallium/auxiliary/gallivm/lp_bld_init.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c
b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index d1b2369f34..9a77c87ae4 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -45,9 +45,9 @@
/* Only MCJIT is available as of LLVM SVN r216982 */
#if HAVE_LLVM >= 0x0306
-# define USE_MCJIT 1
+static bool USE_MCJIT = 1;
#elif defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390) ||
defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64)
-# define USE_MCJIT 1
+static bool USE_MCJIT = 1;
#else
static bool USE_MCJIT = 0;
#endif
@@ -395,11 +395,11 @@ lp_build_init(void)
if (gallivm_initialized)
return TRUE;
- LLVMLinkInMCJIT();
-#if !defined(USE_MCJIT)
- USE_MCJIT = debug_get_bool_option("GALLIVM_MCJIT", 0);
- LLVMLinkInJIT();
-#endif
+ USE_MCJIT = debug_get_bool_option("GALLIVM_MCJIT", USE_MCJIT);
+ if (USE_MCJIT)
+ LLVMLinkInMCJIT();
+ else
+ LLVMLinkInJIT();
#ifdef DEBUG
gallivm_debug = debug_get_option_gallivm_debug();
--
2.11.0
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev