The absolute SLOG!

This commit is contained in:
Sasha Koshka 2024-04-22 20:20:49 -04:00
parent ec7bd32184
commit 9ffed9bd94
9 changed files with 103 additions and 103 deletions

View File

@ -5,7 +5,7 @@ import "testing"
func TestValueCastSlicePointer (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
%2 = alloca ptr
@ -26,7 +26,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
func TestValueCastIntegerIneffectual (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::A" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
store i64 5, ptr %1
@ -49,7 +49,7 @@ func TestValueCastStringIneffectual (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
%2 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"
@ -70,7 +70,7 @@ func TestBitCastStringIneffectual (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
%2 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"

View File

@ -5,12 +5,12 @@ import "testing"
func TestConstantValueSpecified (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::E" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"() {
0:
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::plus4"(i64 2)
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[plus4]"(i64 2)
ret void
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::plus4"(%"0zNZN147MN2wzMAQ6NS2dQ==::E" %e) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[plus4]"(%"0zNZN147MN2wzMAQ6NS2dQ==::E" %e) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::E"
store %"0zNZN147MN2wzMAQ6NS2dQ==::E" %e, ptr %1
@ -50,12 +50,12 @@ E: Int
func TestConstantValueUnspecified (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::E" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"() {
0:
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::plus4"(i64 1)
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[plus4]"(i64 1)
ret void
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::plus4"(%"0zNZN147MN2wzMAQ6NS2dQ==::E" %e) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[plus4]"(%"0zNZN147MN2wzMAQ6NS2dQ==::E" %e) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::E"
store %"0zNZN147MN2wzMAQ6NS2dQ==::E" %e, ptr %1

View File

@ -4,7 +4,7 @@ import "testing"
func TestBranchAssign (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
br i1 true, label %2, label %4
@ -32,7 +32,7 @@ testString (test,
func TestBranchAssignNoFalse (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
br i1 true, label %2, label %3
@ -55,7 +55,7 @@ testString (test,
func TestBranchResult (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
br i1 true, label %2, label %5
@ -78,7 +78,7 @@ testString (test,
func TestLoopSimple (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
br label %1
1:
@ -98,7 +98,7 @@ testString (test,
func TestLoopResult (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
br label %2
@ -121,7 +121,7 @@ testString (test,
func TestLoopBranchResult (test *testing.T) {
testString (test,
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
store i64 6, ptr %1
@ -162,7 +162,7 @@ testString (test,
func TestMatch (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[matchToInt]"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
store %"0zNZN147MN2wzMAQ6NS2dQ==::U" %u, ptr %1
@ -204,7 +204,7 @@ func TestMatchReturn (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::isInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::[isInt]"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
store %"0zNZN147MN2wzMAQ6NS2dQ==::U" %u, ptr %1
@ -236,7 +236,7 @@ func TestMatchReturnValueUsed (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::isInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::[isInt]"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
store %"0zNZN147MN2wzMAQ6NS2dQ==::U" %u, ptr %1
@ -276,7 +276,7 @@ testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[matchToInt]"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
store %"0zNZN147MN2wzMAQ6NS2dQ==::U" %u, ptr %1
@ -309,7 +309,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::
%18 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %3, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 3, ptr %18
%19 = load %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %3
call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %19)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %19)
br label %10
20:
%21 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::U", ptr %1, i32 0, i32 1
@ -326,10 +326,10 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::
%27 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %6, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 3, ptr %27
%28 = load %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %6
call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %28)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %28)
br label %10
}
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str)
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str)
`,
`
U: (| Int F64 UInt)
@ -345,7 +345,7 @@ testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[matchToInt]"(%"0zNZN147MN2wzMAQ6NS2dQ==::U" %u) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
store %"0zNZN147MN2wzMAQ6NS2dQ==::U" %u, ptr %1
@ -380,7 +380,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::
%20 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %3, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 3, ptr %20
%21 = load %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %3
call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %21)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %21)
br label %12
22:
%23 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::U", ptr %1, i32 0, i32 1
@ -397,7 +397,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::
%29 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %6, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 3, ptr %29
%30 = load %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %6
call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %30)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %30)
br label %12
31:
%32 = getelementptr [3 x i8], ptr %9, i32 0, i32 0
@ -411,10 +411,10 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::matchToInt"(%"0zNZN147MN2wzMAQ6NS2dQ==::
%36 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %8, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 3, ptr %36
%37 = load %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %8
call void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %37)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %37)
br label %12
}
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str)
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str)
`,
`
U: (| Int F64 UInt)
@ -430,7 +430,7 @@ U: (| Int F64 UInt)
func TestSwitchReturn (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::[is5]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
@ -455,7 +455,7 @@ define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x
func TestSwitchReturnValueUsed (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::[is5]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
@ -482,7 +482,7 @@ define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x
func TestIfElseReturnValueUsed (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::[is5]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
@ -507,7 +507,7 @@ define %"AAAAAAAAAAAAAAAAAAAAAA==::Bool" @"0zNZN147MN2wzMAQ6NS2dQ==::is5"(i64 %x
func TestIfElseBreakValueUsed (test *testing.T) {
testString (test,
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::f"(i64 %x) {
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
@ -545,7 +545,7 @@ testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" = type i8
define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
0:
%1 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"
store %"AAAAAAAAAAAAAAAAAAAAAA==::String" %str, ptr %1
@ -566,7 +566,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %
%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)
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
@ -574,8 +574,8 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %
18:
ret void
}
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %x)
define void @"0zNZN147MN2wzMAQ6NS2dQ==::g"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
declare void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %x)
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
0:
%1 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"
store %"AAAAAAAAAAAAAAAAAAAAAA==::String" %str, ptr %1
@ -597,7 +597,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::g"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %
%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)
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
@ -617,7 +617,7 @@ testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" = type i8
%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" @"0zNZN147MN2wzMAQ6NS2dQ==::f"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %str) {
0:
%1 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"
store %"AAAAAAAAAAAAAAAAAAAAAA==::String" %str, ptr %1

View File

@ -19,20 +19,20 @@ define void @main() {
func TestFunctionCall (test *testing.T) {
testString (test,
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::f"() {
`define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"() {
0:
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::g"(i64 5)
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(i64 5)
ret i64 %1
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::g"(i64 %x) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
%2 = load i64, ptr %1
%3 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::h"(i64 %2)
%3 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[h]"(i64 %2)
ret i64 %3
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::h"(i64 %x) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[h]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
@ -49,21 +49,21 @@ define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::h"(i64 %x) {
func TestFunctionCallVoid (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::f"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[f]"() {
0:
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::g"(i64 5)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::h"()
%2 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::g"(i64 6)
%1 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(i64 5)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[h]"()
%2 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(i64 6)
ret void
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::g"(i64 %x) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[g]"(i64 %x) {
0:
%1 = alloca i64
store i64 %x, ptr %1
%2 = load i64, ptr %1
ret i64 %2
}
define void @"0zNZN147MN2wzMAQ6NS2dQ==::h"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[h]"() {
0:
ret void
}
@ -78,14 +78,14 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::h"() {
func TestMethod (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Number"
store i64 5, ptr %1
%2 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %1)
%2 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]"(ptr %1)
ret i64 %2
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %this) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -108,17 +108,17 @@ Number.[number]: Int = [.this]
func TestMethodPtr (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Number"
store i64 5, ptr %1
%2 = alloca ptr
store ptr %1, ptr %2
%3 = load ptr, ptr %2
%4 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %3)
%4 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]"(ptr %3)
ret i64 %4
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %this) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -142,17 +142,17 @@ Number.[number]: Int = [.this]
func TestMethodChained (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
store i64 5, ptr %1
%2 = call %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.add"(ptr %1, i64 8)
%2 = call %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[add]"(ptr %1, i64 8)
%3 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Number"
store %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %2, ptr %3
%4 = call %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.mul"(ptr %3, i64 3)
%4 = call %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[mul]"(ptr %3, i64 3)
ret %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %4
}
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.mul"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[mul]"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -164,7 +164,7 @@ define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.mu
%6 = mul %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %4, %5
ret %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %6
}
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.add"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[add]"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -176,7 +176,7 @@ define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.ad
%6 = add %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %4, %5
ret %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %6
}
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.div"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[div]"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -188,7 +188,7 @@ define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.di
%6 = sdiv %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %4, %5
ret %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %6
}
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.sub"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
define %"0zNZN147MN2wzMAQ6NS2dQ==::Number" @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[sub]"(ptr %this, %"0zNZN147MN2wzMAQ6NS2dQ==::Number" %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -239,10 +239,10 @@ define void @main() {
store ptr %3, ptr %10
%11 = getelementptr %"AAAAAAAAAAAAAAAAAAAAAA==::String", ptr %2, i32 0, i32 1
store %"AAAAAAAAAAAAAAAAAAAAAA==::Index" 6, ptr %11
call void @"0zNZN147MN2wzMAQ6NS2dQ==::Greeter.greet"(ptr %1)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::Greeter.[greet]"(ptr %1)
ret void
}
define void @"0zNZN147MN2wzMAQ6NS2dQ==::Greeter.greet"(ptr %this) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::Greeter.[greet]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1

View File

@ -6,14 +6,14 @@ func TestInterfaceBasic (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Doer" = type { ptr, ptr }
%"0zNZN147MN2wzMAQ6NS2dQ==::T" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Doer"
%2 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Doer", ptr %1, i32 0, i32 0
%3 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::T"
store ptr %3, ptr %2
%4 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Doer", ptr %1, i32 0, i32 1
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::T.do", ptr %4
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::T.[do]", ptr %4
%5 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Doer", ptr %1, i32 0, i32 1
%6 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Doer", ptr %1, i32 0, i32 0
%7 = load ptr, ptr %6
@ -21,7 +21,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
call void %8(ptr %7)
ret void
}
define void @"0zNZN147MN2wzMAQ6NS2dQ==::T.do"(ptr %this) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::T.[do]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -44,7 +44,7 @@ func TestInterfaceIntegerReturn (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64
%"0zNZN147MN2wzMAQ6NS2dQ==::Numbered" = type { ptr, ptr }
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Number"
store i64 5, ptr %1
@ -52,7 +52,7 @@ define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
%3 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Numbered", ptr %2, i32 0, i32 0
store ptr %1, ptr %3
%4 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Numbered", ptr %2, i32 0, i32 1
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number", ptr %4
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]", ptr %4
%5 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Numbered", ptr %2, i32 0, i32 1
%6 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Numbered", ptr %2, i32 0, i32 0
%7 = load ptr, ptr %6
@ -60,7 +60,7 @@ define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
%9 = call i64 %8(ptr %7)
ret i64 %9
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %this) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.[number]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -96,12 +96,12 @@ define i64 @main() {
%3 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Writer", ptr %2, i32 0, i32 0
store ptr %1, ptr %3
%4 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Writer", ptr %2, i32 0, i32 1
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::File.write", ptr %4
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::File.[write]", ptr %4
%5 = load %"0zNZN147MN2wzMAQ6NS2dQ==::Writer", ptr %2
call void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"0zNZN147MN2wzMAQ6NS2dQ==::Writer" %5)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[sayHello]"(%"0zNZN147MN2wzMAQ6NS2dQ==::Writer" %5)
ret i64 0
}
define void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"0zNZN147MN2wzMAQ6NS2dQ==::Writer" %writer) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[sayHello]"(%"0zNZN147MN2wzMAQ6NS2dQ==::Writer" %writer) {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Writer"
store %"0zNZN147MN2wzMAQ6NS2dQ==::Writer" %writer, ptr %1
@ -153,7 +153,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"0zNZN147MN2wzMAQ6NS2dQ==::Wr
%28 = call %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %27(ptr %26, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %23)
ret void
}
define %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::File.write"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer) {
define %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::File.[write]"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
@ -165,10 +165,10 @@ define %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::File.write
%6 = load ptr, ptr %5
%7 = getelementptr { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }, ptr %2, i32 0, i32 1
%8 = load %"AAAAAAAAAAAAAAAAAAAAAA==::Index", ptr %7
%9 = call %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::write"(%"0zNZN147MN2wzMAQ6NS2dQ==::File" %4, ptr %6, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %8)
%9 = call %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::[write]"(%"0zNZN147MN2wzMAQ6NS2dQ==::File" %4, ptr %6, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %8)
ret %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %9
}
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::write"(%"0zNZN147MN2wzMAQ6NS2dQ==::File" %fd, ptr %buffer, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %count)
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::[write]"(%"0zNZN147MN2wzMAQ6NS2dQ==::File" %fd, ptr %buffer, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %count)
`,
`
[write fd:File buffer:*Byte count:Index]: Index
@ -202,10 +202,10 @@ define void @main() {
store i32 0, ptr %4
store ptr %4, ptr %3
%5 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Writer", ptr %2, i32 0, i32 1
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::File.write", ptr %5
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::File.[write]", ptr %5
ret void
}
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::File.write"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer)
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"0zNZN147MN2wzMAQ6NS2dQ==::File.[write]"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer)
`,
`
Writer: (& [write buffer:*:Byte]: Index)
@ -230,10 +230,10 @@ define void @main() {
%3 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Impl"
store ptr %3, ptr %2
%4 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::Face", ptr %1, i32 0, i32 1
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::Impl.x", ptr %4
store ptr @"0zNZN147MN2wzMAQ6NS2dQ==::Impl.[x]", ptr %4
ret void
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Impl.x"(ptr %this) {
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Impl.[x]"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1

View File

@ -6,7 +6,7 @@ func TestPrintDigit (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" = type i8
%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::printDigit"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %digit) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[printDigit]"(%"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %digit) {
0:
%1 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::Byte"
store %"AAAAAAAAAAAAAAAAAAAAAA==::Byte" %digit, ptr %1
@ -33,7 +33,7 @@ declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @write(i32 %file, ptr %buffer, %"AAAA
func TestSignedUnsignedDivision (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
%2 = sdiv i64 20, -5
@ -71,7 +71,7 @@ testString (test,
func TestFloatMath (test *testing.T) {
testString (test,
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
`define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca double
%2 = fadd double 2.0, 3.0
@ -95,7 +95,7 @@ func TestCompare (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Bool" = type i1
%"0zNZN147MN2wzMAQ6NS2dQ==::A" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca i64
store i64 32, ptr %1
@ -131,7 +131,7 @@ func TestSlice (test *testing.T) {
testString (test,
`%"AAAAAAAAAAAAAAAAAAAAAA==::Index" = type i64
%"AAAAAAAAAAAAAAAAAAAAAA==::String" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::print"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %string) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[print]"(%"AAAAAAAAAAAAAAAAAAAAAA==::String" %string) {
0:
%1 = alloca %"AAAAAAAAAAAAAAAAAAAAAA==::String"
store %"AAAAAAAAAAAAAAAAAAAAAA==::String" %string, ptr %1

View File

@ -5,7 +5,7 @@ import "testing"
func TestUnitTwo (test *testing.T) {
testUnits (test,
`%"E80Pxr3rNdulEDOmHs9Hsg==::X" = type i64
define %"E80Pxr3rNdulEDOmHs9Hsg==::X" @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define %"E80Pxr3rNdulEDOmHs9Hsg==::X" @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
ret i64 5
}
@ -19,7 +19,7 @@ define %"E80Pxr3rNdulEDOmHs9Hsg==::X" @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
func TestUnitAssignRestricted (test *testing.T) {
testUnits (test,
`%"s0sfKEEPN2W0H9cNKD+OOg==::RestrictedInt" = type i64
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"s0sfKEEPN2W0H9cNKD+OOg==::RestrictedInt"
%2 = alloca %"s0sfKEEPN2W0H9cNKD+OOg==::RestrictedInt"
@ -42,7 +42,7 @@ func TestNestedUnitTypedef (test *testing.T) {
testUnits (test,
`%"kOsrvvRIOh2nYGTmlfGyKQ==::X" = type i64
%"qnTuCId6O/ihTdVz5Ln6WQ==::X" = type %"kOsrvvRIOh2nYGTmlfGyKQ==::X"
define %"qnTuCId6O/ihTdVz5Ln6WQ==::X" @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define %"qnTuCId6O/ihTdVz5Ln6WQ==::X" @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
ret i64 5
}
@ -72,12 +72,12 @@ define i32 @main() {
%3 = getelementptr %"1cqXRNyHN06gi9QQb4GCsg==::Writer", ptr %2, i32 0, i32 0
store ptr %1, ptr %3
%4 = getelementptr %"1cqXRNyHN06gi9QQb4GCsg==::Writer", ptr %2, i32 0, i32 1
store ptr @"1cqXRNyHN06gi9QQb4GCsg==::File.write", ptr %4
store ptr @"1cqXRNyHN06gi9QQb4GCsg==::File.[write]", ptr %4
%5 = load %"1cqXRNyHN06gi9QQb4GCsg==::Writer", ptr %2
call void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"1cqXRNyHN06gi9QQb4GCsg==::Writer" %5)
call void @"0zNZN147MN2wzMAQ6NS2dQ==::[sayHello]"(%"1cqXRNyHN06gi9QQb4GCsg==::Writer" %5)
ret i32 0
}
define void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"1cqXRNyHN06gi9QQb4GCsg==::Writer" %writer) {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[sayHello]"(%"1cqXRNyHN06gi9QQb4GCsg==::Writer" %writer) {
0:
%1 = alloca %"1cqXRNyHN06gi9QQb4GCsg==::Writer"
store %"1cqXRNyHN06gi9QQb4GCsg==::Writer" %writer, ptr %1
@ -101,7 +101,7 @@ define void @"0zNZN147MN2wzMAQ6NS2dQ==::sayHello"(%"1cqXRNyHN06gi9QQb4GCsg==::Wr
%14 = call %"AAAAAAAAAAAAAAAAAAAAAA==::Index" %13(ptr %12, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %9)
ret void
}
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"1cqXRNyHN06gi9QQb4GCsg==::File.write"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer)
declare %"AAAAAAAAAAAAAAAAAAAAAA==::Index" @"1cqXRNyHN06gi9QQb4GCsg==::File.[write]"(ptr %this, { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" } %buffer)
`,
`[sayHello writer:io::Writer] = writer.[write 'hi\n']
@ -130,10 +130,10 @@ testUnits (test,
define void @main() {
0:
%1 = alloca %"9U3Q1r5tPJSXoVNdBSzCow==::T"
call void @"9U3Q1r5tPJSXoVNdBSzCow==::T.method"(ptr %1)
call void @"9U3Q1r5tPJSXoVNdBSzCow==::T.[method]"(ptr %1)
ret void
}
declare void @"9U3Q1r5tPJSXoVNdBSzCow==::T.method"(ptr %this)
declare void @"9U3Q1r5tPJSXoVNdBSzCow==::T.[method]"(ptr %this)
`,
`[main] 'main' = {
@ -152,10 +152,10 @@ testUnits (test,
0:
%1 = alloca ptr
%2 = load ptr, ptr %1
call void @"9U3Q1r5tPJSXoVNdBSzCow==::T.method"(ptr %2)
call void @"9U3Q1r5tPJSXoVNdBSzCow==::T.[method]"(ptr %2)
ret void
}
declare void @"9U3Q1r5tPJSXoVNdBSzCow==::T.method"(ptr %this)
declare void @"9U3Q1r5tPJSXoVNdBSzCow==::T.[method]"(ptr %this)
`,
`[main] 'main' = {

View File

@ -17,7 +17,7 @@ testString (test,
%"0zNZN147MN2wzMAQ6NS2dQ==::Path" = type { ptr, %"AAAAAAAAAAAAAAAAAAAAAA==::Index" }
%"0zNZN147MN2wzMAQ6NS2dQ==::Quadrangle" = type [4 x %"0zNZN147MN2wzMAQ6NS2dQ==::Point"]
%"0zNZN147MN2wzMAQ6NS2dQ==::AllTypes" = type { %"AAAAAAAAAAAAAAAAAAAAAA==::String", %"0zNZN147MN2wzMAQ6NS2dQ==::Pegasus", %"0zNZN147MN2wzMAQ6NS2dQ==::Rectangle", %"0zNZN147MN2wzMAQ6NS2dQ==::AllInts", %"0zNZN147MN2wzMAQ6NS2dQ==::AllFloats", %"0zNZN147MN2wzMAQ6NS2dQ==::Path", %"0zNZN147MN2wzMAQ6NS2dQ==::Quadrangle" }
declare %"0zNZN147MN2wzMAQ6NS2dQ==::AllTypes" @"0zNZN147MN2wzMAQ6NS2dQ==::x"()
declare %"0zNZN147MN2wzMAQ6NS2dQ==::AllTypes" @"0zNZN147MN2wzMAQ6NS2dQ==::[x]"()
`,
`
Point: (.x:Int y:Int)
@ -67,7 +67,7 @@ testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::A" = type ptr
%"0zNZN147MN2wzMAQ6NS2dQ==::B" = type ptr
%"0zNZN147MN2wzMAQ6NS2dQ==::C" = type ptr
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::A"
%2 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::B"
@ -90,7 +90,7 @@ testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::A" = type ptr
%"0zNZN147MN2wzMAQ6NS2dQ==::B" = type %"0zNZN147MN2wzMAQ6NS2dQ==::A"
%"0zNZN147MN2wzMAQ6NS2dQ==::C" = type %"0zNZN147MN2wzMAQ6NS2dQ==::B"
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::A"
%2 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::B"
@ -112,7 +112,7 @@ func TestChainedTypedefGetElementPtr (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::A" = type { i64 }
%"0zNZN147MN2wzMAQ6NS2dQ==::B" = type %"0zNZN147MN2wzMAQ6NS2dQ==::A"
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::B"
%2 = getelementptr %"0zNZN147MN2wzMAQ6NS2dQ==::B", ptr %1, i32 0, i32 0
@ -139,7 +139,7 @@ testString (test,
%"0zNZN147MN2wzMAQ6NS2dQ==::Point" = type { i64, i64 }
%"0zNZN147MN2wzMAQ6NS2dQ==::Error" = type { ptr, ptr }
%"0zNZN147MN2wzMAQ6NS2dQ==::PointOrError" = type { i64, i128 }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
%2 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::SmallU"

View File

@ -5,7 +5,7 @@ import "testing"
func TestAssignmentUnion (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca double
store double 0x401ECCCCCCCCCCCD, ptr %1
@ -29,7 +29,7 @@ U: (| Int F64)
func TestAssignmentUnionToUnion (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::U" = type { i64, i64 }
define void @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
define void @"0zNZN147MN2wzMAQ6NS2dQ==::[main]"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"
%2 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::U"