@@ -40,44 +40,56 @@ define void @__module___main___test_bool() {
4040 store i64 %2, i64* %5, align 4
4141 %6 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc, i32 0, i32 0
4242 %7 = load i8*, i8** %6, align 8
43- call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @1, i32 0, i32 0), i8* %7, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i32 0, i32 0))
44- %8 = alloca i1, align 1
45- store i1 false, i1* %8, align 1
46- %9 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %8)
47- %10 = call i64 @_lfortran_str_len(i8* %9)
48- %11 = call i8* @_lfortran_malloc(i64 16)
49- %stringFormat_desc1 = bitcast i8* %11 to %string_descriptor*
50- %12 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
51- store i8* %9, i8** %12, align 8
52- %13 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
53- store i64 %10, i64* %13, align 4
54- %14 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
55- %15 = load i8*, i8** %14, align 8
56- call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @3, i32 0, i32 0), i8* %15, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @2, i32 0, i32 0))
43+ %8 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc, i32 0, i32 1
44+ %9 = load i64, i64* %8, align 4
45+ %10 = trunc i64 %9 to i32
46+ 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)
47+ %11 = alloca i1, align 1
48+ store i1 false, i1* %11, align 1
49+ %12 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %11)
50+ %13 = call i64 @_lfortran_str_len(i8* %12)
51+ %14 = call i8* @_lfortran_malloc(i64 16)
52+ %stringFormat_desc1 = bitcast i8* %14 to %string_descriptor*
53+ %15 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
54+ store i8* %12, i8** %15, align 8
55+ %16 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
56+ store i64 %13, i64* %16, align 4
57+ %17 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 0
58+ %18 = load i8*, i8** %17, align 8
59+ %19 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc1, i32 0, i32 1
60+ %20 = load i64, i64* %19, align 4
61+ %21 = trunc i64 %20 to i32
62+ 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)
5763 store i1 true, i1* %b, align 1
58- %16 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %b)
59- %17 = call i64 @_lfortran_str_len(i8* %16)
60- %18 = call i8* @_lfortran_malloc(i64 16)
61- %stringFormat_desc2 = bitcast i8* %18 to %string_descriptor*
62- %19 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
63- store i8* %16, i8** %19, align 8
64- %20 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 1
65- store i64 %17, i64* %20, align 4
66- %21 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
67- %22 = load i8*, i8** %21, align 8
68- call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @5, i32 0, i32 0), i8* %22, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @4, i32 0, i32 0))
64+ %22 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %b)
65+ %23 = call i64 @_lfortran_str_len(i8* %22)
66+ %24 = call i8* @_lfortran_malloc(i64 16)
67+ %stringFormat_desc2 = bitcast i8* %24 to %string_descriptor*
68+ %25 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
69+ store i8* %22, i8** %25, align 8
70+ %26 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 1
71+ store i64 %23, i64* %26, align 4
72+ %27 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 0
73+ %28 = load i8*, i8** %27, align 8
74+ %29 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc2, i32 0, i32 1
75+ %30 = load i64, i64* %29, align 4
76+ %31 = trunc i64 %30 to i32
77+ 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)
6978 store i1 false, i1* %b, align 1
70- %23 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %b)
71- %24 = call i64 @_lfortran_str_len(i8* %23)
72- %25 = call i8* @_lfortran_malloc(i64 16)
73- %stringFormat_desc3 = bitcast i8* %25 to %string_descriptor*
74- %26 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
75- store i8* %23, i8** %26, align 8
76- %27 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 1
77- store i64 %24, i64* %27, align 4
78- %28 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
79- %29 = load i8*, i8** %28, align 8
80- call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @7, i32 0, i32 0), i8* %29, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @6, i32 0, i32 0))
79+ %32 = call i8* (i8*, i64, i8*, 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), i32 0, i32 0, i1* %b)
80+ %33 = call i64 @_lfortran_str_len(i8* %32)
81+ %34 = call i8* @_lfortran_malloc(i64 16)
82+ %stringFormat_desc3 = bitcast i8* %34 to %string_descriptor*
83+ %35 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
84+ store i8* %32, i8** %35, align 8
85+ %36 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 1
86+ store i64 %33, i64* %36, align 4
87+ %37 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 0
88+ %38 = load i8*, i8** %37, align 8
89+ %39 = getelementptr %string_descriptor, %string_descriptor* %stringFormat_desc3, i32 0, i32 1
90+ %40 = load i64, i64* %39, align 4
91+ %41 = trunc i64 %40 to i32
92+ 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)
8193 br label %return
8294
8395return: ; preds = %.entry
@@ -90,7 +102,7 @@ declare i64 @_lfortran_str_len(i8*)
90102
91103declare i8* @_lfortran_malloc(i64)
92104
93- declare void @_lfortran_printf(i8*, ... )
105+ declare void @_lfortran_printf(i8*, i8*, i32, i8*, i32 )
94106
95107define i32 @main(i32 %0, i8** %1) {
96108.entry:
0 commit comments