gallivm: Improve debug output (V2)

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@redhat.com>
Cc: 12.0 13.0 17.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com> (v2)
[Emil Velikov: rebase]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

(cherry picked from commit a8e9c630f3)
This commit is contained in:
Ben Crocker 2017-02-14 16:16:01 -05:00 committed by Emil Velikov
parent b8d23715f5
commit c8e345aa9c
2 changed files with 18 additions and 1 deletions

View file

@ -621,7 +621,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) {

View file

@ -101,6 +101,7 @@
#include "util/u_cpu_detect.h"
#include "lp_bld_misc.h"
#include "lp_bld_debug.h"
namespace {
@ -639,6 +640,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();
/*
@ -654,6 +665,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;