/PHP-8.2/ext/opcache/jit/ir/ |
H A D | ir_save.c | 44 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 D | ir_check.c | 92 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 D | ir_sccp.c | 100 _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 D | ir_gcm.c | 17 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 D | ir_disasm.c | 249 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 D | ir_dump.c | 14 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 D | ir_x86.dasc | 59 #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 D | ir_aarch64.dasc | 350 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 D | ir.c | 117 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 D | ir_cfg.c | 84 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 D | ir_emit.c | 73 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 D | ir_ra.c | 48 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 D | ir_php.h | 17 #define IR_SNAPSHOT_HANDLER(ctx, ref, insn, addr) \ argument 18 zend_jit_snapshot_handler(ctx, ref, insn, addr)
|
H A D | ir_private.h | 848 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 D | ir.h | 644 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 D | zend_jit_ir.c | 459 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 …]
|