From b329096cfbebb60e0f5c3ea0a300f650d2004200 Mon Sep 17 00:00:00 2001 From: Brandt Bucher Date: Tue, 29 Apr 2025 17:21:14 -0700 Subject: GH-125515: Mark code after "return" as unreachable in the cases generator (#133178) Mark code after "return" as unreachable --- Python/generated_cases.c.h | 3 --- Tools/cases_generator/generators_common.py | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index 7d3e6c7..88ab86a 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -7464,9 +7464,6 @@ PyObject *result = PyStackRef_AsPyObjectSteal(retval); LLTRACE_RESUME_FRAME(); return result; - stack_pointer += -1; - assert(WITHIN_STACK_BOUNDS()); - DISPATCH(); } TARGET(IS_OP) { diff --git a/Tools/cases_generator/generators_common.py b/Tools/cases_generator/generators_common.py index 9ba0767..9d87dc3 100644 --- a/Tools/cases_generator/generators_common.py +++ b/Tools/cases_generator/generators_common.py @@ -492,6 +492,11 @@ class Emitter: label_tkn = next(tkn_iter) self.goto_label(tkn, label_tkn, storage) reachable = False + elif tkn.kind == "RETURN": + self.emit(tkn) + semicolon = emit_to(self.out, tkn_iter, "SEMI") + self.emit(semicolon) + reachable = False elif tkn.kind == "IDENTIFIER": if tkn.text in self._replacers: if not self._replacers[tkn.text](tkn, tkn_iter, uop, storage, inst): -- cgit v0.12