Lines Matching refs:instr

138 validate_simple(struct ra_val_ctx *ctx, struct ir3_instruction *instr)
140 ctx->current_instr = instr;
141 ra_foreach_dst (dst, instr) {
148 ra_foreach_src (src, instr) {
219 propagate_normal_instr(struct ra_val_ctx *ctx, struct ir3_instruction *instr)
221 ra_foreach_dst (dst, instr) {
325 propagate_instr(struct ra_val_ctx *ctx, struct ir3_instruction *instr)
327 if (instr->opc == OPC_META_SPLIT)
328 propagate_split(ctx, instr);
329 else if (instr->opc == OPC_META_COLLECT)
330 propagate_collect(ctx, instr);
331 else if (instr->opc == OPC_META_PARALLEL_COPY)
332 propagate_parallelcopy(ctx, instr);
334 propagate_normal_instr(ctx, instr);
342 foreach_instr (instr, &block->instr_list) {
343 propagate_instr(ctx, instr);
368 struct ir3_instruction *instr = state->def->instr;
369 switch (instr->opc) {
371 struct ir3_register *new_def = instr->srcs[0]->def;
372 unsigned offset = instr->split.off * reg_elem_size(new_def);
382 struct ir3_register *new_def = instr->srcs[src_idx]->def;
396 for (unsigned i = 0; i < instr->dsts_count; i++) {
397 if (instr->dsts[i] == state->def) {
404 struct ir3_register *new_def = instr->srcs[dst_idx]->def;
431 fprintf(stderr, "ssa_%u:%u(%sr%u.%c) + %u", state->def->instr->serialno,
439 check_reaching_src(struct ra_val_ctx *ctx, struct ir3_instruction *instr,
457 src->def->instr->serialno, src->def->name, i);
465 ir3_print_instr(instr);
472 check_reaching_instr(struct ra_val_ctx *ctx, struct ir3_instruction *instr)
474 if (instr->opc == OPC_META_SPLIT || instr->opc == OPC_META_COLLECT ||
475 instr->opc == OPC_META_PARALLEL_COPY || instr->opc == OPC_META_PHI) {
479 ra_foreach_src (src, instr) {
480 check_reaching_src(ctx, instr, src);
489 foreach_instr (instr, &block->instr_list) {
490 check_reaching_instr(ctx, instr);
491 propagate_instr(ctx, instr);
500 foreach_instr (instr, &succ->instr_list) {
501 if (instr->opc != OPC_META_PHI)
503 if (instr->srcs[pred_idx]->def)
504 check_reaching_src(ctx, instr, instr->srcs[pred_idx]);
562 foreach_instr (instr, &block->instr_list) {
563 validate_simple(ctx, instr);