Mesa (master): gallium/radeon: assign a name to LLVM output variables in debug builds

Nicolai Hähnle nh at kemper.freedesktop.org
Mon Oct 10 08:39:56 UTC 2016


Module: Mesa
Branch: master
Commit: 38cfd5160ad3859dfd2c4af289f860198d6f4590
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=38cfd5160ad3859dfd2c4af289f860198d6f4590

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct  7 17:14:54 2016 +0200

gallium/radeon: assign a name to LLVM output variables in debug builds

This can be helpful with R600_DEBUG=preoptir.

Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index da4a030..c843541 100644
--- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
+++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
@@ -703,6 +703,7 @@ static void emit_declaration(struct lp_build_tgsi_context *bld_base,
 
 	case TGSI_FILE_OUTPUT:
 	{
+		char name[16] = "";
 		unsigned idx;
 		for (idx = decl->Range.First; idx <= decl->Range.Last; idx++) {
 			unsigned chan;
@@ -710,9 +711,13 @@ static void emit_declaration(struct lp_build_tgsi_context *bld_base,
 			if (ctx->soa.outputs[idx][0])
 				continue;
 			for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) {
+#ifdef DEBUG
+				snprintf(name, sizeof(name), "OUT%d.%c",
+					 idx, "xyzw"[chan % 4]);
+#endif
 				ctx->soa.outputs[idx][chan] = lp_build_alloca_undef(
 					&ctx->gallivm,
-					ctx->soa.bld_base.base.elem_type, "");
+					ctx->soa.bld_base.base.elem_type, name);
 			}
 		}
 		break;




More information about the mesa-commit mailing list