Skip to content

Commit 876e4c5

Browse files
committed
Update test cases
1 parent 5e2c059 commit 876e4c5

2 files changed

Lines changed: 98 additions & 79 deletions

File tree

mypyc/test-data/irbuild-vec-i64.test

Lines changed: 76 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -252,28 +252,33 @@ def f(n: i64) -> vec[i64]:
252252
def f(n):
253253
n :: i64
254254
r0 :: vec[i64]
255-
r1 :: object
256-
r2 :: ptr
257-
r3 :: i64
258-
r4, r5 :: ptr
259-
r6 :: bit
260-
r7 :: ptr
255+
r1 :: bit
256+
r2 :: object
257+
r3 :: ptr
258+
r4 :: i64
259+
r5, r6 :: ptr
260+
r7 :: bit
261+
r8 :: ptr
261262
L0:
262263
r0 = VecI64Api.alloc(n, n)
263-
r1 = r0.buf
264-
r2 = get_element_ptr r1 items :: VecI64BufObject
265-
r3 = n * 8
266-
r4 = r2 + r3
267-
r5 = r2
264+
r1 = n > 0 :: signed
265+
if r1 goto L1 else goto L5 :: bool
268266
L1:
269-
r6 = r5 < r4 :: unsigned
270-
if r6 goto L2 else goto L3 :: bool
267+
r2 = r0.buf
268+
r3 = get_element_ptr r2 items :: VecI64BufObject
269+
r4 = n * 8
270+
r5 = r3 + r4
271+
r6 = r3
271272
L2:
272-
set_mem r5, 3 :: i64*
273-
r7 = r5 + 8
274-
r5 = r7
275-
goto L1
273+
r7 = r6 < r5 :: unsigned
274+
if r7 goto L3 else goto L4 :: bool
276275
L3:
276+
set_mem r6, 3 :: i64*
277+
r8 = r6 + 8
278+
r6 = r8
279+
goto L2
280+
L4:
281+
L5:
277282
keep_alive r0
278283
return r0
279284

@@ -287,28 +292,33 @@ def f(n: i64, x: i64) -> vec[i64]:
287292
def f(n, x):
288293
n, x :: i64
289294
r0 :: vec[i64]
290-
r1 :: object
291-
r2 :: ptr
292-
r3 :: native_int
293-
r4, r5 :: ptr
294-
r6 :: bit
295-
r7 :: ptr
295+
r1 :: bit
296+
r2 :: object
297+
r3 :: ptr
298+
r4 :: native_int
299+
r5, r6 :: ptr
300+
r7 :: bit
301+
r8 :: ptr
296302
L0:
297303
r0 = VecI64Api.alloc(3, 3)
298-
r1 = r0.buf
299-
r2 = get_element_ptr r1 items :: VecI64BufObject
300-
r3 = 3 * 8
301-
r4 = r2 + r3
302-
r5 = r2
304+
r1 = 3 > 0 :: signed
305+
if r1 goto L1 else goto L5 :: bool
303306
L1:
304-
r6 = r5 < r4 :: unsigned
305-
if r6 goto L2 else goto L3 :: bool
307+
r2 = r0.buf
308+
r3 = get_element_ptr r2 items :: VecI64BufObject
309+
r4 = 3 * 8
310+
r5 = r3 + r4
311+
r6 = r3
306312
L2:
307-
set_mem r5, x :: i64*
308-
r7 = r5 + 8
309-
r5 = r7
310-
goto L1
313+
r7 = r6 < r5 :: unsigned
314+
if r7 goto L3 else goto L4 :: bool
311315
L3:
316+
set_mem r6, x :: i64*
317+
r8 = r6 + 8
318+
r6 = r8
319+
goto L2
320+
L4:
321+
L5:
312322
keep_alive r0
313323
return r0
314324

@@ -544,41 +554,46 @@ def contains(v, n):
544554
v :: vec[i64]
545555
n :: i64
546556
r0 :: native_int
547-
r1 :: object
548-
r2 :: ptr
549-
r3 :: native_int
550-
r4, r5 :: ptr
551-
r6 :: bit
552-
r7 :: i64
553-
r8 :: bit
554-
r9 :: ptr
555-
r10 :: bool
557+
r1 :: bit
558+
r2 :: object
559+
r3 :: ptr
560+
r4 :: native_int
561+
r5, r6 :: ptr
562+
r7 :: bit
563+
r8 :: i64
564+
r9 :: bit
565+
r10 :: ptr
566+
r11 :: bool
556567
L0:
557568
r0 = v.len
558-
r1 = v.buf
559-
r2 = get_element_ptr r1 items :: VecI64BufObject
560-
r3 = r0 * 8
561-
r4 = r2 + r3
562-
r5 = r2
569+
r1 = r0 > 0 :: signed
570+
if r1 goto L1 else goto L6 :: bool
563571
L1:
564-
r6 = r5 < r4 :: unsigned
565-
if r6 goto L2 else goto L4 :: bool
572+
r2 = v.buf
573+
r3 = get_element_ptr r2 items :: VecI64BufObject
574+
r4 = r0 * 8
575+
r5 = r3 + r4
576+
r6 = r3
566577
L2:
567-
r7 = load_mem r5 :: i64*
568-
r8 = r7 == n
569-
if r8 goto L5 else goto L3 :: bool
578+
r7 = r6 < r5 :: unsigned
579+
if r7 goto L3 else goto L5 :: bool
570580
L3:
571-
r9 = r5 + 8
572-
r5 = r9
573-
goto L1
581+
r8 = load_mem r6 :: i64*
582+
r9 = r8 == n
583+
if r9 goto L7 else goto L4 :: bool
574584
L4:
575-
keep_alive v
576-
r10 = 0
577-
goto L6
585+
r10 = r6 + 8
586+
r6 = r10
587+
goto L2
578588
L5:
579-
r10 = 1
589+
keep_alive v
580590
L6:
581-
return r10
591+
r11 = 0
592+
goto L8
593+
L7:
594+
r11 = 1
595+
L8:
596+
return r11
582597

583598
[case testVecI64GetItemWithInt_64bit]
584599
from librt.vecs import vec

mypyc/test-data/refcount.test

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,33 +1562,37 @@ def f(n):
15621562
r0, r1 :: object
15631563
r2, r3 :: ptr
15641564
r4 :: vec[str | None]
1565-
r5 :: object
1566-
r6 :: ptr
1567-
r7 :: i64
1568-
r8, r9 :: ptr
1569-
r10 :: bit
1570-
r11 :: ptr
1565+
r5 :: bit
1566+
r6 :: object
1567+
r7 :: ptr
1568+
r8 :: i64
1569+
r9, r10 :: ptr
1570+
r11 :: bit
1571+
r12 :: ptr
15711572
L0:
15721573
r0 = box(None, 1)
15731574
r1 = load_address PyUnicode_Type
15741575
r2 = r1
15751576
r3 = r2 | 1
15761577
r4 = VecTApi.alloc(n, n, r3)
1577-
r5 = r4.buf
1578-
r6 = get_element_ptr r5 items :: VecTBufObject
1579-
r7 = n * 8
1580-
r8 = r6 + r7
1581-
r9 = r6
1578+
r5 = n > 0 :: signed
1579+
if r5 goto L1 else goto L4 :: bool
15821580
L1:
1583-
r10 = r9 < r8 :: unsigned
1584-
if r10 goto L2 else goto L3 :: bool
1581+
r6 = r4.buf
1582+
r7 = get_element_ptr r6 items :: VecTBufObject
1583+
r8 = n * 8
1584+
r9 = r7 + r8
1585+
r10 = r7
15851586
L2:
1586-
inc_ref r0
1587-
set_mem r9, r0 :: union*
1588-
r11 = r9 + 8
1589-
r9 = r11
1590-
goto L1
1587+
r11 = r10 < r9 :: unsigned
1588+
if r11 goto L3 else goto L4 :: bool
15911589
L3:
1590+
inc_ref r0
1591+
set_mem r10, r0 :: union*
1592+
r12 = r10 + 8
1593+
r10 = r12
1594+
goto L2
1595+
L4:
15921596
return r4
15931597

15941598
[case testVecTForLoop_64bit]

0 commit comments

Comments
 (0)