1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00

Use new abilities or ir_save()

This commit is contained in:
Dmitry Stogov
2024-03-20 13:22:47 +03:00
parent eb513503c0
commit fa512dc4cb
2 changed files with 21 additions and 29 deletions

View File

@@ -76,10 +76,10 @@
#define ZEND_JIT_DEBUG_IR_SRC (1<<24)
#define ZEND_JIT_DEBUG_IR_FINAL (1<<25)
#define ZEND_JIT_DEBUG_IR_CFG (1<<26)
#define ZEND_JIT_DEBUG_IR_REGS (1<<27)
#define ZEND_JIT_DEBUG_IR_AFTER_SCCP (1<<26)
#define ZEND_JIT_DEBUG_IR_AFTER_CFG (1<<27)
#define ZEND_JIT_DEBUG_IR_AFTER_SCCP (1<<28)
#define ZEND_JIT_DEBUG_IR_AFTER_GCM (1<<28)
#define ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE (1<<29)
#define ZEND_JIT_DEBUG_IR_AFTER_REGS (1<<30)
#define ZEND_JIT_DEBUG_IR_CODEGEN (1U<<31)

View File

@@ -2737,7 +2737,7 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_SRC) {
if (name) fprintf(stderr, "%s: ; after folding\n", name);
ir_save(ctx, stderr);
ir_save(ctx, 0, stderr);
}
#if ZEND_DEBUG
@@ -2756,28 +2756,30 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_SCCP) {
if (name) fprintf(stderr, "%s: ; after SCCP\n", name);
ir_save(ctx, stderr);
ir_save(ctx, 0, stderr);
}
ir_build_cfg(ctx);
ir_build_dominators_tree(ctx);
ir_find_loops(ctx);
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_SCCP) {
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CFG) {
ir_dump_cfg(ctx, stderr);
}
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_CFG) {
if (name) fprintf(stderr, "%s: ; after CFG\n", name);
ir_save(ctx, IR_SAVE_CFG, stderr);
}
ir_gcm(ctx);
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_GCM) {
if (name) fprintf(stderr, "%s: ; after GCM\n", name);
ir_save(ctx, IR_SAVE_CFG|IR_SAVE_CFG_MAP, stderr);
}
ir_schedule(ctx);
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE) {
if (name) fprintf(stderr, "%s: ; after schedule\n", name);
ir_save(ctx, stderr);
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CFG) {
ir_dump_cfg(ctx, stderr);
}
ir_save(ctx, IR_SAVE_CFG, stderr);
}
ir_match(ctx);
@@ -2791,13 +2793,8 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_AFTER_REGS) {
if (name) fprintf(stderr, "%s: ; after register allocation\n", name);
ir_save(ctx, stderr);
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CFG) {
ir_dump_cfg(ctx, stderr);
}
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_REGS) {
ir_dump_live_ranges(ctx, stderr);
}
ir_save(ctx, IR_SAVE_CFG|IR_SAVE_RULES|IR_SAVE_REGS, stderr);
ir_dump_live_ranges(ctx, stderr);
}
ir_schedule_blocks(ctx);
@@ -2808,13 +2805,7 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
ir_dump_codegen(ctx, stderr);
} else {
if (name) fprintf(stderr, "%s: ; final\n", name);
ir_save(ctx, stderr);
}
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CFG) {
ir_dump_cfg(ctx, stderr);
}
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_REGS) {
ir_dump_live_ranges(ctx, stderr);
ir_save(ctx, IR_SAVE_CFG|IR_SAVE_RULES|IR_SAVE_REGS, stderr);
}
}
@@ -3322,9 +3313,10 @@ static void zend_jit_setup(void)
#endif
zend_long debug = JIT_G(debug);
if (!(debug & ZEND_JIT_DEBUG_ASM_STUBS)) {
JIT_G(debug) &= ~(ZEND_JIT_DEBUG_IR_SRC|ZEND_JIT_DEBUG_IR_FINAL|ZEND_JIT_DEBUG_IR_CFG|ZEND_JIT_DEBUG_IR_REGS|
JIT_G(debug) &= ~(ZEND_JIT_DEBUG_IR_SRC|ZEND_JIT_DEBUG_IR_FINAL|
ZEND_JIT_DEBUG_IR_CODEGEN|
ZEND_JIT_DEBUG_IR_AFTER_SCCP|ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE|ZEND_JIT_DEBUG_IR_AFTER_REGS);
ZEND_JIT_DEBUG_IR_AFTER_SCCP|ZEND_JIT_DEBUG_IR_AFTER_CFG|ZEND_JIT_DEBUG_IR_AFTER_GCM|
ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE|ZEND_JIT_DEBUG_IR_AFTER_REGS);
}
zend_jit_calc_trace_prologue_size();