Lines Matching defs:disasm
35 struct disasm_info *disasm, const unsigned *block_latency)
37 const struct brw_isa_info *isa = disasm->isa;
45 foreach_list_typed(struct inst_group, group, link, &disasm->group_list) {
110 struct disasm_info *disasm = ralloc(NULL, struct disasm_info);
111 exec_list_make_empty(&disasm->group_list);
112 disasm->isa = isa;
113 disasm->cfg = cfg;
114 disasm->cur_block = 0;
115 disasm->use_tail = false;
116 return disasm;
120 disasm_new_inst_group(struct disasm_info *disasm, unsigned next_inst_offset)
122 struct inst_group *tail = rzalloc(disasm, struct inst_group);
124 exec_list_push_tail(&disasm->group_list, &tail->link);
129 disasm_annotate(struct disasm_info *disasm,
132 const struct intel_device_info *devinfo = disasm->isa->devinfo;
133 const struct cfg_t *cfg = disasm->cfg;
136 if (!disasm->use_tail) {
137 group = disasm_new_inst_group(disasm, offset);
139 disasm->use_tail = false;
141 exec_list_get_tail_raw(&disasm->group_list), link);
149 if (bblock_start(cfg->blocks[disasm->cur_block]) == inst) {
150 group->block_start = cfg->blocks[disasm->cur_block];
162 disasm->use_tail = true;
165 if (bblock_end(cfg->blocks[disasm->cur_block]) == inst) {
166 group->block_end = cfg->blocks[disasm->cur_block];
167 disasm->cur_block++;
172 disasm_insert_error(struct disasm_info *disasm, unsigned offset,
175 foreach_list_typed(struct inst_group, cur, link, &disasm->group_list) {
187 struct inst_group *new = ralloc(disasm, struct inst_group);
203 cur->error = ralloc_strdup(disasm, error);