Update tests

This commit is contained in:
Jeehoon Kang
2020-06-12 05:05:23 +09:00
parent c2380efbb0
commit a12db7949c
256 changed files with 49817 additions and 49542 deletions

View File

@@ -14,23 +14,23 @@ block b2:
br %b2:i0:u1, b3(), b5()
block b3:
%b3:i0:*i32 = getelementptr %l0:*[5 x i32] offset 0:i32
%b3:i0:i32* = getelementptr %l0:[5 x i32]* offset 0:i32
%b3:i1:i64 = typecast %b2:p0:i32 to i64
%b3:i2:i64 = mul %b3:i1:i64 4:i64
%b3:i3:*i32 = getelementptr %b3:i0:*i32 offset %b3:i2:i64
%b3:i4:unit = store %b2:p0:i32 %b3:i3:*i32
%b3:i3:i32* = getelementptr %b3:i0:i32* offset %b3:i2:i64
%b3:i4:unit = store %b2:p0:i32 %b3:i3:i32*
%b3:i5:i32 = add %b2:p0:i32 1:i32
j b2(%b3:i5:i32)
block b5:
%b5:i0:*i32 = getelementptr %l0:*[5 x i32] offset 0:i32
%b5:i1:i32 = call @sum:*[ret:i32 params:(i32, *i32)](5:i32, %b5:i0:*i32)
%b5:i0:i32* = getelementptr %l0:[5 x i32]* offset 0:i32
%b5:i1:i32 = call @sum:[ret:i32 params:(i32, i32*)]*(5:i32, %b5:i0:i32*)
%b5:i2:u1 = cmp eq %b5:i1:i32 10:i32
%b5:i3:i32 = typecast %b5:i2:u1 to i32
ret %b5:i3:i32
}
fun i32 @sum (i32, *i32) {
fun i32 @sum (i32, i32*) {
init:
bid: b0
allocations:
@@ -48,8 +48,8 @@ block b2:
block b3:
%b3:i0:i64 = typecast %b2:p1:i32 to i64
%b3:i1:i64 = mul %b3:i0:i64 4:i64
%b3:i2:*i32 = getelementptr %b0:p1:*i32 offset %b3:i1:i64
%b3:i3:i32 = load %b3:i2:*i32
%b3:i2:i32* = getelementptr %b0:p1:i32* offset %b3:i1:i64
%b3:i3:i32 = load %b3:i2:i32*
%b3:i4:i32 = add %b2:p0:i32 %b3:i3:i32
%b3:i5:i32 = add %b2:p1:i32 1:i32
j b2(%b3:i4:i32, %b3:i5:i32)

View File

@@ -1,5 +1,5 @@
fun unit @init (i32, i32, *[5 x i32]) {
fun unit @init (i32, i32, [5 x i32]*) {
init:
bid: b0
allocations:
@@ -27,13 +27,13 @@ block b7:
block b8:
%b8:i0:i64 = typecast %b2:p0:i32 to i64
%b8:i1:i64 = mul %b8:i0:i64 20:i64
%b8:i2:*[5 x i32] = getelementptr %b0:p2:*[5 x i32] offset %b8:i1:i64
%b8:i3:*i32 = getelementptr %b8:i2:*[5 x i32] offset 0:i32
%b8:i2:[5 x i32]* = getelementptr %b0:p2:[5 x i32]* offset %b8:i1:i64
%b8:i3:i32* = getelementptr %b8:i2:[5 x i32]* offset 0:i32
%b8:i4:i64 = typecast %b7:p0:i32 to i64
%b8:i5:i64 = mul %b8:i4:i64 4:i64
%b8:i6:*i32 = getelementptr %b8:i3:*i32 offset %b8:i5:i64
%b8:i6:i32* = getelementptr %b8:i3:i32* offset %b8:i5:i64
%b8:i7:i32 = mul %b2:p0:i32 %b7:p0:i32
%b8:i8:unit = store %b8:i7:i32 %b8:i6:*i32
%b8:i8:unit = store %b8:i7:i32 %b8:i6:i32*
%b8:i9:i32 = add %b7:p0:i32 1:i32
j b7(%b8:i9:i32)
@@ -49,17 +49,17 @@ init:
%l0:[4 x [5 x i32]]:a
block b0:
%b0:i0:*[5 x i32] = getelementptr %l0:*[4 x [5 x i32]] offset 0:i32
%b0:i1:unit = call @init:*[ret:unit params:(i32, i32, *[5 x i32])](4:i32, 5:i32, %b0:i0:*[5 x i32])
%b0:i2:*[5 x i32] = getelementptr %l0:*[4 x [5 x i32]] offset 0:i32
%b0:i0:[5 x i32]* = getelementptr %l0:[4 x [5 x i32]]* offset 0:i32
%b0:i1:unit = call @init:[ret:unit params:(i32, i32, [5 x i32]*)]*(4:i32, 5:i32, %b0:i0:[5 x i32]*)
%b0:i2:[5 x i32]* = getelementptr %l0:[4 x [5 x i32]]* offset 0:i32
%b0:i3:i64 = typecast 2:i32 to i64
%b0:i4:i64 = mul %b0:i3:i64 20:i64
%b0:i5:*[5 x i32] = getelementptr %b0:i2:*[5 x i32] offset %b0:i4:i64
%b0:i6:*i32 = getelementptr %b0:i5:*[5 x i32] offset 0:i32
%b0:i5:[5 x i32]* = getelementptr %b0:i2:[5 x i32]* offset %b0:i4:i64
%b0:i6:i32* = getelementptr %b0:i5:[5 x i32]* offset 0:i32
%b0:i7:i64 = typecast 3:i32 to i64
%b0:i8:i64 = mul %b0:i7:i64 4:i64
%b0:i9:*i32 = getelementptr %b0:i6:*i32 offset %b0:i8:i64
%b0:i10:i32 = load %b0:i9:*i32
%b0:i9:i32* = getelementptr %b0:i6:i32* offset %b0:i8:i64
%b0:i10:i32 = load %b0:i9:i32*
%b0:i11:u1 = cmp eq %b0:i10:i32 6:i32
%b0:i12:i32 = typecast %b0:i11:u1 to i32
ret %b0:i12:i32

View File

@@ -1,12 +1,12 @@
fun *i32 @foo (*i32) {
fun i32* @foo (i32*) {
init:
bid: b0
allocations:
block b0:
ret %b0:p0:*i32
ret %b0:p0:i32*
}
fun i32 @main () {
@@ -24,21 +24,21 @@ block b2:
br %b2:i0:u1, b3(), b5()
block b3:
%b3:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
%b3:i1:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b3:i0:*i32)
%b3:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
%b3:i1:i32* = call @foo:[ret:i32* params:(i32*)]*(%b3:i0:i32*)
%b3:i2:i64 = typecast %b2:p0:i32 to i64
%b3:i3:i64 = mul %b3:i2:i64 4:i64
%b3:i4:*i32 = getelementptr %b3:i1:*i32 offset %b3:i3:i64
%b3:i5:unit = store %b2:p0:i32 %b3:i4:*i32
%b3:i4:i32* = getelementptr %b3:i1:i32* offset %b3:i3:i64
%b3:i5:unit = store %b2:p0:i32 %b3:i4:i32*
%b3:i6:i32 = add %b2:p0:i32 1:i32
j b2(%b3:i6:i32)
block b5:
%b5:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
%b5:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
%b5:i1:i64 = typecast 5:i32 to i64
%b5:i2:i64 = mul %b5:i1:i64 4:i64
%b5:i3:*i32 = getelementptr %b5:i0:*i32 offset %b5:i2:i64
%b5:i4:i32 = load %b5:i3:*i32
%b5:i3:i32* = getelementptr %b5:i0:i32* offset %b5:i2:i64
%b5:i4:i32 = load %b5:i3:i32*
%b5:i5:u1 = cmp eq %b5:i4:i32 5:i32
%b5:i6:i32 = typecast %b5:i5:u1 to i32
ret %b5:i6:i32

View File

@@ -6,28 +6,28 @@ init:
%l0:[10 x i32]:a
block b0:
%b0:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
j b2(%b0:i0:*i32, 0:i32)
%b0:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
j b2(%b0:i0:i32*, 0:i32)
block b2:
%b2:p0:*i32:p
%b2:p0:i32*:p
%b2:p1:i32:i
%b2:i0:u1 = cmp lt %b2:p1:i32 10:i32
br %b2:i0:u1, b3(), b5()
block b3:
%b3:i0:i64 = mul 1:i64 4:i64
%b3:i1:*i32 = getelementptr %b2:p0:*i32 offset %b3:i0:i64
%b3:i2:unit = store %b2:p1:i32 %b2:p0:*i32
%b3:i1:i32* = getelementptr %b2:p0:i32* offset %b3:i0:i64
%b3:i2:unit = store %b2:p1:i32 %b2:p0:i32*
%b3:i3:i32 = add %b2:p1:i32 1:i32
j b2(%b3:i1:*i32, %b3:i3:i32)
j b2(%b3:i1:i32*, %b3:i3:i32)
block b5:
%b5:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
%b5:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
%b5:i1:i64 = typecast 5:i32 to i64
%b5:i2:i64 = mul %b5:i1:i64 4:i64
%b5:i3:*i32 = getelementptr %b5:i0:*i32 offset %b5:i2:i64
%b5:i4:i32 = load %b5:i3:*i32
%b5:i3:i32* = getelementptr %b5:i0:i32* offset %b5:i2:i64
%b5:i4:i32 = load %b5:i3:i32*
%b5:i5:u1 = cmp eq %b5:i4:i32 5:i32
%b5:i6:i32 = typecast %b5:i5:u1 to i32
ret %b5:i6:i32

View File

@@ -7,23 +7,23 @@ init:
%l0:[5 x i32]:a
block b0:
%b0:i0:*i32 = getelementptr %l0:*[5 x i32] offset 0:i32
%b0:i0:i32* = getelementptr %l0:[5 x i32]* offset 0:i32
%b0:i1:i64 = mul 0:i64 4:i64
%b0:i2:*i32 = getelementptr %b0:i0:*i32 offset %b0:i1:i64
%b0:i3:unit = store 1:i32 %b0:i2:*i32
%b0:i2:i32* = getelementptr %b0:i0:i32* offset %b0:i1:i64
%b0:i3:unit = store 1:i32 %b0:i2:i32*
%b0:i4:i64 = mul 1:i64 4:i64
%b0:i5:*i32 = getelementptr %b0:i0:*i32 offset %b0:i4:i64
%b0:i6:unit = store 2:i32 %b0:i5:*i32
%b0:i5:i32* = getelementptr %b0:i0:i32* offset %b0:i4:i64
%b0:i6:unit = store 2:i32 %b0:i5:i32*
%b0:i7:i64 = mul 2:i64 4:i64
%b0:i8:*i32 = getelementptr %b0:i0:*i32 offset %b0:i7:i64
%b0:i9:unit = store 3:i32 %b0:i8:*i32
%b0:i8:i32* = getelementptr %b0:i0:i32* offset %b0:i7:i64
%b0:i9:unit = store 3:i32 %b0:i8:i32*
%b0:i10:i64 = mul 3:i64 4:i64
%b0:i11:*i32 = getelementptr %b0:i0:*i32 offset %b0:i10:i64
%b0:i12:unit = store 4:i32 %b0:i11:*i32
%b0:i11:i32* = getelementptr %b0:i0:i32* offset %b0:i10:i64
%b0:i12:unit = store 4:i32 %b0:i11:i32*
%b0:i13:i64 = mul 4:i64 4:i64
%b0:i14:*i32 = getelementptr %b0:i0:*i32 offset %b0:i13:i64
%b0:i14:i32* = getelementptr %b0:i0:i32* offset %b0:i13:i64
%b0:i15:i32 = minus 5:i32
%b0:i16:unit = store %b0:i15:i32 %b0:i14:*i32
%b0:i16:unit = store %b0:i15:i32 %b0:i14:i32*
j b2(0:i32, 0:i32)
block b2:
@@ -33,17 +33,17 @@ block b2:
br %b2:i0:u1, b3(), b5()
block b3:
%b3:i0:*i32 = getelementptr %l0:*[5 x i32] offset 0:i32
%b3:i0:i32* = getelementptr %l0:[5 x i32]* offset 0:i32
%b3:i1:i64 = typecast %b2:p1:i32 to i64
%b3:i2:i64 = mul %b3:i1:i64 4:i64
%b3:i3:*i32 = getelementptr %b3:i0:*i32 offset %b3:i2:i64
%b3:i4:i32 = load %b3:i3:*i32
%b3:i3:i32* = getelementptr %b3:i0:i32* offset %b3:i2:i64
%b3:i4:i32 = load %b3:i3:i32*
%b3:i5:i32 = add %b2:p0:i32 %b3:i4:i32
%b3:i6:*i32 = getelementptr @g_a:*[5 x i32] offset 0:i32
%b3:i6:i32* = getelementptr @g_a:[5 x i32]* offset 0:i32
%b3:i7:i64 = typecast %b2:p1:i32 to i64
%b3:i8:i64 = mul %b3:i7:i64 4:i64
%b3:i9:*i32 = getelementptr %b3:i6:*i32 offset %b3:i8:i64
%b3:i10:i32 = load %b3:i9:*i32
%b3:i9:i32* = getelementptr %b3:i6:i32* offset %b3:i8:i64
%b3:i10:i32 = load %b3:i9:i32*
%b3:i11:i32 = add %b3:i5:i32 %b3:i10:i32
%b3:i12:i32 = add %b2:p1:i32 1:i32
j b2(%b3:i11:i32, %b3:i12:i32)

View File

@@ -45,11 +45,11 @@ init:
block b0:
%b0:i0:i32 = minus 1:i32
%b0:i1:u32 = typecast 1:i32 to u32
%b0:i2:i32 = call @int_greater_than:*[ret:i32 params:(i32, u32)](%b0:i0:i32, %b0:i1:u32)
%b0:i2:i32 = call @int_greater_than:[ret:i32 params:(i32, u32)]*(%b0:i0:i32, %b0:i1:u32)
%b0:i3:i32 = minus 1:i32
%b0:i4:i8 = typecast %b0:i3:i32 to i8
%b0:i5:u8 = typecast 1:i32 to u8
%b0:i6:i32 = call @char_greater_than:*[ret:i32 params:(i8, u8)](%b0:i4:i8, %b0:i5:u8)
%b0:i6:i32 = call @char_greater_than:[ret:i32 params:(i8, u8)]*(%b0:i4:i8, %b0:i5:u8)
%b0:i7:u1 = cmp eq %b0:i2:i32 1:i32
br %b0:i7:u1, b1(), b2()

View File

@@ -15506,12 +15506,12 @@ init:
block b0:
%b0:i0:i32 = call @func_0:*[ret:i32 params:()]()
%b0:i0:i32 = call @func_0:[ret:i32 params:()]*()
%b0:i1:u1 = cmp ne %b0:i0:i32 0:i32
br %b0:i1:u1, b295(), b296()
block b1:
%b1:i0:i32 = call @func_99:*[ret:i32 params:()]()
%b1:i0:i32 = call @func_99:[ret:i32 params:()]*()
%b1:i1:u1 = cmp ne %b1:i0:i32 0:i32
j b3(%b1:i1:u1)
@@ -15526,7 +15526,7 @@ block b3:
ret %b3:i2:i32
block b4:
%b4:i0:i32 = call @func_98:*[ret:i32 params:()]()
%b4:i0:i32 = call @func_98:[ret:i32 params:()]*()
%b4:i1:u1 = cmp ne %b4:i0:i32 0:i32
j b6(%b4:i1:u1)
@@ -15538,7 +15538,7 @@ block b6:
br %b6:p0:u1, b1(), b2()
block b7:
%b7:i0:i32 = call @func_97:*[ret:i32 params:()]()
%b7:i0:i32 = call @func_97:[ret:i32 params:()]*()
%b7:i1:u1 = cmp ne %b7:i0:i32 0:i32
j b9(%b7:i1:u1)
@@ -15550,7 +15550,7 @@ block b9:
br %b9:p0:u1, b4(), b5()
block b10:
%b10:i0:i32 = call @func_96:*[ret:i32 params:()]()
%b10:i0:i32 = call @func_96:[ret:i32 params:()]*()
%b10:i1:u1 = cmp ne %b10:i0:i32 0:i32
j b12(%b10:i1:u1)
@@ -15562,7 +15562,7 @@ block b12:
br %b12:p0:u1, b7(), b8()
block b13:
%b13:i0:i32 = call @func_95:*[ret:i32 params:()]()
%b13:i0:i32 = call @func_95:[ret:i32 params:()]*()
%b13:i1:u1 = cmp ne %b13:i0:i32 0:i32
j b15(%b13:i1:u1)
@@ -15574,7 +15574,7 @@ block b15:
br %b15:p0:u1, b10(), b11()
block b16:
%b16:i0:i32 = call @func_94:*[ret:i32 params:()]()
%b16:i0:i32 = call @func_94:[ret:i32 params:()]*()
%b16:i1:u1 = cmp ne %b16:i0:i32 0:i32
j b18(%b16:i1:u1)
@@ -15586,7 +15586,7 @@ block b18:
br %b18:p0:u1, b13(), b14()
block b19:
%b19:i0:i32 = call @func_93:*[ret:i32 params:()]()
%b19:i0:i32 = call @func_93:[ret:i32 params:()]*()
%b19:i1:u1 = cmp ne %b19:i0:i32 0:i32
j b21(%b19:i1:u1)
@@ -15598,7 +15598,7 @@ block b21:
br %b21:p0:u1, b16(), b17()
block b22:
%b22:i0:i32 = call @func_92:*[ret:i32 params:()]()
%b22:i0:i32 = call @func_92:[ret:i32 params:()]*()
%b22:i1:u1 = cmp ne %b22:i0:i32 0:i32
j b24(%b22:i1:u1)
@@ -15610,7 +15610,7 @@ block b24:
br %b24:p0:u1, b19(), b20()
block b25:
%b25:i0:i32 = call @func_91:*[ret:i32 params:()]()
%b25:i0:i32 = call @func_91:[ret:i32 params:()]*()
%b25:i1:u1 = cmp ne %b25:i0:i32 0:i32
j b27(%b25:i1:u1)
@@ -15622,7 +15622,7 @@ block b27:
br %b27:p0:u1, b22(), b23()
block b28:
%b28:i0:i32 = call @func_90:*[ret:i32 params:()]()
%b28:i0:i32 = call @func_90:[ret:i32 params:()]*()
%b28:i1:u1 = cmp ne %b28:i0:i32 0:i32
j b30(%b28:i1:u1)
@@ -15634,7 +15634,7 @@ block b30:
br %b30:p0:u1, b25(), b26()
block b31:
%b31:i0:i32 = call @func_89:*[ret:i32 params:()]()
%b31:i0:i32 = call @func_89:[ret:i32 params:()]*()
%b31:i1:u1 = cmp ne %b31:i0:i32 0:i32
j b33(%b31:i1:u1)
@@ -15646,7 +15646,7 @@ block b33:
br %b33:p0:u1, b28(), b29()
block b34:
%b34:i0:i32 = call @func_88:*[ret:i32 params:()]()
%b34:i0:i32 = call @func_88:[ret:i32 params:()]*()
%b34:i1:u1 = cmp ne %b34:i0:i32 0:i32
j b36(%b34:i1:u1)
@@ -15658,7 +15658,7 @@ block b36:
br %b36:p0:u1, b31(), b32()
block b37:
%b37:i0:i32 = call @func_87:*[ret:i32 params:()]()
%b37:i0:i32 = call @func_87:[ret:i32 params:()]*()
%b37:i1:u1 = cmp ne %b37:i0:i32 0:i32
j b39(%b37:i1:u1)
@@ -15670,7 +15670,7 @@ block b39:
br %b39:p0:u1, b34(), b35()
block b40:
%b40:i0:i32 = call @func_86:*[ret:i32 params:()]()
%b40:i0:i32 = call @func_86:[ret:i32 params:()]*()
%b40:i1:u1 = cmp ne %b40:i0:i32 0:i32
j b42(%b40:i1:u1)
@@ -15682,7 +15682,7 @@ block b42:
br %b42:p0:u1, b37(), b38()
block b43:
%b43:i0:i32 = call @func_85:*[ret:i32 params:()]()
%b43:i0:i32 = call @func_85:[ret:i32 params:()]*()
%b43:i1:u1 = cmp ne %b43:i0:i32 0:i32
j b45(%b43:i1:u1)
@@ -15694,7 +15694,7 @@ block b45:
br %b45:p0:u1, b40(), b41()
block b46:
%b46:i0:i32 = call @func_84:*[ret:i32 params:()]()
%b46:i0:i32 = call @func_84:[ret:i32 params:()]*()
%b46:i1:u1 = cmp ne %b46:i0:i32 0:i32
j b48(%b46:i1:u1)
@@ -15706,7 +15706,7 @@ block b48:
br %b48:p0:u1, b43(), b44()
block b49:
%b49:i0:i32 = call @func_83:*[ret:i32 params:()]()
%b49:i0:i32 = call @func_83:[ret:i32 params:()]*()
%b49:i1:u1 = cmp ne %b49:i0:i32 0:i32
j b51(%b49:i1:u1)
@@ -15718,7 +15718,7 @@ block b51:
br %b51:p0:u1, b46(), b47()
block b52:
%b52:i0:i32 = call @func_82:*[ret:i32 params:()]()
%b52:i0:i32 = call @func_82:[ret:i32 params:()]*()
%b52:i1:u1 = cmp ne %b52:i0:i32 0:i32
j b54(%b52:i1:u1)
@@ -15730,7 +15730,7 @@ block b54:
br %b54:p0:u1, b49(), b50()
block b55:
%b55:i0:i32 = call @func_81:*[ret:i32 params:()]()
%b55:i0:i32 = call @func_81:[ret:i32 params:()]*()
%b55:i1:u1 = cmp ne %b55:i0:i32 0:i32
j b57(%b55:i1:u1)
@@ -15742,7 +15742,7 @@ block b57:
br %b57:p0:u1, b52(), b53()
block b58:
%b58:i0:i32 = call @func_80:*[ret:i32 params:()]()
%b58:i0:i32 = call @func_80:[ret:i32 params:()]*()
%b58:i1:u1 = cmp ne %b58:i0:i32 0:i32
j b60(%b58:i1:u1)
@@ -15754,7 +15754,7 @@ block b60:
br %b60:p0:u1, b55(), b56()
block b61:
%b61:i0:i32 = call @func_79:*[ret:i32 params:()]()
%b61:i0:i32 = call @func_79:[ret:i32 params:()]*()
%b61:i1:u1 = cmp ne %b61:i0:i32 0:i32
j b63(%b61:i1:u1)
@@ -15766,7 +15766,7 @@ block b63:
br %b63:p0:u1, b58(), b59()
block b64:
%b64:i0:i32 = call @func_78:*[ret:i32 params:()]()
%b64:i0:i32 = call @func_78:[ret:i32 params:()]*()
%b64:i1:u1 = cmp ne %b64:i0:i32 0:i32
j b66(%b64:i1:u1)
@@ -15778,7 +15778,7 @@ block b66:
br %b66:p0:u1, b61(), b62()
block b67:
%b67:i0:i32 = call @func_77:*[ret:i32 params:()]()
%b67:i0:i32 = call @func_77:[ret:i32 params:()]*()
%b67:i1:u1 = cmp ne %b67:i0:i32 0:i32
j b69(%b67:i1:u1)
@@ -15790,7 +15790,7 @@ block b69:
br %b69:p0:u1, b64(), b65()
block b70:
%b70:i0:i32 = call @func_76:*[ret:i32 params:()]()
%b70:i0:i32 = call @func_76:[ret:i32 params:()]*()
%b70:i1:u1 = cmp ne %b70:i0:i32 0:i32
j b72(%b70:i1:u1)
@@ -15802,7 +15802,7 @@ block b72:
br %b72:p0:u1, b67(), b68()
block b73:
%b73:i0:i32 = call @func_75:*[ret:i32 params:()]()
%b73:i0:i32 = call @func_75:[ret:i32 params:()]*()
%b73:i1:u1 = cmp ne %b73:i0:i32 0:i32
j b75(%b73:i1:u1)
@@ -15814,7 +15814,7 @@ block b75:
br %b75:p0:u1, b70(), b71()
block b76:
%b76:i0:i32 = call @func_74:*[ret:i32 params:()]()
%b76:i0:i32 = call @func_74:[ret:i32 params:()]*()
%b76:i1:u1 = cmp ne %b76:i0:i32 0:i32
j b78(%b76:i1:u1)
@@ -15826,7 +15826,7 @@ block b78:
br %b78:p0:u1, b73(), b74()
block b79:
%b79:i0:i32 = call @func_73:*[ret:i32 params:()]()
%b79:i0:i32 = call @func_73:[ret:i32 params:()]*()
%b79:i1:u1 = cmp ne %b79:i0:i32 0:i32
j b81(%b79:i1:u1)
@@ -15838,7 +15838,7 @@ block b81:
br %b81:p0:u1, b76(), b77()
block b82:
%b82:i0:i32 = call @func_72:*[ret:i32 params:()]()
%b82:i0:i32 = call @func_72:[ret:i32 params:()]*()
%b82:i1:u1 = cmp ne %b82:i0:i32 0:i32
j b84(%b82:i1:u1)
@@ -15850,7 +15850,7 @@ block b84:
br %b84:p0:u1, b79(), b80()
block b85:
%b85:i0:i32 = call @func_71:*[ret:i32 params:()]()
%b85:i0:i32 = call @func_71:[ret:i32 params:()]*()
%b85:i1:u1 = cmp ne %b85:i0:i32 0:i32
j b87(%b85:i1:u1)
@@ -15862,7 +15862,7 @@ block b87:
br %b87:p0:u1, b82(), b83()
block b88:
%b88:i0:i32 = call @func_70:*[ret:i32 params:()]()
%b88:i0:i32 = call @func_70:[ret:i32 params:()]*()
%b88:i1:u1 = cmp ne %b88:i0:i32 0:i32
j b90(%b88:i1:u1)
@@ -15874,7 +15874,7 @@ block b90:
br %b90:p0:u1, b85(), b86()
block b91:
%b91:i0:i32 = call @func_69:*[ret:i32 params:()]()
%b91:i0:i32 = call @func_69:[ret:i32 params:()]*()
%b91:i1:u1 = cmp ne %b91:i0:i32 0:i32
j b93(%b91:i1:u1)
@@ -15886,7 +15886,7 @@ block b93:
br %b93:p0:u1, b88(), b89()
block b94:
%b94:i0:i32 = call @func_68:*[ret:i32 params:()]()
%b94:i0:i32 = call @func_68:[ret:i32 params:()]*()
%b94:i1:u1 = cmp ne %b94:i0:i32 0:i32
j b96(%b94:i1:u1)
@@ -15898,7 +15898,7 @@ block b96:
br %b96:p0:u1, b91(), b92()
block b97:
%b97:i0:i32 = call @func_67:*[ret:i32 params:()]()
%b97:i0:i32 = call @func_67:[ret:i32 params:()]*()
%b97:i1:u1 = cmp ne %b97:i0:i32 0:i32
j b99(%b97:i1:u1)
@@ -15910,7 +15910,7 @@ block b99:
br %b99:p0:u1, b94(), b95()
block b100:
%b100:i0:i32 = call @func_66:*[ret:i32 params:()]()
%b100:i0:i32 = call @func_66:[ret:i32 params:()]*()
%b100:i1:u1 = cmp ne %b100:i0:i32 0:i32
j b102(%b100:i1:u1)
@@ -15922,7 +15922,7 @@ block b102:
br %b102:p0:u1, b97(), b98()
block b103:
%b103:i0:i32 = call @func_65:*[ret:i32 params:()]()
%b103:i0:i32 = call @func_65:[ret:i32 params:()]*()
%b103:i1:u1 = cmp ne %b103:i0:i32 0:i32
j b105(%b103:i1:u1)
@@ -15934,7 +15934,7 @@ block b105:
br %b105:p0:u1, b100(), b101()
block b106:
%b106:i0:i32 = call @func_64:*[ret:i32 params:()]()
%b106:i0:i32 = call @func_64:[ret:i32 params:()]*()
%b106:i1:u1 = cmp ne %b106:i0:i32 0:i32
j b108(%b106:i1:u1)
@@ -15946,7 +15946,7 @@ block b108:
br %b108:p0:u1, b103(), b104()
block b109:
%b109:i0:i32 = call @func_63:*[ret:i32 params:()]()
%b109:i0:i32 = call @func_63:[ret:i32 params:()]*()
%b109:i1:u1 = cmp ne %b109:i0:i32 0:i32
j b111(%b109:i1:u1)
@@ -15958,7 +15958,7 @@ block b111:
br %b111:p0:u1, b106(), b107()
block b112:
%b112:i0:i32 = call @func_62:*[ret:i32 params:()]()
%b112:i0:i32 = call @func_62:[ret:i32 params:()]*()
%b112:i1:u1 = cmp ne %b112:i0:i32 0:i32
j b114(%b112:i1:u1)
@@ -15970,7 +15970,7 @@ block b114:
br %b114:p0:u1, b109(), b110()
block b115:
%b115:i0:i32 = call @func_61:*[ret:i32 params:()]()
%b115:i0:i32 = call @func_61:[ret:i32 params:()]*()
%b115:i1:u1 = cmp ne %b115:i0:i32 0:i32
j b117(%b115:i1:u1)
@@ -15982,7 +15982,7 @@ block b117:
br %b117:p0:u1, b112(), b113()
block b118:
%b118:i0:i32 = call @func_60:*[ret:i32 params:()]()
%b118:i0:i32 = call @func_60:[ret:i32 params:()]*()
%b118:i1:u1 = cmp ne %b118:i0:i32 0:i32
j b120(%b118:i1:u1)
@@ -15994,7 +15994,7 @@ block b120:
br %b120:p0:u1, b115(), b116()
block b121:
%b121:i0:i32 = call @func_59:*[ret:i32 params:()]()
%b121:i0:i32 = call @func_59:[ret:i32 params:()]*()
%b121:i1:u1 = cmp ne %b121:i0:i32 0:i32
j b123(%b121:i1:u1)
@@ -16006,7 +16006,7 @@ block b123:
br %b123:p0:u1, b118(), b119()
block b124:
%b124:i0:i32 = call @func_58:*[ret:i32 params:()]()
%b124:i0:i32 = call @func_58:[ret:i32 params:()]*()
%b124:i1:u1 = cmp ne %b124:i0:i32 0:i32
j b126(%b124:i1:u1)
@@ -16018,7 +16018,7 @@ block b126:
br %b126:p0:u1, b121(), b122()
block b127:
%b127:i0:i32 = call @func_57:*[ret:i32 params:()]()
%b127:i0:i32 = call @func_57:[ret:i32 params:()]*()
%b127:i1:u1 = cmp ne %b127:i0:i32 0:i32
j b129(%b127:i1:u1)
@@ -16030,7 +16030,7 @@ block b129:
br %b129:p0:u1, b124(), b125()
block b130:
%b130:i0:i32 = call @func_56:*[ret:i32 params:()]()
%b130:i0:i32 = call @func_56:[ret:i32 params:()]*()
%b130:i1:u1 = cmp ne %b130:i0:i32 0:i32
j b132(%b130:i1:u1)
@@ -16042,7 +16042,7 @@ block b132:
br %b132:p0:u1, b127(), b128()
block b133:
%b133:i0:i32 = call @func_55:*[ret:i32 params:()]()
%b133:i0:i32 = call @func_55:[ret:i32 params:()]*()
%b133:i1:u1 = cmp ne %b133:i0:i32 0:i32
j b135(%b133:i1:u1)
@@ -16054,7 +16054,7 @@ block b135:
br %b135:p0:u1, b130(), b131()
block b136:
%b136:i0:i32 = call @func_54:*[ret:i32 params:()]()
%b136:i0:i32 = call @func_54:[ret:i32 params:()]*()
%b136:i1:u1 = cmp ne %b136:i0:i32 0:i32
j b138(%b136:i1:u1)
@@ -16066,7 +16066,7 @@ block b138:
br %b138:p0:u1, b133(), b134()
block b139:
%b139:i0:i32 = call @func_53:*[ret:i32 params:()]()
%b139:i0:i32 = call @func_53:[ret:i32 params:()]*()
%b139:i1:u1 = cmp ne %b139:i0:i32 0:i32
j b141(%b139:i1:u1)
@@ -16078,7 +16078,7 @@ block b141:
br %b141:p0:u1, b136(), b137()
block b142:
%b142:i0:i32 = call @func_52:*[ret:i32 params:()]()
%b142:i0:i32 = call @func_52:[ret:i32 params:()]*()
%b142:i1:u1 = cmp ne %b142:i0:i32 0:i32
j b144(%b142:i1:u1)
@@ -16090,7 +16090,7 @@ block b144:
br %b144:p0:u1, b139(), b140()
block b145:
%b145:i0:i32 = call @func_51:*[ret:i32 params:()]()
%b145:i0:i32 = call @func_51:[ret:i32 params:()]*()
%b145:i1:u1 = cmp ne %b145:i0:i32 0:i32
j b147(%b145:i1:u1)
@@ -16102,7 +16102,7 @@ block b147:
br %b147:p0:u1, b142(), b143()
block b148:
%b148:i0:i32 = call @func_50:*[ret:i32 params:()]()
%b148:i0:i32 = call @func_50:[ret:i32 params:()]*()
%b148:i1:u1 = cmp ne %b148:i0:i32 0:i32
j b150(%b148:i1:u1)
@@ -16114,7 +16114,7 @@ block b150:
br %b150:p0:u1, b145(), b146()
block b151:
%b151:i0:i32 = call @func_49:*[ret:i32 params:()]()
%b151:i0:i32 = call @func_49:[ret:i32 params:()]*()
%b151:i1:u1 = cmp ne %b151:i0:i32 0:i32
j b153(%b151:i1:u1)
@@ -16126,7 +16126,7 @@ block b153:
br %b153:p0:u1, b148(), b149()
block b154:
%b154:i0:i32 = call @func_48:*[ret:i32 params:()]()
%b154:i0:i32 = call @func_48:[ret:i32 params:()]*()
%b154:i1:u1 = cmp ne %b154:i0:i32 0:i32
j b156(%b154:i1:u1)
@@ -16138,7 +16138,7 @@ block b156:
br %b156:p0:u1, b151(), b152()
block b157:
%b157:i0:i32 = call @func_47:*[ret:i32 params:()]()
%b157:i0:i32 = call @func_47:[ret:i32 params:()]*()
%b157:i1:u1 = cmp ne %b157:i0:i32 0:i32
j b159(%b157:i1:u1)
@@ -16150,7 +16150,7 @@ block b159:
br %b159:p0:u1, b154(), b155()
block b160:
%b160:i0:i32 = call @func_46:*[ret:i32 params:()]()
%b160:i0:i32 = call @func_46:[ret:i32 params:()]*()
%b160:i1:u1 = cmp ne %b160:i0:i32 0:i32
j b162(%b160:i1:u1)
@@ -16162,7 +16162,7 @@ block b162:
br %b162:p0:u1, b157(), b158()
block b163:
%b163:i0:i32 = call @func_45:*[ret:i32 params:()]()
%b163:i0:i32 = call @func_45:[ret:i32 params:()]*()
%b163:i1:u1 = cmp ne %b163:i0:i32 0:i32
j b165(%b163:i1:u1)
@@ -16174,7 +16174,7 @@ block b165:
br %b165:p0:u1, b160(), b161()
block b166:
%b166:i0:i32 = call @func_44:*[ret:i32 params:()]()
%b166:i0:i32 = call @func_44:[ret:i32 params:()]*()
%b166:i1:u1 = cmp ne %b166:i0:i32 0:i32
j b168(%b166:i1:u1)
@@ -16186,7 +16186,7 @@ block b168:
br %b168:p0:u1, b163(), b164()
block b169:
%b169:i0:i32 = call @func_43:*[ret:i32 params:()]()
%b169:i0:i32 = call @func_43:[ret:i32 params:()]*()
%b169:i1:u1 = cmp ne %b169:i0:i32 0:i32
j b171(%b169:i1:u1)
@@ -16198,7 +16198,7 @@ block b171:
br %b171:p0:u1, b166(), b167()
block b172:
%b172:i0:i32 = call @func_42:*[ret:i32 params:()]()
%b172:i0:i32 = call @func_42:[ret:i32 params:()]*()
%b172:i1:u1 = cmp ne %b172:i0:i32 0:i32
j b174(%b172:i1:u1)
@@ -16210,7 +16210,7 @@ block b174:
br %b174:p0:u1, b169(), b170()
block b175:
%b175:i0:i32 = call @func_41:*[ret:i32 params:()]()
%b175:i0:i32 = call @func_41:[ret:i32 params:()]*()
%b175:i1:u1 = cmp ne %b175:i0:i32 0:i32
j b177(%b175:i1:u1)
@@ -16222,7 +16222,7 @@ block b177:
br %b177:p0:u1, b172(), b173()
block b178:
%b178:i0:i32 = call @func_40:*[ret:i32 params:()]()
%b178:i0:i32 = call @func_40:[ret:i32 params:()]*()
%b178:i1:u1 = cmp ne %b178:i0:i32 0:i32
j b180(%b178:i1:u1)
@@ -16234,7 +16234,7 @@ block b180:
br %b180:p0:u1, b175(), b176()
block b181:
%b181:i0:i32 = call @func_39:*[ret:i32 params:()]()
%b181:i0:i32 = call @func_39:[ret:i32 params:()]*()
%b181:i1:u1 = cmp ne %b181:i0:i32 0:i32
j b183(%b181:i1:u1)
@@ -16246,7 +16246,7 @@ block b183:
br %b183:p0:u1, b178(), b179()
block b184:
%b184:i0:i32 = call @func_38:*[ret:i32 params:()]()
%b184:i0:i32 = call @func_38:[ret:i32 params:()]*()
%b184:i1:u1 = cmp ne %b184:i0:i32 0:i32
j b186(%b184:i1:u1)
@@ -16258,7 +16258,7 @@ block b186:
br %b186:p0:u1, b181(), b182()
block b187:
%b187:i0:i32 = call @func_37:*[ret:i32 params:()]()
%b187:i0:i32 = call @func_37:[ret:i32 params:()]*()
%b187:i1:u1 = cmp ne %b187:i0:i32 0:i32
j b189(%b187:i1:u1)
@@ -16270,7 +16270,7 @@ block b189:
br %b189:p0:u1, b184(), b185()
block b190:
%b190:i0:i32 = call @func_36:*[ret:i32 params:()]()
%b190:i0:i32 = call @func_36:[ret:i32 params:()]*()
%b190:i1:u1 = cmp ne %b190:i0:i32 0:i32
j b192(%b190:i1:u1)
@@ -16282,7 +16282,7 @@ block b192:
br %b192:p0:u1, b187(), b188()
block b193:
%b193:i0:i32 = call @func_35:*[ret:i32 params:()]()
%b193:i0:i32 = call @func_35:[ret:i32 params:()]*()
%b193:i1:u1 = cmp ne %b193:i0:i32 0:i32
j b195(%b193:i1:u1)
@@ -16294,7 +16294,7 @@ block b195:
br %b195:p0:u1, b190(), b191()
block b196:
%b196:i0:i32 = call @func_34:*[ret:i32 params:()]()
%b196:i0:i32 = call @func_34:[ret:i32 params:()]*()
%b196:i1:u1 = cmp ne %b196:i0:i32 0:i32
j b198(%b196:i1:u1)
@@ -16306,7 +16306,7 @@ block b198:
br %b198:p0:u1, b193(), b194()
block b199:
%b199:i0:i32 = call @func_33:*[ret:i32 params:()]()
%b199:i0:i32 = call @func_33:[ret:i32 params:()]*()
%b199:i1:u1 = cmp ne %b199:i0:i32 0:i32
j b201(%b199:i1:u1)
@@ -16318,7 +16318,7 @@ block b201:
br %b201:p0:u1, b196(), b197()
block b202:
%b202:i0:i32 = call @func_32:*[ret:i32 params:()]()
%b202:i0:i32 = call @func_32:[ret:i32 params:()]*()
%b202:i1:u1 = cmp ne %b202:i0:i32 0:i32
j b204(%b202:i1:u1)
@@ -16330,7 +16330,7 @@ block b204:
br %b204:p0:u1, b199(), b200()
block b205:
%b205:i0:i32 = call @func_31:*[ret:i32 params:()]()
%b205:i0:i32 = call @func_31:[ret:i32 params:()]*()
%b205:i1:u1 = cmp ne %b205:i0:i32 0:i32
j b207(%b205:i1:u1)
@@ -16342,7 +16342,7 @@ block b207:
br %b207:p0:u1, b202(), b203()
block b208:
%b208:i0:i32 = call @func_30:*[ret:i32 params:()]()
%b208:i0:i32 = call @func_30:[ret:i32 params:()]*()
%b208:i1:u1 = cmp ne %b208:i0:i32 0:i32
j b210(%b208:i1:u1)
@@ -16354,7 +16354,7 @@ block b210:
br %b210:p0:u1, b205(), b206()
block b211:
%b211:i0:i32 = call @func_29:*[ret:i32 params:()]()
%b211:i0:i32 = call @func_29:[ret:i32 params:()]*()
%b211:i1:u1 = cmp ne %b211:i0:i32 0:i32
j b213(%b211:i1:u1)
@@ -16366,7 +16366,7 @@ block b213:
br %b213:p0:u1, b208(), b209()
block b214:
%b214:i0:i32 = call @func_28:*[ret:i32 params:()]()
%b214:i0:i32 = call @func_28:[ret:i32 params:()]*()
%b214:i1:u1 = cmp ne %b214:i0:i32 0:i32
j b216(%b214:i1:u1)
@@ -16378,7 +16378,7 @@ block b216:
br %b216:p0:u1, b211(), b212()
block b217:
%b217:i0:i32 = call @func_27:*[ret:i32 params:()]()
%b217:i0:i32 = call @func_27:[ret:i32 params:()]*()
%b217:i1:u1 = cmp ne %b217:i0:i32 0:i32
j b219(%b217:i1:u1)
@@ -16390,7 +16390,7 @@ block b219:
br %b219:p0:u1, b214(), b215()
block b220:
%b220:i0:i32 = call @func_26:*[ret:i32 params:()]()
%b220:i0:i32 = call @func_26:[ret:i32 params:()]*()
%b220:i1:u1 = cmp ne %b220:i0:i32 0:i32
j b222(%b220:i1:u1)
@@ -16402,7 +16402,7 @@ block b222:
br %b222:p0:u1, b217(), b218()
block b223:
%b223:i0:i32 = call @func_25:*[ret:i32 params:()]()
%b223:i0:i32 = call @func_25:[ret:i32 params:()]*()
%b223:i1:u1 = cmp ne %b223:i0:i32 0:i32
j b225(%b223:i1:u1)
@@ -16414,7 +16414,7 @@ block b225:
br %b225:p0:u1, b220(), b221()
block b226:
%b226:i0:i32 = call @func_24:*[ret:i32 params:()]()
%b226:i0:i32 = call @func_24:[ret:i32 params:()]*()
%b226:i1:u1 = cmp ne %b226:i0:i32 0:i32
j b228(%b226:i1:u1)
@@ -16426,7 +16426,7 @@ block b228:
br %b228:p0:u1, b223(), b224()
block b229:
%b229:i0:i32 = call @func_23:*[ret:i32 params:()]()
%b229:i0:i32 = call @func_23:[ret:i32 params:()]*()
%b229:i1:u1 = cmp ne %b229:i0:i32 0:i32
j b231(%b229:i1:u1)
@@ -16438,7 +16438,7 @@ block b231:
br %b231:p0:u1, b226(), b227()
block b232:
%b232:i0:i32 = call @func_22:*[ret:i32 params:()]()
%b232:i0:i32 = call @func_22:[ret:i32 params:()]*()
%b232:i1:u1 = cmp ne %b232:i0:i32 0:i32
j b234(%b232:i1:u1)
@@ -16450,7 +16450,7 @@ block b234:
br %b234:p0:u1, b229(), b230()
block b235:
%b235:i0:i32 = call @func_21:*[ret:i32 params:()]()
%b235:i0:i32 = call @func_21:[ret:i32 params:()]*()
%b235:i1:u1 = cmp ne %b235:i0:i32 0:i32
j b237(%b235:i1:u1)
@@ -16462,7 +16462,7 @@ block b237:
br %b237:p0:u1, b232(), b233()
block b238:
%b238:i0:i32 = call @func_20:*[ret:i32 params:()]()
%b238:i0:i32 = call @func_20:[ret:i32 params:()]*()
%b238:i1:u1 = cmp ne %b238:i0:i32 0:i32
j b240(%b238:i1:u1)
@@ -16474,7 +16474,7 @@ block b240:
br %b240:p0:u1, b235(), b236()
block b241:
%b241:i0:i32 = call @func_19:*[ret:i32 params:()]()
%b241:i0:i32 = call @func_19:[ret:i32 params:()]*()
%b241:i1:u1 = cmp ne %b241:i0:i32 0:i32
j b243(%b241:i1:u1)
@@ -16486,7 +16486,7 @@ block b243:
br %b243:p0:u1, b238(), b239()
block b244:
%b244:i0:i32 = call @func_18:*[ret:i32 params:()]()
%b244:i0:i32 = call @func_18:[ret:i32 params:()]*()
%b244:i1:u1 = cmp ne %b244:i0:i32 0:i32
j b246(%b244:i1:u1)
@@ -16498,7 +16498,7 @@ block b246:
br %b246:p0:u1, b241(), b242()
block b247:
%b247:i0:i32 = call @func_17:*[ret:i32 params:()]()
%b247:i0:i32 = call @func_17:[ret:i32 params:()]*()
%b247:i1:u1 = cmp ne %b247:i0:i32 0:i32
j b249(%b247:i1:u1)
@@ -16510,7 +16510,7 @@ block b249:
br %b249:p0:u1, b244(), b245()
block b250:
%b250:i0:i32 = call @func_16:*[ret:i32 params:()]()
%b250:i0:i32 = call @func_16:[ret:i32 params:()]*()
%b250:i1:u1 = cmp ne %b250:i0:i32 0:i32
j b252(%b250:i1:u1)
@@ -16522,7 +16522,7 @@ block b252:
br %b252:p0:u1, b247(), b248()
block b253:
%b253:i0:i32 = call @func_15:*[ret:i32 params:()]()
%b253:i0:i32 = call @func_15:[ret:i32 params:()]*()
%b253:i1:u1 = cmp ne %b253:i0:i32 0:i32
j b255(%b253:i1:u1)
@@ -16534,7 +16534,7 @@ block b255:
br %b255:p0:u1, b250(), b251()
block b256:
%b256:i0:i32 = call @func_14:*[ret:i32 params:()]()
%b256:i0:i32 = call @func_14:[ret:i32 params:()]*()
%b256:i1:u1 = cmp ne %b256:i0:i32 0:i32
j b258(%b256:i1:u1)
@@ -16546,7 +16546,7 @@ block b258:
br %b258:p0:u1, b253(), b254()
block b259:
%b259:i0:i32 = call @func_13:*[ret:i32 params:()]()
%b259:i0:i32 = call @func_13:[ret:i32 params:()]*()
%b259:i1:u1 = cmp ne %b259:i0:i32 0:i32
j b261(%b259:i1:u1)
@@ -16558,7 +16558,7 @@ block b261:
br %b261:p0:u1, b256(), b257()
block b262:
%b262:i0:i32 = call @func_12:*[ret:i32 params:()]()
%b262:i0:i32 = call @func_12:[ret:i32 params:()]*()
%b262:i1:u1 = cmp ne %b262:i0:i32 0:i32
j b264(%b262:i1:u1)
@@ -16570,7 +16570,7 @@ block b264:
br %b264:p0:u1, b259(), b260()
block b265:
%b265:i0:i32 = call @func_11:*[ret:i32 params:()]()
%b265:i0:i32 = call @func_11:[ret:i32 params:()]*()
%b265:i1:u1 = cmp ne %b265:i0:i32 0:i32
j b267(%b265:i1:u1)
@@ -16582,7 +16582,7 @@ block b267:
br %b267:p0:u1, b262(), b263()
block b268:
%b268:i0:i32 = call @func_10:*[ret:i32 params:()]()
%b268:i0:i32 = call @func_10:[ret:i32 params:()]*()
%b268:i1:u1 = cmp ne %b268:i0:i32 0:i32
j b270(%b268:i1:u1)
@@ -16594,7 +16594,7 @@ block b270:
br %b270:p0:u1, b265(), b266()
block b271:
%b271:i0:i32 = call @func_9:*[ret:i32 params:()]()
%b271:i0:i32 = call @func_9:[ret:i32 params:()]*()
%b271:i1:u1 = cmp ne %b271:i0:i32 0:i32
j b273(%b271:i1:u1)
@@ -16606,7 +16606,7 @@ block b273:
br %b273:p0:u1, b268(), b269()
block b274:
%b274:i0:i32 = call @func_8:*[ret:i32 params:()]()
%b274:i0:i32 = call @func_8:[ret:i32 params:()]*()
%b274:i1:u1 = cmp ne %b274:i0:i32 0:i32
j b276(%b274:i1:u1)
@@ -16618,7 +16618,7 @@ block b276:
br %b276:p0:u1, b271(), b272()
block b277:
%b277:i0:i32 = call @func_7:*[ret:i32 params:()]()
%b277:i0:i32 = call @func_7:[ret:i32 params:()]*()
%b277:i1:u1 = cmp ne %b277:i0:i32 0:i32
j b279(%b277:i1:u1)
@@ -16630,7 +16630,7 @@ block b279:
br %b279:p0:u1, b274(), b275()
block b280:
%b280:i0:i32 = call @func_6:*[ret:i32 params:()]()
%b280:i0:i32 = call @func_6:[ret:i32 params:()]*()
%b280:i1:u1 = cmp ne %b280:i0:i32 0:i32
j b282(%b280:i1:u1)
@@ -16642,7 +16642,7 @@ block b282:
br %b282:p0:u1, b277(), b278()
block b283:
%b283:i0:i32 = call @func_5:*[ret:i32 params:()]()
%b283:i0:i32 = call @func_5:[ret:i32 params:()]*()
%b283:i1:u1 = cmp ne %b283:i0:i32 0:i32
j b285(%b283:i1:u1)
@@ -16654,7 +16654,7 @@ block b285:
br %b285:p0:u1, b280(), b281()
block b286:
%b286:i0:i32 = call @func_4:*[ret:i32 params:()]()
%b286:i0:i32 = call @func_4:[ret:i32 params:()]*()
%b286:i1:u1 = cmp ne %b286:i0:i32 0:i32
j b288(%b286:i1:u1)
@@ -16666,7 +16666,7 @@ block b288:
br %b288:p0:u1, b283(), b284()
block b289:
%b289:i0:i32 = call @func_3:*[ret:i32 params:()]()
%b289:i0:i32 = call @func_3:[ret:i32 params:()]*()
%b289:i1:u1 = cmp ne %b289:i0:i32 0:i32
j b291(%b289:i1:u1)
@@ -16678,7 +16678,7 @@ block b291:
br %b291:p0:u1, b286(), b287()
block b292:
%b292:i0:i32 = call @func_2:*[ret:i32 params:()]()
%b292:i0:i32 = call @func_2:[ret:i32 params:()]*()
%b292:i1:u1 = cmp ne %b292:i0:i32 0:i32
j b294(%b292:i1:u1)
@@ -16690,7 +16690,7 @@ block b294:
br %b294:p0:u1, b289(), b290()
block b295:
%b295:i0:i32 = call @func_1:*[ret:i32 params:()]()
%b295:i0:i32 = call @func_1:[ret:i32 params:()]*()
%b295:i1:u1 = cmp ne %b295:i0:i32 0:i32
j b297(%b295:i1:u1)

View File

@@ -14,9 +14,9 @@ block b1:
block b2:
%b2:i0:i32 = sub %b0:p0:i32 2:i32
%b2:i1:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b2:i0:i32)
%b2:i1:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b2:i0:i32)
%b2:i2:i32 = sub %b0:p0:i32 1:i32
%b2:i3:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b2:i2:i32)
%b2:i3:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b2:i2:i32)
%b2:i4:i32 = add %b2:i1:i32 %b2:i3:i32
ret %b2:i4:i32
}
@@ -28,7 +28,7 @@ init:
block b0:
%b0:i0:i32 = call @fibonacci:*[ret:i32 params:(i32)](9:i32)
%b0:i0:i32 = call @fibonacci:[ret:i32 params:(i32)]*(9:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 34:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -38,7 +38,7 @@ init:
block b0:
%b0:i0:i32 = call @fibonacci:*[ret:i32 params:(i32)](9:i32)
%b0:i0:i32 = call @fibonacci:[ret:i32 params:(i32)]*(9:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 34:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -38,7 +38,7 @@ init:
block b0:
%b0:i0:i32 = call @fibonacci:*[ret:i32 params:(i32)](9:i32)
%b0:i0:i32 = call @fibonacci:[ret:i32 params:(i32)]*(9:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 34:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -35,7 +35,7 @@ init:
block b0:
%b0:i0:i32 = call @fibonacci:*[ret:i32 params:(i32)](9:i32)
%b0:i0:i32 = call @fibonacci:[ret:i32 params:(i32)]*(9:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 34:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -14,9 +14,9 @@ block b1:
block b2:
%b2:i0:i32 = sub %b0:p0:i32 2:i32
%b2:i1:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b2:i0:i32)
%b2:i1:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b2:i0:i32)
%b2:i2:i32 = sub %b0:p0:i32 1:i32
%b2:i3:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b2:i2:i32)
%b2:i3:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b2:i2:i32)
%b2:i4:i32 = add %b2:i1:i32 %b2:i3:i32
ret %b2:i4:i32
}
@@ -28,7 +28,7 @@ init:
block b0:
%b0:i0:i32 = call @fibonacci:*[ret:i32 params:(i32)](9:i32)
%b0:i0:i32 = call @fibonacci:[ret:i32 params:(i32)]*(9:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 34:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -1,5 +1,5 @@
fun f64 @average (i32, *i32) {
fun f64 @average (i32, i32*) {
init:
bid: b0
allocations:
@@ -17,8 +17,8 @@ block b2:
block b3:
%b3:i0:i64 = typecast %b2:p1:i32 to i64
%b3:i1:i64 = mul %b3:i0:i64 4:i64
%b3:i2:*i32 = getelementptr %b0:p1:*i32 offset %b3:i1:i64
%b3:i3:i32 = load %b3:i2:*i32
%b3:i2:i32* = getelementptr %b0:p1:i32* offset %b3:i1:i64
%b3:i3:i32 = load %b3:i2:i32*
%b3:i4:i32 = add %b2:p0:i32 %b3:i3:i32
%b3:i5:i32 = add %b2:p1:i32 1:i32
j b2(%b3:i4:i32, %b3:i5:i32)
@@ -82,12 +82,12 @@ init:
block b0:
%b0:i0:f64 = sub %b0:p0:f64 %b0:p1:f64
%b0:i1:f64 = call @custom_abs:*[ret:f64 params:(f64)](%b0:i0:f64)
%b0:i2:f64 = call @custom_abs:*[ret:f64 params:(f64)](%b0:p0:f64)
%b0:i3:f64 = call @custom_abs:*[ret:f64 params:(f64)](%b0:p1:f64)
%b0:i4:f64 = call @custom_max:*[ret:f64 params:(f64, f64)](%b0:i2:f64, %b0:i3:f64)
%b0:i1:f64 = call @custom_abs:[ret:f64 params:(f64)]*(%b0:i0:f64)
%b0:i2:f64 = call @custom_abs:[ret:f64 params:(f64)]*(%b0:p0:f64)
%b0:i3:f64 = call @custom_abs:[ret:f64 params:(f64)]*(%b0:p1:f64)
%b0:i4:f64 = call @custom_max:[ret:f64 params:(f64, f64)]*(%b0:i2:f64, %b0:i3:f64)
%b0:i5:f64 = mul %b0:p2:f64 %b0:i4:f64
%b0:i6:f64 = call @custom_max:*[ret:f64 params:(f64, f64)](%b0:i5:f64, %b0:p3:f64)
%b0:i6:f64 = call @custom_max:[ret:f64 params:(f64, f64)]*(%b0:i5:f64, %b0:p3:f64)
%b0:i7:u1 = cmp le %b0:i1:f64 %b0:i6:f64
%b0:i8:i32 = typecast %b0:i7:u1 to i32
ret %b0:i8:i32
@@ -108,19 +108,19 @@ block b2:
br %b2:i0:u1, b3(), b5()
block b3:
%b3:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
%b3:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
%b3:i1:i64 = typecast %b2:p0:i32 to i64
%b3:i2:i64 = mul %b3:i1:i64 4:i64
%b3:i3:*i32 = getelementptr %b3:i0:*i32 offset %b3:i2:i64
%b3:i4:unit = store %b2:p0:i32 %b3:i3:*i32
%b3:i3:i32* = getelementptr %b3:i0:i32* offset %b3:i2:i64
%b3:i4:unit = store %b2:p0:i32 %b3:i3:i32*
%b3:i5:i32 = add %b2:p0:i32 1:i32
j b2(%b3:i5:i32)
block b5:
%b5:i0:*i32 = getelementptr %l0:*[10 x i32] offset 0:i32
%b5:i1:f64 = call @average:*[ret:f64 params:(i32, *i32)](10:i32, %b5:i0:*i32)
%b5:i0:i32* = getelementptr %l0:[10 x i32]* offset 0:i32
%b5:i1:f64 = call @average:[ret:f64 params:(i32, i32*)]*(10:i32, %b5:i0:i32*)
%b5:i2:f32 = typecast %b5:i1:f64 to f32
%b5:i3:f64 = typecast %b5:i2:f32 to f64
%b5:i4:i32 = call @is_close:*[ret:i32 params:(f64, f64, f64, f64)](%b5:i3:f64, 4.5:f64, 0.000000001:f64, 0.1:f64)
%b5:i4:i32 = call @is_close:[ret:i32 params:(f64, f64, f64, f64)]*(%b5:i3:f64, 4.5:f64, 0.000000001:f64, 0.1:f64)
ret %b5:i4:i32
}

View File

@@ -7693,246 +7693,246 @@ init:
block b0:
%b0:i0:f64 = call @func_0:*[ret:f64 params:()]()
%b0:i1:f32 = call @func_1:*[ret:f32 params:()]()
%b0:i2:f64 = call @func_2:*[ret:f64 params:()]()
%b0:i0:f64 = call @func_0:[ret:f64 params:()]*()
%b0:i1:f32 = call @func_1:[ret:f32 params:()]*()
%b0:i2:f64 = call @func_2:[ret:f64 params:()]*()
%b0:i3:f64 = typecast %b0:i1:f32 to f64
%b0:i4:f64 = mul %b0:i3:f64 %b0:i2:f64
%b0:i5:f64 = call @func_3:*[ret:f64 params:()]()
%b0:i5:f64 = call @func_3:[ret:f64 params:()]*()
%b0:i6:f64 = div %b0:i4:f64 %b0:i5:f64
%b0:i7:f64 = sub %b0:i0:f64 %b0:i6:f64
%b0:i8:f64 = call @func_4:*[ret:f64 params:()]()
%b0:i8:f64 = call @func_4:[ret:f64 params:()]*()
%b0:i9:f64 = sub %b0:i7:f64 %b0:i8:f64
%b0:i10:f32 = call @func_5:*[ret:f32 params:()]()
%b0:i11:f64 = call @func_6:*[ret:f64 params:()]()
%b0:i10:f32 = call @func_5:[ret:f32 params:()]*()
%b0:i11:f64 = call @func_6:[ret:f64 params:()]*()
%b0:i12:f64 = typecast %b0:i10:f32 to f64
%b0:i13:f64 = div %b0:i12:f64 %b0:i11:f64
%b0:i14:f64 = call @func_7:*[ret:f64 params:()]()
%b0:i14:f64 = call @func_7:[ret:f64 params:()]*()
%b0:i15:f64 = div %b0:i13:f64 %b0:i14:f64
%b0:i16:f64 = call @func_8:*[ret:f64 params:()]()
%b0:i16:f64 = call @func_8:[ret:f64 params:()]*()
%b0:i17:f64 = div %b0:i15:f64 %b0:i16:f64
%b0:i18:f32 = call @func_9:*[ret:f32 params:()]()
%b0:i18:f32 = call @func_9:[ret:f32 params:()]*()
%b0:i19:f64 = typecast %b0:i18:f32 to f64
%b0:i20:f64 = div %b0:i17:f64 %b0:i19:f64
%b0:i21:f64 = add %b0:i9:f64 %b0:i20:f64
%b0:i22:f32 = call @func_10:*[ret:f32 params:()]()
%b0:i23:f64 = call @func_11:*[ret:f64 params:()]()
%b0:i22:f32 = call @func_10:[ret:f32 params:()]*()
%b0:i23:f64 = call @func_11:[ret:f64 params:()]*()
%b0:i24:f64 = typecast %b0:i22:f32 to f64
%b0:i25:f64 = div %b0:i24:f64 %b0:i23:f64
%b0:i26:f64 = call @func_12:*[ret:f64 params:()]()
%b0:i26:f64 = call @func_12:[ret:f64 params:()]*()
%b0:i27:f64 = mul %b0:i25:f64 %b0:i26:f64
%b0:i28:f32 = call @func_13:*[ret:f32 params:()]()
%b0:i28:f32 = call @func_13:[ret:f32 params:()]*()
%b0:i29:f64 = typecast %b0:i28:f32 to f64
%b0:i30:f64 = div %b0:i27:f64 %b0:i29:f64
%b0:i31:f32 = call @func_14:*[ret:f32 params:()]()
%b0:i31:f32 = call @func_14:[ret:f32 params:()]*()
%b0:i32:f64 = typecast %b0:i31:f32 to f64
%b0:i33:f64 = div %b0:i30:f64 %b0:i32:f64
%b0:i34:f64 = add %b0:i21:f64 %b0:i33:f64
%b0:i35:f32 = call @func_15:*[ret:f32 params:()]()
%b0:i35:f32 = call @func_15:[ret:f32 params:()]*()
%b0:i36:f64 = typecast %b0:i35:f32 to f64
%b0:i37:f64 = add %b0:i34:f64 %b0:i36:f64
%b0:i38:f64 = call @func_16:*[ret:f64 params:()]()
%b0:i38:f64 = call @func_16:[ret:f64 params:()]*()
%b0:i39:f64 = sub %b0:i37:f64 %b0:i38:f64
%b0:i40:f64 = call @func_17:*[ret:f64 params:()]()
%b0:i40:f64 = call @func_17:[ret:f64 params:()]*()
%b0:i41:f64 = sub %b0:i39:f64 %b0:i40:f64
%b0:i42:f32 = call @func_18:*[ret:f32 params:()]()
%b0:i43:f32 = call @func_19:*[ret:f32 params:()]()
%b0:i42:f32 = call @func_18:[ret:f32 params:()]*()
%b0:i43:f32 = call @func_19:[ret:f32 params:()]*()
%b0:i44:f32 = div %b0:i42:f32 %b0:i43:f32
%b0:i45:f32 = call @func_20:*[ret:f32 params:()]()
%b0:i45:f32 = call @func_20:[ret:f32 params:()]*()
%b0:i46:f32 = mul %b0:i44:f32 %b0:i45:f32
%b0:i47:f64 = typecast %b0:i46:f32 to f64
%b0:i48:f64 = add %b0:i41:f64 %b0:i47:f64
%b0:i49:f32 = call @func_21:*[ret:f32 params:()]()
%b0:i49:f32 = call @func_21:[ret:f32 params:()]*()
%b0:i50:f64 = typecast %b0:i49:f32 to f64
%b0:i51:f64 = sub %b0:i48:f64 %b0:i50:f64
%b0:i52:f64 = call @func_22:*[ret:f64 params:()]()
%b0:i53:f32 = call @func_23:*[ret:f32 params:()]()
%b0:i52:f64 = call @func_22:[ret:f64 params:()]*()
%b0:i53:f32 = call @func_23:[ret:f32 params:()]*()
%b0:i54:f64 = typecast %b0:i53:f32 to f64
%b0:i55:f64 = mul %b0:i52:f64 %b0:i54:f64
%b0:i56:f64 = add %b0:i51:f64 %b0:i55:f64
%b0:i57:f64 = call @func_24:*[ret:f64 params:()]()
%b0:i57:f64 = call @func_24:[ret:f64 params:()]*()
%b0:i58:f64 = add %b0:i56:f64 %b0:i57:f64
%b0:i59:f32 = call @func_25:*[ret:f32 params:()]()
%b0:i60:f32 = call @func_26:*[ret:f32 params:()]()
%b0:i59:f32 = call @func_25:[ret:f32 params:()]*()
%b0:i60:f32 = call @func_26:[ret:f32 params:()]*()
%b0:i61:f32 = mul %b0:i59:f32 %b0:i60:f32
%b0:i62:f64 = call @func_27:*[ret:f64 params:()]()
%b0:i62:f64 = call @func_27:[ret:f64 params:()]*()
%b0:i63:f64 = typecast %b0:i61:f32 to f64
%b0:i64:f64 = mul %b0:i63:f64 %b0:i62:f64
%b0:i65:f64 = sub %b0:i58:f64 %b0:i64:f64
%b0:i66:f32 = call @func_28:*[ret:f32 params:()]()
%b0:i67:f32 = call @func_29:*[ret:f32 params:()]()
%b0:i66:f32 = call @func_28:[ret:f32 params:()]*()
%b0:i67:f32 = call @func_29:[ret:f32 params:()]*()
%b0:i68:f32 = div %b0:i66:f32 %b0:i67:f32
%b0:i69:f64 = call @func_30:*[ret:f64 params:()]()
%b0:i69:f64 = call @func_30:[ret:f64 params:()]*()
%b0:i70:f64 = typecast %b0:i68:f32 to f64
%b0:i71:f64 = div %b0:i70:f64 %b0:i69:f64
%b0:i72:f64 = call @func_31:*[ret:f64 params:()]()
%b0:i72:f64 = call @func_31:[ret:f64 params:()]*()
%b0:i73:f64 = div %b0:i71:f64 %b0:i72:f64
%b0:i74:f64 = add %b0:i65:f64 %b0:i73:f64
%b0:i75:f64 = call @func_32:*[ret:f64 params:()]()
%b0:i76:f64 = call @func_33:*[ret:f64 params:()]()
%b0:i75:f64 = call @func_32:[ret:f64 params:()]*()
%b0:i76:f64 = call @func_33:[ret:f64 params:()]*()
%b0:i77:f64 = div %b0:i75:f64 %b0:i76:f64
%b0:i78:f64 = call @func_34:*[ret:f64 params:()]()
%b0:i78:f64 = call @func_34:[ret:f64 params:()]*()
%b0:i79:f64 = div %b0:i77:f64 %b0:i78:f64
%b0:i80:f64 = sub %b0:i74:f64 %b0:i79:f64
%b0:i81:f32 = call @func_35:*[ret:f32 params:()]()
%b0:i81:f32 = call @func_35:[ret:f32 params:()]*()
%b0:i82:f64 = typecast %b0:i81:f32 to f64
%b0:i83:f64 = sub %b0:i80:f64 %b0:i82:f64
%b0:i84:f32 = call @func_36:*[ret:f32 params:()]()
%b0:i85:f64 = call @func_37:*[ret:f64 params:()]()
%b0:i84:f32 = call @func_36:[ret:f32 params:()]*()
%b0:i85:f64 = call @func_37:[ret:f64 params:()]*()
%b0:i86:f64 = typecast %b0:i84:f32 to f64
%b0:i87:f64 = mul %b0:i86:f64 %b0:i85:f64
%b0:i88:f64 = add %b0:i83:f64 %b0:i87:f64
%b0:i89:f32 = call @func_38:*[ret:f32 params:()]()
%b0:i90:f64 = call @func_39:*[ret:f64 params:()]()
%b0:i89:f32 = call @func_38:[ret:f32 params:()]*()
%b0:i90:f64 = call @func_39:[ret:f64 params:()]*()
%b0:i91:f64 = typecast %b0:i89:f32 to f64
%b0:i92:f64 = div %b0:i91:f64 %b0:i90:f64
%b0:i93:f64 = add %b0:i88:f64 %b0:i92:f64
%b0:i94:f32 = call @func_40:*[ret:f32 params:()]()
%b0:i95:f64 = call @func_41:*[ret:f64 params:()]()
%b0:i94:f32 = call @func_40:[ret:f32 params:()]*()
%b0:i95:f64 = call @func_41:[ret:f64 params:()]*()
%b0:i96:f64 = typecast %b0:i94:f32 to f64
%b0:i97:f64 = mul %b0:i96:f64 %b0:i95:f64
%b0:i98:f64 = call @func_42:*[ret:f64 params:()]()
%b0:i98:f64 = call @func_42:[ret:f64 params:()]*()
%b0:i99:f64 = mul %b0:i97:f64 %b0:i98:f64
%b0:i100:f64 = sub %b0:i93:f64 %b0:i99:f64
%b0:i101:f32 = call @func_43:*[ret:f32 params:()]()
%b0:i101:f32 = call @func_43:[ret:f32 params:()]*()
%b0:i102:f64 = typecast %b0:i101:f32 to f64
%b0:i103:f64 = add %b0:i100:f64 %b0:i102:f64
%b0:i104:f32 = call @func_44:*[ret:f32 params:()]()
%b0:i104:f32 = call @func_44:[ret:f32 params:()]*()
%b0:i105:f64 = typecast %b0:i104:f32 to f64
%b0:i106:f64 = add %b0:i103:f64 %b0:i105:f64
%b0:i107:f32 = call @func_45:*[ret:f32 params:()]()
%b0:i108:f32 = call @func_46:*[ret:f32 params:()]()
%b0:i107:f32 = call @func_45:[ret:f32 params:()]*()
%b0:i108:f32 = call @func_46:[ret:f32 params:()]*()
%b0:i109:f32 = div %b0:i107:f32 %b0:i108:f32
%b0:i110:f64 = call @func_47:*[ret:f64 params:()]()
%b0:i110:f64 = call @func_47:[ret:f64 params:()]*()
%b0:i111:f64 = typecast %b0:i109:f32 to f64
%b0:i112:f64 = div %b0:i111:f64 %b0:i110:f64
%b0:i113:f64 = sub %b0:i106:f64 %b0:i112:f64
%b0:i114:f32 = call @func_48:*[ret:f32 params:()]()
%b0:i114:f32 = call @func_48:[ret:f32 params:()]*()
%b0:i115:f64 = typecast %b0:i114:f32 to f64
%b0:i116:f64 = add %b0:i113:f64 %b0:i115:f64
%b0:i117:f64 = call @func_49:*[ret:f64 params:()]()
%b0:i118:f32 = call @func_50:*[ret:f32 params:()]()
%b0:i117:f64 = call @func_49:[ret:f64 params:()]*()
%b0:i118:f32 = call @func_50:[ret:f32 params:()]*()
%b0:i119:f64 = typecast %b0:i118:f32 to f64
%b0:i120:f64 = mul %b0:i117:f64 %b0:i119:f64
%b0:i121:f64 = call @func_51:*[ret:f64 params:()]()
%b0:i121:f64 = call @func_51:[ret:f64 params:()]*()
%b0:i122:f64 = mul %b0:i120:f64 %b0:i121:f64
%b0:i123:f64 = call @func_52:*[ret:f64 params:()]()
%b0:i123:f64 = call @func_52:[ret:f64 params:()]*()
%b0:i124:f64 = mul %b0:i122:f64 %b0:i123:f64
%b0:i125:f64 = call @func_53:*[ret:f64 params:()]()
%b0:i125:f64 = call @func_53:[ret:f64 params:()]*()
%b0:i126:f64 = div %b0:i124:f64 %b0:i125:f64
%b0:i127:f32 = call @func_54:*[ret:f32 params:()]()
%b0:i127:f32 = call @func_54:[ret:f32 params:()]*()
%b0:i128:f64 = typecast %b0:i127:f32 to f64
%b0:i129:f64 = div %b0:i126:f64 %b0:i128:f64
%b0:i130:f64 = sub %b0:i116:f64 %b0:i129:f64
%b0:i131:f64 = call @func_55:*[ret:f64 params:()]()
%b0:i131:f64 = call @func_55:[ret:f64 params:()]*()
%b0:i132:f64 = sub %b0:i130:f64 %b0:i131:f64
%b0:i133:f64 = call @func_56:*[ret:f64 params:()]()
%b0:i133:f64 = call @func_56:[ret:f64 params:()]*()
%b0:i134:f64 = sub %b0:i132:f64 %b0:i133:f64
%b0:i135:f32 = call @func_57:*[ret:f32 params:()]()
%b0:i135:f32 = call @func_57:[ret:f32 params:()]*()
%b0:i136:f64 = typecast %b0:i135:f32 to f64
%b0:i137:f64 = sub %b0:i134:f64 %b0:i136:f64
%b0:i138:f64 = call @func_58:*[ret:f64 params:()]()
%b0:i139:f64 = call @func_59:*[ret:f64 params:()]()
%b0:i138:f64 = call @func_58:[ret:f64 params:()]*()
%b0:i139:f64 = call @func_59:[ret:f64 params:()]*()
%b0:i140:f64 = mul %b0:i138:f64 %b0:i139:f64
%b0:i141:f64 = add %b0:i137:f64 %b0:i140:f64
%b0:i142:f64 = call @func_60:*[ret:f64 params:()]()
%b0:i143:f64 = call @func_61:*[ret:f64 params:()]()
%b0:i142:f64 = call @func_60:[ret:f64 params:()]*()
%b0:i143:f64 = call @func_61:[ret:f64 params:()]*()
%b0:i144:f64 = mul %b0:i142:f64 %b0:i143:f64
%b0:i145:f64 = call @func_62:*[ret:f64 params:()]()
%b0:i145:f64 = call @func_62:[ret:f64 params:()]*()
%b0:i146:f64 = div %b0:i144:f64 %b0:i145:f64
%b0:i147:f32 = call @func_63:*[ret:f32 params:()]()
%b0:i147:f32 = call @func_63:[ret:f32 params:()]*()
%b0:i148:f64 = typecast %b0:i147:f32 to f64
%b0:i149:f64 = div %b0:i146:f64 %b0:i148:f64
%b0:i150:f64 = sub %b0:i141:f64 %b0:i149:f64
%b0:i151:f64 = call @func_64:*[ret:f64 params:()]()
%b0:i152:f32 = call @func_65:*[ret:f32 params:()]()
%b0:i151:f64 = call @func_64:[ret:f64 params:()]*()
%b0:i152:f32 = call @func_65:[ret:f32 params:()]*()
%b0:i153:f64 = typecast %b0:i152:f32 to f64
%b0:i154:f64 = mul %b0:i151:f64 %b0:i153:f64
%b0:i155:f64 = add %b0:i150:f64 %b0:i154:f64
%b0:i156:f64 = call @func_66:*[ret:f64 params:()]()
%b0:i157:f32 = call @func_67:*[ret:f32 params:()]()
%b0:i156:f64 = call @func_66:[ret:f64 params:()]*()
%b0:i157:f32 = call @func_67:[ret:f32 params:()]*()
%b0:i158:f64 = typecast %b0:i157:f32 to f64
%b0:i159:f64 = div %b0:i156:f64 %b0:i158:f64
%b0:i160:f32 = call @func_68:*[ret:f32 params:()]()
%b0:i160:f32 = call @func_68:[ret:f32 params:()]*()
%b0:i161:f64 = typecast %b0:i160:f32 to f64
%b0:i162:f64 = mul %b0:i159:f64 %b0:i161:f64
%b0:i163:f64 = add %b0:i155:f64 %b0:i162:f64
%b0:i164:f64 = call @func_69:*[ret:f64 params:()]()
%b0:i165:f32 = call @func_70:*[ret:f32 params:()]()
%b0:i164:f64 = call @func_69:[ret:f64 params:()]*()
%b0:i165:f32 = call @func_70:[ret:f32 params:()]*()
%b0:i166:f64 = typecast %b0:i165:f32 to f64
%b0:i167:f64 = mul %b0:i164:f64 %b0:i166:f64
%b0:i168:f64 = add %b0:i163:f64 %b0:i167:f64
%b0:i169:f64 = call @func_71:*[ret:f64 params:()]()
%b0:i170:f64 = call @func_72:*[ret:f64 params:()]()
%b0:i169:f64 = call @func_71:[ret:f64 params:()]*()
%b0:i170:f64 = call @func_72:[ret:f64 params:()]*()
%b0:i171:f64 = mul %b0:i169:f64 %b0:i170:f64
%b0:i172:f32 = call @func_73:*[ret:f32 params:()]()
%b0:i172:f32 = call @func_73:[ret:f32 params:()]*()
%b0:i173:f64 = typecast %b0:i172:f32 to f64
%b0:i174:f64 = div %b0:i171:f64 %b0:i173:f64
%b0:i175:f64 = call @func_74:*[ret:f64 params:()]()
%b0:i175:f64 = call @func_74:[ret:f64 params:()]*()
%b0:i176:f64 = div %b0:i174:f64 %b0:i175:f64
%b0:i177:f64 = sub %b0:i168:f64 %b0:i176:f64
%b0:i178:f32 = call @func_75:*[ret:f32 params:()]()
%b0:i178:f32 = call @func_75:[ret:f32 params:()]*()
%b0:i179:f64 = typecast %b0:i178:f32 to f64
%b0:i180:f64 = add %b0:i177:f64 %b0:i179:f64
%b0:i181:f64 = call @func_76:*[ret:f64 params:()]()
%b0:i182:f64 = call @func_77:*[ret:f64 params:()]()
%b0:i181:f64 = call @func_76:[ret:f64 params:()]*()
%b0:i182:f64 = call @func_77:[ret:f64 params:()]*()
%b0:i183:f64 = div %b0:i181:f64 %b0:i182:f64
%b0:i184:f32 = call @func_78:*[ret:f32 params:()]()
%b0:i184:f32 = call @func_78:[ret:f32 params:()]*()
%b0:i185:f64 = typecast %b0:i184:f32 to f64
%b0:i186:f64 = mul %b0:i183:f64 %b0:i185:f64
%b0:i187:f32 = call @func_79:*[ret:f32 params:()]()
%b0:i187:f32 = call @func_79:[ret:f32 params:()]*()
%b0:i188:f64 = typecast %b0:i187:f32 to f64
%b0:i189:f64 = mul %b0:i186:f64 %b0:i188:f64
%b0:i190:f32 = call @func_80:*[ret:f32 params:()]()
%b0:i190:f32 = call @func_80:[ret:f32 params:()]*()
%b0:i191:f64 = typecast %b0:i190:f32 to f64
%b0:i192:f64 = div %b0:i189:f64 %b0:i191:f64
%b0:i193:f64 = sub %b0:i180:f64 %b0:i192:f64
%b0:i194:f64 = call @func_81:*[ret:f64 params:()]()
%b0:i194:f64 = call @func_81:[ret:f64 params:()]*()
%b0:i195:f64 = sub %b0:i193:f64 %b0:i194:f64
%b0:i196:f64 = call @func_82:*[ret:f64 params:()]()
%b0:i196:f64 = call @func_82:[ret:f64 params:()]*()
%b0:i197:f64 = sub %b0:i195:f64 %b0:i196:f64
%b0:i198:f64 = call @func_83:*[ret:f64 params:()]()
%b0:i198:f64 = call @func_83:[ret:f64 params:()]*()
%b0:i199:f64 = add %b0:i197:f64 %b0:i198:f64
%b0:i200:f32 = call @func_84:*[ret:f32 params:()]()
%b0:i201:f64 = call @func_85:*[ret:f64 params:()]()
%b0:i200:f32 = call @func_84:[ret:f32 params:()]*()
%b0:i201:f64 = call @func_85:[ret:f64 params:()]*()
%b0:i202:f64 = typecast %b0:i200:f32 to f64
%b0:i203:f64 = mul %b0:i202:f64 %b0:i201:f64
%b0:i204:f64 = sub %b0:i199:f64 %b0:i203:f64
%b0:i205:f32 = call @func_86:*[ret:f32 params:()]()
%b0:i205:f32 = call @func_86:[ret:f32 params:()]*()
%b0:i206:f64 = typecast %b0:i205:f32 to f64
%b0:i207:f64 = add %b0:i204:f64 %b0:i206:f64
%b0:i208:f64 = call @func_87:*[ret:f64 params:()]()
%b0:i209:f32 = call @func_88:*[ret:f32 params:()]()
%b0:i208:f64 = call @func_87:[ret:f64 params:()]*()
%b0:i209:f32 = call @func_88:[ret:f32 params:()]*()
%b0:i210:f64 = typecast %b0:i209:f32 to f64
%b0:i211:f64 = mul %b0:i208:f64 %b0:i210:f64
%b0:i212:f64 = sub %b0:i207:f64 %b0:i211:f64
%b0:i213:f32 = call @func_89:*[ret:f32 params:()]()
%b0:i213:f32 = call @func_89:[ret:f32 params:()]*()
%b0:i214:f64 = typecast %b0:i213:f32 to f64
%b0:i215:f64 = sub %b0:i212:f64 %b0:i214:f64
%b0:i216:f64 = call @func_90:*[ret:f64 params:()]()
%b0:i217:f32 = call @func_91:*[ret:f32 params:()]()
%b0:i216:f64 = call @func_90:[ret:f64 params:()]*()
%b0:i217:f32 = call @func_91:[ret:f32 params:()]*()
%b0:i218:f64 = typecast %b0:i217:f32 to f64
%b0:i219:f64 = mul %b0:i216:f64 %b0:i218:f64
%b0:i220:f32 = call @func_92:*[ret:f32 params:()]()
%b0:i220:f32 = call @func_92:[ret:f32 params:()]*()
%b0:i221:f64 = typecast %b0:i220:f32 to f64
%b0:i222:f64 = mul %b0:i219:f64 %b0:i221:f64
%b0:i223:f64 = sub %b0:i215:f64 %b0:i222:f64
%b0:i224:f64 = call @func_93:*[ret:f64 params:()]()
%b0:i225:f64 = call @func_94:*[ret:f64 params:()]()
%b0:i224:f64 = call @func_93:[ret:f64 params:()]*()
%b0:i225:f64 = call @func_94:[ret:f64 params:()]*()
%b0:i226:f64 = mul %b0:i224:f64 %b0:i225:f64
%b0:i227:f64 = add %b0:i223:f64 %b0:i226:f64
%b0:i228:f32 = call @func_95:*[ret:f32 params:()]()
%b0:i228:f32 = call @func_95:[ret:f32 params:()]*()
%b0:i229:f64 = typecast %b0:i228:f32 to f64
%b0:i230:f64 = sub %b0:i227:f64 %b0:i229:f64
%b0:i231:f32 = call @func_96:*[ret:f32 params:()]()
%b0:i231:f32 = call @func_96:[ret:f32 params:()]*()
%b0:i232:f64 = typecast %b0:i231:f32 to f64
%b0:i233:f64 = sub %b0:i230:f64 %b0:i232:f64
%b0:i234:f32 = call @func_97:*[ret:f32 params:()]()
%b0:i234:f32 = call @func_97:[ret:f32 params:()]*()
%b0:i235:f64 = typecast %b0:i234:f32 to f64
%b0:i236:f64 = sub %b0:i233:f64 %b0:i235:f64
%b0:i237:f64 = call @func_98:*[ret:f64 params:()]()
%b0:i237:f64 = call @func_98:[ret:f64 params:()]*()
%b0:i238:f64 = add %b0:i236:f64 %b0:i237:f64
%b0:i239:f32 = call @func_99:*[ret:f32 params:()]()
%b0:i239:f32 = call @func_99:[ret:f32 params:()]*()
%b0:i240:f64 = typecast %b0:i239:f32 to f64
%b0:i241:f64 = sub %b0:i238:f64 %b0:i240:f64
%b0:i242:i32 = typecast %b0:i241:f64 to i32

View File

@@ -24,7 +24,7 @@ init:
block b0:
%b0:i0:i32 = minus 1:i32
%b0:i1:i32 = call @foo:*[ret:i32 params:(i32, i32, i32)](0:i32, 1:i32, %b0:i0:i32)
%b0:i1:i32 = call @foo:[ret:i32 params:(i32, i32, i32)]*(0:i32, 1:i32, %b0:i0:i32)
%b0:i2:i32 = minus 1:i32
%b0:i3:u1 = cmp eq %b0:i1:i32 %b0:i2:i32
%b0:i4:i32 = typecast %b0:i3:u1 to i32

View File

@@ -8,7 +8,7 @@ init:
block b0:
%b0:i0:i32 = add %b0:p0:i32 %b0:p1:i32
%b0:i1:i32 = load @g:*i32
%b0:i1:i32 = load @g:i32*
%b0:i2:i32 = add %b0:i0:i32 %b0:i1:i32
ret %b0:i2:i32
}
@@ -20,8 +20,8 @@ init:
block b0:
%b0:i0:i32 = load @g:*i32
%b0:i1:i32 = call @foo:*[ret:i32 params:(i32, i32)](%b0:i0:i32, %b0:i0:i32)
%b0:i0:i32 = load @g:i32*
%b0:i1:i32 = call @foo:[ret:i32 params:(i32, i32)]*(%b0:i0:i32, %b0:i0:i32)
%b0:i2:u1 = cmp eq %b0:i1:i32 30:i32
%b0:i3:i32 = typecast %b0:i2:u1 to i32
ret %b0:i3:i32

View File

@@ -11,24 +11,24 @@ block b0:
ret %b0:i1:i32
}
fun *[ret:i32 params:(i32, i32, i32)] @foo2 () {
fun [ret:i32 params:(i32, i32, i32)]* @foo2 () {
init:
bid: b0
allocations:
block b0:
ret @foo:*[ret:i32 params:(i32, i32, i32)]
ret @foo:[ret:i32 params:(i32, i32, i32)]*
}
fun *[ret:*[ret:i32 params:(i32, i32, i32)] params:()] @foo3 () {
fun [ret:[ret:i32 params:(i32, i32, i32)]* params:()]* @foo3 () {
init:
bid: b0
allocations:
block b0:
ret @foo2:*[ret:*[ret:i32 params:(i32, i32, i32)] params:()]
ret @foo2:[ret:[ret:i32 params:(i32, i32, i32)]* params:()]*
}
fun i32 @main () {
@@ -38,9 +38,9 @@ init:
block b0:
%b0:i0:*[ret:*[ret:i32 params:(i32, i32, i32)] params:()] = call @foo3:*[ret:*[ret:*[ret:i32 params:(i32, i32, i32)] params:()] params:()]()
%b0:i1:*[ret:i32 params:(i32, i32, i32)] = call %b0:i0:*[ret:*[ret:i32 params:(i32, i32, i32)] params:()]()
%b0:i2:i32 = call %b0:i1:*[ret:i32 params:(i32, i32, i32)](2:i32, 2:i32, 2:i32)
%b0:i0:[ret:[ret:i32 params:(i32, i32, i32)]* params:()]* = call @foo3:[ret:[ret:[ret:i32 params:(i32, i32, i32)]* params:()]* params:()]*()
%b0:i1:[ret:i32 params:(i32, i32, i32)]* = call %b0:i0:[ret:[ret:i32 params:(i32, i32, i32)]* params:()]*()
%b0:i2:i32 = call %b0:i1:[ret:i32 params:(i32, i32, i32)]*(2:i32, 2:i32, 2:i32)
%b0:i3:u1 = cmp eq %b0:i2:i32 6:i32
%b0:i4:i32 = typecast %b0:i3:u1 to i32
ret %b0:i4:i32

View File

@@ -38,7 +38,7 @@ init:
block b0:
%b0:i0:i32 = call @foo:*[ret:i32 params:()]()
%b0:i0:i32 = call @foo:[ret:i32 params:()]*()
%b0:i1:u1 = cmp eq %b0:i0:i32 7:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -61,7 +61,7 @@ init:
block b0:
%b0:i0:i32 = call @gcd:*[ret:i32 params:(i32, i32)](18:i32, 21:i32)
%b0:i0:i32 = call @gcd:[ret:i32 params:(i32, i32)]*(18:i32, 21:i32)
%b0:i1:u1 = cmp eq %b0:i0:i32 3:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32

View File

@@ -10,15 +10,15 @@ init:
block b0:
%b0:i0:i32 = load @a:*i32
%b0:i1:i64 = load @b:*i64
%b0:i0:i32 = load @a:i32*
%b0:i1:i64 = load @b:i64*
%b0:i2:i64 = typecast %b0:i0:i32 to i64
%b0:i3:i64 = add %b0:i2:i64 %b0:i1:i64
%b0:i4:f32 = load @c:*f32
%b0:i4:f32 = load @c:f32*
%b0:i5:i32 = typecast %b0:i4:f32 to i32
%b0:i6:i64 = typecast %b0:i5:i32 to i64
%b0:i7:i64 = add %b0:i3:i64 %b0:i6:i64
%b0:i8:f64 = load @d:*f64
%b0:i8:f64 = load @d:f64*
%b0:i9:i64 = typecast %b0:i8:f64 to i64
%b0:i10:i64 = add %b0:i7:i64 %b0:i9:i64
%b0:i11:i32 = minus 4:i32

View File

@@ -25,7 +25,7 @@ init:
block b0:
%b0:i0:i32 = minus 1:i32
%b0:i1:i32 = call @foo:*[ret:i32 params:(i32, i32, i32)](0:i32, 1:i32, %b0:i0:i32)
%b0:i1:i32 = call @foo:[ret:i32 params:(i32, i32, i32)]*(0:i32, 1:i32, %b0:i0:i32)
%b0:i2:u1 = cmp eq %b0:i1:i32 1:i32
%b0:i3:i32 = typecast %b0:i2:u1 to i32
ret %b0:i3:i32

View File

@@ -1,12 +1,12 @@
fun *i32 @foo (*i32) {
fun i32* @foo (i32*) {
init:
bid: b0
allocations:
block b0:
ret %b0:p0:*i32
ret %b0:p0:i32*
}
fun i32 @main () {
@@ -14,29 +14,29 @@ init:
bid: b0
allocations:
%l0:i32:a
%l1:*i32:p
%l1:i32*:p
block b0:
%b0:i0:unit = store 1:i32 %l0:*i32
%b0:i1:unit = store %l0:*i32 %l1:**i32
%b0:i2:*i32 = load %l1:**i32
%b0:i3:*i32 = load %l1:**i32
%b0:i4:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i3:*i32)
%b0:i5:*i32 = load %l1:**i32
%b0:i6:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i5:*i32)
%b0:i7:*i32 = load %l1:**i32
%b0:i8:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i7:*i32)
%b0:i9:*i32 = load %l1:**i32
%b0:i10:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i9:*i32)
%b0:i11:i32 = load %b0:i10:*i32
%b0:i0:unit = store 1:i32 %l0:i32*
%b0:i1:unit = store %l0:i32* %l1:i32**
%b0:i2:i32* = load %l1:i32**
%b0:i3:i32* = load %l1:i32**
%b0:i4:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i3:i32*)
%b0:i5:i32* = load %l1:i32**
%b0:i6:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i5:i32*)
%b0:i7:i32* = load %l1:i32**
%b0:i8:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i7:i32*)
%b0:i9:i32* = load %l1:i32**
%b0:i10:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i9:i32*)
%b0:i11:i32 = load %b0:i10:i32*
%b0:i12:i32 = add %b0:i11:i32 1:i32
%b0:i13:unit = store %b0:i12:i32 %b0:i6:*i32
%b0:i14:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i2:*i32)
%b0:i15:*i32 = call @foo:*[ret:*i32 params:(*i32)](%b0:i2:*i32)
%b0:i16:i32 = load %b0:i15:*i32
%b0:i13:unit = store %b0:i12:i32 %b0:i6:i32*
%b0:i14:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i2:i32*)
%b0:i15:i32* = call @foo:[ret:i32* params:(i32*)]*(%b0:i2:i32*)
%b0:i16:i32 = load %b0:i15:i32*
%b0:i17:i32 = add %b0:i16:i32 1:i32
%b0:i18:unit = store %b0:i17:i32 %b0:i14:*i32
%b0:i19:i32 = load %l0:*i32
%b0:i18:unit = store %b0:i17:i32 %b0:i14:i32*
%b0:i19:i32 = load %l0:i32*
%b0:i20:u1 = cmp eq %b0:i19:i32 3:i32
%b0:i21:i32 = typecast %b0:i20:u1 to i32
ret %b0:i21:i32

View File

@@ -16,6 +16,6 @@ init:
block b0:
%b0:i0:unit = call @foo:*[ret:unit params:()]()
%b0:i0:unit = call @foo:[ret:unit params:()]*()
ret 1:i32
}

View File

@@ -40,7 +40,7 @@ block b5:
block b6:
%b6:p0:i32:t1
%b6:i0:i32 = call @f:*[ret:i32 params:(i32)](%b6:p0:i32)
%b6:i0:i32 = call @f:[ret:i32 params:(i32)]*(%b6:p0:i32)
%b6:i1:u1 = cmp eq %b6:i0:i32 9:i32
%b6:i2:i32 = typecast %b6:i1:u1 to i32
ret %b6:i2:i32

View File

@@ -16,9 +16,9 @@ block b1:
block b3:
%b3:p0:i32:n
%b3:i0:i32 = sub %b3:p0:i32 2:i32
%b3:i1:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b3:i0:i32)
%b3:i1:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b3:i0:i32)
%b3:i2:i32 = sub %b3:p0:i32 1:i32
%b3:i3:i32 = call @fibonacci:*[ret:i32 params:(i32)](%b3:i2:i32)
%b3:i3:i32 = call @fibonacci:[ret:i32 params:(i32)]*(%b3:i2:i32)
%b3:i4:i32 = add %b3:i1:i32 %b3:i3:i32
ret %b3:i4:i32
}

View File

@@ -1,7 +1,7 @@
struct %t0 : { [4 x [5 x i32]] }
struct %t1 : { i8, struct %t0, f64 }
struct %t1 : { a:i8, %anon:struct %t0, c:f64 }
struct %t0 : { b:[4 x [5 x i32]] }
fun unit @init (i32, i32, *[5 x i32]) {
fun unit @init (i32, i32, [5 x i32]*) {
init:
bid: b0
allocations:
@@ -29,13 +29,13 @@ block b7:
block b8:
%b8:i0:i64 = typecast %b2:p0:i32 to i64
%b8:i1:i64 = mul %b8:i0:i64 20:i64
%b8:i2:*[5 x i32] = getelementptr %b0:p2:*[5 x i32] offset %b8:i1:i64
%b8:i3:*i32 = getelementptr %b8:i2:*[5 x i32] offset 0:i32
%b8:i2:[5 x i32]* = getelementptr %b0:p2:[5 x i32]* offset %b8:i1:i64
%b8:i3:i32* = getelementptr %b8:i2:[5 x i32]* offset 0:i32
%b8:i4:i64 = typecast %b7:p0:i32 to i64
%b8:i5:i64 = mul %b8:i4:i64 4:i64
%b8:i6:*i32 = getelementptr %b8:i3:*i32 offset %b8:i5:i64
%b8:i6:i32* = getelementptr %b8:i3:i32* offset %b8:i5:i64
%b8:i7:i32 = mul %b2:p0:i32 %b7:p0:i32
%b8:i8:unit = store %b8:i7:i32 %b8:i6:*i32
%b8:i8:unit = store %b8:i7:i32 %b8:i6:i32*
%b8:i9:i32 = add %b7:p0:i32 1:i32
j b7(%b8:i9:i32)
@@ -48,25 +48,25 @@ fun i32 @main () {
init:
bid: b0
allocations:
%l0: struct %t1:temp
%l1: struct %t1:temp2
%l0:struct %t1:temp
%l1:struct %t1:temp2
block b0:
%b0:i0:*[4 x [5 x i32]] = getelementptr %l0:* struct %t1 offset 4:i64
%b0:i1:*[5 x i32] = getelementptr %b0:i0:*[4 x [5 x i32]] offset 0:i32
%b0:i2:unit = call @init:*[ret:unit params:(i32, i32, *[5 x i32])](4:i32, 5:i32, %b0:i1:*[5 x i32])
%b0:i3: struct %t1 = load %l0:* struct %t1
%b0:i4:unit = store %b0:i3: struct %t1 %l1:* struct %t1
%b0:i5:*[4 x [5 x i32]] = getelementptr %l1:* struct %t1 offset 4:i64
%b0:i6:*[5 x i32] = getelementptr %b0:i5:*[4 x [5 x i32]] offset 0:i32
%b0:i0:[4 x [5 x i32]]* = getelementptr %l0:struct %t1* offset 4:i64
%b0:i1:[5 x i32]* = getelementptr %b0:i0:[4 x [5 x i32]]* offset 0:i32
%b0:i2:unit = call @init:[ret:unit params:(i32, i32, [5 x i32]*)]*(4:i32, 5:i32, %b0:i1:[5 x i32]*)
%b0:i3:struct %t1 = load %l0:struct %t1*
%b0:i4:unit = store %b0:i3:struct %t1 %l1:struct %t1*
%b0:i5:[4 x [5 x i32]]* = getelementptr %l1:struct %t1* offset 4:i64
%b0:i6:[5 x i32]* = getelementptr %b0:i5:[4 x [5 x i32]]* offset 0:i32
%b0:i7:i64 = typecast 2:i32 to i64
%b0:i8:i64 = mul %b0:i7:i64 20:i64
%b0:i9:*[5 x i32] = getelementptr %b0:i6:*[5 x i32] offset %b0:i8:i64
%b0:i10:*i32 = getelementptr %b0:i9:*[5 x i32] offset 0:i32
%b0:i9:[5 x i32]* = getelementptr %b0:i6:[5 x i32]* offset %b0:i8:i64
%b0:i10:i32* = getelementptr %b0:i9:[5 x i32]* offset 0:i32
%b0:i11:i64 = typecast 3:i32 to i64
%b0:i12:i64 = mul %b0:i11:i64 4:i64
%b0:i13:*i32 = getelementptr %b0:i10:*i32 offset %b0:i12:i64
%b0:i14:i32 = load %b0:i13:*i32
%b0:i13:i32* = getelementptr %b0:i10:i32* offset %b0:i12:i64
%b0:i14:i32 = load %b0:i13:i32*
%b0:i15:u1 = cmp eq %b0:i14:i32 6:i32
%b0:i16:i32 = typecast %b0:i15:u1 to i32
ret %b0:i16:i32

View File

@@ -1,49 +1,49 @@
struct %t0 : { [4 x i32] }
struct %t1 : { i8, struct %t0, i64 }
struct %t0 : { b:[4 x i32] }
struct %t1 : { a:i8, %anon:struct %t0, c:i64 }
fun i32 @main () {
init:
bid: b0
allocations:
%l0:const struct %t1:temp
%l1: struct %t1:temp2
%l1:struct %t1:temp2
block b0:
%b0:i0:*i8 = getelementptr %l0:*const struct %t1 offset 0:i64
%b0:i0:i8* = getelementptr %l0:const struct %t1* offset 0:i64
%b0:i1:i8 = typecast 1:i32 to i8
%b0:i2:unit = store %b0:i1:i8 %b0:i0:*i8
%b0:i3:* struct %t0 = getelementptr %l0:*const struct %t1 offset 4:i64
%b0:i4:*[4 x i32] = getelementptr %b0:i3:* struct %t0 offset 0:i64
%b0:i5:*i32 = getelementptr %b0:i4:*[4 x i32] offset 0:i32
%b0:i2:unit = store %b0:i1:i8 %b0:i0:i8*
%b0:i3:struct %t0* = getelementptr %l0:const struct %t1* offset 4:i64
%b0:i4:[4 x i32]* = getelementptr %b0:i3:struct %t0* offset 0:i64
%b0:i5:i32* = getelementptr %b0:i4:[4 x i32]* offset 0:i32
%b0:i6:i64 = mul 0:i64 4:i64
%b0:i7:*i32 = getelementptr %b0:i5:*i32 offset %b0:i6:i64
%b0:i8:unit = store 2:i32 %b0:i7:*i32
%b0:i7:i32* = getelementptr %b0:i5:i32* offset %b0:i6:i64
%b0:i8:unit = store 2:i32 %b0:i7:i32*
%b0:i9:i64 = mul 1:i64 4:i64
%b0:i10:*i32 = getelementptr %b0:i5:*i32 offset %b0:i9:i64
%b0:i11:unit = store 3:i32 %b0:i10:*i32
%b0:i10:i32* = getelementptr %b0:i5:i32* offset %b0:i9:i64
%b0:i11:unit = store 3:i32 %b0:i10:i32*
%b0:i12:i64 = mul 2:i64 4:i64
%b0:i13:*i32 = getelementptr %b0:i5:*i32 offset %b0:i12:i64
%b0:i14:unit = store 4:i32 %b0:i13:*i32
%b0:i13:i32* = getelementptr %b0:i5:i32* offset %b0:i12:i64
%b0:i14:unit = store 4:i32 %b0:i13:i32*
%b0:i15:i64 = mul 3:i64 4:i64
%b0:i16:*i32 = getelementptr %b0:i5:*i32 offset %b0:i15:i64
%b0:i17:unit = store 5:i32 %b0:i16:*i32
%b0:i18:*i64 = getelementptr %l0:*const struct %t1 offset 24:i64
%b0:i16:i32* = getelementptr %b0:i5:i32* offset %b0:i15:i64
%b0:i17:unit = store 5:i32 %b0:i16:i32*
%b0:i18:i64* = getelementptr %l0:const struct %t1* offset 24:i64
%b0:i19:i64 = typecast 6:i32 to i64
%b0:i20:unit = store %b0:i19:i64 %b0:i18:*i64
%b0:i21: struct %t1 = load %l0:*const struct %t1
%b0:i22:unit = store %b0:i21: struct %t1 %l1:* struct %t1
%b0:i23:*i8 = getelementptr %l1:* struct %t1 offset 0:i64
%b0:i24:i8 = load %b0:i23:*i8
%b0:i25:*[4 x i32] = getelementptr %l1:* struct %t1 offset 4:i64
%b0:i26:*i32 = getelementptr %b0:i25:*[4 x i32] offset 0:i32
%b0:i20:unit = store %b0:i19:i64 %b0:i18:i64*
%b0:i21:struct %t1 = load %l0:const struct %t1*
%b0:i22:unit = store %b0:i21:struct %t1 %l1:struct %t1*
%b0:i23:i8* = getelementptr %l1:struct %t1* offset 0:i64
%b0:i24:i8 = load %b0:i23:i8*
%b0:i25:[4 x i32]* = getelementptr %l1:struct %t1* offset 4:i64
%b0:i26:i32* = getelementptr %b0:i25:[4 x i32]* offset 0:i32
%b0:i27:i64 = typecast 2:i32 to i64
%b0:i28:i64 = mul %b0:i27:i64 4:i64
%b0:i29:*i32 = getelementptr %b0:i26:*i32 offset %b0:i28:i64
%b0:i30:i32 = load %b0:i29:*i32
%b0:i29:i32* = getelementptr %b0:i26:i32* offset %b0:i28:i64
%b0:i30:i32 = load %b0:i29:i32*
%b0:i31:i32 = typecast %b0:i24:i8 to i32
%b0:i32:i32 = add %b0:i31:i32 %b0:i30:i32
%b0:i33:*i64 = getelementptr %l1:* struct %t1 offset 24:i64
%b0:i34:i64 = load %b0:i33:*i64
%b0:i33:i64* = getelementptr %l1:struct %t1* offset 24:i64
%b0:i34:i64 = load %b0:i33:i64*
%b0:i35:i64 = typecast %b0:i32:i32 to i64
%b0:i36:i64 = add %b0:i35:i64 %b0:i34:i64
%b0:i37:i32 = typecast %b0:i36:i64 to i32

View File

@@ -1,75 +1,75 @@
struct Sub : { i64, i64, i64, i64 }
struct Big : { struct Sub, struct Sub, struct Sub }
struct Big : { m1:struct Sub, m2:struct Sub, m3:struct Sub }
struct Sub : { m1:i64, m2:i64, m3:i64, m4:i64 }
fun struct Big @foo ( struct Big) {
fun struct Big @foo (struct Big) {
init:
bid: b0
allocations:
%l0: struct Big:r
%l0:struct Big:r
block b0:
%b0:i0:unit = store %b0:p0: struct Big %l0:* struct Big
%b0:i1:* struct Sub = getelementptr %l0:* struct Big offset 0:i64
%b0:i2:*i64 = getelementptr %b0:i1:* struct Sub offset 0:i64
%b0:i0:unit = store %b0:p0:struct Big %l0:struct Big*
%b0:i1:struct Sub* = getelementptr %l0:struct Big* offset 0:i64
%b0:i2:i64* = getelementptr %b0:i1:struct Sub* offset 0:i64
%b0:i3:i64 = typecast 10:i32 to i64
%b0:i4:unit = store %b0:i3:i64 %b0:i2:*i64
%b0:i5: struct Big = load %l0:* struct Big
ret %b0:i5: struct Big
%b0:i4:unit = store %b0:i3:i64 %b0:i2:i64*
%b0:i5:struct Big = load %l0:struct Big*
ret %b0:i5:struct Big
}
fun i32 @main () {
init:
bid: b0
allocations:
%l0: struct Big:a
%l1: struct Big:r
%l0:struct Big:a
%l1:struct Big:r
block b0:
%b0:i0:* struct Sub = getelementptr %l0:* struct Big offset 0:i64
%b0:i1:*i64 = getelementptr %b0:i0:* struct Sub offset 0:i64
%b0:i0:struct Sub* = getelementptr %l0:struct Big* offset 0:i64
%b0:i1:i64* = getelementptr %b0:i0:struct Sub* offset 0:i64
%b0:i2:i64 = typecast 1:i32 to i64
%b0:i3:unit = store %b0:i2:i64 %b0:i1:*i64
%b0:i4:*i64 = getelementptr %b0:i0:* struct Sub offset 8:i64
%b0:i3:unit = store %b0:i2:i64 %b0:i1:i64*
%b0:i4:i64* = getelementptr %b0:i0:struct Sub* offset 8:i64
%b0:i5:i64 = typecast 2:i32 to i64
%b0:i6:unit = store %b0:i5:i64 %b0:i4:*i64
%b0:i7:*i64 = getelementptr %b0:i0:* struct Sub offset 16:i64
%b0:i6:unit = store %b0:i5:i64 %b0:i4:i64*
%b0:i7:i64* = getelementptr %b0:i0:struct Sub* offset 16:i64
%b0:i8:i64 = typecast 3:i32 to i64
%b0:i9:unit = store %b0:i8:i64 %b0:i7:*i64
%b0:i10:*i64 = getelementptr %b0:i0:* struct Sub offset 24:i64
%b0:i9:unit = store %b0:i8:i64 %b0:i7:i64*
%b0:i10:i64* = getelementptr %b0:i0:struct Sub* offset 24:i64
%b0:i11:i64 = typecast 4:i32 to i64
%b0:i12:unit = store %b0:i11:i64 %b0:i10:*i64
%b0:i13:* struct Sub = getelementptr %l0:* struct Big offset 32:i64
%b0:i14:*i64 = getelementptr %b0:i13:* struct Sub offset 0:i64
%b0:i12:unit = store %b0:i11:i64 %b0:i10:i64*
%b0:i13:struct Sub* = getelementptr %l0:struct Big* offset 32:i64
%b0:i14:i64* = getelementptr %b0:i13:struct Sub* offset 0:i64
%b0:i15:i64 = typecast 2:i32 to i64
%b0:i16:unit = store %b0:i15:i64 %b0:i14:*i64
%b0:i17:*i64 = getelementptr %b0:i13:* struct Sub offset 8:i64
%b0:i16:unit = store %b0:i15:i64 %b0:i14:i64*
%b0:i17:i64* = getelementptr %b0:i13:struct Sub* offset 8:i64
%b0:i18:i64 = typecast 3:i32 to i64
%b0:i19:unit = store %b0:i18:i64 %b0:i17:*i64
%b0:i20:*i64 = getelementptr %b0:i13:* struct Sub offset 16:i64
%b0:i19:unit = store %b0:i18:i64 %b0:i17:i64*
%b0:i20:i64* = getelementptr %b0:i13:struct Sub* offset 16:i64
%b0:i21:i64 = typecast 4:i32 to i64
%b0:i22:unit = store %b0:i21:i64 %b0:i20:*i64
%b0:i23:*i64 = getelementptr %b0:i13:* struct Sub offset 24:i64
%b0:i22:unit = store %b0:i21:i64 %b0:i20:i64*
%b0:i23:i64* = getelementptr %b0:i13:struct Sub* offset 24:i64
%b0:i24:i64 = typecast 5:i32 to i64
%b0:i25:unit = store %b0:i24:i64 %b0:i23:*i64
%b0:i26:* struct Sub = getelementptr %l0:* struct Big offset 64:i64
%b0:i27:*i64 = getelementptr %b0:i26:* struct Sub offset 0:i64
%b0:i25:unit = store %b0:i24:i64 %b0:i23:i64*
%b0:i26:struct Sub* = getelementptr %l0:struct Big* offset 64:i64
%b0:i27:i64* = getelementptr %b0:i26:struct Sub* offset 0:i64
%b0:i28:i64 = typecast 3:i32 to i64
%b0:i29:unit = store %b0:i28:i64 %b0:i27:*i64
%b0:i30:*i64 = getelementptr %b0:i26:* struct Sub offset 8:i64
%b0:i29:unit = store %b0:i28:i64 %b0:i27:i64*
%b0:i30:i64* = getelementptr %b0:i26:struct Sub* offset 8:i64
%b0:i31:i64 = typecast 4:i32 to i64
%b0:i32:unit = store %b0:i31:i64 %b0:i30:*i64
%b0:i33:*i64 = getelementptr %b0:i26:* struct Sub offset 16:i64
%b0:i32:unit = store %b0:i31:i64 %b0:i30:i64*
%b0:i33:i64* = getelementptr %b0:i26:struct Sub* offset 16:i64
%b0:i34:i64 = typecast 5:i32 to i64
%b0:i35:unit = store %b0:i34:i64 %b0:i33:*i64
%b0:i36:*i64 = getelementptr %b0:i26:* struct Sub offset 24:i64
%b0:i35:unit = store %b0:i34:i64 %b0:i33:i64*
%b0:i36:i64* = getelementptr %b0:i26:struct Sub* offset 24:i64
%b0:i37:i64 = typecast 6:i32 to i64
%b0:i38:unit = store %b0:i37:i64 %b0:i36:*i64
%b0:i39: struct Big = load %l0:* struct Big
%b0:i40: struct Big = call @foo:*[ret: struct Big params:( struct Big)](%b0:i39: struct Big)
%b0:i41:unit = store %b0:i40: struct Big %l1:* struct Big
%b0:i42:* struct Sub = getelementptr %l1:* struct Big offset 0:i64
%b0:i43:*i64 = getelementptr %b0:i42:* struct Sub offset 0:i64
%b0:i44:i64 = load %b0:i43:*i64
%b0:i38:unit = store %b0:i37:i64 %b0:i36:i64*
%b0:i39:struct Big = load %l0:struct Big*
%b0:i40:struct Big = call @foo:[ret:struct Big params:(struct Big)]*(%b0:i39:struct Big)
%b0:i41:unit = store %b0:i40:struct Big %l1:struct Big*
%b0:i42:struct Sub* = getelementptr %l1:struct Big* offset 0:i64
%b0:i43:i64* = getelementptr %b0:i42:struct Sub* offset 0:i64
%b0:i44:i64 = load %b0:i43:i64*
%b0:i45:i64 = typecast 10:i32 to i64
%b0:i46:u1 = cmp eq %b0:i44:i64 %b0:i45:i64
%b0:i47:i32 = typecast %b0:i46:u1 to i32

View File

@@ -1,10 +1,10 @@
struct color : { i32, i8 }
struct color : { number:i32, name:i8 }
fun i32 @main () {
init:
bid: b0
allocations:
%l0: struct color:c
%l0:struct color:c
block b0:
%b0:i0:u64 = typecast 0:i32 to u64
@@ -13,17 +13,17 @@ block b0:
%b0:i3:u64 = typecast %b0:i2:i32 to u64
%b0:i4:u64 = add %b0:i3:u64 1:u64
%b0:i5:i32 = typecast %b0:i4:u64 to i32
%b0:i6:*i32 = getelementptr %l0:* struct color offset 0:i64
%b0:i7:unit = store 1:i32 %b0:i6:*i32
%b0:i8:*i8 = getelementptr %l0:* struct color offset 4:i64
%b0:i6:i32* = getelementptr %l0:struct color* offset 0:i64
%b0:i7:unit = store 1:i32 %b0:i6:i32*
%b0:i8:i8* = getelementptr %l0:struct color* offset 4:i64
%b0:i9:i8 = typecast 2:i32 to i8
%b0:i10:unit = store %b0:i9:i8 %b0:i8:*i8
%b0:i11:*i8 = getelementptr %l0:* struct color offset 4:i64
%b0:i12:i8 = load %b0:i11:*i8
%b0:i10:unit = store %b0:i9:i8 %b0:i8:i8*
%b0:i11:i8* = getelementptr %l0:struct color* offset 4:i64
%b0:i12:i8 = load %b0:i11:i8*
%b0:i13:i32 = typecast %b0:i12:i8 to i32
%b0:i14:i32 = add %b0:i5:i32 %b0:i13:i32
%b0:i15:*i8 = getelementptr %l0:* struct color offset 4:i64
%b0:i16:i8 = load %b0:i15:*i8
%b0:i15:i8* = getelementptr %l0:struct color* offset 4:i64
%b0:i16:i8 = load %b0:i15:i8*
%b0:i17:i32 = typecast %b0:i16:i8 to i32
%b0:i18:i32 = add %b0:i14:i32 %b0:i17:i32
j b2(%b0:i18:i32, 0:i32)

View File

@@ -8,7 +8,7 @@ init:
block b0:
%b0:i0:i8 = typecast 61238:i64 to i8
%b0:i1:unit = store %b0:i0:i8 @temp:*i8
%b0:i1:unit = store %b0:i0:i8 @temp:i8*
%b0:i2:i64 = typecast %b0:i0:i8 to i64
%b0:i3:u1 = cmp ge %b0:i2:i64 2:i64
%b0:i4:i32 = typecast %b0:i3:u1 to i32

View File

@@ -6,8 +6,8 @@ init:
%l0:i32:a
block b0:
%b0:i0:unit = store 0:i32 %l0:*i32
%b0:i1:unit = store 1:i32 %l0:*i32
%b0:i2:i32 = load %l0:*i32
%b0:i0:unit = store 0:i32 %l0:i32*
%b0:i1:unit = store 1:i32 %l0:i32*
%b0:i2:i32 = load %l0:i32*
ret %b0:i2:i32
}

View File

@@ -40,7 +40,7 @@ init:
block b0:
%b0:i0:i32 = call @foo:*[ret:i32 params:()]()
%b0:i0:i32 = call @foo:[ret:i32 params:()]*()
%b0:i1:u1 = cmp eq %b0:i0:i32 7:i32
%b0:i2:i32 = typecast %b0:i1:u1 to i32
ret %b0:i2:i32