gallium/radeon: assign a name to LLVM output variables in debug builds
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 7 Oct 2016 15:14:54 +0000 (17:14 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 10 Oct 2016 08:38:30 +0000 (10:38 +0200)
This can be helpful with R600_DEBUG=preoptir.

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c

index da4a030a9ef60b1a24a7ffec3b456e2056c6a425..c843541741948607cb525c8fd1e103a786855aff 100644 (file)
@@ -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;