Lines Matching refs:insn
59 ir_insn *insn = &ctx->ir_base[to]; in ir_check_input_list() local
62 n = ir_input_edges_count(ctx, insn); in ir_check_input_list()
63 for (j = 1, p = insn->ops + 1; j <= n; j++, p++) { in ir_check_input_list()
92 ir_insn *insn, *use_insn; in ir_check() local
97 for (i = IR_UNUSED + 1, insn = ctx->ir_base + i; i < ctx->insns_count;) { in ir_check()
98 if (insn->op >= IR_LAST_OP) { in ir_check()
99 fprintf(stderr, "ir_base[%d].op invalid opcode (%d)\n", i, insn->op); in ir_check()
103 flags = ir_op_flags[insn->op]; in ir_check()
104 n = ir_input_edges_count(ctx, insn); in ir_check()
105 for (j = 1, p = insn->ops + 1; j <= n; j++, p++) { in ir_check()
130 && !(insn->op == IR_PHI && ctx->ir_base[insn->op1].op == IR_LOOP_BEGIN)) { in ir_check()
135 switch (insn->op) { in ir_check()
166 if (insn->type != use_insn->type) { in ir_check()
168 && (insn->op == IR_SHL in ir_check()
169 || insn->op == IR_SHR in ir_check()
170 || insn->op == IR_SAR in ir_check()
171 || insn->op == IR_ROL in ir_check()
172 || insn->op == IR_ROR) in ir_check()
173 && ir_type_size[use_insn->type] < ir_type_size[insn->type]) { in ir_check()
177 if (insn->op == IR_NOT && insn->type == IR_BOOL) { in ir_check()
181 … if (insn->type == IR_ADDR && (use_insn->type == IR_UINTPTR_T || use_insn->type == IR_INTPTR_T)) { in ir_check()
183 …} else if (use_insn->type == IR_ADDR && (insn->type == IR_UINTPTR_T || insn->type == IR_INTPTR_T))… in ir_check()
187 i, j, use, use_insn->type, insn->type); in ir_check()
195 && insn->op != IR_PHI in ir_check()
217 && !(insn->op == IR_LOOP_BEGIN)) { in ir_check()
220 } else if (insn->op == IR_PHI) { in ir_check()
221 ir_insn *merge_insn = &ctx->ir_base[insn->op1]; in ir_check()
239 } else if ((insn->op == IR_RETURN || insn->op == IR_UNREACHABLE) && j == 2) { in ir_check()
241 } else if (insn->op == IR_BEGIN && j == 1) { in ir_check()
244 && (insn->op != IR_SNAPSHOT || j == 1)) { in ir_check()
256 switch (insn->op) { in ir_check()
258 if (insn->inputs_count != ctx->ir_base[insn->op1].inputs_count + 1) { in ir_check()
260 i, insn->inputs_count, ctx->ir_base[insn->op1].inputs_count + 1); in ir_check()
266 type = ctx->ir_base[insn->op2].type; in ir_check()
276 if (ctx->ir_base[insn->op2].op != IR_VAR) { in ir_check()
278 i, ir_op_name[ctx->ir_base[insn->op2].op]); in ir_check()
283 if (ctx->ret_type != (insn->op2 ? ctx->ir_base[insn->op2].type : IR_VOID)) { in ir_check()
289 if (ctx->ret_type != insn->type) { in ir_check()
309 switch (insn->op) { in ir_check()
335 i, ir_op_name[insn->op], use_list->count); in ir_check()
349 if (insn->op == IR_CALL && count == 2) { in ir_check()
353 if ((insn->op == IR_LOOP_END || insn->op == IR_END) && count == 2) { in ir_check()
366 i, ir_op_name[insn->op], count); in ir_check()
375 insn += n; in ir_check()