Lines Matching refs:op1

31 		a = _values[a].op1;  in ir_sccp_identity()
38 static ir_ref ir_sccp_fold(ir_ctx *ctx, ir_insn *_values, ir_ref res, uint32_t opt, ir_ref op1, ir_… in ir_sccp_fold() argument
43 op1 = ir_sccp_identity(_values, op1); in ir_sccp_fold()
49 op1_insn = (op1 > 0 && IR_IS_CONST_OP(_values[op1].op)) ? _values + op1 : ctx->ir_base + op1; in ir_sccp_fold()
53 switch (ir_folding(ctx, opt, op1, op2, op3, op1_insn, op2_insn, op3_insn)) { in ir_sccp_fold()
56 op1 = ctx->fold_insn.op1; in ir_sccp_fold()
64 op1 = ctx->fold_insn.op1; in ir_sccp_fold()
66 op1 = ir_sccp_identity(_values, op1); in ir_sccp_fold()
68 insn = (op1 > 0 && IR_IS_CONST_OP(_values[op1].op)) ? _values + op1 : ctx->ir_base + op1; in ir_sccp_fold()
74 _values[res].op1 = op1; in ir_sccp_fold()
76 } else if (_values[res].op == IR_COPY && _values[res].op1 == op1) { in ir_sccp_fold()
82 _values[res].op1 = op1; in ir_sccp_fold()
118 if (!IR_IS_FEASIBLE(insn->op1)) { in ir_sccp_meet_phi()
129 merge_input = ctx->ir_base[insn->op1].ops + 1; in ir_sccp_meet_phi()
145 if (!v->op1) { in ir_sccp_meet_phi()
146 v->op1 = 1; in ir_sccp_meet_phi()
152 input = v->op1; in ir_sccp_meet_phi()
193 if (!v->op1) { in ir_sccp_meet_phi()
194 v->op1 = 1; in ir_sccp_meet_phi()
200 input = v->op1; in ir_sccp_meet_phi()
230 if (_values[i].op == IR_COPY && _values[i].op1 == new_copy) { in ir_sccp_meet_phi()
236 _values[i].op1 = new_copy; in ir_sccp_meet_phi()
456 ir_ref op1, op2, op3; in ir_sccp_fold2() local
461 op1 = insn->op1; in ir_sccp_fold2()
466 op1_insn = ctx->ir_base + op1; in ir_sccp_fold2()
470 switch (ir_folding(ctx, opt, op1, op2, op3, op1_insn, op2_insn, op3_insn)) { in ir_sccp_fold2()
473 op1 = ctx->fold_insn.op1; in ir_sccp_fold2()
480 || insn->op1 != ctx->fold_insn.op1 in ir_sccp_fold2()
490 if (insn->op1 != ctx->fold_insn.op1) { in ir_sccp_fold2()
491 …if (!IR_IS_CONST_REF(insn->op1) && insn->op1 != ctx->fold_insn.op2 && insn->op1 != ctx->fold_insn.… in ir_sccp_fold2()
492 ir_sccp_remove_from_use_list(ctx, insn->op1, ref); in ir_sccp_fold2()
494 …if (!IR_IS_CONST_REF(ctx->fold_insn.op1) && ctx->fold_insn.op1 != insn->op2 && ctx->fold_insn.op1 in ir_sccp_fold2()
495 ir_sccp_add_to_use_list(ctx, ctx->fold_insn.op1, ref); in ir_sccp_fold2()
499 …if (!IR_IS_CONST_REF(insn->op2) && insn->op2 != ctx->fold_insn.op1 && insn->op2 != ctx->fold_insn.… in ir_sccp_fold2()
502 …if (!IR_IS_CONST_REF(ctx->fold_insn.op2) && ctx->fold_insn.op2 != insn->op1 && ctx->fold_insn.op2 … in ir_sccp_fold2()
507 …if (!IR_IS_CONST_REF(insn->op3) && insn->op3 != ctx->fold_insn.op1 && insn->op3 != ctx->fold_insn.… in ir_sccp_fold2()
510 …if (!IR_IS_CONST_REF(ctx->fold_insn.op3) && ctx->fold_insn.op3 != insn->op1 && ctx->fold_insn.op3 … in ir_sccp_fold2()
514 insn->op1 = ctx->fold_insn.op1; in ir_sccp_fold2()
529 op1 = ctx->fold_insn.op1; in ir_sccp_fold2()
530 ir_sccp_replace_insn(ctx, _values, ref, op1, worklist); in ir_sccp_fold2()
533 op1 = ir_const(ctx, ctx->fold_insn.val, ctx->fold_insn.type); in ir_sccp_fold2()
534 ir_sccp_replace_insn(ctx, _values, ref, op1, worklist); in ir_sccp_fold2()
570 next_insn->op1 = insn->op1; in ir_sccp_remove_if()
571 ir_sccp_replace_use(ctx, insn->op1, ref, next); in ir_sccp_remove_if()
604 prev = input_insn->op1; in ir_sccp_remove_unfeasible_merge_inputs()
618 next_insn->op1 = prev; in ir_sccp_remove_unfeasible_merge_inputs()
628 insn->op1 = input; in ir_sccp_remove_unfeasible_merge_inputs()
637 insn->op1 = input; in ir_sccp_remove_unfeasible_merge_inputs()
735 if (!_values[input].op1) { in ir_sccp()
736 _values[input].op1 = 1; in ir_sccp()
754 } else if (!ir_sccp_fold(ctx, _values, i, insn->opt, insn->op1, insn->op2, insn->op3)) { in ir_sccp()
780 } else if (_values[i].op1 != unfeasible_inputs) { in ir_sccp()
782 _values[i].op1 = unfeasible_inputs; in ir_sccp()
787 IR_ASSERT(insn->op == IR_START || IR_IS_FEASIBLE(insn->op1)); in ir_sccp()
791 IR_ASSERT(insn->op1 > 0); in ir_sccp()
792 if (_values[insn->op1].optx == IR_TOP) { in ir_sccp()
799 if (!_values[insn->op2].op1) { in ir_sccp()
800 _values[insn->op2].op1 = 1; in ir_sccp()
823 _values[i].op1 = use; in ir_sccp()
824 } else if (_values[i].optx != IR_IF || _values[i].op1 != use) { in ir_sccp()
836 if (!_values[insn->op2].op1) { in ir_sccp()
837 _values[insn->op2].op1 = 1; in ir_sccp()
868 _values[i].op1 = use_case; in ir_sccp()
869 } else if (_values[i].optx != IR_IF || _values[i].op1 != use_case) { in ir_sccp()
937 fprintf(stderr, "%d. COPY(%d)\n", i, _values[i].op1); in ir_sccp()
942 fprintf(stderr, "%d. IF(%d)\n", i, _values[i].op1); in ir_sccp()
944 fprintf(stderr, "%d. MERGE(%d)\n", i, _values[i].op1); in ir_sccp()
961 ir_sccp_replace_insn(ctx, _values, i, value->op1, &worklist); in ir_sccp()
973 ir_ref prev = ctx->ir_base[1].op1; in ir_sccp()
975 ctx->ir_base[1].op1 = insn->op3; in ir_sccp()
990 ir_sccp_remove_if(ctx, _values, i, value->op1); in ir_sccp()
1002 ir_sccp_remove_unfeasible_merge_inputs(ctx, _values, i, _values[i].op1); in ir_sccp()
1017 ctx->ir_base[next].op1 = insn->op1; in ir_sccp()
1018 ir_sccp_replace_use(ctx, insn->op1, i, next); in ir_sccp()
1019 insn->op1 = IR_UNUSED; in ir_sccp()