Skip to content

Commit 61b81f0

Browse files
committed
updated tests
1 parent 3894aa2 commit 61b81f0

29 files changed

+213
-161
lines changed

libasr

Submodule libasr updated 396 files

tests/reference/asr-expr_07-7742668.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"outfile": null,
77
"outfile_hash": null,
88
"stdout": "asr-expr_07-7742668.stdout",
9-
"stdout_hash": "0d3d169b0a1f448e4ad89216fee756394c1c6940c1ca69cfce55db7e",
9+
"stdout_hash": "e3b92590c8ed8ad023b08d698688be23b7ac8b33c35d5d8b8c1cf47f",
1010
"stderr": null,
1111
"stderr_hash": null,
1212
"returncode": 0

tests/reference/asr-expr_07-7742668.stdout

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -109,21 +109,9 @@
109109
(Print
110110
(StringFormat
111111
()
112-
[(Cast
113-
(LogicalConstant
114-
.true.
115-
(Logical 4)
116-
)
117-
LogicalToString
118-
(Allocatable
119-
(String 1 () DeferredLength DescriptorString)
120-
)
121-
(StringConstant
122-
"True"
123-
(Allocatable
124-
(String 1 () DeferredLength DescriptorString)
125-
)
126-
)
112+
[(StringConstant
113+
"True"
114+
(String 1 (IntegerConstant 4 (Integer 4) Decimal) ExpressionLength DescriptorString)
127115
)]
128116
FormatPythonFormat
129117
(Allocatable
@@ -184,21 +172,9 @@
184172
)
185173
(Assert
186174
(StringCompare
187-
(Cast
188-
(LogicalConstant
189-
.true.
190-
(Logical 4)
191-
)
192-
LogicalToString
193-
(Allocatable
194-
(String 1 () DeferredLength DescriptorString)
195-
)
196-
(StringConstant
197-
"True"
198-
(Allocatable
199-
(String 1 () DeferredLength DescriptorString)
200-
)
201-
)
175+
(StringConstant
176+
"True"
177+
(String 1 (IntegerConstant 4 (Integer 4) Decimal) ExpressionLength DescriptorString)
202178
)
203179
Eq
204180
(StringConstant

tests/reference/llvm-bool1-af4376b.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"outfile": null,
77
"outfile_hash": null,
88
"stdout": "llvm-bool1-af4376b.stdout",
9-
"stdout_hash": "4f5e9e47913b161e75dbb0d660944f50aaa93833807e5a8a27266421",
9+
"stdout_hash": "54c9741d96dda09561f0e1dcf888a87bafd62f48b55921b648873f06",
1010
"stderr": null,
1111
"stderr_hash": null,
1212
"returncode": 0

tests/reference/llvm-bool1-af4376b.stdout

Lines changed: 75 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -47,59 +47,87 @@ define void @__module___main___test_bool() {
4747
%9 = load i64, i64* %8, align 4
4848
%10 = trunc i64 %9 to i32
4949
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @1, i32 0, i32 0), i8* %7, i32 %10, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i32 0, i32 0), i32 1)
50+
%11 = icmp eq i8* %2, null
51+
br i1 %11, label %free_done, label %free_nonnull
52+
53+
free_nonnull: ; preds = %.entry
5054
call void @_lfortran_free(i8* %2)
51-
%11 = alloca i64, align 8
52-
%12 = alloca i1, align 1
53-
store i1 false, i1* %12, align 1
54-
%13 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.1, i32 0, i32 0), i64* %11, i32 0, i32 0, i1* %12)
55-
%14 = load i64, i64* %11, align 4
55+
br label %free_done
56+
57+
free_done: ; preds = %free_nonnull, %.entry
58+
%12 = alloca i64, align 8
59+
%13 = alloca i1, align 1
60+
store i1 false, i1* %13, align 1
61+
%14 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.1, i32 0, i32 0), i64* %12, i32 0, i32 0, i1* %13)
62+
%15 = load i64, i64* %12, align 4
5663
%stringFormat_desc1 = alloca %string_descriptor, align 8
57-
%15 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
58-
store i8* %13, i8** %15, align 8
59-
%16 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
60-
store i64 %14, i64* %16, align 4
61-
%17 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
62-
%18 = load i8*, i8** %17, align 8
63-
%19 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
64-
%20 = load i64, i64* %19, align 4
65-
%21 = trunc i64 %20 to i32
66-
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @3, i32 0, i32 0), i8* %18, i32 %21, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @2, i32 0, i32 0), i32 1)
67-
call void @_lfortran_free(i8* %13)
64+
%16 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
65+
store i8* %14, i8** %16, align 8
66+
%17 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
67+
store i64 %15, i64* %17, align 4
68+
%18 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
69+
%19 = load i8*, i8** %18, align 8
70+
%20 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
71+
%21 = load i64, i64* %20, align 4
72+
%22 = trunc i64 %21 to i32
73+
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @3, i32 0, i32 0), i8* %19, i32 %22, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @2, i32 0, i32 0), i32 1)
74+
%23 = icmp eq i8* %14, null
75+
br i1 %23, label %free_done3, label %free_nonnull2
76+
77+
free_nonnull2: ; preds = %free_done
78+
call void @_lfortran_free(i8* %14)
79+
br label %free_done3
80+
81+
free_done3: ; preds = %free_nonnull2, %free_done
6882
store i1 true, i1* %b, align 1
69-
%22 = alloca i64, align 8
70-
%23 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.2, i32 0, i32 0), i64* %22, i32 0, i32 0, i1* %b)
71-
%24 = load i64, i64* %22, align 4
72-
%stringFormat_desc2 = alloca %string_descriptor, align 8
73-
%25 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
74-
store i8* %23, i8** %25, align 8
75-
%26 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 1
76-
store i64 %24, i64* %26, align 4
77-
%27 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
78-
%28 = load i8*, i8** %27, align 8
79-
%29 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 1
80-
%30 = load i64, i64* %29, align 4
81-
%31 = trunc i64 %30 to i32
82-
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @5, i32 0, i32 0), i8* %28, i32 %31, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @4, i32 0, i32 0), i32 1)
83-
call void @_lfortran_free(i8* %23)
83+
%24 = alloca i64, align 8
84+
%25 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.2, i32 0, i32 0), i64* %24, i32 0, i32 0, i1* %b)
85+
%26 = load i64, i64* %24, align 4
86+
%stringFormat_desc4 = alloca %string_descriptor, align 8
87+
%27 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc4, i32 0, i32 0
88+
store i8* %25, i8** %27, align 8
89+
%28 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc4, i32 0, i32 1
90+
store i64 %26, i64* %28, align 4
91+
%29 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc4, i32 0, i32 0
92+
%30 = load i8*, i8** %29, align 8
93+
%31 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc4, i32 0, i32 1
94+
%32 = load i64, i64* %31, align 4
95+
%33 = trunc i64 %32 to i32
96+
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @5, i32 0, i32 0), i8* %30, i32 %33, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @4, i32 0, i32 0), i32 1)
97+
%34 = icmp eq i8* %25, null
98+
br i1 %34, label %free_done6, label %free_nonnull5
99+
100+
free_nonnull5: ; preds = %free_done3
101+
call void @_lfortran_free(i8* %25)
102+
br label %free_done6
103+
104+
free_done6: ; preds = %free_nonnull5, %free_done3
84105
store i1 false, i1* %b, align 1
85-
%32 = alloca i64, align 8
86-
%33 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.3, i32 0, i32 0), i64* %32, i32 0, i32 0, i1* %b)
87-
%34 = load i64, i64* %32, align 4
88-
%stringFormat_desc3 = alloca %string_descriptor, align 8
89-
%35 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
90-
store i8* %33, i8** %35, align 8
91-
%36 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 1
92-
store i64 %34, i64* %36, align 4
93-
%37 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
94-
%38 = load i8*, i8** %37, align 8
95-
%39 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 1
96-
%40 = load i64, i64* %39, align 4
97-
%41 = trunc i64 %40 to i32
98-
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @7, i32 0, i32 0), i8* %38, i32 %41, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @6, i32 0, i32 0), i32 1)
99-
call void @_lfortran_free(i8* %33)
106+
%35 = alloca i64, align 8
107+
%36 = call i8* (i8*, i64, i8*, i64*, i32, i32, ...) @_lcompilers_string_format_fortran(i8* null, i64 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @serialization_info.3, i32 0, i32 0), i64* %35, i32 0, i32 0, i1* %b)
108+
%37 = load i64, i64* %35, align 4
109+
%stringFormat_desc7 = alloca %string_descriptor, align 8
110+
%38 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc7, i32 0, i32 0
111+
store i8* %36, i8** %38, align 8
112+
%39 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc7, i32 0, i32 1
113+
store i64 %37, i64* %39, align 4
114+
%40 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc7, i32 0, i32 0
115+
%41 = load i8*, i8** %40, align 8
116+
%42 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc7, i32 0, i32 1
117+
%43 = load i64, i64* %42, align 4
118+
%44 = trunc i64 %43 to i32
119+
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @7, i32 0, i32 0), i8* %41, i32 %44, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @6, i32 0, i32 0), i32 1)
120+
%45 = icmp eq i8* %36, null
121+
br i1 %45, label %free_done9, label %free_nonnull8
122+
123+
free_nonnull8: ; preds = %free_done6
124+
call void @_lfortran_free(i8* %36)
125+
br label %free_done9
126+
127+
free_done9: ; preds = %free_nonnull8, %free_done6
100128
br label %return
101129

102-
return: ; preds = %.entry
130+
return: ; preds = %free_done9
103131
br label %FINALIZE_SYMTABLE_test_bool
104132

105133
FINALIZE_SYMTABLE_test_bool: ; preds = %return

tests/reference/llvm-expr_01-54467c1.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"outfile": null,
77
"outfile_hash": null,
88
"stdout": "llvm-expr_01-54467c1.stdout",
9-
"stdout_hash": "ebd056da5b17b5948f274361494023fbc8f6901f94b8cd4e9c9fda54",
9+
"stdout_hash": "fa2a6f649ea413a35ca8b1865c69fab904b935485b77c04a1829ba0a",
1010
"stderr": null,
1111
"stderr_hash": null,
1212
"returncode": 0

tests/reference/llvm-expr_01-54467c1.stdout

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,17 @@ define void @__module___main___main0() {
4040
%8 = load i64, i64* %7, align 4
4141
%9 = trunc i64 %8 to i32
4242
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @1, i32 0, i32 0), i8* %6, i32 %9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i32 0, i32 0), i32 1)
43+
%10 = icmp eq i8* %1, null
44+
br i1 %10, label %free_done, label %free_nonnull
45+
46+
free_nonnull: ; preds = %.entry
4347
call void @_lfortran_free(i8* %1)
48+
br label %free_done
49+
50+
free_done: ; preds = %free_nonnull, %.entry
4451
br label %return
4552

46-
return: ; preds = %.entry
53+
return: ; preds = %free_done
4754
br label %FINALIZE_SYMTABLE_main0
4855

4956
FINALIZE_SYMTABLE_main0: ; preds = %return

tests/reference/llvm-func_inline_01-2d4583a.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"outfile": null,
77
"outfile_hash": null,
88
"stdout": "llvm-func_inline_01-2d4583a.stdout",
9-
"stdout_hash": "46430e9433d6bf4ec78b924c4a58204916e658b2b3721c5baf9b8e35",
9+
"stdout_hash": "2d7a423d1cffd4a167a798b1c54f73aecddf141f3a4197ecd271fb63",
1010
"stderr": null,
1111
"stderr_hash": null,
1212
"returncode": 0

tests/reference/llvm-func_inline_01-2d4583a.stdout

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ FINALIZE_SYMTABLE___main__global_stmts: ; preds = %return
2222

2323
define i64 @__module___main___fib(i64* %n) {
2424
.entry:
25-
%call_arg_value1 = alloca i64, align 8
2625
%call_arg_value = alloca i64, align 8
2726
%_lpython_return_variable = alloca i64, align 8
2827
%0 = load i64, i64* %n, align 4
@@ -47,16 +46,16 @@ ifcont: ; preds = %else, %unreachable_
4746
%5 = call i64 @__module___main___fib(i64* %call_arg_value)
4847
%6 = load i64, i64* %n, align 4
4948
%7 = sub i64 %6, 2
50-
store i64 %7, i64* %call_arg_value1, align 4
51-
%8 = call i64 @__module___main___fib(i64* %call_arg_value1)
49+
store i64 %7, i64* %call_arg_value, align 4
50+
%8 = call i64 @__module___main___fib(i64* %call_arg_value)
5251
%9 = add i64 %5, %8
5352
store i64 %9, i64* %_lpython_return_variable, align 4
5453
br label %return
5554

56-
unreachable_after_return2: ; No predecessors!
55+
unreachable_after_return1: ; No predecessors!
5756
br label %return
5857

59-
return: ; preds = %unreachable_after_return2, %ifcont, %then
58+
return: ; preds = %unreachable_after_return1, %ifcont, %then
6059
br label %FINALIZE_SYMTABLE_fib
6160

6261
FINALIZE_SYMTABLE_fib: ; preds = %return
@@ -85,15 +84,22 @@ define void @__module___main____xx_lcompilers_changed_main_xx() {
8584
%9 = load i64, i64* %8, align 4
8685
%10 = trunc i64 %9 to i32
8786
call void @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @1, i32 0, i32 0), i8* %7, i32 %10, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i32 0, i32 0), i32 1)
87+
%11 = icmp eq i8* %2, null
88+
br i1 %11, label %free_done, label %free_nonnull
89+
90+
free_nonnull: ; preds = %.entry
8891
call void @_lfortran_free(i8* %2)
89-
%11 = load i64, i64* %ans, align 4
90-
%12 = icmp eq i64 %11, 102334155
91-
br i1 %12, label %then, label %else
92+
br label %free_done
9293

93-
then: ; preds = %.entry
94+
free_done: ; preds = %free_nonnull, %.entry
95+
%12 = load i64, i64* %ans, align 4
96+
%13 = icmp eq i64 %12, 102334155
97+
br i1 %13, label %then, label %else
98+
99+
then: ; preds = %free_done
94100
br label %ifcont
95101

96-
else: ; preds = %.entry
102+
else: ; preds = %free_done
97103
call void (i8*, ...) @_lcompilers_print_error(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @2, i32 0, i32 0))
98104
call void @exit(i32 1)
99105
br label %ifcont

tests/reference/llvm-print_04-443a8d8.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"outfile": null,
77
"outfile_hash": null,
88
"stdout": "llvm-print_04-443a8d8.stdout",
9-
"stdout_hash": "90d292a24e2d8532a4f06b5c03e04593f66b36025ea9668b3f931114",
9+
"stdout_hash": "3372748ce557c15d904ff98cfb2c5c6219c15d26e5a67b48c1c90ab1",
1010
"stderr": null,
1111
"stderr_hash": null,
1212
"returncode": 0

0 commit comments

Comments
 (0)