Home
last modified time | relevance | path

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

/php-src/ext/opcache/jit/ir/
H A Dir_sccp.c847 if (insn->op1 == insn->op2) { in ir_promote_d2f()
848 insn->op2 = insn->op1 = ir_promote_d2f(ctx, insn->op1, ref); in ir_promote_d2f()
920 if (insn->op1 == insn->op2) { in ir_promote_f2d()
921 insn->op2 = insn->op1 = ir_promote_f2d(ctx, insn->op1, ref); in ir_promote_f2d()
1019 if (insn->op1 == insn->op2) { in ir_promote_i2i()
1467 insn->op1 = insn->op2; in ir_optimize_phi()
1468 insn->op2 = insn->op3; in ir_optimize_phi()
1470 insn->op1 = insn->op3; in ir_optimize_phi()
1550 insn->op1 = insn->op3; in ir_optimize_phi()
1553 insn->op1 = insn->op2; in ir_optimize_phi()
[all …]
H A Dir_check.c92 ir_insn *insn, *use_insn; in ir_check() local
130 && !(insn->op == IR_PHI && ctx->ir_base[insn->op1].op == IR_LOOP_BEGIN)) { in ir_check()
177 if (insn->op == IR_NOT && insn->type == IR_BOOL) { in ir_check()
239 } else if ((insn->op == IR_RETURN || insn->op == IR_UNREACHABLE) && j == 2) { 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()
283 if (ctx->ret_type != (insn->op2 ? ctx->ir_base[insn->op2].type : IR_VOID)) { in ir_check()
309 switch (insn->op) { in ir_check()
353 if ((insn->op == IR_LOOP_END || insn->op == IR_END) && count == 2) { in ir_check()
[all …]
H A Dir_gcm.c23 ir_insn *insn; in ir_gcm_schedule_early() local
29 IR_ASSERT(insn->op != IR_PARAM && insn->op != IR_VAR); in ir_gcm_schedule_early()
30 IR_ASSERT(insn->op != IR_PHI && insn->op != IR_PI); in ir_gcm_schedule_early()
94 if (insn->op == IR_IF || insn->op == IR_GUARD || insn->op == IR_GUARD_NOT) { in ir_gcm_select_best_block()
203 ir_insn *insn; in ir_split_partially_dead_node() local
400 clones[i].ref = clone = ir_emit(ctx, insn->optx, insn->op1, insn->op2, insn->op3); in ir_split_partially_dead_node()
402 if (insn->op1 > 0) ir_use_list_add(ctx, insn->op1, clone); in ir_split_partially_dead_node()
860 while (insn->op == IR_PHI || insn->op == IR_PARAM || insn->op == IR_VAR || insn->op == IR_PI) { in ir_schedule()
908 while (insn->op == IR_PARAM || insn->op == IR_VAR || insn->op == IR_PI) { in ir_schedule()
1117 } else if (insn->op == IR_SYM || insn->op == IR_STR) { in ir_schedule()
[all …]
H A Dir_disasm.c253 if (insn->id == X86_INS_MOV in ir_disasm_rodata_reference()
269 return insn->detail->x86.operands[i].mem.disp + insn->address + insn->size; in ir_disasm_rodata_reference()
340 cs_insn *insn; local
398 ir_hashtab_add(&labels, insn->op3, insn->op2);
441 insn = cs_malloc(cs);
498 p = insn->op_str;
501 if (insn->id == X86_INS_MOVQ && strcmp(insn->mnemonic, "movd") == 0) {
502 insn->mnemonic[3] = 'q';
515 p = insn[i].op_str;
645 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()
481 ir_insn *insn; in ir_dump_codegen() local
593 if ((insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) && n != 2) { in ir_dump_codegen()
697 insn += n; in ir_dump_codegen()
[all …]
H A Dir_x86.dasc61 #define IR_IS_FP_ZERO(insn) ((insn.type == IR_DOUBLE) ? (insn.val.u64 == 0) : (insn.val.u32…
1152 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1207 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1226 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
1310 insn = &ctx->ir_base[insn->op3];
1340 insn = &ctx->ir_base[insn->op3];
1532 SWAP_REFS(insn->op1, insn->op2);
1540 if (insn->op1 == insn->op2) {
1607 } else if (insn->op2 == ref && insn->op1 != insn->op2) {
1628 insn = &ctx->ir_base[insn->op2];
[all …]
H A Dir_aarch64.dasc357 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
475 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
490 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
491 insn = &ctx->ir_base[insn->op2];
509 if (IR_IS_CONST_REF(insn->op2) && insn->op1 != insn->op2) {
518 insn = &ctx->ir_base[insn->op3];
545 insn = &ctx->ir_base[insn->op3];
559 insn = &ctx->ir_base[insn->op2];
563 insn = &ctx->ir_base[insn->op2];
687 if (insn->op != IR_LOAD && (insn->op != IR_STORE || insn->op3 == addr_ref)) {
[all …]
H A Dir.c121 if (insn->op == IR_FUNC || insn->op == IR_SYM) {
850 if (insn->opt == opt && insn->op1 == op1 && insn->op2 == op2 && insn->op3 == op3) {
1151 insn += n;
1173 insn += n;
1226 insn += n;
1924 …} else if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN || insn->op == IR_CALL || insn->op ==…
2093 } else if (insn->op == IR_START || insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) {
2641 } else if (insn->op == IR_START || insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) {
2687 } else if (insn->op == IR_START || insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) {
2774 …} else if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN || insn->op == IR_CALL || insn->op ==…
[all …]
H A Dir_save.c92 ir_insn *insn; in ir_save() local
97 for (i = IR_UNUSED + 1, insn = ctx->ir_base - i; i < ctx->consts_count; i++, insn--) { in ir_save()
99 if (insn->op == IR_FUNC) { in ir_save()
102 } else if (insn->op == IR_SYM) { in ir_save()
106 ir_print_const(ctx, insn, f, true); in ir_save()
109 ir_print_const(ctx, insn, f, true); in ir_save()
115 flags = ir_op_flags[insn->op]; in ir_save()
203 n = ir_operands_count(ctx, insn); in ir_save()
204 if ((insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) && n != 2) { in ir_save()
206 } else if ((insn->op == IR_CALL || insn->op == IR_TAILCALL) && n != 2) { in ir_save()
[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()
764 if (insn->op == IR_PARAM || insn->op == IR_RLOAD) { in ir_compute_live_ranges()
1325 if (insn->op == IR_END || insn->op == IR_LOOP_END) { in ir_compute_live_ranges()
1380 if (insn->op == IR_PARAM || insn->op == IR_RLOAD) { in ir_compute_live_ranges()
1728 insn->op1 = insn->op2; in ir_swap_operands()
1753 if (insn->op2 > 0 && ctx->vregs[insn->op2]) { in ir_swap_operands()
[all …]
H A Dir_cfg.c46 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in _ir_add_predecessors()
47 n = insn->inputs_count; in _ir_add_predecessors()
64 ir_insn *insn; in ir_build_cfg() local
107 ref = insn->op1; in ir_build_cfg()
210 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in ir_build_cfg()
253 ref = insn->op1; in ir_build_cfg()
327 IR_ASSERT(insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN); in ir_remove_merge_input()
490 ref = insn->op1; in ir_remove_unreachable_blocks()
1678 ir_insn *insn; in ir_schedule_blocks_top_down() local
1729 if (insn->op == IR_IF_TRUE || insn->op == IR_IF_FALSE) { in ir_schedule_blocks_top_down()
[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()
921 if (insn->op == IR_PHI) { in ir_emit_dessa_moves()
966 ir_insn *insn; in ir_match() local
988 insn->op3 = entries_count; in ir_match()
995 insn = &ctx->ir_base[ref]; in ir_match()
[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.h953 IR_ALWAYS_INLINE ir_ref ir_operands_count(const ir_ctx *ctx, const ir_insn *insn) in ir_operands_count() argument
955 uint32_t flags = ir_op_flags[insn->op]; in ir_operands_count()
960 n = insn->inputs_count; in ir_operands_count()
965 IR_ALWAYS_INLINE ir_ref ir_input_edges_count(const ir_ctx *ctx, const ir_insn *insn) in ir_input_edges_count() argument
967 uint32_t flags = ir_op_flags[insn->op]; in ir_input_edges_count()
971 n = insn->inputs_count; in ir_input_edges_count()
981 IR_ALWAYS_INLINE uint32_t ir_insn_len(const ir_insn *insn) in ir_insn_len() argument
983 return ir_insn_inputs_to_len(insn->inputs_count); in ir_insn_len()
1373 bool ir_is_fastcall(const ir_ctx *ctx, const ir_insn *insn);
1374 bool ir_is_vararg(const ir_ctx *ctx, ir_insn *insn);
H A Dir.h672 void ir_print_const(const ir_ctx *ctx, const ir_insn *insn, FILE *f, bool quoted);
723 IR_ALWAYS_INLINE ir_ref ir_insn_op(const ir_insn *insn, int32_t n) in ir_insn_op() argument
725 const ir_ref *p = insn->ops + n; in ir_insn_op()
729 IR_ALWAYS_INLINE void ir_insn_set_op(ir_insn *insn, int32_t n, ir_ref val) in ir_insn_set_op() argument
731 ir_ref *p = insn->ops + n; in ir_insn_set_op()
/php-src/ext/opcache/jit/
H A Dzend_jit_ir.c468 ir_insn *insn; in jit_TLS() local
476 if (insn->op >= IR_START || insn->op == IR_CALL) { in jit_TLS()
511 ir_insn *insn; in jit_CONST_FUNC_PROTO() local
578 ir_insn *insn; in jit_STUB_FUNC_ADDR() local
588 insn->proto = 0; in jit_STUB_FUNC_ADDR()
874 ir_insn *insn; in jit_FP() local
882 if (insn->op >= IR_START || insn->op == IR_CALL) { in jit_FP()
3535 if (insn->op == IR_MERGE || insn->op == IR_LOOP_BEGIN) { in _zend_jit_fix_merges()
3675 while (insn->op >= IR_CALL && insn->op <= IR_TRAP) { in zend_jit_bb_start()
4282 ir_insn *insn; in zend_jit_deopt_rload() local
[all …]

Completed in 161 milliseconds