@@ -822,36 +822,57 @@ L6:
822
822
a = r10
823
823
return 1
824
824
def test_var_can_not_fold():
825
- source :: tuple
826
- r0 :: native_int
827
- r1 :: tuple
828
- r2 :: native_int
829
- r3 :: bit
825
+ r0 :: dict
826
+ r1 :: str
827
+ r2 :: object
828
+ r3 :: tuple[int, int, int]
830
829
r4 :: object
831
- r5, x, r6 :: bool
832
- r7 :: object
833
- r8 :: native_int
830
+ r5 :: native_int
831
+ r6 :: bit
832
+ r7, r8, r9 :: int
833
+ r10, r11, r12 :: object
834
+ r13, r14 :: tuple
835
+ r15 :: native_int
836
+ r16 :: bit
837
+ r17 :: object
838
+ r18, x :: int
839
+ r19 :: bool
840
+ r20 :: object
841
+ r21 :: native_int
834
842
a :: tuple
835
843
L0:
836
- r0 = var_object_size source
837
- r1 = PyTuple_New(r0)
838
- r2 = 0
844
+ r0 = __main__.globals :: static
845
+ r1 = 'source_var'
846
+ r2 = CPyDict_GetItem(r0, r1)
847
+ r3 = unbox(tuple[int, int, int], r2)
848
+ r4 = box(tuple[int, int, int], r3)
849
+ r5 = PyObject_Size(r4)
850
+ r6 = r5 >= 0 :: signed
851
+ r7 = r3[0]
852
+ r8 = r3[1]
853
+ r9 = r3[2]
854
+ r10 = box(int, r7)
855
+ r11 = box(int, r8)
856
+ r12 = box(int, r9)
857
+ r13 = PyTuple_Pack(3, r10, r11, r12)
858
+ r14 = PyTuple_New(r5)
859
+ r15 = 0
839
860
L1:
840
- r3 = r2 < r0 :: signed
841
- if r3 goto L2 else goto L4 :: bool
861
+ r16 = r15 < r5 :: signed
862
+ if r16 goto L2 else goto L4 :: bool
842
863
L2:
843
- r4 = CPySequenceTuple_GetItemUnsafe(source, r2 )
844
- r5 = unbox(bool, r4 )
845
- x = r5
846
- r6 = f(x)
847
- r7 = box(bool, r6 )
848
- CPySequenceTuple_SetItemUnsafe(r1, r2, r7 )
864
+ r17 = CPySequenceTuple_GetItemUnsafe(r13, r15 )
865
+ r18 = unbox(int, r17 )
866
+ x = r18
867
+ r19 = f(x)
868
+ r20 = box(bool, r19 )
869
+ CPySequenceTuple_SetItemUnsafe(r14, r15, r20 )
849
870
L3:
850
- r8 = r2 + 1
851
- r2 = r8
871
+ r21 = r15 + 1
872
+ r15 = r21
852
873
goto L1
853
874
L4:
854
- a = r1
875
+ a = r14
855
876
return 1
856
877
857
878
[case testTupleBuiltFromVariableLengthTuple]
0 commit comments