Lines Matching defs:instr
74 foreach_instr (instr, &block->instr_list)
75 instr->ip = index++;
83 /* Definitions within a merge set are ordered by instr->ip as set above: */
88 return a->instr->ip > b->instr->ip;
96 } else if (a->instr->block == b->instr->block) {
99 return ir3_block_dominates(a->instr->block, b->instr->block);
118 struct ir3_instruction *instr = value.reg->instr;
119 if (instr->opc == OPC_META_SPLIT) {
120 value.offset += instr->split.off * reg_elem_size(value.reg);
121 value.reg = instr->srcs[0]->def;
122 } else if (instr->opc == OPC_META_COLLECT) {
128 instr->srcs[value.offset / reg_elem_size(value.reg)];
312 if (ir3_def_live_after(live, dom[i].reg, current.reg->instr))
483 foreach_instr (instr, &block->instr_list) {
484 for (unsigned i = 0; i < instr->dsts_count; i++) {
485 struct ir3_register *dst = instr->dsts[i];
520 foreach_instr (instr, &block->instr_list) {
521 for (unsigned i = 0; i < instr->dsts_count; i++) {
522 struct ir3_register *dst = instr->dsts[i];
533 reg->instr->serialno, reg->name, reg->merge_set_offset);
551 foreach_instr (instr, &block->instr_list) {
552 if (instr->opc != OPC_META_PHI)
555 coalesce_phi(live, instr);
561 foreach_instr (instr, &block->instr_list) {
562 switch (instr->opc) {
564 aggressive_coalesce_split(live, instr);
567 aggressive_coalesce_collect(live, instr);
570 aggressive_coalesce_parallel_copy(live, instr);