GH-115816: Make tier2 optimizer symbols testable, and add a few tests. (GH-115953)

This commit is contained in:
Mark Shannon 2024-02-27 10:51:26 +00:00 committed by GitHub
parent af5f9d682c
commit 10fbcd6c5d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 720 additions and 607 deletions

View file

@ -87,14 +87,14 @@ def emit_default(out: CWriter, uop: Uop) -> None:
if var.name != "unused" and not var.peek:
if var.is_array():
out.emit(f"for (int _i = {var.size}; --_i >= 0;) {{\n")
out.emit(f"{var.name}[_i] = sym_new_unknown(ctx);\n")
out.emit(f"{var.name}[_i] = _Py_uop_sym_new_unknown(ctx);\n")
out.emit(f"if ({var.name}[_i] == NULL) goto out_of_space;\n")
out.emit("}\n")
elif var.name == "null":
out.emit(f"{var.name} = sym_new_null(ctx);\n")
out.emit(f"{var.name} = _Py_uop_sym_new_null(ctx);\n")
out.emit(f"if ({var.name} == NULL) goto out_of_space;\n")
else:
out.emit(f"{var.name} = sym_new_unknown(ctx);\n")
out.emit(f"{var.name} = _Py_uop_sym_new_unknown(ctx);\n")
out.emit(f"if ({var.name} == NULL) goto out_of_space;\n")