bpo-37269: Correctly optimise conditionals with constant booleans (GH-14071)

Fix a regression introduced by af8646c8054d0f4180a2013383039b6a472f9698 that was causing code of the form:

if True and False:
   do_something()

to be optimized incorrectly, eliminating the block.
diff --git a/Python/peephole.c b/Python/peephole.c
index 6f3e2ed..d7b1dfc 100644
--- a/Python/peephole.c
+++ b/Python/peephole.c
@@ -315,6 +315,11 @@
                     fill_nops(codestr, op_start, nexti + 1);
                     cumlc = 0;
                 } else if (is_true == 0) {
+                    if (i > 1 &&
+                        (_Py_OPCODE(codestr[i - 1]) == POP_JUMP_IF_TRUE ||
+                         _Py_OPCODE(codestr[i - 1]) == POP_JUMP_IF_FALSE)) {
+                        break;
+                    }
                     h = get_arg(codestr, nexti) / sizeof(_Py_CODEUNIT);
                     tgt = find_op(codestr, codelen, h);
                     fill_nops(codestr, op_start, tgt);