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 <wuz...@jidemail.com> Cc: Jose Fonseca <jfons...@vmware.com> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- 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 mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev