Home
last modified time | relevance | path

Searched refs:insn (Results 1 – 16 of 16) sorted by relevance

/PHP-8.2/ext/opcache/jit/ir/
H A Dir_save.c44 ir_insn *insn; in ir_save() local
49 for (i = IR_UNUSED + 1, insn = ctx->ir_base - i; i < ctx->consts_count; i++, insn--) { in ir_save()
51 if (insn->op == IR_FUNC) { in ir_save()
54 } else if (insn->op == IR_SYM) { in ir_save()
58 ir_print_const(ctx, insn, f, true); in ir_save()
61 ir_print_const(ctx, insn, f, true); in ir_save()
67 flags = ir_op_flags[insn->op]; in ir_save()
81 n = ir_operands_count(ctx, insn); in ir_save()
82 if ((insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) && n != 2) { in ir_save()
84 } else if ((insn->op == IR_CALL || insn->op == IR_TAILCALL) && n != 2) { in ir_save()
[all …]
H A Dir_check.c92 ir_insn *insn, *use_insn; in ir_check() local
135 switch (insn->op) { in ir_check()
177 if (insn->op == IR_NOT && insn->type == IR_BOOL) { in ir_check()
242 } else if ((insn->op == IR_RETURN || insn->op == IR_UNREACHABLE) && j == 2) { in ir_check()
259 switch (insn->op) { in ir_check()
261 if (insn->inputs_count != ctx->ir_base[insn->op1].inputs_count + 1) { in ir_check()
263 i, insn->inputs_count, ctx->ir_base[insn->op1].inputs_count + 1); in ir_check()
286 if (ctx->ret_type != (insn->op2 ? ctx->ir_base[insn->op2].type : IR_VOID)) { in ir_check()
312 switch (insn->op) { in ir_check()
356 if ((insn->op == IR_LOOP_END || insn->op == IR_END) && count == 2) { in ir_check()
[all …]
H A Dir_sccp.c100 _values[res].optx = IR_OPT(insn->type, insn->type); in ir_sccp_fold()
103 …} else if (_values[res].opt != IR_OPT(insn->type, insn->type) || _values[res].val.u64 != insn->val… in ir_sccp_fold()
354 ir_insn *insn; in ir_sccp_make_nop() local
371 ir_insn *insn; in ir_sccp_remove_insn() local
397 ir_insn *insn; in ir_sccp_replace_insn() local
491 …if (!IR_IS_CONST_REF(insn->op1) && insn->op1 != ctx->fold_insn.op2 && insn->op1 != ctx->fold_insn.… 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()
588 IR_ASSERT(insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN); in ir_sccp_remove_unfeasible_merge_inputs()
754 } else if (!ir_sccp_fold(ctx, _values, i, insn->opt, insn->op1, insn->op2, insn->op3)) { in ir_sccp()
762 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in ir_sccp()
[all …]
H A Dir_gcm.c17 ir_insn *insn; in ir_gcm_schedule_early() local
24 IR_ASSERT(insn->op != IR_PARAM && insn->op != IR_VAR); in ir_gcm_schedule_early()
25 IR_ASSERT(insn->op != IR_PHI && insn->op != IR_PI); in ir_gcm_schedule_early()
83 ir_insn *insn; in ir_gcm_schedule_late() local
94 IR_ASSERT(insn->op != IR_PARAM && insn->op != IR_VAR); in ir_gcm_schedule_late()
95 IR_ASSERT(insn->op != IR_PHI && insn->op != IR_PI); in ir_gcm_schedule_late()
138 if (insn->op == IR_IF || insn->op == IR_GUARD || insn->op == IR_GUARD_NOT) { in ir_gcm_schedule_late()
190 IR_ASSERT(insn->op != IR_PARAM && insn->op != IR_VAR); in ir_gcm_schedule_rest()
191 IR_ASSERT(insn->op != IR_PHI && insn->op != IR_PI); in ir_gcm_schedule_rest()
538 while (insn->op == IR_PHI || insn->op == IR_PARAM || insn->op == IR_VAR || insn->op == IR_PI) { in ir_schedule()
[all …]
H A Dir_disasm.c249 if (insn->id == X86_INS_MOV in ir_disasm_rodata_reference()
265 return insn->detail->x86.operands[i].mem.disp + insn->address + insn->size; in ir_disasm_rodata_reference()
336 cs_insn *insn; local
394 ir_hashtab_add(&labels, insn->op3, insn->op2);
437 insn = cs_malloc(cs);
494 p = insn->op_str;
497 if (insn->id == X86_INS_MOVQ && strcmp(insn->mnemonic, "movd") == 0) {
498 insn->mnemonic[3] = 'q';
511 p = insn[i].op_str;
617 cs_free(insn, 1);
[all …]
H A Dir_dump.c14 ir_insn *insn; in ir_dump() local
17 for (i = 1 - ctx->consts_count, insn = ctx->ir_base + i; i < IR_UNUSED; i++, insn++) { in ir_dump()
18 fprintf(f, "%05d %s %s(", i, ir_op_name[insn->op], ir_type_name[insn->type]); in ir_dump()
40 insn++; in ir_dump()
61 ir_insn *insn; in ir_dump_dot() local
95 i, i, ir_op_name[insn->op], ir_type_name[insn->type], ir_get_str(ctx, insn->op2)); in ir_dump_dot()
137 insn += n; in ir_dump_dot()
464 ir_insn *insn; in ir_dump_codegen() local
528 if ((insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) && n != 2) { in ir_dump_codegen()
632 insn += n; in ir_dump_codegen()
[all …]
H A Dir_x86.dasc59 #define IR_IS_FP_ZERO(insn) ((insn.type == IR_DOUBLE) ? (insn.val.u64 == 0) : (insn.val.u32…
1113 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1165 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1181 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1228 insn = &ctx->ir_base[insn->op3];
1257 insn = &ctx->ir_base[insn->op3];
1266 insn = &ctx->ir_base[insn->op2];
1445 insn->op1 = insn->op2;
1454 if (insn->op1 == insn->op2) {
1785 if (insn->op1 != insn->op2) {
[all …]
H A Dir_aarch64.dasc350 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
465 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
477 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
478 insn = &ctx->ir_base[insn->op2];
493 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
502 insn = &ctx->ir_base[insn->op3];
526 insn = &ctx->ir_base[insn->op3];
537 insn = &ctx->ir_base[insn->op2];
541 insn = &ctx->ir_base[insn->op2];
660 if (insn->op != IR_LOAD && (insn->op != IR_STORE || insn->op3 == addr_ref)) {
[all …]
H A Dir.c117 if (insn->op == IR_FUNC || insn->op == IR_SYM) { in ir_print_const()
133 IR_ASSERT(IR_IS_CONST_OP(insn->op) || insn->op == IR_FUNC_ADDR); in ir_print_const()
826 ir_insn *insn; in _ir_fold_cse() local
842 if (insn->opt == opt && insn->op1 == op1 && insn->op2 == op2 && insn->op3 == op3) { in _ir_fold_cse()
1139 insn += n;
1161 insn += n;
1214 insn += n; in ir_build_def_use_lists()
1735 if (insn->type == type && insn->op2 == addr) { in ir_find_aliasing_load()
1760 …} else if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN || insn->op == IR_CALL || insn->op ==… in ir_find_aliasing_load()
2326 } else if (insn->op == IR_START || insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in _ir_GUARD()
[all …]
H A Dir_cfg.c84 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in _ir_add_predecessors()
85 n = insn->inputs_count; in _ir_add_predecessors()
102 ir_insn *insn; in ir_build_cfg() local
142 ref = insn->op1; in ir_build_cfg()
194 if ((ir_op_flags[insn->op] & IR_OP_FLAG_CONTROL) && insn->op1 == ref) { in ir_build_cfg()
259 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in ir_build_cfg()
300 ref = insn->op1; in ir_build_cfg()
395 IR_ASSERT(insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN); in ir_remove_merge_input()
558 ref = insn->op1; in ir_remove_unreachable_blocks()
980 ir_insn *insn; in ir_schedule_blocks() local
[all …]
H A Dir_emit.c73 if (IR_IS_CONST_REF(insn->op2)) { in ir_call_proto()
147 ir_insn *insn; in ir_get_param_reg() local
166 insn = &ctx->ir_base[use]; in ir_get_param_reg()
167 if (insn->op == IR_PARAM) { in ir_get_param_reg()
222 n = insn->inputs_count; in ir_get_args_regs()
350 addr = IR_SNAPSHOT_HANDLER(ctx, insn->op1, &ctx->ir_base[insn->op1], addr); in ir_jmp_addr()
897 if (insn->op == IR_PHI) { in ir_emit_dessa_moves()
939 ir_insn *insn; in ir_match() local
961 insn->op3 = entries_count; in ir_match()
968 insn = &ctx->ir_base[ref]; in ir_match()
[all …]
H A Dir_ra.c48 ir_insn *insn; in ir_assign_virtual_registers_slow() local
62 insn += n; in ir_assign_virtual_registers_slow()
73 insn += n; in ir_assign_virtual_registers_slow()
87 ir_insn *insn; in ir_assign_virtual_registers() local
707 if (insn->op == IR_END || insn->op == IR_LOOP_END) { in ir_compute_live_ranges()
760 if (insn->op == IR_PARAM || insn->op == IR_RLOAD) { in ir_compute_live_ranges()
1320 if (insn->op == IR_END || insn->op == IR_LOOP_END) { in ir_compute_live_ranges()
1371 if (insn->op == IR_PARAM || insn->op == IR_RLOAD) { in ir_compute_live_ranges()
1681 insn->op1 = insn->op2; in ir_swap_operands()
1706 if (insn->op2 > 0 && ctx->vregs[insn->op2]) { in ir_swap_operands()
[all …]
H A Dir_php.h17 #define IR_SNAPSHOT_HANDLER(ctx, ref, insn, addr) \ argument
18 zend_jit_snapshot_handler(ctx, ref, insn, addr)
H A Dir_private.h848 IR_ALWAYS_INLINE ir_ref ir_operands_count(const ir_ctx *ctx, const ir_insn *insn) in ir_operands_count() argument
850 uint32_t flags = ir_op_flags[insn->op]; in ir_operands_count()
855 n = insn->inputs_count; in ir_operands_count()
860 IR_ALWAYS_INLINE ir_ref ir_input_edges_count(const ir_ctx *ctx, const ir_insn *insn) in ir_input_edges_count() argument
862 uint32_t flags = ir_op_flags[insn->op]; in ir_input_edges_count()
866 n = insn->inputs_count; in ir_input_edges_count()
876 IR_ALWAYS_INLINE uint32_t ir_insn_len(const ir_insn *insn) in ir_insn_len() argument
878 return ir_insn_inputs_to_len(insn->inputs_count); in ir_insn_len()
1232 bool ir_is_fastcall(const ir_ctx *ctx, const ir_insn *insn);
1233 bool ir_is_vararg(const ir_ctx *ctx, ir_insn *insn);
H A Dir.h644 void ir_print_const(const ir_ctx *ctx, const ir_insn *insn, FILE *f, bool quoted);
695 IR_ALWAYS_INLINE ir_ref ir_insn_op(const ir_insn *insn, int32_t n) in ir_insn_op() argument
697 const ir_ref *p = insn->ops + n; in ir_insn_op()
701 IR_ALWAYS_INLINE void ir_insn_set_op(ir_insn *insn, int32_t n, ir_ref val) in ir_insn_set_op() argument
703 ir_ref *p = insn->ops + n; in ir_insn_set_op()
/PHP-8.2/ext/opcache/jit/
H A Dzend_jit_ir.c459 ir_insn *insn; in jit_TLS() local
467 if (insn->op >= IR_START || insn->op == IR_CALL) { in jit_TLS()
502 ir_insn *insn; in jit_CONST_FUNC_PROTO() local
569 ir_insn *insn; in jit_STUB_FUNC_ADDR() local
579 insn->proto = 0; in jit_STUB_FUNC_ADDR()
865 ir_insn *insn; in jit_FP() local
873 if (insn->op >= IR_START || insn->op == IR_CALL) { in jit_FP()
3475 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in _zend_jit_fix_merges()
3615 while (insn->op >= IR_CALL && insn->op <= IR_TRAP) { in zend_jit_bb_start()
4222 ir_insn *insn; in zend_jit_deopt_rload() local
[all …]

Completed in 168 milliseconds