[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