aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/optimizer_cases.c.h
diff options
context:
space:
mode:
authorBrandt Bucher <brandtbucher@microsoft.com>2025-03-27 09:12:30 -0700
committerGitHub <noreply@github.com>2025-03-27 09:12:30 -0700
commit972a295fe34280aa3d16c573d6200025a1ce4ff0 (patch)
tree4870b178bc8ca7d2bd8b584f86632ac9d66ff977 /Python/optimizer_cases.c.h
parenta096a41b922ac90bfd7bf23852cf0a32a4f54faf (diff)
downloadcpython-972a295fe34280aa3d16c573d6200025a1ce4ff0.tar.gz
cpython-972a295fe34280aa3d16c573d6200025a1ce4ff0.zip
GH-130415: Remove redundant sym_matches_type calls in the JIT optimizer (GH-131778)
Diffstat (limited to 'Python/optimizer_cases.c.h')
-rw-r--r--Python/optimizer_cases.c.h37
1 files changed, 13 insertions, 24 deletions
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h
index 106e7e38b99..85fa8f4a2a7 100644
--- a/Python/optimizer_cases.c.h
+++ b/Python/optimizer_cases.c.h
@@ -271,9 +271,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyLong_Type) && sym_matches_type(right, &PyLong_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyLong_CheckExact(sym_get_const(ctx, left)));
assert(PyLong_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = _PyLong_Multiply((PyLongObject *)sym_get_const(ctx, left),
@@ -304,9 +302,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyLong_Type) && sym_matches_type(right, &PyLong_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyLong_CheckExact(sym_get_const(ctx, left)));
assert(PyLong_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = _PyLong_Add((PyLongObject *)sym_get_const(ctx, left),
@@ -337,9 +333,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyLong_Type) && sym_matches_type(right, &PyLong_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyLong_CheckExact(sym_get_const(ctx, left)));
assert(PyLong_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = _PyLong_Subtract((PyLongObject *)sym_get_const(ctx, left),
@@ -401,9 +395,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyFloat_Type) && sym_matches_type(right, &PyFloat_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyFloat_CheckExact(sym_get_const(ctx, left)));
assert(PyFloat_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = PyFloat_FromDouble(
@@ -435,9 +427,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyFloat_Type) && sym_matches_type(right, &PyFloat_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyFloat_CheckExact(sym_get_const(ctx, left)));
assert(PyFloat_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = PyFloat_FromDouble(
@@ -469,9 +459,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyFloat_Type) && sym_matches_type(right, &PyFloat_Type))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyFloat_CheckExact(sym_get_const(ctx, left)));
assert(PyFloat_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = PyFloat_FromDouble(
@@ -517,8 +505,9 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyUnicode_Type) && sym_matches_type(right, &PyUnicode_Type)) {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
+ assert(PyUnicode_CheckExact(sym_get_const(ctx, left)));
+ assert(PyUnicode_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = PyUnicode_Concat(sym_get_const(ctx, left), sym_get_const(ctx, right));
if (temp == NULL) {
goto error;
@@ -544,8 +533,9 @@
right = stack_pointer[-1];
left = stack_pointer[-2];
JitOptSymbol *res;
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right) &&
- sym_matches_type(left, &PyUnicode_Type) && sym_matches_type(right, &PyUnicode_Type)) {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
+ assert(PyUnicode_CheckExact(sym_get_const(ctx, left)));
+ assert(PyUnicode_CheckExact(sym_get_const(ctx, right)));
PyObject *temp = PyUnicode_Concat(sym_get_const(ctx, left), sym_get_const(ctx, right));
if (temp == NULL) {
goto error;
@@ -1275,8 +1265,7 @@
JitOptSymbol *res;
right = stack_pointer[-1];
left = stack_pointer[-2];
- if (sym_is_const(ctx, left) && sym_is_const(ctx, right))
- {
+ if (sym_is_const(ctx, left) && sym_is_const(ctx, right)) {
assert(PyLong_CheckExact(sym_get_const(ctx, left)));
assert(PyLong_CheckExact(sym_get_const(ctx, right)));
PyObject *tmp = PyObject_RichCompare(sym_get_const(ctx, left),