From d2ec7c72ced5a6adbcaf056ce8f64c4f1cb9ed73 Mon Sep 17 00:00:00 2001 From: Brandt Bucher Date: Tue, 29 Apr 2025 16:54:21 -0700 Subject: [PATCH] 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 48a446a0fe5486..8e25c095f33a82 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -7459,9 +7459,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 9ba0767cba35a0..9d87dc33f269fd 100644 --- a/Tools/cases_generator/generators_common.py +++ b/Tools/cases_generator/generators_common.py @@ -492,6 +492,11 @@ def emit_SimpleStmt( 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):