diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index cf69e90ca52..930f718b7cb 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -2014,6 +2014,7 @@ void collect_postasm_stats(Program *program, const std::vector& code); enum print_flags { print_no_ssa = 0x1, print_perf_info = 0x2, + print_kill = 0x4, }; void aco_print_operand(const Operand *operand, FILE *output, unsigned flags=0); diff --git a/src/amd/compiler/aco_print_ir.cpp b/src/amd/compiler/aco_print_ir.cpp index 3fc70540d46..743dc0f64da 100644 --- a/src/amd/compiler/aco_print_ir.cpp +++ b/src/amd/compiler/aco_print_ir.cpp @@ -181,6 +181,8 @@ void aco_print_operand(const Operand *operand, FILE *output, unsigned flags) fprintf(output, "(is16bit)"); if (operand->is24bit()) fprintf(output, "(is24bit)"); + if ((flags & print_kill) && operand->isKill()) + fprintf(output, "(kill)"); if (!(flags & print_no_ssa)) fprintf(output, "%%%d%s", operand->tempId(), operand->isFixed() ? ":" : ""); @@ -200,6 +202,8 @@ static void print_definition(const Definition *definition, FILE *output, unsigne fprintf(output, "(nuw)"); if (definition->isNoCSE()) fprintf(output, "(noCSE)"); + if ((flags & print_kill) && definition->isKill()) + fprintf(output, "(kill)"); if (!(flags & print_no_ssa)) fprintf(output, "%%%d%s", definition->tempId(), definition->isFixed() ? ":" : "");