Skip to content

Commit 5c45911

Browse files
committed
Update irbuild tests
1 parent 914757b commit 5c45911

File tree

3 files changed

+40
-105
lines changed

3 files changed

+40
-105
lines changed

mypyc/test-data/irbuild-dict.test

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,9 @@ def typeddict(d):
399399
r9, k :: str
400400
v :: object
401401
r10 :: str
402-
r11 :: i32
403-
r12 :: bit
404-
r13 :: object
405-
r14, r15, r16 :: bit
402+
r11 :: bool
406403
name :: object
407-
r17, r18 :: bit
404+
r12, r13 :: bit
408405
L0:
409406
r0 = 0
410407
r1 = PyDict_Size(d)
@@ -415,35 +412,25 @@ L1:
415412
r5 = r4[1]
416413
r0 = r5
417414
r6 = r4[0]
418-
if r6 goto L2 else goto L9 :: bool
415+
if r6 goto L2 else goto L6 :: bool
419416
L2:
420417
r7 = r4[2]
421418
r8 = r4[3]
422419
r9 = cast(str, r7)
423420
k = r9
424421
v = r8
425422
r10 = 'name'
426-
r11 = PyUnicode_Compare(k, r10)
427-
r12 = r11 == -1
428-
if r12 goto L3 else goto L5 :: bool
423+
r11 = CPyStr_Equal(k, r10)
424+
if r11 goto L3 else goto L4 :: bool
429425
L3:
430-
r13 = PyErr_Occurred()
431-
r14 = r13 != 0
432-
if r14 goto L4 else goto L5 :: bool
426+
name = v
433427
L4:
434-
r15 = CPy_KeepPropagating()
435428
L5:
436-
r16 = r11 == 0
437-
if r16 goto L6 else goto L7 :: bool
429+
r12 = CPyDict_CheckSize(d, r2)
430+
goto L1
438431
L6:
439-
name = v
432+
r13 = CPy_NoErrOccurred()
440433
L7:
441-
L8:
442-
r17 = CPyDict_CheckSize(d, r2)
443-
goto L1
444-
L9:
445-
r18 = CPy_NoErrOccurred()
446-
L10:
447434
return 1
448435

449436
[case testDictLoadAddress]

mypyc/test-data/irbuild-str.test

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -65,42 +65,18 @@ def neq(x: str, y: str) -> bool:
6565
[out]
6666
def eq(x, y):
6767
x, y :: str
68-
r0 :: i32
69-
r1 :: bit
70-
r2 :: object
71-
r3, r4, r5 :: bit
68+
r0 :: bool
7269
L0:
73-
r0 = PyUnicode_Compare(x, y)
74-
r1 = r0 == -1
75-
if r1 goto L1 else goto L3 :: bool
76-
L1:
77-
r2 = PyErr_Occurred()
78-
r3 = r2 != 0
79-
if r3 goto L2 else goto L3 :: bool
80-
L2:
81-
r4 = CPy_KeepPropagating()
82-
L3:
83-
r5 = r0 == 0
84-
return r5
70+
r0 = CPyStr_Equal(x, y)
71+
return r0
8572
def neq(x, y):
8673
x, y :: str
87-
r0 :: i32
74+
r0 :: bool
8875
r1 :: bit
89-
r2 :: object
90-
r3, r4, r5 :: bit
9176
L0:
92-
r0 = PyUnicode_Compare(x, y)
93-
r1 = r0 == -1
94-
if r1 goto L1 else goto L3 :: bool
95-
L1:
96-
r2 = PyErr_Occurred()
97-
r3 = r2 != 0
98-
if r3 goto L2 else goto L3 :: bool
99-
L2:
100-
r4 = CPy_KeepPropagating()
101-
L3:
102-
r5 = r0 != 0
103-
return r5
77+
r0 = CPyStr_Equal(x, y)
78+
r1 = r0 == 0
79+
return r1
10480

10581
[case testStrReplace]
10682
from typing import Optional

mypyc/test-data/irbuild-unreachable.test

Lines changed: 24 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,27 @@ def f():
1111
r1 :: str
1212
r2 :: object
1313
r3, r4 :: str
14-
r5 :: i32
15-
r6 :: bit
16-
r7 :: object
17-
r8, r9, r10 :: bit
18-
r11, r12 :: bool
19-
r13 :: object
20-
r14, y :: bool
14+
r5, r6, r7 :: bool
15+
r8 :: object
16+
r9, y :: bool
2117
L0:
2218
r0 = sys :: module
2319
r1 = 'platform'
2420
r2 = CPyObject_GetAttr(r0, r1)
2521
r3 = cast(str, r2)
2622
r4 = 'x'
27-
r5 = PyUnicode_Compare(r3, r4)
28-
r6 = r5 == -1
29-
if r6 goto L1 else goto L3 :: bool
23+
r5 = CPyStr_Equal(r3, r4)
24+
if r5 goto L2 else goto L1 :: bool
3025
L1:
31-
r7 = PyErr_Occurred()
32-
r8 = r7 != 0
33-
if r8 goto L2 else goto L3 :: bool
26+
r6 = r5
27+
goto L3
3428
L2:
35-
r9 = CPy_KeepPropagating()
29+
r7 = raise RuntimeError('mypyc internal error: should be unreachable')
30+
r8 = box(None, 1)
31+
r9 = unbox(bool, r8)
32+
r6 = r9
3633
L3:
37-
r10 = r5 == 0
38-
if r10 goto L5 else goto L4 :: bool
39-
L4:
40-
r11 = r10
41-
goto L6
42-
L5:
43-
r12 = raise RuntimeError('mypyc internal error: should be unreachable')
44-
r13 = box(None, 1)
45-
r14 = unbox(bool, r13)
46-
r11 = r14
47-
L6:
48-
y = r11
34+
y = r6
4935
return 1
5036

5137
[case testUnreachableNameExpr]
@@ -59,41 +45,27 @@ def f():
5945
r1 :: str
6046
r2 :: object
6147
r3, r4 :: str
62-
r5 :: i32
63-
r6 :: bit
64-
r7 :: object
65-
r8, r9, r10 :: bit
66-
r11, r12 :: bool
67-
r13 :: object
68-
r14, y :: bool
48+
r5, r6, r7 :: bool
49+
r8 :: object
50+
r9, y :: bool
6951
L0:
7052
r0 = sys :: module
7153
r1 = 'platform'
7254
r2 = CPyObject_GetAttr(r0, r1)
7355
r3 = cast(str, r2)
7456
r4 = 'x'
75-
r5 = PyUnicode_Compare(r3, r4)
76-
r6 = r5 == -1
77-
if r6 goto L1 else goto L3 :: bool
57+
r5 = CPyStr_Equal(r3, r4)
58+
if r5 goto L2 else goto L1 :: bool
7859
L1:
79-
r7 = PyErr_Occurred()
80-
r8 = r7 != 0
81-
if r8 goto L2 else goto L3 :: bool
60+
r6 = r5
61+
goto L3
8262
L2:
83-
r9 = CPy_KeepPropagating()
63+
r7 = raise RuntimeError('mypyc internal error: should be unreachable')
64+
r8 = box(None, 1)
65+
r9 = unbox(bool, r8)
66+
r6 = r9
8467
L3:
85-
r10 = r5 == 0
86-
if r10 goto L5 else goto L4 :: bool
87-
L4:
88-
r11 = r10
89-
goto L6
90-
L5:
91-
r12 = raise RuntimeError('mypyc internal error: should be unreachable')
92-
r13 = box(None, 1)
93-
r14 = unbox(bool, r13)
94-
r11 = r14
95-
L6:
96-
y = r11
68+
y = r6
9769
return 1
9870

9971
[case testUnreachableStatementAfterReturn]

0 commit comments

Comments
 (0)