The absolute SLOG!
This commit is contained in:
parent
ec7bd32184
commit
9ffed9bd94
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' = {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue