From b65f7ec4507122d2a3f258b7ca7c6809de06f097 Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Mon, 28 Mar 2016 14:29:30 -0500 Subject: [PATCH] gallium: enable intel jitevents profiling LLVM when configured with "intel jitevents" enabled can inform VTune about dynamic code, so individual shaders are attributed profiling data and the resulting assembly can be examined. Acked-by: Roland Scheidegger --- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index e47146a7af7..bb08892142a 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp @@ -81,6 +81,11 @@ #include #include +#include +#if LLVM_USE_INTEL_JITEVENTS +#include +#endif + // Workaround http://llvm.org/PR23628 #if HAVE_LLVM >= 0x0307 # pragma pop_macro("DEBUG") @@ -629,6 +634,10 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, ExecutionEngine *JIT; JIT = builder.create(); +#if LLVM_USE_INTEL_JITEVENTS + JITEventListener *JEL = JITEventListener::createIntelJITEventListener(); + JIT->RegisterJITEventListener(JEL); +#endif if (JIT) { *OutJIT = wrap(JIT); return 0; -- 2.30.2