mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 12:30:11 +01:00
nouveau/compiler: Allow to omit line numbers when printing instructions
This comes in handy when checking "NV50_PROG_DEBUG=1" outputs with diff! V2: - Use environmental variable (Karol Herbst) V3: - Use the already populated nv50_ir_prog_info to forward information to the print pass (Pierre Moreau) V4: - get rid of default value in PrintPass constructor Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Reviewed-by: Pierre Moreau <pierre.morrow@free.fr> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
0fed7f83ba
commit
068a72fbcb
5 changed files with 13 additions and 4 deletions
|
|
@ -82,6 +82,7 @@ struct nv50_ir_prog_info
|
|||
|
||||
uint8_t optLevel; /* optimization level (0 to 3) */
|
||||
uint8_t dbgFlags;
|
||||
bool omitLineNum; /* only used for printing the prog when dbgFlags is set */
|
||||
|
||||
struct {
|
||||
int16_t maxGPR; /* may be -1 if none used */
|
||||
|
|
|
|||
|
|
@ -689,7 +689,7 @@ void Instruction::print() const
|
|||
class PrintPass : public Pass
|
||||
{
|
||||
public:
|
||||
PrintPass() : serial(0) { }
|
||||
PrintPass(bool omitLineNum) : serial(0), omit_serial(omitLineNum) { }
|
||||
|
||||
virtual bool visit(Function *);
|
||||
virtual bool visit(BasicBlock *);
|
||||
|
|
@ -697,6 +697,7 @@ public:
|
|||
|
||||
private:
|
||||
int serial;
|
||||
bool omit_serial;
|
||||
};
|
||||
|
||||
bool
|
||||
|
|
@ -760,7 +761,11 @@ PrintPass::visit(BasicBlock *bb)
|
|||
bool
|
||||
PrintPass::visit(Instruction *insn)
|
||||
{
|
||||
INFO("%3i: ", serial++);
|
||||
if (omit_serial)
|
||||
INFO(" ");
|
||||
else
|
||||
INFO("%3i: ", serial);
|
||||
serial++;
|
||||
insn->print();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -768,14 +773,14 @@ PrintPass::visit(Instruction *insn)
|
|||
void
|
||||
Function::print()
|
||||
{
|
||||
PrintPass pass;
|
||||
PrintPass pass(prog->driver->omitLineNum);
|
||||
pass.run(this, true, false);
|
||||
}
|
||||
|
||||
void
|
||||
Program::print()
|
||||
{
|
||||
PrintPass pass;
|
||||
PrintPass pass(driver->omitLineNum);
|
||||
init_colours();
|
||||
pass.run(this, true, false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ nouveau_codegen(int chipset, int type, struct tgsi_token tokens[],
|
|||
|
||||
info.optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3);
|
||||
info.dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0);
|
||||
info.omitLineNum = debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0);
|
||||
|
||||
ret = nv50_ir_generate_code(&info);
|
||||
if (ret) {
|
||||
|
|
|
|||
|
|
@ -367,6 +367,7 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset,
|
|||
#ifdef DEBUG
|
||||
info->optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3);
|
||||
info->dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0);
|
||||
info->omitLineNum = debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0);
|
||||
#else
|
||||
info->optLevel = 3;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -575,6 +575,7 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset,
|
|||
info->target = debug_get_num_option("NV50_PROG_CHIPSET", chipset);
|
||||
info->optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3);
|
||||
info->dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0);
|
||||
info->omitLineNum = debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0);
|
||||
#else
|
||||
info->optLevel = 3;
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue