diff --git a/generator/control-flow_test.go b/generator/control-flow_test.go index d818752..963c8f0 100644 --- a/generator/control-flow_test.go +++ b/generator/control-flow_test.go @@ -418,20 +418,21 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" % %6 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %5 %7 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %8 = icmp ult %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %7, %6 - br i1 %8, label %9, label %17 + br i1 %8, label %9, label %18 9: %10 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %1, i32 0, i32 0 %11 = load ptr, ptr %10 %12 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %13 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %11, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %12 - store ptr %13, ptr %3 - %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 - call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %14) - %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 - %16 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %15, 1 - store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, ptr %2 - br label %9 -17: + %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %13 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %14, ptr %3 + %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 + call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %15) + %16 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 + %17 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, 1 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %17, ptr %2 + br label %4 +18: ret void } declare void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %x) @@ -448,20 +449,21 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::g"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" % %6 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %5 %7 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %8 = icmp ult %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %7, %6 - br i1 %8, label %9, label %17 + br i1 %8, label %9, label %18 9: %10 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %1, i32 0, i32 0 %11 = load ptr, ptr %10 %12 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %13 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %11, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %12 - store ptr %13, ptr %3 - %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 - call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %14) - %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 - %16 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %15, 1 - store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, ptr %2 - br label %9 -17: + %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %13 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %14, ptr %3 + %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 + call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %15) + %16 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 + %17 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, 1 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %17, ptr %2 + br label %4 +18: ret void } `, @@ -488,21 +490,22 @@ define %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAA %6 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %5 %7 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %8 = icmp ult %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %7, %6 - br i1 %8, label %9, label %17 + br i1 %8, label %9, label %18 9: %10 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %1, i32 0, i32 0 %11 = load ptr, ptr %10 %12 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 %13 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %11, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %12 - store ptr %13, ptr %3 - %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 - %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 - %16 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %15, 1 - store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, ptr %2 - br label %17 -17: - %18 = phi %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" [ %14, %9 ], [ zeroinitializer, %4 ] - ret %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %18 + %14 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %13 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %14, ptr %3 + %15 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Byte", ptr %3 + %16 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %2 + %17 = add %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %16, 1 + store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %17, ptr %2 + br label %18 +18: + %19 = phi %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" [ %15, %9 ], [ zeroinitializer, %4 ] + ret %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %19 } `, ` diff --git a/generator/union_test.go b/generator/union_test.go index 98a940a..ef6d612 100644 --- a/generator/union_test.go +++ b/generator/union_test.go @@ -15,7 +15,6 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() { store i64 9186060094042213285, ptr %3 %5 = load double, ptr %1 store double %5, ptr %4 - %6 = load %"0zNZN147MN2wzMAQ6NS2dQ==::U", ptr %2 ret void } `,