# Feature or enhancement ## Prerequisites - [x] Overhaul Symbol API and add tests: https://github.com/python/cpython/pull/116028 - [x] Re-enable optimizer by default: https://github.com/python/cpython/pull/116062 - [x] https://github.com/python/cpython/issues/116088 ## Optimizations to be added to the tier 2 optimizer for 3.13 - [x] https://github.com/python/cpython/issues/115685 - [x] Normal _TO_BOOL specializations and friends. - [x] TO_BOOL_ALWAYS_TRUE (only if it's worth it?) - [x] #115651 - [x] https://github.com/python/cpython/issues/115480 - #115478 - #115507 - #115550 - #115710 - [ ] https://github.com/python/cpython/issues/115506 - [ ] BINARY_OP https://github.com/python/cpython/issues/115758 - [x] TO_BOOL https://github.com/python/cpython/issues/115759 - [x] #115819 - [x] _GUARD_IS_TRUE_POP - [x] _GUARD_IS_FALSE_POP - [x] _GUARD_IS_NONE_POP - [x] _GUARD_IS_NOT_NONE_POP - [ ] All remaining type and value propagation. - [x] Extract type guards for `COMPARE_OP_INT/FLOAT/STR` - [ ] https://github.com/python/cpython/issues/115687 - [x] Split up into uops - [ ] Propagate bool value and constants too. - [ ] Any remaining guard elimination not handled above - [ ] https://github.com/python/cpython/pull/116562 - [x] Eliminate/combine redundant stack checks (`_CHECK_STACK_SPACE`) - [x] https://github.com/python/cpython/issues/115709 - [x] https://github.com/python/cpython/issues/116168 - [x] https://github.com/python/cpython/issues/116202 - [x] https://github.com/python/cpython/issues/116291 ## If we have time: - [x] https://github.com/python/cpython/issues/116381 - [ ] https://github.com/python/cpython/issues/116432 - [ ] Replace `CALL_TUPLE_1` for list and generator arguments - [ ] Only specialize `CALL` in tier for type. Generate optimal argument handling code in tier 2. <!-- gh-linked-prs --> ### Linked PRs * gh-116562 * gh-117997 * gh-118054 * gh-118088 <!-- /gh-linked-prs -->
Feature or enhancement
Prerequisites
Optimizations to be added to the tier 2 optimizer for 3.13
TO_BOOL#115685LOAD_ATTR_MODULEto a constant where the module is already a constant #115651BINARY_OP#115480Noneguards for constants #115819COMPARE_OP_INT/FLOAT/STR_CHECK_STACK_SPACE)frame.f_localsin a debugger or similar. #115709If we have time:
CONTAINS_OP#116381CALL_TUPLE_1for list and generator argumentsCALLin tier for type. Generate optimal argument handling code in tier 2.Linked PRs