mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
gh-142961: Fix constant folding len(tuple) in JIT (GH-142963)
This commit is contained in:
parent
049c2526bf
commit
786f464c74
8 changed files with 931 additions and 777 deletions
1543
Include/internal/pycore_uop_ids.h
generated
1543
Include/internal/pycore_uop_ids.h
generated
File diff suppressed because it is too large
Load diff
21
Include/internal/pycore_uop_metadata.h
generated
21
Include/internal/pycore_uop_metadata.h
generated
|
|
@ -335,6 +335,7 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = {
|
|||
[_POP_TWO_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG,
|
||||
[_POP_CALL_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG,
|
||||
[_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG,
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = 0,
|
||||
[_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG,
|
||||
[_LOAD_CONST_UNDER_INLINE] = 0,
|
||||
[_LOAD_CONST_UNDER_INLINE_BORROW] = 0,
|
||||
|
|
@ -3065,6 +3066,15 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = {
|
|||
{ 1, 3, _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 },
|
||||
},
|
||||
},
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = {
|
||||
.best = { 0, 1, 2, 3 },
|
||||
.entries = {
|
||||
{ 3, 0, _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 },
|
||||
{ 3, 1, _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 },
|
||||
{ 3, 2, _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 },
|
||||
{ 3, 3, _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 },
|
||||
},
|
||||
},
|
||||
[_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = {
|
||||
.best = { 3, 3, 3, 3 },
|
||||
.entries = {
|
||||
|
|
@ -3817,6 +3827,10 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = {
|
|||
[_POP_TWO_LOAD_CONST_INLINE_BORROW_r21] = _POP_TWO_LOAD_CONST_INLINE_BORROW,
|
||||
[_POP_CALL_LOAD_CONST_INLINE_BORROW_r21] = _POP_CALL_LOAD_CONST_INLINE_BORROW,
|
||||
[_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31] = _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW,
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW,
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW,
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW,
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW,
|
||||
[_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31] = _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW,
|
||||
[_LOAD_CONST_UNDER_INLINE_r02] = _LOAD_CONST_UNDER_INLINE,
|
||||
[_LOAD_CONST_UNDER_INLINE_r12] = _LOAD_CONST_UNDER_INLINE,
|
||||
|
|
@ -4762,6 +4776,11 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = {
|
|||
[_SET_IP_r33] = "_SET_IP_r33",
|
||||
[_SET_UPDATE] = "_SET_UPDATE",
|
||||
[_SET_UPDATE_r10] = "_SET_UPDATE_r10",
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW",
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03",
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13",
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23",
|
||||
[_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33",
|
||||
[_SPILL_OR_RELOAD] = "_SPILL_OR_RELOAD",
|
||||
[_SPILL_OR_RELOAD_r01] = "_SPILL_OR_RELOAD_r01",
|
||||
[_SPILL_OR_RELOAD_r02] = "_SPILL_OR_RELOAD_r02",
|
||||
|
|
@ -5479,6 +5498,8 @@ int _PyUop_num_popped(int opcode, int oparg)
|
|||
return 2;
|
||||
case _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW:
|
||||
return 3;
|
||||
case _SHUFFLE_3_LOAD_CONST_INLINE_BORROW:
|
||||
return 3;
|
||||
case _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW:
|
||||
return 4;
|
||||
case _LOAD_CONST_UNDER_INLINE:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue