Lines Matching refs:use
71 static bool ir_check_domination(const ir_ctx *ctx, ir_ref def, ir_ref use) in ir_check_domination() argument
74 uint32_t b2 = ctx->cfg_map[use]; in ir_check_domination()
80 return def < use; in ir_check_domination()
91 ir_ref i, j, n, *p, use; in ir_check() local
106 use = *p; in ir_check()
107 if (use != IR_UNUSED) { in ir_check()
108 if (IR_IS_CONST_REF(use)) { in ir_check()
109 if (use >= ctx->consts_count) { in ir_check()
110 fprintf(stderr, "ir_base[%d].ops[%d] constant reference (%d) is out of range\n", i, j, use); in ir_check()
114 if (use >= ctx->insns_count) { in ir_check()
115 fprintf(stderr, "ir_base[%d].ops[%d] insn reference (%d) is out of range\n", i, j, use); in ir_check()
118 use_insn = &ctx->ir_base[use]; in ir_check()
124 fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) must be DATA\n", i, j, use); in ir_check()
129 && use >= i in ir_check()
131 fprintf(stderr, "ir_base[%d].ops[%d] invalid forward reference (%d)\n", i, j, use); in ir_check()
187 i, j, use, use_insn->type, insn->type); in ir_check()
196 && !ir_check_domination(ctx, use, i)) { in ir_check()
197 fprintf(stderr, "ir_base[%d].ops[%d] -> %d, %d doesn't dominate %d\n", i, j, use, use, i); in ir_check()
204 fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) must be BB_END\n", i, j, use); in ir_check()
209 fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) must not be BB_END\n", i, j, use); in ir_check()
216 && use >= i in ir_check()
218 fprintf(stderr, "ir_base[%d].ops[%d] invalid forward reference (%d)\n", i, j, use); in ir_check()
223 … fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) must be MERGE or LOOP_BEGIN\n", i, j, use); in ir_check()
230 fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) must be CONTROL\n", i, j, use); in ir_check()
235 fprintf(stderr, "ir_base[%d].ops[%d] reference (%d) of unsupported kind\n", i, j, use); in ir_check()
245 fprintf(stderr, "ir_base[%d].ops[%d] missing reference (%d)\n", i, j, use); in ir_check()
249 && use > 0 in ir_check()
250 && !ir_check_use_list(ctx, use, i)) { in ir_check()
251 fprintf(stderr, "ir_base[%d].ops[%d] is not in use list (%d)\n", i, j, use); in ir_check()
301 use = *p; in ir_check()
302 if (!ir_check_input_list(ctx, i, use)) { in ir_check()
303 fprintf(stderr, "ir_base[%d] is in use list of ir_base[%d]\n", use, i); in ir_check()
343 use = *p; in ir_check()
344 if (!(ir_op_flags[ctx->ir_base[use].op] & IR_OP_FLAG_CONTROL)) { in ir_check()