projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added few more stubs so that control reaches to DestroyDevice().
[mesa.git]
/
src
/
intel
/
compiler
/
brw_disasm_info.c
diff --git
a/src/intel/compiler/brw_disasm_info.c
b/src/intel/compiler/brw_disasm_info.c
index 3db79ede70835c7d2ec7d032159aeb1e7480651d..079d1716b1ffcecef031710fdcff692f561efa9f 100644
(file)
--- a/
src/intel/compiler/brw_disasm_info.c
+++ b/
src/intel/compiler/brw_disasm_info.c
@@
-24,18
+24,24
@@
#include "brw_cfg.h"
#include "brw_eu.h"
#include "brw_disasm_info.h"
#include "brw_cfg.h"
#include "brw_eu.h"
#include "brw_disasm_info.h"
-#include "
common
/gen_debug.h"
+#include "
dev
/gen_debug.h"
#include "compiler/nir/nir.h"
#include "compiler/nir/nir.h"
-__attribute__((weak)) void nir_print_instr(const nir_instr *instr, FILE *fp) {}
+__attribute__((weak)) void nir_print_instr(UNUSED const nir_instr *instr,
+ UNUSED FILE *fp) {}
void
void
-dump_assembly(void *assembly, struct disasm_info *disasm)
+dump_assembly(void *assembly, int start_offset, int end_offset,
+ struct disasm_info *disasm, const unsigned *block_latency)
{
const struct gen_device_info *devinfo = disasm->devinfo;
const char *last_annotation_string = NULL;
const void *last_annotation_ir = NULL;
{
const struct gen_device_info *devinfo = disasm->devinfo;
const char *last_annotation_string = NULL;
const void *last_annotation_ir = NULL;
+ void *mem_ctx = ralloc_context(NULL);
+ const struct brw_label *root_label =
+ brw_label_assembly(devinfo, assembly, start_offset, end_offset, mem_ctx);
+
foreach_list_typed(struct inst_group, group, link, &disasm->group_list) {
struct exec_node *next_node = exec_node_get_next(&group->link);
if (exec_node_is_tail_sentinel(next_node))
foreach_list_typed(struct inst_group, group, link, &disasm->group_list) {
struct exec_node *next_node = exec_node_get_next(&group->link);
if (exec_node_is_tail_sentinel(next_node))
@@
-54,7
+60,10
@@
dump_assembly(void *assembly, struct disasm_info *disasm)
struct bblock_t *predecessor_block = predecessor_link->block;
fprintf(stderr, " <-B%d", predecessor_block->num);
}
struct bblock_t *predecessor_block = predecessor_link->block;
fprintf(stderr, " <-B%d", predecessor_block->num);
}
- fprintf(stderr, " (%u cycles)\n", group->block_start->cycle_count);
+ if (block_latency)
+ fprintf(stderr, " (%u cycles)",
+ block_latency[group->block_start->num]);
+ fprintf(stderr, "\n");
}
if (last_annotation_ir != group->ir) {
}
if (last_annotation_ir != group->ir) {
@@
-72,7
+81,8
@@
dump_assembly(void *assembly, struct disasm_info *disasm)
fprintf(stderr, " %s\n", last_annotation_string);
}
fprintf(stderr, " %s\n", last_annotation_string);
}
- brw_disassemble(devinfo, assembly, start_offset, end_offset, stderr);
+ brw_disassemble(devinfo, assembly, start_offset, end_offset,
+ root_label, stderr);
if (group->error) {
fputs(group->error, stderr);
if (group->error) {
fputs(group->error, stderr);
@@
-89,6
+99,8
@@
dump_assembly(void *assembly, struct disasm_info *disasm)
}
}
fprintf(stderr, "\n");
}
}
fprintf(stderr, "\n");
+
+ ralloc_free(mem_ctx);
}
struct disasm_info *
}
struct disasm_info *
@@
-123,8
+135,8
@@
disasm_annotate(struct disasm_info *disasm,
struct inst_group *group;
if (!disasm->use_tail) {
group = disasm_new_inst_group(disasm, offset);
struct inst_group *group;
if (!disasm->use_tail) {
group = disasm_new_inst_group(disasm, offset);
- disasm->use_tail = false;
} else {
} else {
+ disasm->use_tail = false;
group = exec_node_data(struct inst_group,
exec_list_get_tail_raw(&disasm->group_list), link);
}
group = exec_node_data(struct inst_group,
exec_list_get_tail_raw(&disasm->group_list), link);
}