]> granicus.if.org Git - php/commitdiff
Simplify bf/bt computation in pi placement
authorNikita Popov <nikic@php.net>
Sat, 19 Dec 2015 20:00:38 +0000 (21:00 +0100)
committerNikita Popov <nikic@php.net>
Sat, 19 Dec 2015 23:03:52 +0000 (00:03 +0100)
The meaning of the successors is well-defined, no need to check it.

ext/opcache/Optimizer/zend_ssa.c

index 3677b4b5084ecf929a9957bfedb376df928515f6..f1ca394bd4d12133420fd091d124453753534c93 100644 (file)
@@ -516,31 +516,13 @@ int zend_build_ssa(zend_arena **arena, const zend_op_array *op_array, uint32_t b
                 */
                switch (opline->opcode) {
                        case ZEND_JMPZ:
-                               if (ssa->cfg.blocks[ssa->cfg.blocks[j].successors[0]].start == OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes) {
-                                       bf = ssa->cfg.blocks[j].successors[0];
-                                       bt = ssa->cfg.blocks[j].successors[1];
-                               } else {
-                                       bt = ssa->cfg.blocks[j].successors[0];
-                                       bf = ssa->cfg.blocks[j].successors[1];
-                               }
+                       case ZEND_JMPZNZ:
+                               bf = ssa->cfg.blocks[j].successors[0];
+                               bt = ssa->cfg.blocks[j].successors[1];
                                break;
                        case ZEND_JMPNZ:
-                               if (ssa->cfg.blocks[ssa->cfg.blocks[j].successors[0]].start == OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes) {
-                                       bt = ssa->cfg.blocks[j].successors[0];
-                                       bf = ssa->cfg.blocks[j].successors[1];
-                               } else {
-                                       bf = ssa->cfg.blocks[j].successors[0];
-                                       bt = ssa->cfg.blocks[j].successors[1];
-                               }
-                               break;
-                   case ZEND_JMPZNZ:
-                               if (ssa->cfg.blocks[ssa->cfg.blocks[j].successors[0]].start == OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes) {
-                                       bf = ssa->cfg.blocks[j].successors[0];
-                                       bt = ssa->cfg.blocks[j].successors[1];
-                               } else {
-                                       bt = ssa->cfg.blocks[j].successors[0];
-                                       bf = ssa->cfg.blocks[j].successors[1];
-                               }
+                               bt = ssa->cfg.blocks[j].successors[0];
+                               bf = ssa->cfg.blocks[j].successors[1];
                                break;
                        default:
                                continue;