[Python-checkins] bpo-29469: Remove unnecessary peephole optimizer (GH-4863)

INADA Naoki webhook-mailer at python.org
Thu Dec 14 08:18:29 EST 2017


https://github.com/python/cpython/commit/eadad1b97f64619bfd246b9d3b60d25f456e0592
commit: eadad1b97f64619bfd246b9d3b60d25f456e0592
branch: master
author: INADA Naoki <methane at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2017-12-14T22:18:26+09:00
summary:

bpo-29469: Remove unnecessary peephole optimizer (GH-4863)

Conversions like `not a is b -> a is not b` are implemented
in AST optimizer in previous commit (7ea143a).
So this commit removes them from peephole optimizer.

files:
M Python/peephole.c

diff --git a/Python/peephole.c b/Python/peephole.c
index 3c5290fadc0..58171465633 100644
--- a/Python/peephole.c
+++ b/Python/peephole.c
@@ -345,21 +345,6 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
         in_consts = 0;
 
         switch (opcode) {
-                /* not a is b -->  a is not b
-                   not a in b -->  a not in b
-                   not a is not b -->  a is b
-                   not a not in b -->  a in b
-                */
-            case COMPARE_OP:
-                j = get_arg(codestr, i);
-                if (j < 6 || j > 9 ||
-                    nextop != UNARY_NOT ||
-                    !ISBASICBLOCK(blocks, op_start, i + 1))
-                    break;
-                codestr[i] = PACKOPARG(opcode, j^1);
-                fill_nops(codestr, i + 1, nexti + 1);
-                break;
-
                 /* Skip over LOAD_CONST trueconst
                    POP_JUMP_IF_FALSE xx.  This improves
                    "while 1" performance.  */



More information about the Python-checkins mailing list