py: Enable a jump optimisation in the compiler.
diff --git a/py/compile.c b/py/compile.c
index a275613..08125b7 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -1434,12 +1434,19 @@
     c_if_cond(comp, pns->nodes[0], false, l_fail); // if condition
 
     compile_node(comp, pns->nodes[1]); // if block
-    //if (!(MP_PARSE_NODE_IS_NULL(pns->nodes[2]) && MP_PARSE_NODE_IS_NULL(pns->nodes[3]))) { // optimisation; doesn't align with CPython
-        // jump over elif/else blocks if they exist
-        if (!EMIT(last_emit_was_return_value)) { // simple optimisation to align with CPython
-            EMIT_ARG(jump, l_end);
-        }
-    //}
+
+    if (
+#if !MICROPY_EMIT_CPYTHON
+        // optimisation to not jump over non-existent elif/else blocks (this optimisation is not in CPython)
+        !(MP_PARSE_NODE_IS_NULL(pns->nodes[2]) && MP_PARSE_NODE_IS_NULL(pns->nodes[3])) &&
+#endif
+        // optimisation to not jump if last instruction was return
+        !EMIT(last_emit_was_return_value)
+        ) {
+        // jump over elif/else blocks
+        EMIT_ARG(jump, l_end);
+    }
+
     EMIT_ARG(label_assign, l_fail);
 
     if (!MP_PARSE_NODE_IS_NULL(pns->nodes[2])) {