mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge IR
IR commit: 0441281e95ce9736131eddc71ce666389dcccd4b
This commit is contained in:
@@ -401,9 +401,10 @@ static bool ir_split_partially_dead_node(ir_ctx *ctx, ir_ref ref, uint32_t b)
|
||||
for (i = 1; i < clones_count; i++) {
|
||||
clones[i].ref = clone = ir_emit(ctx, insn->optx, insn->op1, insn->op2, insn->op3);
|
||||
insn = &ctx->ir_base[ref];
|
||||
if (insn->op1 > 0) ir_use_list_add(ctx, insn->op1, clone);
|
||||
if (insn->op2 > 0) ir_use_list_add(ctx, insn->op2, clone);
|
||||
if (insn->op3 > 0) ir_use_list_add(ctx, insn->op3, clone);
|
||||
/* Depending on the flags in IR_OPS, these can be references or data. */
|
||||
if (insn->op1 > 0 && insn->inputs_count >= 1) ir_use_list_add(ctx, insn->op1, clone);
|
||||
if (insn->op2 > 0 && insn->inputs_count >= 2) ir_use_list_add(ctx, insn->op2, clone);
|
||||
if (insn->op3 > 0 && insn->inputs_count >= 3) ir_use_list_add(ctx, insn->op3, clone);
|
||||
}
|
||||
|
||||
/* Reconstruct IR: Update DEF->USE lists, CFG mapping and etc */
|
||||
|
||||
@@ -3067,7 +3067,7 @@ static void ir_iter_optimize_if(ir_ctx *ctx, ir_ref ref, ir_insn *insn, ir_bitqu
|
||||
|
||||
static void ir_iter_optimize_guard(ir_ctx *ctx, ir_ref ref, ir_insn *insn, ir_bitqueue *worklist)
|
||||
{
|
||||
bool swap;
|
||||
bool swap = 0;
|
||||
ir_ref condition = ir_iter_optimize_condition(ctx, insn->op1, insn->op2, &swap);
|
||||
|
||||
if (swap) {
|
||||
|
||||
Reference in New Issue
Block a user