[Mesa-dev] [PATCH 1/3] gallivm: Improve debug output (V2)

Roland Scheidegger sroland at vmware.com
Tue Feb 14 23:59:50 UTC 2017


Am 14.02.2017 um 22:16 schrieb Ben Crocker:
> Improve debug output from gallivm_compile_module and
> lp_build_create_jit_compiler_for_module, printing the
> -mcpu and -mattr options passed to LLC.
> 
> V2: enclose MAttrs debug_printf block and llc -mcpu debug_printf
> in "if (gallivm_debug & <flags>)..."
> 
> Signed-off-by: Ben Crocker <bcrocker at redhat.com>
> Cc: 12.0 13.0 17.0 <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/auxiliary/gallivm/lp_bld_init.c   |  5 ++++-
>  src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 14 ++++++++++++++
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
> index d1b2369..fed43e9 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
> @@ -606,7 +606,10 @@ gallivm_compile_module(struct gallivm_state *gallivm)
>        util_snprintf(filename, sizeof(filename), "ir_%s.bc", gallivm->module_name);
>        LLVMWriteBitcodeToFile(gallivm->module, filename);
>        debug_printf("%s written\n", filename);
> -      debug_printf("Invoke as \"llc -o - %s\"\n", filename);
> +      debug_printf("Invoke as \"llc %s%s -o - %s\"\n",
> +                   (HAVE_LLVM >= 0x0305) ? "[-mcpu=<-mcpu option] " : "",
> +                   "[-mattr=<-mattr option(s)>]",
> +                   filename);
>     }
>  
>     if (USE_MCJIT) {
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> index 21d9e15..13f9a4d 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> @@ -101,6 +101,7 @@
>  #include "util/u_cpu_detect.h"
>  
>  #include "lp_bld_misc.h"
> +#include "lp_bld_debug.h"
>  
>  namespace {
>  
> @@ -627,6 +628,16 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
>  
>     builder.setMAttrs(MAttrs);
>  
> +   if (gallivm_debug & (GALLIVM_DEBUG_IR | GALLIVM_DEBUG_ASM | GALLIVM_DEBUG_DUMP_BC)) {
> +      int n = MAttrs.size();
> +      if (n > 0) {
> +         debug_printf("llc -mattr option(s): ");
> +         for (int i = 0; i < n; i++)
> +            debug_printf("%s%s", MAttrs[i].c_str(), (i < n - 1) ? "," : "");
> +         debug_printf("\n");
> +      }
> +   }
> +
>  #if HAVE_LLVM >= 0x0305
>     StringRef MCPU = llvm::sys::getHostCPUName();
>     /*
> @@ -642,6 +653,9 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
>      * can't handle. Not entirely sure if we really need to do anything yet.
>      */
>     builder.setMCPU(MCPU);
> +   if (gallivm_debug & (GALLIVM_DEBUG_IR | GALLIVM_DEBUG_ASM | GALLIVM_DEBUG_DUMP_BC)) {
> +      debug_printf("llc -mcpu option: %s\n", MCPU.str().c_str());
> +   }
>  #endif
>  
>     ShaderMemoryManager *MM = NULL;
> 

Looks great.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>




More information about the mesa-dev mailing list