Skip to content

Commit 8a8a5c5

Browse files
committed
Add codegen info dump
1 parent 754d885 commit 8a8a5c5

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

ext/opcache/jit/zend_jit.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
#define ZEND_JIT_DEBUG_IR_AFTER_SCCP (1<<28)
8383
#define ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE (1<<29)
8484
#define ZEND_JIT_DEBUG_IR_AFTER_REGS (1<<30)
85+
#define ZEND_JIT_DEBUG_IR_CODEGEN (1U<<31)
8586

8687
#define ZEND_JIT_DEBUG_PERSISTENT 0x1f0 /* profile and debugger flags can't be changed at run-time */
8788

ext/opcache/jit/zend_jit_ir.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2736,9 +2736,14 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
27362736

27372737
ir_schedule_blocks(ctx);
27382738

2739-
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_FINAL) {
2740-
if (name) fprintf(stderr, "%s: ; final\n", name);
2741-
ir_save(ctx, stderr);
2739+
if (JIT_G(debug) & (ZEND_JIT_DEBUG_IR_FINAL|ZEND_JIT_DEBUG_IR_CODEGEN)) {
2740+
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CODEGEN) {
2741+
if (name) fprintf(stderr, "%s: ; codegen\n", name);
2742+
ir_dump_codegen(ctx, stderr);
2743+
} else {
2744+
if (name) fprintf(stderr, "%s: ; final\n", name);
2745+
ir_save(ctx, stderr);
2746+
}
27422747
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_CFG) {
27432748
ir_dump_cfg(ctx, stderr);
27442749
}
@@ -3241,6 +3246,7 @@ static int zend_jit_setup(void)
32413246
zend_long debug = JIT_G(debug);
32423247
if (!(debug & ZEND_JIT_DEBUG_ASM_STUBS)) {
32433248
JIT_G(debug) &= ~(ZEND_JIT_DEBUG_IR_SRC|ZEND_JIT_DEBUG_IR_FINAL|ZEND_JIT_DEBUG_IR_CFG|ZEND_JIT_DEBUG_IR_REGS|
3249+
ZEND_JIT_DEBUG_IR_CODEGEN|
32443250
ZEND_JIT_DEBUG_IR_AFTER_SCCP|ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE|ZEND_JIT_DEBUG_IR_AFTER_REGS);
32453251
}
32463252

@@ -15499,7 +15505,7 @@ static void *zend_jit_finish(zend_jit_ctx *jit)
1549915505

1550015506
if (JIT_G(debug) & (ZEND_JIT_DEBUG_ASM|ZEND_JIT_DEBUG_GDB|ZEND_JIT_DEBUG_PERF|ZEND_JIT_DEBUG_PERF_DUMP|
1550115507
ZEND_JIT_DEBUG_IR_SRC|ZEND_JIT_DEBUG_IR_AFTER_SCCP|ZEND_JIT_DEBUG_IR_AFTER_SCCP|
15502-
ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE|ZEND_JIT_DEBUG_IR_AFTER_REGS|ZEND_JIT_DEBUG_IR_FINAL)) {
15508+
ZEND_JIT_DEBUG_IR_AFTER_SCHEDULE|ZEND_JIT_DEBUG_IR_AFTER_REGS|ZEND_JIT_DEBUG_IR_FINAL|ZEND_JIT_DEBUG_IR_CODEGEN)) {
1550315509
if (jit->name) {
1550415510
str = zend_string_copy(jit->name);
1550515511
} else {

0 commit comments

Comments
 (0)