mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-126835: Move optimization of constant sequence creation from codegen to CFG (#129426)
Codegen phase has an optimization that transforms ``` LOAD_CONST x LOAD_CONST y LOAD_CONXT z BUILD_LIST/BUILD_SET (3) ``` -> ``` BUILD_LIST/BUILD_SET (0) LOAD_CONST (x, y, z) LIST_EXTEND/SET_UPDATE 1 ``` This optimization has now been moved to CFG phase to make #128802 work. Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Yan Yanchii <yyanchiy@gmail.com>
This commit is contained in:
parent
d89a5f6a6e
commit
7d0521d5fc
3 changed files with 73 additions and 49 deletions
|
@ -892,7 +892,7 @@ dis_loop_test_quickened_code = """\
|
|||
%3d RESUME_CHECK 0
|
||||
|
||||
%3d BUILD_LIST 0
|
||||
LOAD_CONST_MORTAL 0 ((1, 2, 3))
|
||||
LOAD_CONST_MORTAL 1 ((1, 2, 3))
|
||||
LIST_EXTEND 1
|
||||
LOAD_SMALL_INT 3
|
||||
BINARY_OP 5 (*)
|
||||
|
@ -908,7 +908,7 @@ dis_loop_test_quickened_code = """\
|
|||
|
||||
%3d L2: END_FOR
|
||||
POP_ITER
|
||||
LOAD_CONST_IMMORTAL 1 (None)
|
||||
LOAD_CONST_IMMORTAL 0 (None)
|
||||
RETURN_VALUE
|
||||
""" % (loop_test.__code__.co_firstlineno,
|
||||
loop_test.__code__.co_firstlineno + 1,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue