From 648198c37f2b1ba4baef1f1a4c6fd14708f879d8 Mon Sep 17 00:00:00 2001 From: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Tue, 26 Sep 2023 16:17:32 +0100 Subject: [3.12] gh-109889: comment out assertion indicating a failed optimization of a redundant NOP (#109899) * [3.12] gh-109889: comment out assertion indicating a failed optimization of a redundant NOP * comment out the function to avoid warnings on it being unused --- Python/flowgraph.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Python/flowgraph.c b/Python/flowgraph.c index ccf078c..f860631 100644 --- a/Python/flowgraph.c +++ b/Python/flowgraph.c @@ -366,6 +366,7 @@ _PyCfgBuilder_Addop(cfg_builder *g, int opcode, int oparg, location loc) #ifndef NDEBUG static int remove_redundant_nops(basicblock *bb); +/* static bool no_redundant_nops(cfg_builder *g) { for (basicblock *b = g->g_entryblock; b != NULL; b = b->b_next) { @@ -375,6 +376,7 @@ no_redundant_nops(cfg_builder *g) { } return true; } +*/ static bool no_empty_basic_blocks(cfg_builder *g) { @@ -1595,7 +1597,11 @@ optimize_cfg(cfg_builder *g, PyObject *consts, PyObject *const_cache) remove_redundant_nops(b); } eliminate_empty_basic_blocks(g); - assert(no_redundant_nops(g)); + /* This assertion fails in an edge case (See gh-109889). + * Remove it for the release (it's just one more NOP in the + * bytecode for unlikely code). + */ + // assert(no_redundant_nops(g)); RETURN_IF_ERROR(remove_redundant_jumps(g)); return SUCCESS; } -- cgit v0.12