[Mesa-dev] [PATCH] gallium: enable intel jitevents profiling
Rowley, Timothy O
timothy.o.rowley at intel.com
Fri May 6 19:51:16 UTC 2016
Would like to get this small change reviewed to help with performance measuring.
Thanks.
-Tim
> On Mar 28, 2016, at 2:29 PM, Rowley, Timothy O <timothy.o.rowley at intel.com> wrote:
>
> 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.
> ---
> 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 30ef37c..f9bb92d 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> @@ -81,6 +81,11 @@
> #include <llvm/IR/Module.h>
> #include <llvm/Support/CBindingWrapping.h>
>
> +#include <llvm/Config/llvm-config.h>
> +#if LLVM_USE_INTEL_JITEVENTS
> +#include <llvm/ExecutionEngine/JITEventListener.h>
> +#endif
> +
> // Workaround http://llvm.org/PR23628
> #if HAVE_LLVM >= 0x0307
> # pragma pop_macro("DEBUG")
> @@ -625,6 +630,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;
> --
> 1.9.1
>
More information about the mesa-dev
mailing list