Lines Matching refs:op1

49 #define IR_OP_NAME(name, flags, op1, op2, op3)  #name,  argument
291 #define _IR_OP_FLAGS(name, flags, op1, op2, op3) \ argument
292 IR_OP_FLAGS(ir_op_flag_ ## flags, ir_op_kind_ ## op1, ir_op_kind_ ## op2, ir_op_kind_ ## op3),
798 ir_ref ir_emit(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3) argument
804 insn->op1 = op1;
816 ir_ref ir_emit1(ir_ctx *ctx, uint32_t opt, ir_ref op1) argument
818 return ir_emit(ctx, opt, op1, IR_UNUSED, IR_UNUSED);
821 ir_ref ir_emit2(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2) argument
823 return ir_emit(ctx, opt, op1, op2, IR_UNUSED);
826 ir_ref ir_emit3(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3) argument
828 return ir_emit(ctx, opt, op1, op2, op3);
831 static ir_ref _ir_fold_cse(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3) argument
839 if (op1 > limit) {
840 limit = op1;
850 if (insn->opt == opt && insn->op1 == op1 && insn->op2 == op2 && insn->op3 == op3) {
919 ir_ref ir_folding(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3, ir_insn *op1_insn,… argument
965 op1_insn = ctx->ir_base + op1;
971 ctx->fold_insn.op1 = op1;
979 ref = _ir_fold_cse(ctx, opt, op1, op2, op3);
984 ref = ir_emit(ctx, opt, op1, op2, op3);
1002 return ir_emit(ctx, opt, op1, op2, op3);
1005 ctx->fold_insn.op1 = op1;
1014 ctx->fold_insn.op1 = ref;
1027 ir_ref ir_fold(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3) argument
1033 return ir_emit(ctx, opt, op1, op2, op3);
1035 …return ir_folding(ctx, opt, op1, op2, op3, ctx->ir_base + op1, ctx->ir_base + op2, ctx->ir_base + …
1043 ir_ref ir_fold1(ir_ctx *ctx, uint32_t opt, ir_ref op1) argument
1045 return ir_fold(ctx, opt, op1, IR_UNUSED, IR_UNUSED);
1048 ir_ref ir_fold2(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2) argument
1050 return ir_fold(ctx, opt, op1, op2, IR_UNUSED);
1053 ir_ref ir_fold3(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3) argument
1055 return ir_fold(ctx, opt, op1, op2, op3);
1764 if (insn1->op1 == addr2) {
1767 } else if (insn2->op == IR_ADD && IR_IS_CONST_REF(insn1->op2) && insn1->op1 == insn2->op1) {
1778 if (insn2->op1 == addr1) {
1805 off1 = insn1->op1;
1807 base1 = insn1->op1;
1817 off2 = insn2->op1;
1819 base2 = insn2->op1;
1856 insn1 = &ctx->ir_base[insn1->op1];
1866 insn2 = &ctx->ir_base[insn2->op1];
1927 ref = insn->op1;
1954 ref = ctx->ir_base[ref].op1;
2007 IR_ASSERT(ctx->ir_base[insn->op1].op == IR_MERGE || ctx->ir_base[insn->op1].op == IR_LOOP_BEGIN);
2037 ctx->control = ctx->ir_base[src].op1;
2052 return insn->op1;
2097 ref = insn->op1;
2409 ctx->control = ir_emit3(ctx, IR_UNREACHABLE, ctx->control, IR_UNUSED, ctx->ir_base[1].op1);
2410 ctx->ir_base[1].op1 = ctx->control;
2587 ctx->control = ir_emit3(ctx, IR_RETURN, ctx->control, val, ctx->ir_base[1].op1);
2588 ctx->ir_base[1].op1 = ctx->control;
2595 ctx->control = ir_emit3(ctx, IR_IJMP, ctx->control, addr, ctx->ir_base[1].op1);
2596 ctx->ir_base[1].op1 = ctx->control;
2645 ref = insn->op1;
2691 ref = insn->op1;
2706 ctx->ir_base[snapshot].op1 = ctx->control;
2777 ref = insn->op1;
2795 && !IR_IS_CONST_REF(insn->op1)
2796 && ir_type_size[insn->type] == ir_type_size[ctx->ir_base[insn->op1].type]) {
2798 val = insn->op1;
2812 ctx->ir_base[prev].op1 = insn->op1;
2814 ctx->control = insn->op1;
2831 ref = insn->op1;
2878 && !IR_IS_CONST_REF(insn->op1)
2879 && ir_type_size[insn->type] == ir_type_size[ctx->ir_base[insn->op1].type]) {
2881 val = insn->op1;
2896 ctx->ir_base[prev].op1 = insn->op1;
2898 ctx->control = insn->op1;
2926 ref = insn->op1;