From e2cdbb25c7ab145b94d72e84e35d18d58d131b40 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 15 Mar 2021 14:17:14 +0000 Subject: [PATCH] aco: add ACO_DEBUG=liveinfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Timur Kristóf Part-of: --- docs/envvars.rst | 2 ++ src/amd/compiler/aco_interface.cpp | 3 +++ src/amd/compiler/aco_ir.cpp | 1 + src/amd/compiler/aco_ir.h | 1 + 4 files changed, 7 insertions(+) diff --git a/docs/envvars.rst b/docs/envvars.rst index 0496c522eaa..752cc582e39 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -667,6 +667,8 @@ RADV driver environment variables disable instructions scheduling ``perfinfo`` print information used to calculate some pipeline statistics + ``liveinfo`` + print liveness and register demand information before scheduling radeonsi driver environment variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/amd/compiler/aco_interface.cpp b/src/amd/compiler/aco_interface.cpp index 7b4a2f40e5f..e3f1986d9f1 100644 --- a/src/amd/compiler/aco_interface.cpp +++ b/src/amd/compiler/aco_interface.cpp @@ -131,6 +131,9 @@ void aco_compile_shader(unsigned shader_count, if (program->collect_statistics) aco::collect_presched_stats(program.get()); + if ((aco::debug_flags & aco::DEBUG_LIVE_INFO) && args->options->dump_shader) + aco_print_program(program.get(), stderr, live_vars, aco::print_live_vars | aco::print_kill); + if (!args->is_trap_handler_shader) { if (!args->options->disable_optimizations && !(aco::debug_flags & aco::DEBUG_NO_SCHED)) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 6815b3202c1..01de6998ce4 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -39,6 +39,7 @@ static const struct debug_control aco_debug_options[] = { {"noopt", DEBUG_NO_OPT}, {"nosched", DEBUG_NO_SCHED}, {"perfinfo", DEBUG_PERF_INFO}, + {"liveinfo", DEBUG_LIVE_INFO}, {NULL, 0} }; diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index 8635c724305..240f36c7d85 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -56,6 +56,7 @@ enum { DEBUG_NO_OPT = 0x20, DEBUG_NO_SCHED = 0x40, DEBUG_PERF_INFO = 0x80, + DEBUG_LIVE_INFO = 0x100, }; /**