#include "brw_eu.h"
#include "intel_debug.h"
#include "intel_asm_annotation.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
void
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
- const struct brw_device_info *devinfo)
+ const struct gen_device_info *devinfo)
{
const char *last_annotation_string = NULL;
const void *last_annotation_ir = NULL;
return true;
}
-void annotate(const struct brw_device_info *devinfo,
+void annotate(const struct gen_device_info *devinfo,
struct annotation_info *annotation, const struct cfg_t *cfg,
struct backend_instruction *inst, unsigned offset)
{
ann->block_start = cfg->blocks[annotation->cur_block];
}
- if (bblock_end(cfg->blocks[annotation->cur_block]) == inst) {
- ann->block_end = cfg->blocks[annotation->cur_block];
- annotation->cur_block++;
- }
-
- /* Merge this annotation with the previous if possible. */
- struct annotation *prev = annotation->ann_count > 1 ?
- &annotation->ann[annotation->ann_count - 2] : NULL;
- if (prev != NULL &&
- ann->ir == prev->ir &&
- ann->annotation == prev->annotation &&
- ann->block_start == NULL &&
- prev->block_end == NULL) {
- if (ann->block_end == NULL)
- annotation->ann_count--;
- return;
- }
-
/* There is no hardware DO instruction on Gen6+, so since DO always
* starts a basic block, we need to set the .block_start of the next
* instruction's annotation with a pointer to the bblock started by
if (devinfo->gen >= 6 && inst->opcode == BRW_OPCODE_DO) {
annotation->ann_count--;
}
+
+ if (bblock_end(cfg->blocks[annotation->cur_block]) == inst) {
+ ann->block_end = cfg->blocks[annotation->cur_block];
+ annotation->cur_block++;
+ }
}
void