diff --git a/_demo/embed/targetsbuild/build.sh b/_demo/embed/targetsbuild/build.sh index 23171f9014..085a51c3ac 100755 --- a/_demo/embed/targetsbuild/build.sh +++ b/_demo/embed/targetsbuild/build.sh @@ -111,6 +111,7 @@ case "$test_dir" in "riscv32" "riscv64" "rp2040" + "nintendoswitch" # undefined symbol under lto, should not work when no-lto ) ;; defer) diff --git a/cl/_testdata/apkg/out.ll b/cl/_testdata/apkg/out.ll index adaa6e282f..2a738d8f3b 100644 --- a/cl/_testdata/apkg/out.ll +++ b/cl/_testdata/apkg/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/apkg" @"github.com/goplus/llgo/cl/_testdata/apkg.init$guard" = global i1 false, align 1 -define double @"github.com/goplus/llgo/cl/_testdata/apkg.Max"(double %0, double %1) { +define double @"github.com/goplus/llgo/cl/_testdata/apkg.Max"(double %0, double %1) #0 { _llgo_0: %2 = fcmp ogt double %0, %1 br i1 %2, label %_llgo_1, label %_llgo_2 @@ -15,7 +15,7 @@ _llgo_2: ; preds = %_llgo_0 ret double %1 } -define void @"github.com/goplus/llgo/cl/_testdata/apkg.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/apkg.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/apkg.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -27,3 +27,5 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/cpkg/out.ll b/cl/_testdata/cpkg/out.ll index 934dc70038..bbf9ac94ea 100644 --- a/cl/_testdata/cpkg/out.ll +++ b/cl/_testdata/cpkg/out.ll @@ -2,26 +2,27 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/cpkg" @"github.com/goplus/llgo/cl/_testdata/cpkg.init$guard" = global i1 false, align 1 +@llvm.compiler.used = appending global [2 x ptr] [ptr @Double, ptr @add], section "llvm.metadata" -define double @Double(double %0) { +define double @Double(double %0) #0 { _llgo_0: %1 = fmul double 2.000000e+00, %0 ret double %1 } -define i64 @add(i64 %0, i64 %1) { +define i64 @add(i64 %0, i64 %1) #0 { _llgo_0: %2 = call i64 @"github.com/goplus/llgo/cl/_testdata/cpkg.add"(i64 %0, i64 %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testdata/cpkg.add"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testdata/cpkg.add"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/cpkg.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -33,3 +34,5 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/cpkgimp/out.ll b/cl/_testdata/cpkgimp/out.ll index 9f3a64d7e8..4ec9e8461d 100644 --- a/cl/_testdata/cpkgimp/out.ll +++ b/cl/_testdata/cpkgimp/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/cpkgimp" @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,7 +17,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.main"() #0 { _llgo_0: %0 = call i64 @add(i64 1, i64 2) %1 = call double @Double(double 3.140000e+00) @@ -28,14 +28,16 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"() #0 -declare i64 @add(i64, i64) +declare i64 @add(i64, i64) #0 -declare double @Double(double) +declare double @Double(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/embedunexport/out.ll b/cl/_testdata/embedunexport/out.ll index 986d419641..fedd39903e 100644 --- a/cl/_testdata/embedunexport/out.ll +++ b/cl/_testdata/embedunexport/out.ll @@ -8,21 +8,21 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/embedunexport" @"github.com/goplus/llgo/cl/_testdata/embedunexport.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [8 x i8] c"modified", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).Name"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).Name"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/embedunexport.Base", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).setName"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).setName"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/embedunexport.Base", ptr %0, i32 0, i32 0 store %"github.com/goplus/llgo/runtime/internal/runtime.String" %1, ptr %2, align 8 ret void } -define ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.NewBase"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.NewBase"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/embedunexport.Base", ptr %1, i32 0, i32 0 @@ -30,7 +30,7 @@ _llgo_0: ret ptr %1 } -define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.Use"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.Use"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, 0 @@ -44,7 +44,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/embedunexport.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -57,6 +57,8 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/fncall/out.ll b/cl/_testdata/fncall/out.ll index e06c96e4f2..9c29f83553 100644 --- a/cl/_testdata/fncall/out.ll +++ b/cl/_testdata/fncall/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/fncall" @"github.com/goplus/llgo/cl/_testdata/fncall.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/fncall.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/fncall.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/fncall.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,13 +16,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/fncall.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/fncall.main"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testdata/fncall.max"(i64 1, i64 2) ret void } -define i64 @"github.com/goplus/llgo/cl/_testdata/fncall.max"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testdata/fncall.max"(i64 %0, i64 %1) #0 { _llgo_0: %2 = icmp sgt i64 %0, %1 br i1 %2, label %_llgo_1, label %_llgo_2 @@ -33,3 +33,5 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 ret i64 %1 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/foo/out.ll b/cl/_testdata/foo/out.ll index 2deb0f303e..20899e2e5c 100644 --- a/cl/_testdata/foo/out.ll +++ b/cl/_testdata/foo/out.ll @@ -27,7 +27,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/foo" @"github.com/goplus/llgo/cl/_testdata/foo.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88$fields" = weak_odr constant [1 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 1 }, ptr @_llgo_int, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 @6 = private unnamed_addr constant [4 x i8] c"load", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.Bar"() { +define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.Bar"() #0 { _llgo_0: %0 = alloca { i64 }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -40,7 +40,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.eface" %5 } -define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.F"() { +define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.F"() #0 { _llgo_0: %0 = alloca { i64 }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -53,7 +53,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.eface" %5 } -define ptr @"github.com/goplus/llgo/cl/_testdata/foo.Foo.Pb"(%"github.com/goplus/llgo/cl/_testdata/foo.Foo" %0) { +define ptr @"github.com/goplus/llgo/cl/_testdata/foo.Foo.Pb"(%"github.com/goplus/llgo/cl/_testdata/foo.Foo" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testdata/foo.Foo", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -63,26 +63,26 @@ _llgo_0: ret ptr %3 } -define ptr @"github.com/goplus/llgo/cl/_testdata/foo.(*Foo).Pb"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testdata/foo.(*Foo).Pb"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testdata/foo.Foo", ptr %0, align 8 %2 = call ptr @"github.com/goplus/llgo/cl/_testdata/foo.Foo.Pb"(%"github.com/goplus/llgo/cl/_testdata/foo.Foo" %1) ret ptr %2 } -define void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).Load"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).Load"(ptr %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @6, i64 4 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).initGame"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).initGame"(ptr %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/foo.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/foo.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/foo.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -96,28 +96,29 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/geometry1370/out.ll b/cl/_testdata/geometry1370/out.ll index 0651810645..3e5e8b6919 100644 --- a/cl/_testdata/geometry1370/out.ll +++ b/cl/_testdata/geometry1370/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/geometry1370" @"github.com/goplus/llgo/cl/_testdata/geometry1370.init$guard" = global i1 false, align 1 -define ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.NewRectangle"(double %0, double %1) { +define ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.NewRectangle"(double %0, double %1) #0 { _llgo_0: %2 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 24) %3 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle", ptr %2, i32 0, i32 0 @@ -16,7 +16,7 @@ _llgo_0: ret ptr %2 } -define double @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).Area"(ptr %0) { +define double @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).Area"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle", ptr %0, i32 0, i32 0 %2 = load double, ptr %1, align 8 @@ -26,21 +26,21 @@ _llgo_0: ret double %5 } -define i64 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).GetID"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).GetID"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle", ptr %0, i32 0, i32 2 %2 = load i64, ptr %1, align 4 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).setID"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).setID"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle", ptr %0, i32 0, i32 2 store i64 %1, ptr %2, align 4 ret void } -define i1 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).validate"(ptr %0) { +define i1 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).validate"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle", ptr %0, i32 0, i32 0 %2 = load double, ptr %1, align 8 @@ -58,7 +58,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret i1 %7 } -define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.RegisterShape"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.RegisterShape"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, i64 %1) #0 { _llgo_0: %2 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %3 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, 0 @@ -72,7 +72,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/geometry1370.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -85,6 +85,8 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/importpkg/out.ll b/cl/_testdata/importpkg/out.ll index 1567703d01..7eb5b97176 100644 --- a/cl/_testdata/importpkg/out.ll +++ b/cl/_testdata/importpkg/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/importpkg" @"github.com/goplus/llgo/cl/_testdata/importpkg.hello" = global [7 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testdata/importpkg.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/importpkg.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/importpkg.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/importpkg.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -25,15 +25,17 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/importpkg.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/importpkg.main"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testdata/importpkg/stdio.Max"(i64 2, i64 100) call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testdata/importpkg.hello") ret void } -declare void @"github.com/goplus/llgo/cl/_testdata/importpkg/stdio.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/importpkg/stdio.init"() #0 -declare i64 @"github.com/goplus/llgo/cl/_testdata/importpkg/stdio.Max"(i64, i64) +declare i64 @"github.com/goplus/llgo/cl/_testdata/importpkg/stdio.Max"(i64, i64) #0 -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/llgointrinsics/out.ll b/cl/_testdata/llgointrinsics/out.ll index 9155074b55..435543e5d2 100644 --- a/cl/_testdata/llgointrinsics/out.ll +++ b/cl/_testdata/llgointrinsics/out.ll @@ -3,22 +3,22 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/llgointrinsics" @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.init$guard" = global i1 false, align 1 -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseBare"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseBare"() #0 { _llgo_0: ret i64 ptrtoint (ptr @bar to i64) } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseC"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseC"() #0 { _llgo_0: ret i64 ptrtoint (ptr @write to i64) } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseCTrampoline"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseCTrampoline"() #0 { _llgo_0: ret i64 ptrtoint (ptr @write to i64) } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseClosure"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseClosure"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -28,7 +28,7 @@ _llgo_0: ret i64 ptrtoint (ptr @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseClosure$1" to i64) } -define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseClosure$1"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseClosure$1"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -39,22 +39,22 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseFunc"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseFunc"() #0 { _llgo_0: ret i64 ptrtoint (ptr @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseFunc$1" to i64) } -define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseFunc$1"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseFunc$1"() #0 { _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseLibc"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseLibc"() #0 { _llgo_0: ret i64 ptrtoint (ptr @foo to i64) } -define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseSkip"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.UseSkip"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64 0) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64 0) @@ -62,7 +62,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/llgointrinsics.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -75,14 +75,16 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare i64 @bar(...) +declare i64 @bar(...) #0 -declare i64 @write(i64, ptr, i64) +declare i64 @write(i64, ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i64 @foo(...) +declare i64 @foo(...) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/llgosyscall/out.ll b/cl/_testdata/llgosyscall/out.ll index e09219b24a..73b3f0dbc2 100644 --- a/cl/_testdata/llgosyscall/out.ll +++ b/cl/_testdata/llgosyscall/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/llgosyscall" @"github.com/goplus/llgo/cl/_testdata/llgosyscall.init$guard" = global i1 false, align 1 -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3) %1 = icmp eq i64 %0, -1 @@ -19,7 +19,7 @@ _llgo_0: ret i64 %8 } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use6"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use6"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3, i64 4, i64 5, i64 6) %1 = icmp eq i64 %0, -1 @@ -35,7 +35,7 @@ _llgo_0: ret i64 %8 } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use6X"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.Use6X"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3, i64 4, i64 5, i64 6) %1 = icmp eq i64 %0, -1 @@ -51,7 +51,7 @@ _llgo_0: ret i64 %8 } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UsePtr"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UsePtr"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3) %1 = icmp eq i64 %0, -1 @@ -67,7 +67,7 @@ _llgo_0: ret i64 %8 } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UseRaw"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UseRaw"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3) %1 = icmp eq i64 %0, -1 @@ -83,7 +83,7 @@ _llgo_0: ret i64 %8 } -define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UseRaw6"() { +define i64 @"github.com/goplus/llgo/cl/_testdata/llgosyscall.UseRaw6"() #0 { _llgo_0: %0 = call i64 null(i64 1, i64 2, i64 3, i64 4, i64 5, i64 6) %1 = icmp eq i64 %0, -1 @@ -99,7 +99,7 @@ _llgo_0: ret i64 %8 } -define void @"github.com/goplus/llgo/cl/_testdata/llgosyscall.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgosyscall.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/llgosyscall.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -112,4 +112,6 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare i32 @cliteErrno() +declare i32 @cliteErrno() #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/llgotag/out.ll b/cl/_testdata/llgotag/out.ll index 568edce1f5..3dbd25ecba 100644 --- a/cl/_testdata/llgotag/out.ll +++ b/cl/_testdata/llgotag/out.ll @@ -3,12 +3,12 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/llgotag" @"github.com/goplus/llgo/cl/_testdata/llgotag.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/llgotag.Foo"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgotag.Foo"() #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/llgotag.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/llgotag.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/llgotag.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -20,3 +20,5 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/method/out.ll b/cl/_testdata/method/out.ll index 084879510a..baad5a81d8 100644 --- a/cl/_testdata/method/out.ll +++ b/cl/_testdata/method/out.ll @@ -4,20 +4,20 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/method" @"github.com/goplus/llgo/cl/_testdata/method.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testdata/method.init$guard" = global i1 false, align 1 -define i64 @"github.com/goplus/llgo/cl/_testdata/method.T.Add"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testdata/method.T.Add"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testdata/method.(*T).Add"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testdata/method.(*T).Add"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = call i64 @"github.com/goplus/llgo/cl/_testdata/method.T.Add"(i64 %2, i64 %1) ret i64 %3 } -define void @"github.com/goplus/llgo/cl/_testdata/method.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/method.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/method.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -40,11 +40,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/method.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/method.main"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testdata/method.T.Add"(i64 1, i64 2) call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testdata/method.format", i64 %0) ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/print/out.ll b/cl/_testdata/print/out.ll index 9219560bd0..b0980110e4 100644 --- a/cl/_testdata/print/out.ll +++ b/cl/_testdata/print/out.ll @@ -78,7 +78,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/print" @30 = private unnamed_addr constant [1 x i8] c" ", align 1 @31 = private unnamed_addr constant [1 x i8] c"\0A", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testdata/print.bytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testdata/print.bytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.String" %0, ptr %1, align 8 @@ -100,7 +100,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %13 } -define void @"github.com/goplus/llgo/cl/_testdata/print.gwrite"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.gwrite"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 %2 = icmp eq i64 %1, 0 @@ -135,7 +135,7 @@ _llgo_5: ; preds = %_llgo_3 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/print.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/print.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -149,7 +149,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/print.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testdata/print.printstring"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 4 }) call void @"github.com/goplus/llgo/cl/_testdata/print.printnl"() @@ -257,21 +257,21 @@ _llgo_3: ; preds = %_llgo_0 br i1 true, label %_llgo_1, label %_llgo_2 } -define void @"github.com/goplus/llgo/cl/_testdata/print.prinfsub"(double %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.prinfsub"(double %0) #0 { _llgo_0: %1 = fneg double %0 call void @"github.com/goplus/llgo/cl/_testdata/print.printfloat"(double %1) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.prinsub"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.prinsub"(i64 %0) #0 { _llgo_0: %1 = sub i64 0, %0 call void @"github.com/goplus/llgo/cl/_testdata/print.printint"(i64 %1) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.printany"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printany"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @_llgo_bool @@ -730,7 +730,7 @@ _llgo_85: ; preds = %_llgo_84, %_llgo_83 br i1 %176, label %_llgo_34, label %_llgo_1 } -define void @"github.com/goplus/llgo/cl/_testdata/print.printbool"(i1 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printbool"(i1 %0) #0 { _llgo_0: br i1 %0, label %_llgo_1, label %_llgo_3 @@ -746,7 +746,7 @@ _llgo_3: ; preds = %_llgo_0 br label %_llgo_2 } -define void @"github.com/goplus/llgo/cl/_testdata/print.printfloat"(double %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printfloat"(double %0) #0 { _llgo_0: %1 = fcmp une double %0, %0 br i1 %1, label %_llgo_1, label %_llgo_3 @@ -935,7 +935,7 @@ _llgo_29: ; preds = %_llgo_28, %_llgo_27 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.printhex"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printhex"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 100) br label %_llgo_3 @@ -992,7 +992,7 @@ _llgo_5: ; preds = %_llgo_1 br i1 %29, label %_llgo_2, label %_llgo_4 } -define void @"github.com/goplus/llgo/cl/_testdata/print.printint"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printint"(i64 %0) #0 { _llgo_0: %1 = icmp slt i64 %0, 0 br i1 %1, label %_llgo_1, label %_llgo_2 @@ -1008,7 +1008,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.println"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.println"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 br label %_llgo_1 @@ -1044,26 +1044,26 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_2 br label %_llgo_1 } -define void @"github.com/goplus/llgo/cl/_testdata/print.printnl"() { +define void @"github.com/goplus/llgo/cl/_testdata/print.printnl"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testdata/print.printstring"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @31, i64 1 }) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.printsp"() { +define void @"github.com/goplus/llgo/cl/_testdata/print.printsp"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testdata/print.printstring"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @30, i64 1 }) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.printstring"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printstring"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testdata/print.bytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) call void @"github.com/goplus/llgo/cl/_testdata/print.gwrite"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.printuint"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.printuint"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 100) br label %_llgo_3 @@ -1098,111 +1098,113 @@ _llgo_4: ; preds = %_llgo_1 br label %_llgo_3 } -define void @"github.com/goplus/llgo/cl/_testdata/print.prinusub"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.prinusub"(i64 %0) #0 { _llgo_0: %1 = sub i64 0, %0 call void @"github.com/goplus/llgo/cl/_testdata/print.printuint"(i64 %1) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/print.prinxor"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testdata/print.prinxor"(i64 %0) #0 { _llgo_0: %1 = xor i64 %0, -1 call void @"github.com/goplus/llgo/cl/_testdata/print.printint"(i64 %1) ret void } -define ptr @"github.com/goplus/llgo/cl/_testdata/print.stringStructOf"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testdata/print.stringStructOf"(ptr %0) #0 { _llgo_0: ret ptr %0 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.c128equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.c128equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.c128equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.c128equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.c128equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.c64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.c64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.c64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.c64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.c64equal"(ptr %1, ptr %2) ret i1 %3 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/printf/out.ll b/cl/_testdata/printf/out.ll index b54151d4d3..fcaf5ef7e5 100644 --- a/cl/_testdata/printf/out.ll +++ b/cl/_testdata/printf/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/printf" @"github.com/goplus/llgo/cl/_testdata/printf.hello" = global [7 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testdata/printf.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/printf.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/printf.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/printf.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -24,10 +24,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/printf.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/printf.main"() #0 { _llgo_0: call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testdata/printf.hello") ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/printval/out.ll b/cl/_testdata/printval/out.ll index 549b0809f8..6f75ae86b0 100644 --- a/cl/_testdata/printval/out.ll +++ b/cl/_testdata/printval/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/printval" @"github.com/goplus/llgo/cl/_testdata/printval.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testdata/printval.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/printval.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/printval.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/printval.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -27,10 +27,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/printval.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/printval.main"() #0 { _llgo_0: call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testdata/printval.format", i64 100) ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/ptrmthd/out.ll b/cl/_testdata/ptrmthd/out.ll index 8ea0af9a5d..dbf08ae726 100644 --- a/cl/_testdata/ptrmthd/out.ll +++ b/cl/_testdata/ptrmthd/out.ll @@ -4,13 +4,13 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/ptrmthd" @"github.com/goplus/llgo/cl/_testdata/ptrmthd.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testdata/ptrmthd.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.(*T).Print"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.(*T).Print"(ptr %0, i64 %1) #0 { _llgo_0: call void (ptr, ...) @printf(ptr %0, i64 %1) ret void } -define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/ptrmthd.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -33,10 +33,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testdata/ptrmthd.(*T).Print"(ptr @"github.com/goplus/llgo/cl/_testdata/ptrmthd.format", i64 100) ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/uint/out.ll b/cl/_testdata/uint/out.ll index 8570be6efb..a394168878 100644 --- a/cl/_testdata/uint/out.ll +++ b/cl/_testdata/uint/out.ll @@ -4,13 +4,13 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/uint" @"github.com/goplus/llgo/cl/_testdata/uint.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [11 x i8] c"Hello, %u\0A\00", align 1 -define i32 @"github.com/goplus/llgo/cl/_testdata/uint.f"(i32 %0) { +define i32 @"github.com/goplus/llgo/cl/_testdata/uint.f"(i32 %0) #0 { _llgo_0: %1 = add i32 %0, 1 ret i32 %1 } -define void @"github.com/goplus/llgo/cl/_testdata/uint.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/uint.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/uint.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,11 +23,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/uint.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/uint.main"() #0 { _llgo_0: %0 = call i32 @"github.com/goplus/llgo/cl/_testdata/uint.f"(i32 100) %1 = call i32 (ptr, ...) @printf(ptr @0, i32 %0) ret void } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/untyped/out.ll b/cl/_testdata/untyped/out.ll index a439600bf0..b414491b4a 100644 --- a/cl/_testdata/untyped/out.ll +++ b/cl/_testdata/untyped/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/untyped" @"github.com/goplus/llgo/cl/_testdata/untyped.a" = global double 0.000000e+00, align 8 @"github.com/goplus/llgo/cl/_testdata/untyped.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/untyped.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/untyped.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/untyped.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/untyped.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/untyped.main"() #0 { _llgo_0: br i1 false, label %_llgo_1, label %_llgo_2 @@ -29,3 +29,5 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/utf8/out.ll b/cl/_testdata/utf8/out.ll index 9c1379adf0..19876fffc8 100644 --- a/cl/_testdata/utf8/out.ll +++ b/cl/_testdata/utf8/out.ll @@ -7,7 +7,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/utf8" @"github.com/goplus/llgo/cl/_testdata/utf8.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [7 x i8] c"\E4\B8\ADabcd", align 1 -define i8 @"github.com/goplus/llgo/cl/_testdata/utf8.index"(i8 %0) { +define i8 @"github.com/goplus/llgo/cl/_testdata/utf8.index"(i8 %0) #0 { _llgo_0: %1 = sext i8 %0 to i64 %2 = icmp slt i64 %1, 0 @@ -19,7 +19,7 @@ _llgo_0: ret i8 %6 } -define void @"github.com/goplus/llgo/cl/_testdata/utf8.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/utf8.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/utf8.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -41,7 +41,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/utf8.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/utf8.main"() #0 { _llgo_0: br label %_llgo_1 @@ -69,16 +69,18 @@ _llgo_3: ; preds = %_llgo_1 ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare void @"unicode/utf8.init"() +declare void @"unicode/utf8.init"() #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) #0 -declare { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/vargs/out.ll b/cl/_testdata/vargs/out.ll index 31ab5878f8..c3147fc483 100644 --- a/cl/_testdata/vargs/out.ll +++ b/cl/_testdata/vargs/out.ll @@ -17,7 +17,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/vargs" @3 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testdata/vargs.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/vargs.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/vargs.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -30,7 +30,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/vargs.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/vargs.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 48) %1 = getelementptr inbounds %"github.com/goplus/llgo/runtime/internal/runtime.eface", ptr %0, i64 0 @@ -46,7 +46,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testdata/vargs.test"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define void @"github.com/goplus/llgo/cl/_testdata/vargs.test"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 br label %_llgo_1 @@ -87,36 +87,38 @@ _llgo_5: ; preds = %_llgo_2 unreachable } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testdata/varinit/out.ll b/cl/_testdata/varinit/out.ll index 6629ee218a..c4306c4b9e 100644 --- a/cl/_testdata/varinit/out.ll +++ b/cl/_testdata/varinit/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testdata/varinit" @"github.com/goplus/llgo/cl/_testdata/varinit.a" = global i64 0, align 8 @"github.com/goplus/llgo/cl/_testdata/varinit.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testdata/varinit.init"() { +define void @"github.com/goplus/llgo/cl/_testdata/varinit.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/varinit.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testdata/varinit.main"() { +define void @"github.com/goplus/llgo/cl/_testdata/varinit.main"() #0 { _llgo_0: %0 = load i64, ptr @"github.com/goplus/llgo/cl/_testdata/varinit.a", align 4 %1 = add i64 %0, 1 @@ -26,3 +26,5 @@ _llgo_0: %2 = load i64, ptr @"github.com/goplus/llgo/cl/_testdata/varinit.a", align 4 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/abimethod/out.ll b/cl/_testgo/abimethod/out.ll index 7182a457ac..201cf9f003 100644 --- a/cl/_testgo/abimethod/out.ll +++ b/cl/_testgo/abimethod/out.ll @@ -279,7 +279,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/abimethod" @111 = private unnamed_addr constant [16 x i8] c"testNamed2 error", align 1 @112 = private unnamed_addr constant [16 x i8] c"testNamed4 error", align 1 -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.T.Demo1"(%"github.com/goplus/llgo/cl/_testgo/abimethod.T" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.T.Demo1"(%"github.com/goplus/llgo/cl/_testgo/abimethod.T" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/abimethod.T", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -289,28 +289,28 @@ _llgo_0: ret i64 %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).Demo1"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).Demo1"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %0, align 4 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.T.Demo1"(%"github.com/goplus/llgo/cl/_testgo/abimethod.T" %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).Demo2"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).Demo2"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).demo3"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).demo3"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/abimethod.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -326,7 +326,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/abimethod.testGeneric"() call void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed1"() @@ -344,7 +344,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous1"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 0 @@ -380,7 +380,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous2"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous2"() #0 { _llgo_0: %0 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -420,7 +420,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous3"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous3"() #0 { _llgo_0: %0 = alloca { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -458,7 +458,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous4"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous4"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, ptr %0, i32 0, i32 0 @@ -492,7 +492,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous5"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous5"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, ptr %0, i32 0, i32 0 @@ -526,7 +526,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous6"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous6"() #0 { _llgo_0: %0 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -566,7 +566,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous7"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous7"() #0 { _llgo_0: %0 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -626,7 +626,7 @@ _llgo_4: ; preds = %_llgo_2 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous8"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymous8"() #0 { _llgo_0: %0 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -706,7 +706,7 @@ _llgo_6: ; preds = %_llgo_4 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymousBuffer"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testAnonymousBuffer"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 0 @@ -741,7 +741,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testGeneric"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testGeneric"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr @"_llgo_iface$uinGjIxPTfzB5e5h5gH-0VIvLl5rQdJ_yx2UsrxQqds", ptr @"*_llgo_github.com/goplus/llgo/cl/_testgo/abimethod.Pointer[any]") @@ -795,14 +795,14 @@ _llgo_4: ; preds = %_llgo_0 unreachable } -define ptr @"github.com/goplus/llgo/cl/_testgo/abimethod.testGeneric$1"() { +define ptr @"github.com/goplus/llgo/cl/_testgo/abimethod.testGeneric$1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int, ptr inttoptr (i64 100 to ptr) }, ptr %0, align 8 ret ptr %0 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed1"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %0, i32 0, i32 0 @@ -833,7 +833,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed2"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed2"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testgo/abimethod.T", align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -868,7 +868,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed3"() { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.testNamed3"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %0, i32 0, i32 0 @@ -900,17 +900,17 @@ _llgo_2: ; preds = %_llgo_0 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @bytes.init() +declare void @bytes.init() #0 -declare void @fmt.init() +declare void @fmt.init() #0 -declare void @"sync/atomic.init"() +declare void @"sync/atomic.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -919,7 +919,7 @@ _llgo_0: ret i64 %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -927,7 +927,7 @@ _llgo_0: ret i64 %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -935,15 +935,15 @@ _llgo_0: ret i64 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -955,7 +955,7 @@ _llgo_0: ret i64 %5 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -966,7 +966,7 @@ _llgo_0: ret i64 %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -977,41 +977,41 @@ _llgo_0: ret i64 %4 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"({ i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"({ i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" } %0) #0 { _llgo_0: %1 = alloca { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1022,7 +1022,7 @@ _llgo_0: ret i64 %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo1"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, ptr %0, i32 0, i32 1 %2 = load %"github.com/goplus/llgo/cl/_testgo/abimethod.T", ptr %1, align 4 @@ -1030,23 +1030,23 @@ _llgo_0: ret i64 %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.Demo2"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, ptr %0, i32 0, i32 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).Demo2"(ptr %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; github.com/goplus/llgo/cl/_testgo/abimethod.T}.demo3"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, %"github.com/goplus/llgo/cl/_testgo/abimethod.T" }, ptr %0, i32 0, i32 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.(*T).demo3"(ptr %1) ret i64 %2 } -declare ptr @bytes.NewBufferString(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare ptr @bytes.NewBufferString(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Available"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Available"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1054,7 +1054,7 @@ _llgo_0: ret i64 %3 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.AvailableBuffer"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.AvailableBuffer"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1062,7 +1062,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %3 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Bytes"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Bytes"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1070,7 +1070,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Cap"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Cap"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1078,7 +1078,7 @@ _llgo_0: ret i64 %3 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Grow"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Grow"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1086,7 +1086,7 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Len"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Len"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1094,7 +1094,7 @@ _llgo_0: ret i64 %3 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Next"(ptr %0, i64 %1) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Next"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1102,7 +1102,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %4 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1114,7 +1114,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadByte"(ptr %0) { +define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadByte"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1126,7 +1126,7 @@ _llgo_0: ret { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %7 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadBytes"(ptr %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadBytes"(ptr %0, i8 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1138,7 +1138,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadFrom"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadFrom"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1150,7 +1150,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadRune"(ptr %0) { +define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadRune"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1164,7 +1164,7 @@ _llgo_0: ret { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadString"(ptr %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.ReadString"(ptr %0, i8 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1176,7 +1176,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Reset"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Reset"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1184,7 +1184,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.String"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.String"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1192,7 +1192,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %3 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Truncate"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Truncate"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1200,7 +1200,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.UnreadByte"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.UnreadByte"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1208,7 +1208,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %3 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.UnreadRune"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.UnreadRune"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1216,7 +1216,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %3 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Write"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.Write"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1228,7 +1228,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteByte"(ptr %0, i8 %1) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteByte"(ptr %0, i8 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1236,7 +1236,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %4 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteRune"(ptr %0, i32 %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteRune"(ptr %0, i32 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1248,7 +1248,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteString"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteString"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1260,7 +1260,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1272,7 +1272,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define i1 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.empty"(ptr %0) { +define i1 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.empty"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %2 = load ptr, ptr %1, align 8 @@ -1280,7 +1280,7 @@ _llgo_0: ret i1 %3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.grow"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.grow"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1288,7 +1288,7 @@ _llgo_0: ret i64 %4 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.readSlice"(ptr %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.readSlice"(ptr %0, i8 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1300,7 +1300,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { i64, i1 } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.tryGrowByReslice"(ptr %0, i64 %1) { +define { i64, i1 } @"github.com/goplus/llgo/cl/_testgo/abimethod.*struct{m int; *bytes.Buffer}.tryGrowByReslice"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds { i64, ptr }, ptr %0, i32 0, i32 1 %3 = load ptr, ptr %2, align 8 @@ -1312,7 +1312,7 @@ _llgo_0: ret { i64, i1 } %8 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Available"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Available"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1323,7 +1323,7 @@ _llgo_0: ret i64 %4 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.AvailableBuffer"({ i64, ptr } %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.AvailableBuffer"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1334,7 +1334,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %4 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Bytes"({ i64, ptr } %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Bytes"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1345,7 +1345,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Cap"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Cap"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1356,7 +1356,7 @@ _llgo_0: ret i64 %4 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Grow"({ i64, ptr } %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Grow"({ i64, ptr } %0, i64 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1367,7 +1367,7 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Len"({ i64, ptr } %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Len"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1378,7 +1378,7 @@ _llgo_0: ret i64 %4 } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Next"({ i64, ptr } %0, i64 %1) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Next"({ i64, ptr } %0, i64 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1389,7 +1389,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %5 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Read"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Read"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1404,7 +1404,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadByte"({ i64, ptr } %0) { +define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadByte"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1419,7 +1419,7 @@ _llgo_0: ret { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %8 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadBytes"({ i64, ptr } %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadBytes"({ i64, ptr } %0, i8 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1434,7 +1434,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadFrom"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadFrom"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1449,7 +1449,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadRune"({ i64, ptr } %0) { +define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadRune"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1466,7 +1466,7 @@ _llgo_0: ret { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %10 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadString"({ i64, ptr } %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.ReadString"({ i64, ptr } %0, i8 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1481,7 +1481,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Reset"({ i64, ptr } %0) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Reset"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1492,7 +1492,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.String"({ i64, ptr } %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.String"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1503,7 +1503,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %4 } -define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Truncate"({ i64, ptr } %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Truncate"({ i64, ptr } %0, i64 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1514,7 +1514,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.UnreadByte"({ i64, ptr } %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.UnreadByte"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1525,7 +1525,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %4 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.UnreadRune"({ i64, ptr } %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.UnreadRune"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1536,7 +1536,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %4 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Write"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.Write"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1551,7 +1551,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteByte"({ i64, ptr } %0, i8 %1) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteByte"({ i64, ptr } %0, i8 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1562,7 +1562,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %5 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteRune"({ i64, ptr } %0, i32 %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteRune"({ i64, ptr } %0, i32 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1577,7 +1577,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteString"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteString"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1592,7 +1592,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteTo"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.WriteTo"({ i64, ptr } %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1607,7 +1607,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define i1 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.empty"({ i64, ptr } %0) { +define i1 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.empty"({ i64, ptr } %0) #0 { _llgo_0: %1 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -1618,7 +1618,7 @@ _llgo_0: ret i1 %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.grow"({ i64, ptr } %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.grow"({ i64, ptr } %0, i64 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1629,7 +1629,7 @@ _llgo_0: ret i64 %5 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.readSlice"({ i64, ptr } %0, i8 %1) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.readSlice"({ i64, ptr } %0, i8 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1644,7 +1644,7 @@ _llgo_0: ret { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %9 } -define { i64, i1 } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.tryGrowByReslice"({ i64, ptr } %0, i64 %1) { +define { i64, i1 } @"github.com/goplus/llgo/cl/_testgo/abimethod.struct{m int; *bytes.Buffer}.tryGrowByReslice"({ i64, ptr } %0, i64 %1) #0 { _llgo_0: %2 = alloca { i64, ptr }, align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -1659,100 +1659,101 @@ _llgo_0: ret { i64, i1 } %9 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"bytes.(*Buffer).Available"(ptr) +declare i64 @"bytes.(*Buffer).Available"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).AvailableBuffer"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).AvailableBuffer"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Bytes"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Bytes"(ptr) #0 -declare i64 @"bytes.(*Buffer).Cap"(ptr) +declare i64 @"bytes.(*Buffer).Cap"(ptr) #0 -declare void @"bytes.(*Buffer).Grow"(ptr, i64) +declare void @"bytes.(*Buffer).Grow"(ptr, i64) #0 -declare i64 @"bytes.(*Buffer).Len"(ptr) +declare i64 @"bytes.(*Buffer).Len"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Next"(ptr, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Next"(ptr, i64) #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Read"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Read"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadByte"(ptr) +declare { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadByte"(ptr) #0 -declare { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadBytes"(ptr, i8) +declare { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadBytes"(ptr, i8) #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadFrom"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadFrom"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadRune"(ptr) +declare { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadRune"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadString"(ptr, i8) +declare { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).ReadString"(ptr, i8) #0 -declare void @"bytes.(*Buffer).Reset"(ptr) +declare void @"bytes.(*Buffer).Reset"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"bytes.(*Buffer).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"bytes.(*Buffer).String"(ptr) #0 -declare void @"bytes.(*Buffer).Truncate"(ptr, i64) +declare void @"bytes.(*Buffer).Truncate"(ptr, i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).UnreadByte"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).UnreadByte"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).UnreadRune"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).UnreadRune"(ptr) #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).WriteByte"(ptr, i8) +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"bytes.(*Buffer).WriteByte"(ptr, i8) #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteRune"(ptr, i32) +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteRune"(ptr, i32) #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteTo"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteTo"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"bytes.(*Buffer).empty"(ptr) +declare i1 @"bytes.(*Buffer).empty"(ptr) #0 -declare i64 @"bytes.(*Buffer).grow"(ptr, i64) +declare i64 @"bytes.(*Buffer).grow"(ptr, i64) #0 -declare { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).readSlice"(ptr, i8) +declare { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).readSlice"(ptr, i8) #0 -declare { i64, i1 } @"bytes.(*Buffer).tryGrowByReslice"(ptr, i64) +declare { i64, i1 } @"bytes.(*Buffer).tryGrowByReslice"(ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -define linkonce ptr @"github.com/goplus/llgo/cl/_testgo/abimethod.(*Pointer[any]).Load"(ptr %0) { +define linkonce ptr @"github.com/goplus/llgo/cl/_testgo/abimethod.(*Pointer[any]).Load"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.Pointer[any]", ptr %0, i32 0, i32 1 %2 = load atomic ptr, ptr %1 seq_cst, align 8 ret ptr %2 } -define linkonce void @"github.com/goplus/llgo/cl/_testgo/abimethod.(*Pointer[any]).Store"(ptr %0, ptr %1) { +define linkonce void @"github.com/goplus/llgo/cl/_testgo/abimethod.(*Pointer[any]).Store"(ptr %0, ptr %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/abimethod.Pointer[any]", ptr %0, i32 0, i32 1 store atomic ptr %1, ptr %2 seq_cst, align 8 ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/alias/out.ll b/cl/_testgo/alias/out.ll index 4fa20a64c8..1d3ffe3f82 100644 --- a/cl/_testgo/alias/out.ll +++ b/cl/_testgo/alias/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/alias" @"github.com/goplus/llgo/cl/_testgo/alias.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/alias.(*Point).Move"(ptr %0, double %1, double %2) { +define void @"github.com/goplus/llgo/cl/_testgo/alias.(*Point).Move"(ptr %0, double %1, double %2) #0 { _llgo_0: %3 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/alias.Point", ptr %0, i32 0, i32 0 %4 = load double, ptr %3, align 8 @@ -20,7 +20,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/alias.(*Point).Scale"(ptr %0, double %1) { +define void @"github.com/goplus/llgo/cl/_testgo/alias.(*Point).Scale"(ptr %0, double %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/alias.Point", ptr %0, i32 0, i32 0 %3 = load double, ptr %2, align 8 @@ -35,7 +35,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/alias.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/alias.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/alias.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -48,7 +48,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/alias.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/alias.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/alias.Point", ptr %0, i32 0, i32 0 @@ -68,8 +68,10 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/allocinloop/out.ll b/cl/_testgo/allocinloop/out.ll index c5c62438f2..b0e74ebc7f 100644 --- a/cl/_testgo/allocinloop/out.ll +++ b/cl/_testgo/allocinloop/out.ll @@ -6,13 +6,13 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/allocinloop" @"github.com/goplus/llgo/cl/_testgo/allocinloop.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [5 x i8] c"hello", align 1 -define i64 @"github.com/goplus/llgo/cl/_testgo/allocinloop.Foo"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/allocinloop.Foo"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.String" %0, 1 ret i64 %1 } -define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.Test"() { +define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.Test"() #0 { _llgo_0: br label %_llgo_1 @@ -34,7 +34,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/allocinloop.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -47,12 +47,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/allocinloop.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/allocinloop.Test"() ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/closure/out.ll b/cl/_testgo/closure/out.ll index 229ab59b15..46f0a20cb4 100644 --- a/cl/_testgo/closure/out.ll +++ b/cl/_testgo/closure/out.ll @@ -9,7 +9,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/closure" @1 = private unnamed_addr constant [4 x i8] c"func", align 1 @2 = private unnamed_addr constant [7 x i8] c"closure", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/closure.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/closure.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/closure.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/closure.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/closure.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }, ptr %0, align 8 @@ -40,7 +40,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/closure.main$1"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testgo/closure.main$1"(i64 %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 4 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -49,7 +49,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/closure.main$2"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/closure.main$2"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -63,18 +63,20 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/closure.main$1"(ptr %0, i64 %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/closure.main$1"(ptr %0, i64 %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testgo/closure.main$1"(i64 %1) ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/closure2/out.ll b/cl/_testgo/closure2/out.ll index bdb333b0df..489a9a28a4 100644 --- a/cl/_testgo/closure2/out.ll +++ b/cl/_testgo/closure2/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/closure2" @"github.com/goplus/llgo/cl/_testgo/closure2.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [7 x i8] c"closure", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/closure2.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/closure2.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/closure2.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/closure2.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/closure2.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 1, ptr %0, align 4 @@ -36,7 +36,7 @@ _llgo_0: ret void } -define { ptr, ptr } @"github.com/goplus/llgo/cl/_testgo/closure2.main$1"(ptr %0, i64 %1) { +define { ptr, ptr } @"github.com/goplus/llgo/cl/_testgo/closure2.main$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -47,7 +47,7 @@ _llgo_0: ret { ptr, ptr } %6 } -define void @"github.com/goplus/llgo/cl/_testgo/closure2.main$1$1"(ptr %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testgo/closure2.main$1$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -61,12 +61,14 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/closureall/out.ll b/cl/_testgo/closureall/out.ll index 0d1f779163..5a871f7a09 100644 --- a/cl/_testgo/closureall/out.ll +++ b/cl/_testgo/closureall/out.ll @@ -43,7 +43,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/closureall" @9 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @9, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.S.Inc"(%"github.com/goplus/llgo/cl/_testgo/closureall.S" %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.S.Inc"(%"github.com/goplus/llgo/cl/_testgo/closureall.S" %0, i64 %1) #0 { _llgo_0: %2 = alloca %"github.com/goplus/llgo/cl/_testgo/closureall.S", align 8 call void @llvm.memset(ptr %2, i8 0, i64 8, i1 false) @@ -54,7 +54,7 @@ _llgo_0: ret i64 %5 } -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add"(ptr %0, i64 %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/closureall.S", ptr %0, i32 0, i32 0 %3 = load i64, ptr %2, align 4 @@ -62,26 +62,26 @@ _llgo_0: ret i64 %4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Inc"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Inc"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load %"github.com/goplus/llgo/cl/_testgo/closureall.S", ptr %0, align 4 %3 = call i64 @"github.com/goplus/llgo/cl/_testgo/closureall.S.Inc"(%"github.com/goplus/llgo/cl/_testgo/closureall.S" %2, i64 %1) ret i64 %3 } -define i32 @"github.com/goplus/llgo/cl/_testgo/closureall.callCallback"(ptr %0, i32 %1) { +define i32 @"github.com/goplus/llgo/cl/_testgo/closureall.callCallback"(ptr %0, i32 %1) #0 { _llgo_0: %2 = call i32 %0(i32 %1) ret i32 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.globalAdd"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.globalAdd"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testgo/closureall.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/closureall.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/closureall.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -94,7 +94,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/closureall.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/closureall.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree"() %1 = call %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeWithFree"(i64 3) @@ -144,24 +144,24 @@ _llgo_2: ; preds = %_llgo_0 unreachable } -define i32 @"github.com/goplus/llgo/cl/_testgo/closureall.main$1"(i32 %0) { +define i32 @"github.com/goplus/llgo/cl/_testgo/closureall.main$1"(i32 %0) #0 { _llgo_0: %1 = add i32 %0, 1 ret i32 %1 } -define %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree"() { +define %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree"() #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1", ptr null } } -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1"(i64 %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1"(i64 %0) #0 { _llgo_0: %1 = add i64 %0, 1 ret i64 %1 } -define %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeWithFree"(i64 %0) { +define %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" @"github.com/goplus/llgo/cl/_testgo/closureall.makeWithFree"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 %0, ptr %1, align 4 @@ -175,7 +175,7 @@ _llgo_0: ret %"github.com/goplus/llgo/cl/_testgo/closureall.Fn" %6 } -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.makeWithFree$1"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.makeWithFree$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -185,11 +185,11 @@ _llgo_0: } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add$bound"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add$bound"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -197,55 +197,55 @@ _llgo_0: ret i64 %4 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add$thunk"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add$thunk"(ptr %0, i64 %1) #0 { _llgo_0: %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/closureall.(*S).Add"(ptr %0, i64 %1) ret i64 %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.interface{Add(int) int}.Add$bound"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/closureall.interface{Add(int) int}.Add$bound"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %0, align 8 %3 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %2, 0 @@ -261,16 +261,17 @@ _llgo_0: ret i64 %12 } -declare double @sqrt(double) +declare double @sqrt(double) #0 -declare i32 @abs(i32) +declare i32 @abs(i32) #0 -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1"(ptr %0, i64 %1) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = tail call i64 @"github.com/goplus/llgo/cl/_testgo/closureall.makeNoFree$1"(i64 %1) ret i64 %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/constconv/out.ll b/cl/_testgo/constconv/out.ll index 4b4f2b46c6..bb964402ff 100644 --- a/cl/_testgo/constconv/out.ll +++ b/cl/_testgo/constconv/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/constconv" @"github.com/goplus/llgo/cl/_testgo/constconv.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/constconv.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/constconv.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/constconv.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/constconv.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/constconv.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64 1) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -29,8 +29,10 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/embedunexport-1598/out.ll b/cl/_testgo/embedunexport-1598/out.ll index 216e6afead..bc80ffa1e4 100644 --- a/cl/_testgo/embedunexport-1598/out.ll +++ b/cl/_testgo/embedunexport-1598/out.ll @@ -48,7 +48,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/embedunexport-1598" @"*github.com/goplus/llgo/cl/_testgo/embedunexport-1598.iface$gGW7PSocDeRlTvk5kuSew8C-TZ8OXQrGkMlj2EUlZ9E" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -927256307, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 58 }, ptr null }, ptr @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.iface$gGW7PSocDeRlTvk5kuSew8C-TZ8OXQrGkMlj2EUlZ9E" }, align 8 @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.iface$gGW7PSocDeRlTvk5kuSew8C-TZ8OXQrGkMlj2EUlZ9E$imethods" = weak_odr constant [2 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 4 }, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" }, %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 57 }, ptr @"_llgo_func$dlTgtqQDYoqfVBQYEBE1Fa3ytcia1pdKaKVOnw8ZjkA" }], align 8 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped.Name"(%"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped.Name"(%"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -59,7 +59,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %4 } -define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped.setName"(%"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped" %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped.setName"(%"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped" %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = alloca %"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped", align 8 call void @llvm.memset(ptr %2, i8 0, i64 8, i1 false) @@ -70,7 +70,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.(*Wrapped).Name"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.(*Wrapped).Name"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped", ptr %0, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 @@ -78,7 +78,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %3 } -define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.(*Wrapped).setName"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.(*Wrapped).setName"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.Wrapped", ptr %0, i32 0, i32 0 %3 = load ptr, ptr %2, align 8 @@ -86,7 +86,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -100,7 +100,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/embedunexport-1598.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.NewBase"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 4 }) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) @@ -125,52 +125,53 @@ _llgo_0: } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).Name"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).Name"(ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).setName"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.(*Base).setName"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.init"() #0 -declare ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.NewBase"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare ptr @"github.com/goplus/llgo/cl/_testdata/embedunexport.NewBase"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.Use"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/cl/_testdata/embedunexport.Use"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/equal/out.ll b/cl/_testgo/equal/out.ll index 1731342a81..93b0c4b01e 100644 --- a/cl/_testgo/equal/out.ll +++ b/cl/_testgo/equal/out.ll @@ -81,7 +81,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/equal" @"*_llgo_Pointer" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1134390089, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @27, i64 14 }, ptr null }, ptr @_llgo_Pointer }, align 8 @"github.com/goplus/llgo/cl/_testgo/equal.struct$-d5W1oQEguzs9p8l76MbO7RbmjtJYi8DH1vVvnKnZqQ$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @16, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 4 }, ptr @"[8]_llgo_int", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @23, i64 5 }, ptr @"[8]_llgo_string", i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @26, i64 8 }, ptr @_llgo_Pointer, i64 200, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 -define void @"github.com/goplus/llgo/cl/_testgo/equal.assert"(i1 %0) { +define void @"github.com/goplus/llgo/cl/_testgo/equal.assert"(i1 %0) #0 { _llgo_0: br i1 %0, label %_llgo_2, label %_llgo_1 @@ -96,7 +96,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/equal.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -116,7 +116,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#1"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -140,13 +140,13 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testgo/equal.init#1$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/equal.init#1$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#1$2"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#1$2"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -156,7 +156,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#2"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#2"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/equal.assert"(i1 true) %0 = alloca [3 x i64], align 8 @@ -211,7 +211,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#3"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#3"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testgo/equal.T", align 8 call void @llvm.memset(ptr %0, i8 0, i64 48, i1 false) @@ -314,7 +314,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#4"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#4"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 24) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -344,7 +344,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#5"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#5"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) store {} zeroinitializer, ptr %0, align 1 @@ -415,7 +415,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#6"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#6"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64 8, i64 0) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64 8, i64 0) @@ -428,7 +428,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.init#7"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.init#7"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_string", i64 0) %1 = icmp ne ptr %0, null @@ -437,91 +437,92 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.main"() #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/equal.test"() { +define void @"github.com/goplus/llgo/cl/_testgo/equal.test"() #0 { _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/errors/out.ll b/cl/_testgo/errors/out.ll index fc7a97faea..f609dd118c 100644 --- a/cl/_testgo/errors/out.ll +++ b/cl/_testgo/errors/out.ll @@ -36,7 +36,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/errors" @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU$imethods" = weak_odr constant [1 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 5 }, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" }], align 8 @7 = private unnamed_addr constant [8 x i8] c"an error", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/errors.New"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/errors.New"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/errors.errorString", ptr %1, i32 0, i32 0 @@ -47,14 +47,14 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %5 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/errors.(*errorString).Error"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/errors.(*errorString).Error"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/errors.errorString", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define void @"github.com/goplus/llgo/cl/_testgo/errors.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/errors.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/errors.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -67,7 +67,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/errors.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/errors.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/errors.New"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 8 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) @@ -86,40 +86,42 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/goroutine/out.ll b/cl/_testgo/goroutine/out.ll index f47ac2c359..de751a94c8 100644 --- a/cl/_testgo/goroutine/out.ll +++ b/cl/_testgo/goroutine/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/goroutine" @1 = private unnamed_addr constant [16 x i8] c"Hello, goroutine", align 1 @2 = private unnamed_addr constant [1 x i8] c".", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/goroutine.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/goroutine.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/goroutine.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/goroutine.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/goroutine.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 1) store i1 false, ptr %0, align 1 @@ -55,7 +55,7 @@ _llgo_3: ; preds = %_llgo_1, %_llgo_0 br i1 %13, label %_llgo_2, label %_llgo_1 } -define void @"github.com/goplus/llgo/cl/_testgo/goroutine.main$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testgo/goroutine.main$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %1) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -65,11 +65,11 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @malloc(i64) +declare ptr @malloc(i64) #0 -define ptr @"github.com/goplus/llgo/cl/_testgo/goroutine._llgo_routine$1"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testgo/goroutine._llgo_routine$1"(ptr %0) #0 { _llgo_0: %1 = load { %"github.com/goplus/llgo/runtime/internal/runtime.String" }, ptr %0, align 8 %2 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.String" } %1, 0 @@ -79,17 +79,17 @@ _llgo_0: ret ptr null } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @free(ptr) +declare void @free(ptr) #0 -declare i32 @"github.com/goplus/llgo/runtime/internal/runtime.CreateThread"(ptr, ptr, ptr, ptr) +declare i32 @"github.com/goplus/llgo/runtime/internal/runtime.CreateThread"(ptr, ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define ptr @"github.com/goplus/llgo/cl/_testgo/goroutine._llgo_routine$2"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testgo/goroutine._llgo_routine$2"(ptr %0) #0 { _llgo_0: %1 = load { { ptr, ptr }, %"github.com/goplus/llgo/runtime/internal/runtime.String" }, ptr %0, align 8 %2 = extractvalue { { ptr, ptr }, %"github.com/goplus/llgo/runtime/internal/runtime.String" } %1, 0 @@ -100,3 +100,5 @@ _llgo_0: call void @free(ptr %0) ret ptr null } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/ifaceconv/out.ll b/cl/_testgo/ifaceconv/out.ll index 4a8243f6e5..335fd56062 100644 --- a/cl/_testgo/ifaceconv/out.ll +++ b/cl/_testgo/ifaceconv/out.ll @@ -64,43 +64,43 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/ifaceconv" @24 = private unnamed_addr constant [17 x i8] c"C1 I1(i1) was nil", align 1 @25 = private unnamed_addr constant [4 x i8] c"pass", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1" %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C1).f"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C1).f"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1", ptr %0, align 1 call void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C1" %1) ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.g"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.g"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C2).f"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C2).f"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2", ptr %0, align 1 call void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.f"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %1) ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C2).g"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.(*C2).g"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2", ptr %0, align 1 call void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2.g"(%"github.com/goplus/llgo/cl/_testgo/ifaceconv.C2" %1) ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/ifaceconv.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -113,7 +113,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceconv.main"() #0 { _llgo_0: br i1 false, label %_llgo_23, label %_llgo_24 @@ -416,58 +416,60 @@ _llgo_49: ; preds = %_llgo_48, %_llgo_47 br i1 %123, label %_llgo_18, label %_llgo_17 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/ifaceprom/out.ll b/cl/_testgo/ifaceprom/out.ll index a001d6e3a3..afb483ef5d 100644 --- a/cl/_testgo/ifaceprom/out.ll +++ b/cl/_testgo/ifaceprom/out.ll @@ -49,7 +49,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/ifaceprom" @12 = private unnamed_addr constant [116 x i8] c"type assertion github.com/goplus/llgo/cl/_testgo/ifaceprom.I -> github.com/goplus/llgo/cl/_testgo/ifaceprom.I failed", align 1 @13 = private unnamed_addr constant [4 x i8] c"pass", align 1 -define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.S.one"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.S" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.S.one"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.S" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/ifaceprom.S", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -68,7 +68,7 @@ _llgo_0: ret i64 %12 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.S.two"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.S" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.S.two"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.S" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/ifaceprom.S", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -87,7 +87,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %12 } -define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*S).one"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*S).one"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %1, align 8 @@ -103,7 +103,7 @@ _llgo_0: ret i64 %11 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*S).two"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*S).two"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %1, align 8 @@ -119,31 +119,31 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %11 } -define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.one"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.one"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %0) #0 { _llgo_0: ret i64 1 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.two"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.two"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %0) #0 { _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 } } -define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*impl).one"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*impl).one"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl", ptr %0, align 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.one"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %1) ret i64 %2 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*impl).two"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.(*impl).two"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl", ptr %0, align 1 %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl.two"(%"github.com/goplus/llgo/cl/_testgo/ifaceprom.impl" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceprom.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceprom.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/ifaceprom.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -156,7 +156,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/ifaceprom.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/ifaceprom.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testgo/ifaceprom.S", align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -389,59 +389,59 @@ _llgo_24: ; preds = %_llgo_14 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.I.one$bound"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/ifaceprom.I.one$bound"(ptr %0) #0 { _llgo_0: %1 = load { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %0, align 8 %2 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %1, 0 @@ -457,9 +457,9 @@ _llgo_0: ret i64 %11 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.I.two$bound"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/ifaceprom.I.two$bound"(ptr %0) #0 { _llgo_0: %1 = load { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %0, align 8 %2 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %1, 0 @@ -475,8 +475,9 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %11 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/interface/out.ll b/cl/_testgo/interface/out.ll index 828bf2c4f1..6ce9d29c57 100644 --- a/cl/_testgo/interface/out.ll +++ b/cl/_testgo/interface/out.ll @@ -47,7 +47,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/interface" @13 = private unnamed_addr constant [2 x i8] c"OK", align 1 @14 = private unnamed_addr constant [4 x i8] c"FAIL", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/interface.Game1.Load"(%"github.com/goplus/llgo/cl/_testgo/interface.Game1" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/interface.Game1.Load"(%"github.com/goplus/llgo/cl/_testgo/interface.Game1" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/interface.Game1", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -58,7 +58,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.Game1.initGame"(%"github.com/goplus/llgo/cl/_testgo/interface.Game1" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/interface.Game1.initGame"(%"github.com/goplus/llgo/cl/_testgo/interface.Game1" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/interface.Game1", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -69,7 +69,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game1).Load"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game1).Load"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/interface.Game1", ptr %0, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 @@ -77,7 +77,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game1).initGame"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game1).initGame"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/interface.Game1", ptr %0, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 @@ -85,12 +85,12 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game2).initGame"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/interface.(*Game2).initGame"(ptr %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/interface.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/interface.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -104,7 +104,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/interface.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/interface.Game1", ptr %0, i32 0, i32 0 @@ -184,54 +184,55 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).Load"(ptr) +declare void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).Load"(ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).initGame"(ptr) +declare void @"github.com/goplus/llgo/cl/_testdata/foo.(*Game).initGame"(ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal0"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/interface1370/out.ll b/cl/_testgo/interface1370/out.ll index 205f975a13..abf1e7bbae 100644 --- a/cl/_testgo/interface1370/out.ll +++ b/cl/_testgo/interface1370/out.ll @@ -61,7 +61,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/interface1370" @"github.com/goplus/llgo/cl/_testgo/interface1370.iface$OopIVfjRcxQr1gmJyGi5G7hHt__vH05AREEM7PthH9o$imethods" = weak_odr constant [3 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 4 }, ptr @"_llgo_func$UYiLlmcWxoOKZPPzvR4LByitNeKoVGoTrB_5ubdOWW8" }, %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 54 }, ptr @"_llgo_func$VZ-8VPNF1RaLICwxc1Ghn7BbgyFX3v762OCdx127EkA" }, %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @15, i64 57 }, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk" }], align 8 @20 = private unnamed_addr constant [3 x i8] c"ID:", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/interface1370.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/interface1370.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/interface1370.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -75,7 +75,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/interface1370.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/interface1370.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.NewRectangle"(double 5.000000e+00, double 3.000000e+00) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr @"github.com/goplus/llgo/cl/_testgo/interface1370.iface$OopIVfjRcxQr1gmJyGi5G7hHt__vH05AREEM7PthH9o", ptr @"*_llgo_github.com/goplus/llgo/cl/_testdata/geometry1370.Rectangle") @@ -90,66 +90,68 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.init"() #0 -declare ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.NewRectangle"(double, double) +declare ptr @"github.com/goplus/llgo/cl/_testdata/geometry1370.NewRectangle"(double, double) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.RegisterShape"(%"github.com/goplus/llgo/runtime/internal/runtime.iface", i64) +declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.RegisterShape"(%"github.com/goplus/llgo/runtime/internal/runtime.iface", i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare double @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).Area"(ptr) +declare double @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).Area"(ptr) #0 -declare i64 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).GetID"(ptr) +declare i64 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).GetID"(ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).setID"(ptr, i64) +declare void @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).setID"(ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).validate"(ptr) +declare i1 @"github.com/goplus/llgo/cl/_testdata/geometry1370.(*Rectangle).validate"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/invoke/out.ll b/cl/_testgo/invoke/out.ll index 1cdd95e85f..501399acec 100644 --- a/cl/_testgo/invoke/out.ll +++ b/cl/_testgo/invoke/out.ll @@ -98,7 +98,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/invoke" @34 = private unnamed_addr constant [32 x i8] c"type assertion any -> any failed", align 1 @35 = private unnamed_addr constant [52 x i8] c"type assertion any -> interface{Invoke() int} failed", align 1 -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/invoke.T", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -112,19 +112,19 @@ _llgo_0: ret i64 0 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T).Invoke"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/invoke.T", ptr %0, align 8 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T" %1) ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testgo/invoke.(*T).Method"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/invoke.(*T).Method"(ptr %0) #0 { _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T1.Invoke"(i64 %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T1.Invoke"(i64 %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 7 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -133,14 +133,14 @@ _llgo_0: ret i64 1 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T1).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T1).Invoke"(ptr %0) #0 { _llgo_0: %1 = load i64, ptr %0, align 4 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T1.Invoke"(i64 %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T2.Invoke"(double %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T2.Invoke"(double %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 7 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -149,14 +149,14 @@ _llgo_0: ret i64 2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T2).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T2).Invoke"(ptr %0) #0 { _llgo_0: %1 = load double, ptr %0, align 8 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T2.Invoke"(double %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T3).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T3).Invoke"(ptr %0) #0 { _llgo_0: %1 = load i8, ptr %0, align 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 7 }) @@ -167,7 +167,7 @@ _llgo_0: ret i64 3 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T4.Invoke"([1 x i64] %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T4.Invoke"([1 x i64] %0) #0 { _llgo_0: %1 = alloca [1 x i64], align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -181,14 +181,14 @@ _llgo_0: ret i64 4 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T4).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T4).Invoke"(ptr %0) #0 { _llgo_0: %1 = load [1 x i64], ptr %0, align 4 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T4.Invoke"([1 x i64] %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T5.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T5" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T5.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T5" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testgo/invoke.T5", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -202,14 +202,14 @@ _llgo_0: ret i64 5 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T5).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T5).Invoke"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/invoke.T5", ptr %0, align 4 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T5.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T5" %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T6.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T6" %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T6.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T6" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/cl/_testgo/invoke.T6" %0, 1 %2 = extractvalue %"github.com/goplus/llgo/cl/_testgo/invoke.T6" %0, 0 @@ -221,14 +221,14 @@ _llgo_0: ret i64 6 } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T6).Invoke"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.(*T6).Invoke"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/invoke.T6", ptr %0, align 8 %2 = call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.T6.Invoke"(%"github.com/goplus/llgo/cl/_testgo/invoke.T6" %1) ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testgo/invoke.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/invoke.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/invoke.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -241,7 +241,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/invoke.invoke"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define void @"github.com/goplus/llgo/cl/_testgo/invoke.invoke"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, 0 @@ -257,7 +257,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/invoke.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/invoke.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/invoke.T", ptr %0, i32 0, i32 0 @@ -419,102 +419,103 @@ _llgo_6: ; preds = %_llgo_3 unreachable } -define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.main$1"() { +define i64 @"github.com/goplus/llgo/cl/_testgo/invoke.main$1"() #0 { _llgo_0: ret i64 400 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/invoke.main$1"(ptr %0) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/invoke.main$1"(ptr %0) #0 { _llgo_0: %1 = tail call i64 @"github.com/goplus/llgo/cl/_testgo/invoke.main$1"() ret i64 %1 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/multiret/out.ll b/cl/_testgo/multiret/out.ll index fd343e4326..371fbc76ac 100644 --- a/cl/_testgo/multiret/out.ll +++ b/cl/_testgo/multiret/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/multiret" @"github.com/goplus/llgo/cl/_testgo/multiret.a" = global i64 0, align 8 @"github.com/goplus/llgo/cl/_testgo/multiret.init$guard" = global i1 false, align 1 -define { i64, double } @"github.com/goplus/llgo/cl/_testgo/multiret.foo"(double %0) { +define { i64, double } @"github.com/goplus/llgo/cl/_testgo/multiret.foo"(double %0) #0 { _llgo_0: %1 = load i64, ptr @"github.com/goplus/llgo/cl/_testgo/multiret.a", align 4 %2 = insertvalue { i64, double } undef, i64 %1, 0 @@ -12,7 +12,7 @@ _llgo_0: ret { i64, double } %3 } -define void @"github.com/goplus/llgo/cl/_testgo/multiret.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/multiret.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/multiret.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -26,7 +26,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/multiret.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/multiret.main"() #0 { _llgo_0: %0 = call { i64, double } @"github.com/goplus/llgo/cl/_testgo/multiret.foo"(double 2.000000e+00) %1 = extractvalue { i64, double } %0, 0 @@ -38,8 +38,10 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/print/out.ll b/cl/_testgo/print/out.ll index f767376bd7..c08a5f22c1 100644 --- a/cl/_testgo/print/out.ll +++ b/cl/_testgo/print/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/print" @"github.com/goplus/llgo/cl/_testgo/print.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/print.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/print.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/print.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/print.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/print.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 46) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -25,8 +25,10 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/reader/out.ll b/cl/_testgo/reader/out.ll index 49ad7ec3a2..489872244a 100644 --- a/cl/_testgo/reader/out.ll +++ b/cl/_testgo/reader/out.ll @@ -172,7 +172,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/reader" @59 = private unnamed_addr constant [62 x i8] c"strings.Reader.UnreadRune: previous operation was not ReadRune", align 1 @60 = private unnamed_addr constant [48 x i8] c"stringsReader.WriteTo: invalid WriteString count", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.NopCloser"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.NopCloser"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %2 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr @"_llgo_github.com/goplus/llgo/cl/_testgo/reader.WriterTo", ptr %1) @@ -223,7 +223,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %25, label %_llgo_1, label %_llgo_2 } -define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.ReadAll"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define { %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.ReadAll"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 512) %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr %1, i64 1, i64 512, i64 0, i64 0, i64 512) @@ -308,7 +308,7 @@ _llgo_6: ; preds = %_llgo_3 br label %_llgo_1 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.WriteString"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.WriteString"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: %2 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %3 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr @"_llgo_github.com/goplus/llgo/cl/_testgo/reader.StringWriter", ptr %2) @@ -366,14 +366,14 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %39, label %_llgo_1, label %_llgo_2 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/reader.(*errorString).Error"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testgo/reader.(*errorString).Error"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.errorString", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define void @"github.com/goplus/llgo/cl/_testgo/reader.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/reader.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/reader.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -391,7 +391,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reader.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/reader.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 0 @@ -410,7 +410,7 @@ _llgo_0: ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.newError"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.newError"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.errorString", ptr %1, i32 0, i32 0 @@ -421,12 +421,12 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %5 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloser.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloser" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloser.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloser" %0) #0 { _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloser.Read"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloser" %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloser.Read"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloser" %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = alloca %"github.com/goplus/llgo/cl/_testgo/reader.nopCloser", align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -449,14 +449,14 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %17 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloser).Close"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloser).Close"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/reader.nopCloser", ptr %0, align 8 %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloser.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloser" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %2 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloser).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloser).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.nopCloser", ptr %0, i32 0, i32 0 %3 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %2, align 8 @@ -476,12 +476,12 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %16 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0) #0 { _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.Read"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.Read"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = alloca %"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo", align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -504,7 +504,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %17 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.WriteTo"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.WriteTo"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = alloca %"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo", align 8 call void @llvm.memset(ptr %2, i8 0, i64 16, i1 false) @@ -543,14 +543,14 @@ _llgo_2: ; preds = %_llgo_0 unreachable } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).Close"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).Close"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo", ptr %0, align 8 %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.Close"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %2 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo", ptr %0, i32 0, i32 0 %3 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %2, align 8 @@ -570,7 +570,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %16 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*nopCloserWriterTo).WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = load %"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo", ptr %0, align 8 %3 = call { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo.WriteTo"(%"github.com/goplus/llgo/cl/_testgo/reader.nopCloserWriterTo" %2, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) @@ -581,7 +581,7 @@ _llgo_0: ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %7 } -define i64 @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Len"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Len"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1 %2 = load i64, ptr %1, align 4 @@ -604,7 +604,7 @@ _llgo_2: ; preds = %_llgo_0 ret i64 %12 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Read"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1 %3 = load i64, ptr %2, align 4 @@ -641,7 +641,7 @@ _llgo_2: ; preds = %_llgo_0 ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %25 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadAt"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1, i64 %2) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadAt"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1, i64 %2) #0 { _llgo_0: %3 = icmp slt i64 %2, 0 br i1 %3, label %_llgo_1, label %_llgo_2 @@ -686,7 +686,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %24 } -define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadByte"(ptr %0) { +define { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadByte"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 2 store i64 -1, ptr %1, align 4 @@ -726,7 +726,7 @@ _llgo_2: ; preds = %_llgo_0 ret { i8, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %26 } -define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadRune"(ptr %0) { +define { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).ReadRune"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1 %2 = load i64, ptr %1, align 4 @@ -796,7 +796,7 @@ _llgo_4: ; preds = %_llgo_2 ret { i32, i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %48 } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Seek"(ptr %0, i64 %1, i64 %2) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Seek"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 2 store i64 -1, ptr %3, align 4 @@ -850,7 +850,7 @@ _llgo_9: ; preds = %_llgo_1 ret { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %22 } -define i64 @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Size"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).Size"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 @@ -858,7 +858,7 @@ _llgo_0: ret i64 %3 } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).UnreadByte"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).UnreadByte"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1 %2 = load i64, ptr %1, align 4 @@ -880,7 +880,7 @@ _llgo_2: ; preds = %_llgo_0 ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).UnreadRune"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).UnreadRune"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 1 %2 = load i64, ptr %1, align 4 @@ -911,7 +911,7 @@ _llgo_4: ; preds = %_llgo_2 ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer } -define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"github.com/goplus/llgo/cl/_testgo/reader.(*stringReader).WriteTo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reader.stringReader", ptr %0, i32 0, i32 2 store i64 -1, ptr %2, align 4 @@ -979,97 +979,98 @@ _llgo_7: ; preds = %_llgo_4 br i1 %39, label %_llgo_5, label %_llgo_6 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"unicode/utf8.init"() +declare void @"unicode/utf8.init"() #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.SliceCopy"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.SliceCopy"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare { i32, i64 } @"unicode/utf8.DecodeRuneInString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/reflect/out.ll b/cl/_testgo/reflect/out.ll index 01be862f48..73f320a037 100644 --- a/cl/_testgo/reflect/out.ll +++ b/cl/_testgo/reflect/out.ll @@ -116,7 +116,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/reflect" @43 = private unnamed_addr constant [12 x i8] c"must invalid", align 1 @44 = private unnamed_addr constant [13 x i8] c"MapIter error", align 1 -define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.(*T).Add"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.(*T).Add"(ptr %0, i64 %1) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 11 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -130,7 +130,7 @@ _llgo_0: ret i64 %7 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.callClosure"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.callClosure"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 100, ptr %0, align 4 @@ -211,7 +211,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %45, label %_llgo_2, label %_llgo_1 } -define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.callClosure$1"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.callClosure$1"(ptr %0, i64 %1) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 12 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -223,7 +223,7 @@ _llgo_0: ret i64 %6 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1", ptr null }, ptr %0, align 8 @@ -298,7 +298,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %41, label %_llgo_2, label %_llgo_1 } -define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1"(i64 %0) { +define i64 @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1"(i64 %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 9 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -306,7 +306,7 @@ _llgo_0: ret i64 %1 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.callIMethod"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.callIMethod"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reflect.T", ptr %0, i32 0, i32 0 @@ -408,7 +408,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %64, label %_llgo_2, label %_llgo_1 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.callMethod"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.callMethod"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/reflect.T", ptr %0, i32 0, i32 0 @@ -504,7 +504,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %58, label %_llgo_2, label %_llgo_1 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.callSlice"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.callSlice"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.demo", ptr null }, ptr %0, align 8 @@ -625,7 +625,7 @@ _llgo_0: ret void } -define { i64, i64 } @"github.com/goplus/llgo/cl/_testgo/reflect.demo"(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9) { +define { i64, i64 } @"github.com/goplus/llgo/cl/_testgo/reflect.demo"(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9) #0 { _llgo_0: %10 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9, 1 br label %_llgo_1 @@ -677,7 +677,7 @@ _llgo_5: ; preds = %_llgo_2 unreachable } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/reflect.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -691,7 +691,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/reflect.callSlice"() call void @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc"() @@ -703,7 +703,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.mapDemo1"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.mapDemo1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_string", i64 2) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -840,7 +840,7 @@ _llgo_14: ; preds = %_llgo_10 br i1 %71, label %_llgo_13, label %_llgo_12 } -define void @"github.com/goplus/llgo/cl/_testgo/reflect.mapDemo2"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflect.mapDemo2"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.TypeOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int, ptr null }) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) @@ -985,150 +985,152 @@ _llgo_14: ; preds = %_llgo_10 br i1 %78, label %_llgo_13, label %_llgo_12 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @reflect.Value.Kind(%reflect.Value) +declare i64 @reflect.Value.Kind(%reflect.Value) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.Value.Type(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.Value.Type(%reflect.Value) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.Call(%reflect.Value, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.Call(%reflect.Value, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i64 @reflect.Value.Int(%reflect.Value) +declare i64 @reflect.Value.Int(%reflect.Value) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1"(ptr %0, i64 %1) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = tail call i64 @"github.com/goplus/llgo/cl/_testgo/reflect.callFunc$1"(i64 %1) ret i64 %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare %reflect.Value @reflect.Value.Method(%reflect.Value, i64) +declare %reflect.Value @reflect.Value.Method(%reflect.Value, i64) #0 -define linkonce { i64, i64 } @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.demo"(ptr %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %10) { +define linkonce { i64, i64 } @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflect.demo"(ptr %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %10) #0 { _llgo_0: %11 = tail call { i64, i64 } @"github.com/goplus/llgo/cl/_testgo/reflect.demo"(i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %10) ret { i64, i64 } %11 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.CallSlice(%reflect.Value, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.CallSlice(%reflect.Value, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @reflect.init() +declare void @reflect.init() #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare i64 @reflect.Value.Len(%reflect.Value) +declare i64 @reflect.Value.Len(%reflect.Value) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.MapKeys(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @reflect.Value.MapKeys(%reflect.Value) #0 -declare %reflect.Value @reflect.Value.MapIndex(%reflect.Value, %reflect.Value) +declare %reflect.Value @reflect.Value.MapIndex(%reflect.Value, %reflect.Value) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @reflect.Value.String(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @reflect.Value.String(%reflect.Value) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @reflect.Value.SetMapIndex(%reflect.Value, %reflect.Value, %reflect.Value) +declare void @reflect.Value.SetMapIndex(%reflect.Value, %reflect.Value, %reflect.Value) #0 -declare i1 @reflect.Value.IsValid(%reflect.Value) +declare i1 @reflect.Value.IsValid(%reflect.Value) #0 -declare %reflect.Value @reflect.New(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare %reflect.Value @reflect.New(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare %reflect.Value @reflect.Value.Elem(%reflect.Value) +declare %reflect.Value @reflect.Value.Elem(%reflect.Value) #0 -declare ptr @reflect.Value.MapRange(%reflect.Value) +declare ptr @reflect.Value.MapRange(%reflect.Value) #0 -declare i1 @"reflect.(*MapIter).Next"(ptr) +declare i1 @"reflect.(*MapIter).Next"(ptr) #0 -declare void @reflect.Value.SetIterKey(%reflect.Value, ptr) +declare void @reflect.Value.SetIterKey(%reflect.Value, ptr) #0 -declare void @reflect.Value.SetIterValue(%reflect.Value, ptr) +declare void @reflect.Value.SetIterValue(%reflect.Value, ptr) #0 -declare %reflect.Value @"reflect.(*MapIter).Key"(ptr) +declare %reflect.Value @"reflect.(*MapIter).Key"(ptr) #0 -declare %reflect.Value @"reflect.(*MapIter).Value"(ptr) +declare %reflect.Value @"reflect.(*MapIter).Value"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.TypeOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.TypeOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.MapOf(%"github.com/goplus/llgo/runtime/internal/runtime.iface", %"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.MapOf(%"github.com/goplus/llgo/runtime/internal/runtime.iface", %"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare %reflect.Value @reflect.MakeMap(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare %reflect.Value @reflect.MakeMap(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/reflectfn/out.ll b/cl/_testgo/reflectfn/out.ll index 5d229b8573..c16ca71b28 100644 --- a/cl/_testgo/reflectfn/out.ll +++ b/cl/_testgo/reflectfn/out.ll @@ -27,14 +27,14 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/reflectfn" @"*_llgo_Pointer" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1134390089, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 14 }, ptr null }, ptr @_llgo_Pointer }, align 8 @"_llgo_closure$b7Su1hWaFih-M0M9hMk6nO_RD1K_GQu5WjIXQp6Q2e8$fields" = weak_odr constant [2 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 2 }, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 5 }, ptr @_llgo_Pointer, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 -define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.demo"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.demo"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 4 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/reflectfn.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -49,7 +49,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 100, ptr %0, align 4 @@ -129,7 +129,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.main$1"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/reflectfn.main$1"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -139,36 +139,38 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @fmt.init() +declare void @fmt.init() #0 -declare void @reflect.init() +declare void @reflect.init() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @fmt.Println(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @fmt.Println(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflectfn.demo"(ptr %0) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflectfn.demo"(ptr %0) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testgo/reflectfn.demo"() ret void } -declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @reflect.Value.UnsafePointer(%reflect.Value) +declare ptr @reflect.Value.UnsafePointer(%reflect.Value) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/reflectmkfn/out.ll b/cl/_testgo/reflectmkfn/out.ll index b620b7806d..fbf6a2b1b1 100644 --- a/cl/_testgo/reflectmkfn/out.ll +++ b/cl/_testgo/reflectmkfn/out.ll @@ -38,7 +38,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/reflectmkfn" @9 = private unnamed_addr constant [6 x i8] c"abcabc", align 1 @10 = private unnamed_addr constant [5 x i8] c"error", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -53,7 +53,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %0, i64 0 @@ -113,7 +113,7 @@ _llgo_4: ; preds = %_llgo_0 unreachable } -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.main$1"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.main$1"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 0 %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 @@ -143,64 +143,66 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %21 } -declare void @reflect.init() +declare void @reflect.init() #0 -declare void @strings.init() +declare void @strings.init() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.TypeOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.TypeOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.FuncOf(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.Slice", i1) +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @reflect.FuncOf(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.Slice", i1) #0 -declare %reflect.Value @reflect.MakeFunc(%"github.com/goplus/llgo/runtime/internal/runtime.iface", { ptr, ptr }) +declare %reflect.Value @reflect.MakeFunc(%"github.com/goplus/llgo/runtime/internal/runtime.iface", { ptr, ptr }) #0 -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflectmkfn.main$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/reflectmkfn.main$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = tail call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/reflectmkfn.main$1"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %2 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @reflect.Value.String(%reflect.Value) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @reflect.Value.String(%reflect.Value) #0 -declare i64 @reflect.Value.Int(%reflect.Value) +declare i64 @reflect.Value.Int(%reflect.Value) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @strings.Repeat(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @strings.Repeat(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64) #0 -declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/selects/out.ll b/cl/_testgo/selects/out.ll index fd4c4b5786..b26d7901b5 100644 --- a/cl/_testgo/selects/out.ll +++ b/cl/_testgo/selects/out.ll @@ -20,7 +20,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/selects" @6 = private unnamed_addr constant [4 x i8] c"c2<-", align 1 @7 = private unnamed_addr constant [4 x i8] c"<-c3", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/selects.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/selects.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/selects.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -33,7 +33,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/selects.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/selects.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64 0, i64 1) @@ -126,7 +126,7 @@ _llgo_5: ; preds = %_llgo_3 unreachable } -define void @"github.com/goplus/llgo/cl/_testgo/selects.main$1"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testgo/selects.main$1"(ptr %0) #0 { _llgo_0: %1 = load { ptr, ptr, ptr }, ptr %0, align 8 %2 = extractvalue { ptr, ptr, ptr } %1, 0 @@ -199,15 +199,15 @@ _llgo_5: ; preds = %_llgo_3 unreachable } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @malloc(i64) +declare ptr @malloc(i64) #0 -define ptr @"github.com/goplus/llgo/cl/_testgo/selects._llgo_routine$1"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testgo/selects._llgo_routine$1"(ptr %0) #0 { _llgo_0: %1 = load { { ptr, ptr } }, ptr %0, align 8 %2 = extractvalue { { ptr, ptr } } %1, 0 @@ -218,39 +218,40 @@ _llgo_0: ret ptr null } -declare void @free(ptr) +declare void @free(ptr) #0 -declare i32 @"github.com/goplus/llgo/runtime/internal/runtime.CreateThread"(ptr, ptr, ptr, ptr) +declare i32 @"github.com/goplus/llgo/runtime/internal/runtime.CreateThread"(ptr, ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.ChanSend"(ptr, ptr, i64) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.ChanSend"(ptr, ptr, i64) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare { i64, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.Select"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.Select"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.ChanRecv"(ptr, ptr, i64) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.ChanRecv"(ptr, ptr, i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/strucintf/out.ll b/cl/_testgo/strucintf/out.ll index a17d12f06d..2e450f866c 100644 --- a/cl/_testgo/strucintf/out.ll +++ b/cl/_testgo/strucintf/out.ll @@ -28,7 +28,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/strucintf" @7 = private unnamed_addr constant [11 x i8] c"Bar: not ok", align 1 @8 = private unnamed_addr constant [9 x i8] c"F: not ok", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testgo/strucintf.Foo"() { +define %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testgo/strucintf.Foo"() #0 { _llgo_0: %0 = alloca { i64 }, align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -41,7 +41,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.eface" %5 } -define void @"github.com/goplus/llgo/cl/_testgo/strucintf.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/strucintf.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/strucintf.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -55,7 +55,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/strucintf.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/strucintf.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testgo/strucintf.Foo"() %1 = alloca { i64 }, align 8 @@ -175,36 +175,37 @@ _llgo_18: ; preds = %_llgo_17, %_llgo_16 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.Bar"() +declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.Bar"() #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.F"() +declare %"github.com/goplus/llgo/runtime/internal/runtime.eface" @"github.com/goplus/llgo/cl/_testdata/foo.F"() #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/struczero/out.ll b/cl/_testgo/struczero/out.ll index 43237930b9..2527f52b8c 100644 --- a/cl/_testgo/struczero/out.ll +++ b/cl/_testgo/struczero/out.ll @@ -41,7 +41,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/struczero" @"github.com/goplus/llgo/cl/_testgo/struczero.struct$2215Oa2lkpk-YZ2pdVVs2mMqzhx1jppOCrAxbrX70ko$fields" = weak_odr constant [2 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 2 }, ptr @"*_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 1 }, ptr @_llgo_float32, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 @11 = private unnamed_addr constant [6 x i8] c"notOk:", align 1 -define { %"github.com/goplus/llgo/cl/_testdata/foo.Foo", i1 } @"github.com/goplus/llgo/cl/_testgo/struczero.Bar"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define { %"github.com/goplus/llgo/cl/_testdata/foo.Foo", i1 } @"github.com/goplus/llgo/cl/_testgo/struczero.Bar"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @"_llgo_github.com/goplus/llgo/cl/_testdata/foo.Foo" @@ -66,7 +66,7 @@ _llgo_3: ; preds = %_llgo_2, %_llgo_1 ret { %"github.com/goplus/llgo/cl/_testdata/foo.Foo", i1 } %11 } -define { %"github.com/goplus/llgo/cl/_testgo/struczero.bar", i1 } @"github.com/goplus/llgo/cl/_testgo/struczero.Foo"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define { %"github.com/goplus/llgo/cl/_testgo/struczero.bar", i1 } @"github.com/goplus/llgo/cl/_testgo/struczero.Foo"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @"_llgo_github.com/goplus/llgo/cl/_testgo/struczero.bar" @@ -91,7 +91,7 @@ _llgo_3: ; preds = %_llgo_2, %_llgo_1 ret { %"github.com/goplus/llgo/cl/_testgo/struczero.bar", i1 } %11 } -define void @"github.com/goplus/llgo/cl/_testgo/struczero.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/struczero.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/struczero.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -105,7 +105,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/struczero.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/struczero.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testgo/struczero.bar", align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -150,51 +150,52 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/cl/_testdata/foo.(*Foo).Pb"(ptr) +declare ptr @"github.com/goplus/llgo/cl/_testdata/foo.(*Foo).Pb"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/cl/_testdata/foo.Foo.Pb"(%"github.com/goplus/llgo/cl/_testdata/foo.Foo") +declare ptr @"github.com/goplus/llgo/cl/_testdata/foo.Foo.Pb"(%"github.com/goplus/llgo/cl/_testdata/foo.Foo") #0 -declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() +declare void @"github.com/goplus/llgo/cl/_testdata/foo.init"() #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tpindex/out.ll b/cl/_testgo/tpindex/out.ll index 5fd236a843..cb5b8d98b0 100644 --- a/cl/_testgo/tpindex/out.ll +++ b/cl/_testgo/tpindex/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tpindex" @"github.com/goplus/llgo/cl/_testgo/tpindex.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/tpindex.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpindex.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tpindex.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tpindex.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpindex.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -43,9 +43,9 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpindex.index[int]"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, i64 %1) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpindex.index[int]"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, i64 %1) #0 { _llgo_0: %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 br label %_llgo_1 @@ -75,8 +75,10 @@ _llgo_4: ; preds = %_llgo_2 ret i64 %4 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tpinst/out.ll b/cl/_testgo/tpinst/out.ll index 8918c8a929..0651effd41 100644 --- a/cl/_testgo/tpinst/out.ll +++ b/cl/_testgo/tpinst/out.ll @@ -63,7 +63,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tpinst" @"github.com/goplus/llgo/cl/_testgo/tpinst.iface$2sV9fFeqOv1SzesvwIdhTqCFzDT8ZX5buKUSAoHNSww$imethods" = weak_odr constant [1 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 46 }, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" }], align 8 @16 = private unnamed_addr constant [95 x i8] c"type assertion github.com/goplus/llgo/cl/_testgo/tpinst.I[int] -> interface{value() int} failed", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/tpinst.demo"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpinst.demo"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tpinst.M[int]", ptr %0, i32 0, i32 0 @@ -156,7 +156,7 @@ _llgo_8: ; preds = %_llgo_4 unreachable } -define void @"github.com/goplus/llgo/cl/_testgo/tpinst.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpinst.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tpinst.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -169,92 +169,94 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tpinst.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpinst.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/tpinst.demo"() ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[int]).Value"(ptr %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[int]).Value"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tpinst.M[int]", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 ret i64 %2 } -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[int]).value"(ptr %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[int]).value"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tpinst.M[int]", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 ret i64 %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define linkonce double @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[float64]).Value"(ptr %0) { +define linkonce double @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[float64]).Value"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tpinst.M[float64]", ptr %0, i32 0, i32 0 %2 = load double, ptr %1, align 8 ret double %2 } -define linkonce double @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[float64]).value"(ptr %0) { +define linkonce double @"github.com/goplus/llgo/cl/_testgo/tpinst.(*M[float64]).value"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tpinst.M[float64]", ptr %0, i32 0, i32 0 %2 = load double, ptr %1, align 8 ret double %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tplocaltype/out.ll b/cl/_testgo/tplocaltype/out.ll index c0147b40cf..5125f6e7fc 100644 --- a/cl/_testgo/tplocaltype/out.ll +++ b/cl/_testgo/tplocaltype/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tplocaltype" @"github.com/goplus/llgo/cl/_testgo/tplocaltype.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/tplocaltype.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tplocaltype.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tplocaltype.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,31 +16,33 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tplocaltype.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tplocaltype.main"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use1"() %1 = call i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use2"() ret void } -define i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use1"() { +define i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use1"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.1.0]"(i64 1) ret i64 %0 } -define i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use2"() { +define i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.use2"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.2.0]"(i64 2) ret i64 %0 } -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.1.0]"(i64 %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.1.0]"(i64 %0) #0 { _llgo_0: ret i64 %0 } -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.2.0]"(i64 %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tplocaltype.id[github.com/goplus/llgo/cl/_testgo/tplocaltype.T.2.0]"(i64 %0) #0 { _llgo_0: ret i64 %0 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tpnamed/out.ll b/cl/_testgo/tpnamed/out.ll index 50409022b8..e3952d2815 100644 --- a/cl/_testgo/tpnamed/out.ll +++ b/cl/_testgo/tpnamed/out.ll @@ -10,22 +10,22 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tpnamed" @"github.com/goplus/llgo/cl/_testgo/tpnamed.init$guard" = global i1 false, align 1 -define %"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[error]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[error]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[error]" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1", ptr null } } -define %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1"() { +define %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1"() #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1", ptr null } } -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1"() { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1"() #0 { _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer } -define void @"github.com/goplus/llgo/cl/_testgo/tpnamed.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpnamed.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tpnamed.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -38,41 +38,41 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tpnamed.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tpnamed.main"() #0 { _llgo_0: %0 = call [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.RunIO[[0]byte]"(%"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[[0]byte]" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1", ptr null }) ret void } -define %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1"() { +define %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1"() #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1", ptr null } } -define [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1"() { +define [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1"() #0 { _llgo_0: ret [0 x i8] zeroinitializer } -define linkonce %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1"(ptr %0) { +define linkonce %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1"(ptr %0) #0 { _llgo_0: %1 = tail call %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1"() ret %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[error]" %1 } -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1"(ptr %0) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1"(ptr %0) #0 { _llgo_0: %1 = tail call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testgo/tpnamed.WriteFile$1$1"() ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1 } -define linkonce %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1"(ptr %0) { +define linkonce %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1"(ptr %0) #0 { _llgo_0: %1 = tail call %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1"() ret %"github.com/goplus/llgo/cl/_testgo/tpnamed.Future[[0]byte]" %1 } -define linkonce [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.RunIO[[0]byte]"(%"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[[0]byte]" %0) { +define linkonce [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.RunIO[[0]byte]"(%"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[[0]byte]" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[[0]byte]" %0, 1 %2 = extractvalue %"github.com/goplus/llgo/cl/_testgo/tpnamed.IO[[0]byte]" %0, 0 @@ -83,8 +83,10 @@ _llgo_0: ret [0 x i8] %6 } -define linkonce [0 x i8] @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1"(ptr %0) { +define linkonce [0 x i8] @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1"(ptr %0) #0 { _llgo_0: %1 = tail call [0 x i8] @"github.com/goplus/llgo/cl/_testgo/tpnamed.main$1$1"() ret [0 x i8] %1 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tprecur/out.ll b/cl/_testgo/tprecur/out.ll index 29a138e87e..136359c3c9 100644 --- a/cl/_testgo/tprecur/out.ll +++ b/cl/_testgo/tprecur/out.ll @@ -13,7 +13,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tprecur" @1 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testgo/tprecur.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tprecur.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tprecur.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -26,13 +26,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tprecur.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tprecur.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testgo/tprecur.recursive"() ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tprecur.recursive"() { +define void @"github.com/goplus/llgo/cl/_testgo/tprecur.recursive"() #0 { _llgo_0: %0 = call i64 @"github.com/goplus/llgo/cl/_testgo/tprecur.recur1[github.com/goplus/llgo/cl/_testgo/tprecur.T.1.0]"(i64 5) %1 = icmp ne i64 %0, 110 @@ -49,7 +49,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tprecur.recur1[github.com/goplus/llgo/cl/_testgo/tprecur.T.1.0]"(i64 %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tprecur.recur1[github.com/goplus/llgo/cl/_testgo/tprecur.T.1.0]"(i64 %0) #0 { _llgo_0: %1 = icmp eq i64 %0, 0 br i1 %1, label %_llgo_1, label %_llgo_3 @@ -68,27 +68,27 @@ _llgo_3: ; preds = %_llgo_0 br i1 %5, label %_llgo_1, label %_llgo_2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tprecur.recur2[github.com/goplus/llgo/cl/_testgo/tprecur.T.1.0]"(i64 %0) { +define linkonce i64 @"github.com/goplus/llgo/cl/_testgo/tprecur.recur2[github.com/goplus/llgo/cl/_testgo/tprecur.T.1.0]"(i64 %0) #0 { _llgo_0: %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64 %0, i64 %0, i64 8) %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1, 1 @@ -142,6 +142,8 @@ _llgo_6: ; preds = %_llgo_4 ret i64 %28 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64, i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tprecurfn/out.ll b/cl/_testgo/tprecurfn/out.ll index 403e089a1c..b15a4b0847 100644 --- a/cl/_testgo/tprecurfn/out.ll +++ b/cl/_testgo/tprecurfn/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tprecurfn" @"github.com/goplus/llgo/cl/_testgo/tprecurfn.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tprecurfn.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 24) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tprecurfn.My[int]", ptr %0, i32 0, i32 1 @@ -36,21 +36,23 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.main$1"(i64 %0) { +define void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.main$1"(i64 %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %0) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tprecurfn.main$1"(ptr %0, i64 %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/tprecurfn.main$1"(ptr %0, i64 %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testgo/tprecurfn.main$1"(i64 %1) ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/tptypes/out.ll b/cl/_testgo/tptypes/out.ll index 882cef3423..7a1625b60a 100644 --- a/cl/_testgo/tptypes/out.ll +++ b/cl/_testgo/tptypes/out.ll @@ -11,7 +11,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/tptypes" @"github.com/goplus/llgo/cl/_testgo/tptypes.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [5 x i8] c"hello", align 1 -define void @"github.com/goplus/llgo/cl/_testgo/tptypes.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/tptypes.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/tptypes.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -24,7 +24,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/tptypes.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/tptypes.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testgo/tptypes.Data[int]", align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -149,17 +149,17 @@ _llgo_0: } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]int,int]).Append"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]int,int]).Append"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tptypes.Slice[[]int,int]", ptr %0, i32 0, i32 0 %3 = load %"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr %2, align 8 @@ -173,7 +173,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9 } -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]string,string]).Append"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]string,string]).Append"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tptypes.Slice[[]string,string]", ptr %0, i32 0, i32 0 %3 = load %"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr %2, align 8 @@ -187,7 +187,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9 } -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]int,int]).Append2"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testgo/tptypes.(*Slice[[]int,int]).Append2"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/tptypes.Slice[[]int,int]", ptr %0, i32 0, i32 0 %3 = load %"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr %2, align 8 @@ -201,10 +201,11 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testgo/typerecur/out.ll b/cl/_testgo/typerecur/out.ll index 68ea7f9e74..1bafa6f937 100644 --- a/cl/_testgo/typerecur/out.ll +++ b/cl/_testgo/typerecur/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testgo/typerecur" @"github.com/goplus/llgo/cl/_testgo/typerecur.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [6 x i8] c"count:", align 1 -define %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" @"github.com/goplus/llgo/cl/_testgo/typerecur.countState"(ptr %0) { +define %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" @"github.com/goplus/llgo/cl/_testgo/typerecur.countState"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/typerecur.counter", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 @@ -35,7 +35,7 @@ _llgo_2: ; preds = %_llgo_0 ret %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/typerecur.countState", ptr null } } -define void @"github.com/goplus/llgo/cl/_testgo/typerecur.init"() { +define void @"github.com/goplus/llgo/cl/_testgo/typerecur.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testgo/typerecur.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -48,7 +48,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testgo/typerecur.main"() { +define void @"github.com/goplus/llgo/cl/_testgo/typerecur.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testgo/typerecur.counter", ptr %0, i32 0, i32 1 @@ -78,16 +78,18 @@ _llgo_3: ; preds = %_llgo_1, %_llgo_0 br i1 %12, label %_llgo_1, label %_llgo_2 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -define linkonce %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/typerecur.countState"(ptr %0, ptr %1) { +define linkonce %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" @"__llgo_stub.github.com/goplus/llgo/cl/_testgo/typerecur.countState"(ptr %0, ptr %1) #0 { _llgo_0: %2 = tail call %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" @"github.com/goplus/llgo/cl/_testgo/typerecur.countState"(ptr %1) ret %"github.com/goplus/llgo/cl/_testgo/typerecur.stateFn" %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibc/allocacstrs/out.ll b/cl/_testlibc/allocacstrs/out.ll index 9a99e19ae7..a1be06a5a6 100644 --- a/cl/_testlibc/allocacstrs/out.ll +++ b/cl/_testlibc/allocacstrs/out.ll @@ -10,7 +10,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibc/allocacstrs" @2 = private unnamed_addr constant [1 x i8] c"c", align 1 @3 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testlibc/allocacstrs.init"() { +define void @"github.com/goplus/llgo/cl/_testlibc/allocacstrs.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibc/allocacstrs.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,7 +23,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/allocacstrs.main"() { +define void @"github.com/goplus/llgo/cl/_testlibc/allocacstrs.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 48) %1 = getelementptr inbounds %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %0, i64 0 @@ -84,10 +84,12 @@ _llgo_6: ; preds = %_llgo_4 br label %_llgo_1 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.CStrCopy"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.CStrCopy"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibc/argv/out.ll b/cl/_testlibc/argv/out.ll index 0671f36b13..21b172215d 100644 --- a/cl/_testlibc/argv/out.ll +++ b/cl/_testlibc/argv/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibc/argv" @0 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1 @__llgo_argv = external global ptr, align 8 -define void @"github.com/goplus/llgo/cl/_testlibc/argv.init"() { +define void @"github.com/goplus/llgo/cl/_testlibc/argv.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibc/argv.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/argv.main"() { +define void @"github.com/goplus/llgo/cl/_testlibc/argv.main"() #0 { _llgo_0: br label %_llgo_1 @@ -41,4 +41,6 @@ _llgo_3: ; preds = %_llgo_1 ret void } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibc/atomic/out.ll b/cl/_testlibc/atomic/out.ll index 213abeef2d..fd462c34c9 100644 --- a/cl/_testlibc/atomic/out.ll +++ b/cl/_testlibc/atomic/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibc/atomic" @3 = private unnamed_addr constant [25 x i8] c"ret: %ld vs 101, v: %ld\0A\00", align 1 @4 = private unnamed_addr constant [18 x i8] c"ret: %ld, v: %ld\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testlibc/atomic.init"() { +define void @"github.com/goplus/llgo/cl/_testlibc/atomic.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibc/atomic.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/atomic.main"() { +define void @"github.com/goplus/llgo/cl/_testlibc/atomic.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store atomic i64 100, ptr %0 seq_cst, align 4 @@ -46,6 +46,8 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibc/demangle/out.ll b/cl/_testlibc/demangle/out.ll index e061dd4f16..695513f04d 100644 --- a/cl/_testlibc/demangle/out.ll +++ b/cl/_testlibc/demangle/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibc/demangle" @1 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1 @2 = private unnamed_addr constant [18 x i8] c"Failed to demangle", align 1 -define void @"github.com/goplus/llgo/cl/_testlibc/demangle.init"() { +define void @"github.com/goplus/llgo/cl/_testlibc/demangle.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibc/demangle.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/demangle.main"() { +define void @"github.com/goplus/llgo/cl/_testlibc/demangle.main"() #0 { _llgo_0: %0 = call ptr @_ZN4llvm15itaniumDemangleENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEEb(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 29 }, i1 true) %1 = icmp ne ptr %0, null @@ -40,10 +40,12 @@ _llgo_3: ; preds = %_llgo_0 br label %_llgo_2 } -declare ptr @_ZN4llvm15itaniumDemangleENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEEb(%"github.com/goplus/llgo/runtime/internal/runtime.String", i1) +declare ptr @_ZN4llvm15itaniumDemangleENSt3__117basic_string_viewIcNS0_11char_traitsIcEEEEb(%"github.com/goplus/llgo/runtime/internal/runtime.String", i1) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibc/sqlite/out.ll b/cl/_testlibc/sqlite/out.ll index f55db8b23b..e34261ba33 100644 --- a/cl/_testlibc/sqlite/out.ll +++ b/cl/_testlibc/sqlite/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibc/sqlite" @0 = private unnamed_addr constant [20 x i8] c"==> Error: (%d) %s\0A\00", align 1 @1 = private unnamed_addr constant [9 x i8] c":memory:\00", align 1 -define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.check"(i32 %0) { +define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.check"(i32 %0) #0 { _llgo_0: %1 = icmp ne i32 %0, 0 br i1 %1, label %_llgo_1, label %_llgo_2 @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.init"() { +define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibc/sqlite.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -33,7 +33,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.main"() { +define void @"github.com/goplus/llgo/cl/_testlibc/sqlite.main"() #0 { _llgo_0: %0 = call { ptr, i32 } @"github.com/goplus/lib/c/sqlite.OpenV2"(ptr @1, i32 130, ptr null) %1 = extractvalue { ptr, i32 } %0, 0 @@ -43,12 +43,14 @@ _llgo_0: ret void } -declare ptr @sqlite3_errstr(i32) +declare ptr @sqlite3_errstr(i32) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @exit(i32) +declare void @exit(i32) #0 -declare { ptr, i32 } @"github.com/goplus/lib/c/sqlite.OpenV2"(ptr, i32, ptr) +declare { ptr, i32 } @"github.com/goplus/lib/c/sqlite.OpenV2"(ptr, i32, ptr) #0 -declare i32 @sqlite3_close(ptr) +declare i32 @sqlite3_close(ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/atomic/out.ll b/cl/_testlibgo/atomic/out.ll index 7a6be6a9b9..3e25d5da2b 100644 --- a/cl/_testlibgo/atomic/out.ll +++ b/cl/_testlibgo/atomic/out.ll @@ -9,7 +9,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/atomic" @2 = private unnamed_addr constant [2 x i8] c"v:", align 1 @3 = private unnamed_addr constant [4 x i8] c"swp:", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/atomic.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/atomic.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/atomic.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,7 +23,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/atomic.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/atomic.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) call void @"sync/atomic.StoreInt64"(ptr %0, i64 100) @@ -75,22 +75,24 @@ _llgo_0: ret void } -declare void @"sync/atomic.init"() +declare void @"sync/atomic.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"sync/atomic.StoreInt64"(ptr, i64) +declare void @"sync/atomic.StoreInt64"(ptr, i64) #0 -declare i64 @"sync/atomic.LoadInt64"(ptr) +declare i64 @"sync/atomic.LoadInt64"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare i64 @"sync/atomic.AddInt64"(ptr, i64) +declare i64 @"sync/atomic.AddInt64"(ptr, i64) #0 -declare i1 @"sync/atomic.CompareAndSwapInt64"(ptr, i64, i64) +declare i1 @"sync/atomic.CompareAndSwapInt64"(ptr, i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/bytes/out.ll b/cl/_testlibgo/bytes/out.ll index 672bb21b8c..824f0daecb 100644 --- a/cl/_testlibgo/bytes/out.ll +++ b/cl/_testlibgo/bytes/out.ll @@ -12,7 +12,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/bytes" @3 = private unnamed_addr constant [2 x i8] c"Go", align 1 @4 = private unnamed_addr constant [2 x i8] c"go", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/bytes.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/bytes.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/bytes.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -26,7 +26,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/bytes.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/bytes.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 6 }) @@ -48,26 +48,28 @@ _llgo_0: ret void } -declare void @bytes.init() +declare void @bytes.init() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"bytes.(*Buffer).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Bytes"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"bytes.(*Buffer).Bytes"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"bytes.(*Buffer).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"bytes.(*Buffer).String"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare i1 @bytes.EqualFold(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare i1 @bytes.EqualFold(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/complex/out.ll b/cl/_testlibgo/complex/out.ll index f048fa2449..0f91769f77 100644 --- a/cl/_testlibgo/complex/out.ll +++ b/cl/_testlibgo/complex/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/complex" @1 = private unnamed_addr constant [11 x i8] c"real(3+4i):", align 1 @2 = private unnamed_addr constant [11 x i8] c"imag(3+4i):", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/complex.f"({ double, double } %0, { double, double } %1) { +define void @"github.com/goplus/llgo/cl/_testlibgo/complex.f"({ double, double } %0, { double, double } %1) #0 { _llgo_0: %2 = call double @"math/cmplx.Abs"({ double, double } %0) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 10 }) @@ -28,7 +28,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/complex.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/complex.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/complex.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -42,18 +42,20 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/complex.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/complex.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testlibgo/complex.f"({ double, double } { double 3.000000e+00, double 4.000000e+00 }, { double, double } { double 3.000000e+00, double 4.000000e+00 }) ret void } -declare double @"math/cmplx.Abs"({ double, double }) +declare double @"math/cmplx.Abs"({ double, double }) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"math/cmplx.init"() +declare void @"math/cmplx.init"() #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/errors/out.ll b/cl/_testlibgo/errors/out.ll index f568287a32..5cc613e3eb 100644 --- a/cl/_testlibgo/errors/out.ll +++ b/cl/_testlibgo/errors/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/errors" @"github.com/goplus/llgo/cl/_testlibgo/errors.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [5 x i8] c"error", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/errors.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/errors.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/errors.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/errors.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/errors.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @errors.New(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 5 }) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) @@ -33,10 +33,12 @@ _llgo_0: unreachable } -declare void @errors.init() +declare void @errors.init() #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @errors.New(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.iface" @errors.New(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/math/out.ll b/cl/_testlibgo/math/out.ll index 85850746a9..add89d8975 100644 --- a/cl/_testlibgo/math/out.ll +++ b/cl/_testlibgo/math/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/math" @"github.com/goplus/llgo/cl/_testlibgo/math.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/math.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/math.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/math.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,7 +17,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/math.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/math.main"() #0 { _llgo_0: %0 = call double @math.Sqrt(double 2.000000e+00) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double %0) @@ -31,14 +31,16 @@ _llgo_0: ret void } -declare void @math.init() +declare void @math.init() #0 -declare double @math.Sqrt(double) +declare double @math.Sqrt(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare double @math.Abs(double) +declare double @math.Abs(double) #0 -declare double @math.Ldexp(double, i64) +declare double @math.Ldexp(double, i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/mathbits/out.ll b/cl/_testlibgo/mathbits/out.ll index 73de6fe3d7..73f5ea3b76 100644 --- a/cl/_testlibgo/mathbits/out.ll +++ b/cl/_testlibgo/mathbits/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/mathbits" @"github.com/goplus/llgo/cl/_testlibgo/mathbits.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/mathbits.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/mathbits.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/mathbits.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,7 +17,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/mathbits.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/mathbits.main"() #0 { _llgo_0: %0 = call i64 @"math/bits.Len8"(i8 20) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %0) @@ -28,12 +28,14 @@ _llgo_0: ret void } -declare void @"math/bits.init"() +declare void @"math/bits.init"() #0 -declare i64 @"math/bits.Len8"(i8) +declare i64 @"math/bits.Len8"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare i64 @"math/bits.OnesCount"(i64) +declare i64 @"math/bits.OnesCount"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/nettextproto/out.ll b/cl/_testlibgo/nettextproto/out.ll index cce1f48303..f2287101c9 100644 --- a/cl/_testlibgo/nettextproto/out.ll +++ b/cl/_testlibgo/nettextproto/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/nettextproto" @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [4 x i8] c"host", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/nettextproto.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"net/textproto.CanonicalMIMEHeaderKey"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 4 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) @@ -28,10 +28,12 @@ _llgo_0: ret void } -declare void @"net/textproto.init"() +declare void @"net/textproto.init"() #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"net/textproto.CanonicalMIMEHeaderKey"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"net/textproto.CanonicalMIMEHeaderKey"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/os/out.ll b/cl/_testlibgo/os/out.ll index 76ad619b59..f58338e68c 100644 --- a/cl/_testlibgo/os/out.ll +++ b/cl/_testlibgo/os/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/os" @"github.com/goplus/llgo/cl/_testlibgo/os.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [4 x i8] c"cwd:", align 1 -define void @"github.com/goplus/llgo/cl/_testlibgo/os.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/os.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/os.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/os.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/os.main"() #0 { _llgo_0: %0 = call { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @os.Getwd() %1 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } %0, 0 @@ -54,16 +54,18 @@ _llgo_2: ; preds = %_llgo_0 ret void } -declare void @os.init() +declare void @os.init() #0 -declare { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @os.Getwd() +declare { %"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @os.Getwd() #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testlibgo/strings/out.ll b/cl/_testlibgo/strings/out.ll index 2f33151d3a..1401b0bfe2 100644 --- a/cl/_testlibgo/strings/out.ll +++ b/cl/_testlibgo/strings/out.ll @@ -15,7 +15,7 @@ source_filename = "github.com/goplus/llgo/cl/_testlibgo/strings" @6 = private unnamed_addr constant [12 x i8] c"Hello, world", align 1 @unicode.Han = external global ptr, align 8 -define void @"github.com/goplus/llgo/cl/_testlibgo/strings.init"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/strings.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testlibgo/strings.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -30,7 +30,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testlibgo/strings.main"() { +define void @"github.com/goplus/llgo/cl/_testlibgo/strings.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 6 }) @@ -60,43 +60,45 @@ _llgo_0: ret void } -define i1 @"github.com/goplus/llgo/cl/_testlibgo/strings.main$1"(i32 %0) { +define i1 @"github.com/goplus/llgo/cl/_testlibgo/strings.main$1"(i32 %0) #0 { _llgo_0: %1 = load ptr, ptr @unicode.Han, align 8 %2 = call i1 @unicode.Is(ptr %1, i32 %0) ret i1 %2 } -declare void @strings.init() +declare void @strings.init() #0 -declare void @unicode.init() +declare void @unicode.init() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"strings.(*Builder).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"strings.(*Builder).Write"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"strings.(*Builder).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare { i64, %"github.com/goplus/llgo/runtime/internal/runtime.iface" } @"strings.(*Builder).WriteString"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i64 @"strings.(*Builder).Len"(ptr) +declare i64 @"strings.(*Builder).Len"(ptr) #0 -declare i64 @"strings.(*Builder).Cap"(ptr) +declare i64 @"strings.(*Builder).Cap"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"strings.(*Builder).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"strings.(*Builder).String"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare i64 @strings.IndexFunc(%"github.com/goplus/llgo/runtime/internal/runtime.String", { ptr, ptr }) +declare i64 @strings.IndexFunc(%"github.com/goplus/llgo/runtime/internal/runtime.String", { ptr, ptr }) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/cl/_testlibgo/strings.main$1"(ptr %0, i32 %1) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/cl/_testlibgo/strings.main$1"(ptr %0, i32 %1) #0 { _llgo_0: %2 = tail call i1 @"github.com/goplus/llgo/cl/_testlibgo/strings.main$1"(i32 %1) ret i1 %2 } -declare i1 @unicode.Is(ptr, i32) +declare i1 @unicode.Is(ptr, i32) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/callpy/out.ll b/cl/_testpy/callpy/out.ll index 495d7b9665..5ac7758092 100644 --- a/cl/_testpy/callpy/out.ll +++ b/cl/_testpy/callpy/out.ll @@ -14,7 +14,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/callpy" @__llgo_py.os = external global ptr, align 8 @4 = private unnamed_addr constant [7 x i8] c"getcwd\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/callpy.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/callpy.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/callpy.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -36,7 +36,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/callpy.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/callpy.main"() #0 { _llgo_0: %0 = call ptr @PyFloat_FromDouble(double 2.000000e+00) %1 = load ptr, ptr @__llgo_py.math.sqrt, align 8 @@ -51,24 +51,26 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/math.init"() +declare void @"github.com/goplus/lib/py/math.init"() #0 -declare void @"github.com/goplus/lib/py/os.init"() +declare void @"github.com/goplus/lib/py/os.init"() #0 -declare void @"github.com/goplus/lib/py/std.init"() +declare void @"github.com/goplus/lib/py/std.init"() #0 -declare ptr @PyFloat_FromDouble(double) +declare ptr @PyFloat_FromDouble(double) #0 -declare ptr @PyObject_CallOneArg(ptr, ptr) +declare ptr @PyObject_CallOneArg(ptr, ptr) #0 -declare ptr @PyObject_CallNoArgs(ptr) +declare ptr @PyObject_CallNoArgs(ptr) #0 -declare double @PyFloat_AsDouble(ptr) +declare double @PyFloat_AsDouble(ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare ptr @PyUnicode_FromString(ptr) +declare ptr @PyUnicode_FromString(ptr) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/gcd/out.ll b/cl/_testpy/gcd/out.ll index c61bb97941..a84f036551 100644 --- a/cl/_testpy/gcd/out.ll +++ b/cl/_testpy/gcd/out.ll @@ -7,7 +7,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/gcd" @__llgo_py.math = external global ptr, align 8 @1 = private unnamed_addr constant [4 x i8] c"gcd\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/gcd.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/gcd.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/gcd.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,7 +23,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/gcd.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/gcd.main"() #0 { _llgo_0: %0 = call ptr @PyLong_FromLong(i64 60) %1 = call ptr @PyLong_FromLong(i64 20) @@ -35,14 +35,16 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/math.init"() +declare void @"github.com/goplus/lib/py/math.init"() #0 -declare ptr @PyLong_FromLong(i64) +declare ptr @PyLong_FromLong(i64) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare i64 @PyLong_AsLong(ptr) +declare i64 @PyLong_AsLong(ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/list/out.ll b/cl/_testpy/list/out.ll index 2841773a8b..4dbc72b8ad 100644 --- a/cl/_testpy/list/out.ll +++ b/cl/_testpy/list/out.ll @@ -15,7 +15,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/list" @3 = private unnamed_addr constant [4 x i8] c"abs\00", align 1 @4 = private unnamed_addr constant [6 x i8] c"print\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/list.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/list.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/list.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -32,7 +32,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/list.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/list.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 100, ptr %0, align 4 @@ -96,41 +96,42 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/math.init"() +declare void @"github.com/goplus/lib/py/math.init"() #0 -declare void @"github.com/goplus/lib/py/std.init"() +declare void @"github.com/goplus/lib/py/std.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare ptr @PyList_New(i64) +declare ptr @PyList_New(i64) #0 -declare ptr @PyBool_FromLong(i32) +declare ptr @PyBool_FromLong(i32) #0 -declare i32 @PyList_SetItem(ptr, i64, ptr) +declare i32 @PyList_SetItem(ptr, i64, ptr) #0 -declare ptr @PyLong_FromLongLong(i64) +declare ptr @PyLong_FromLongLong(i64) #0 -declare ptr @PyFloat_FromDouble(double) +declare ptr @PyFloat_FromDouble(double) #0 -declare ptr @PyLong_FromUnsignedLongLong(i64) +declare ptr @PyLong_FromUnsignedLongLong(i64) #0 -declare ptr @PyComplex_FromDoubles(double, double) +declare ptr @PyComplex_FromDoubles(double, double) #0 -declare ptr @PyUnicode_FromStringAndSize(ptr, i64) +declare ptr @PyUnicode_FromStringAndSize(ptr, i64) #0 -declare ptr @PyByteArray_FromStringAndSize(ptr, i64) +declare ptr @PyByteArray_FromStringAndSize(ptr, i64) #0 -declare ptr @PyBytes_FromStringAndSize(ptr, i64) +declare ptr @PyBytes_FromStringAndSize(ptr, i64) #0 -declare ptr @PyObject_GetAttrString(ptr, ptr) +declare ptr @PyObject_GetAttrString(ptr, ptr) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/math/out.ll b/cl/_testpy/math/out.ll index 9eeddcbc8c..351cb45e97 100644 --- a/cl/_testpy/math/out.ll +++ b/cl/_testpy/math/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/math" @__llgo_py.math = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [5 x i8] c"math\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/math.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/math.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/math.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -25,4 +25,6 @@ _llgo_3: ; preds = %_llgo_1 br label %_llgo_2 } -declare ptr @PyImport_ImportModule(ptr) +declare ptr @PyImport_ImportModule(ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/matrix/out.ll b/cl/_testpy/matrix/out.ll index 2edb066193..647299be6b 100644 --- a/cl/_testpy/matrix/out.ll +++ b/cl/_testpy/matrix/out.ll @@ -9,7 +9,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/matrix" @__llgo_py.numpy = external global ptr, align 8 @3 = private unnamed_addr constant [4 x i8] c"add\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/matrix.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/matrix.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/matrix.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/matrix.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/matrix.main"() #0 { _llgo_0: %0 = call ptr @PyList_New(i64 3) %1 = call ptr @PyFloat_FromDouble(double 1.000000e+00) @@ -91,20 +91,22 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/numpy.init"() +declare void @"github.com/goplus/lib/py/numpy.init"() #0 -declare ptr @PyList_New(i64) +declare ptr @PyList_New(i64) #0 -declare ptr @PyFloat_FromDouble(double) +declare ptr @PyFloat_FromDouble(double) #0 -declare i32 @PyList_SetItem(ptr, i64, ptr) +declare i32 @PyList_SetItem(ptr, i64, ptr) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare ptr @PyObject_Str(ptr) +declare ptr @PyObject_Str(ptr) #0 -declare ptr @PyUnicode_AsUTF8(ptr) +declare ptr @PyUnicode_AsUTF8(ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/max/out.ll b/cl/_testpy/max/out.ll index 259424d7b3..b08e1dc5a5 100644 --- a/cl/_testpy/max/out.ll +++ b/cl/_testpy/max/out.ll @@ -10,7 +10,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/max" @1 = private unnamed_addr constant [4 x i8] c"max\00", align 1 @2 = private unnamed_addr constant [6 x i8] c"print\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/max.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/max.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/max.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -26,7 +26,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/max.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/max.main"() #0 { _llgo_0: %0 = call ptr @PyFloat_FromDouble(double 3.000000e+00) %1 = call ptr @PyFloat_FromDouble(double 9.000000e+00) @@ -67,20 +67,22 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/std.init"() +declare void @"github.com/goplus/lib/py/std.init"() #0 -declare ptr @PyFloat_FromDouble(double) +declare ptr @PyFloat_FromDouble(double) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare ptr @PyList_New(i64) +declare ptr @PyList_New(i64) #0 -declare i32 @PyList_SetItem(ptr, i64, ptr) +declare i32 @PyList_SetItem(ptr, i64, ptr) #0 -declare ptr @PyObject_CallOneArg(ptr, ptr) +declare ptr @PyObject_CallOneArg(ptr, ptr) #0 -declare ptr @PyTuple_New(i64) +declare ptr @PyTuple_New(i64) #0 -declare i32 @PyTuple_SetItem(ptr, i64, ptr) +declare i32 @PyTuple_SetItem(ptr, i64, ptr) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/pi/out.ll b/cl/_testpy/pi/out.ll index 02c0d63945..46303a385a 100644 --- a/cl/_testpy/pi/out.ll +++ b/cl/_testpy/pi/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/pi" @__llgo_py.math = external global ptr, align 8 @1 = private unnamed_addr constant [3 x i8] c"pi\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/pi.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/pi.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/pi.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/pi.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/pi.main"() #0 { _llgo_0: %0 = load ptr, ptr @__llgo_py.math, align 8 %1 = call ptr @PyObject_GetAttrString(ptr %0, ptr @1) @@ -29,10 +29,12 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/math.init"() +declare void @"github.com/goplus/lib/py/math.init"() #0 -declare ptr @PyObject_GetAttrString(ptr, ptr) +declare ptr @PyObject_GetAttrString(ptr, ptr) #0 -declare double @PyFloat_AsDouble(ptr) +declare double @PyFloat_AsDouble(ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testpy/pow/out.ll b/cl/_testpy/pow/out.ll index 83a04c7fee..590363c5a8 100644 --- a/cl/_testpy/pow/out.ll +++ b/cl/_testpy/pow/out.ll @@ -7,7 +7,7 @@ source_filename = "github.com/goplus/llgo/cl/_testpy/pow" @__llgo_py.math = external global ptr, align 8 @1 = private unnamed_addr constant [4 x i8] c"pow\00", align 1 -define void @"github.com/goplus/llgo/cl/_testpy/pow.init"() { +define void @"github.com/goplus/llgo/cl/_testpy/pow.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testpy/pow.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,7 +23,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testpy/pow.main"() { +define void @"github.com/goplus/llgo/cl/_testpy/pow.main"() #0 { _llgo_0: %0 = call ptr @PyFloat_FromDouble(double 2.000000e+00) %1 = call ptr @PyFloat_FromDouble(double 3.000000e+00) @@ -34,14 +34,16 @@ _llgo_0: ret void } -declare void @"github.com/goplus/lib/py/math.init"() +declare void @"github.com/goplus/lib/py/math.init"() #0 -declare ptr @PyFloat_FromDouble(double) +declare ptr @PyFloat_FromDouble(double) #0 -declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) +declare ptr @PyObject_CallFunctionObjArgs(ptr, ...) #0 -declare double @PyFloat_AsDouble(ptr) +declare double @PyFloat_AsDouble(ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @llgoLoadPyModSyms(ptr, ...) +declare void @llgoLoadPyModSyms(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/abinamed/out.ll b/cl/_testrt/abinamed/out.ll index 115b6a54ac..6433fd9b15 100644 --- a/cl/_testrt/abinamed/out.ll +++ b/cl/_testrt/abinamed/out.ll @@ -275,7 +275,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/abinamed" @129 = private unnamed_addr constant [13 x i8] c"error field 2", align 1 @130 = private unnamed_addr constant [13 x i8] c"error field 3", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/abinamed.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/abinamed.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/abinamed.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -289,7 +289,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/abinamed.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/abinamed.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 48) store %"github.com/goplus/llgo/cl/_testrt/abinamed.T" zeroinitializer, ptr %0, align 8 @@ -485,394 +485,395 @@ _llgo_12: ; preds = %_llgo_10 ret void } -define ptr @"github.com/goplus/llgo/cl/_testrt/abinamed.toEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/abinamed.toEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, ptr %1, align 8 ret ptr %1 } -declare void @"github.com/goplus/llgo/runtime/abi.init"() +declare void @"github.com/goplus/llgo/runtime/abi.init"() #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Common"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).ExportedMethods"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Method).Exported"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Method).Exported"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Method).Name"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Method).Name"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Method).PkgPath"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Method).PkgPath"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Common"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Elem"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Elem"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*FuncType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*FuncType).ExportedMethods"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*FuncType).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*FuncType).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IfaceIndir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Imethod).Exported"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Imethod).Exported"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Imethod).Name"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Imethod).Name"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Imethod).PkgPath"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Imethod).PkgPath"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Common"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Elem"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Elem"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).ExportedMethods"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IfaceIndir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).IsDirectIface"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Key"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Key"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Kind"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Kind).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Kind).String"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.Kind.String"(i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.Kind.String"(i64) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Len"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Len"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).MapType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).Common"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*MapType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*MapType).ExportedMethods"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*MapType).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*MapType).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).HashMightPanic"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).HashMightPanic"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IfaceIndir"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IndirectElem"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IndirectElem"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IndirectKey"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IndirectKey"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).IsDirectIface"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Kind"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Len"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Len"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).MapType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).NeedKeyUpdate"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).NeedKeyUpdate"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).Pointers"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).ReflexiveKey"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*MapType).ReflexiveKey"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*MapType).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*MapType).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*MapType).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).StructType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructField).Embedded"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructField).Embedded"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructField).Exported"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructField).Exported"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Align"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Align"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).ArrayType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).ArrayType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Common"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Elem"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Elem"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*StructType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*StructType).ExportedMethods"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*StructType).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*StructType).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IfaceIndir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).IsDirectIface"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Key"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Key"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Kind"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Len"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Len"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).MapType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*StructType).Pointers"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*StructType).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*StructType).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*StructType).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).StructType"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*StructType).Uncommon"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*UncommonType).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*UncommonType).ExportedMethods"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*UncommonType).Methods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*UncommonType).Methods"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*MapType).Uncommon"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Pointers"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).StructType"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*InterfaceType).Uncommon"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).IsDirectIface"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Key"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Key"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Kind"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Len"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Len"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).MapType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Pointers"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*FuncType).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*FuncType).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).StructType"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*FuncType).Uncommon"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Variadic"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*FuncType).Variadic"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IfaceIndir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).IsDirectIface"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Key"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Key"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Kind"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).MapType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Pointers"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*ArrayType).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).StructType"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*ArrayType).Uncommon"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).ChanDir"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).ChanDir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Common"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Common"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Elem"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Elem"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*Type).ExportedMethods"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*Type).ExportedMethods"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).FieldAlign"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).FieldAlign"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).FuncType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).FuncType"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*Type).GcSlice"(ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/abi.(*Type).GcSlice"(ptr, i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).HasName"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).HasName"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IfaceIndir"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).InterfaceType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).InterfaceType"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IsClosure"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IsClosure"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IsDirectIface"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).IsDirectIface"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Key"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Key"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Kind"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Len"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Len"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).MapType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).MapType"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).NumMethod"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).NumMethod"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).Pointers"(ptr) +declare i1 @"github.com/goplus/llgo/runtime/abi.(*Type).Pointers"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Size"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Size"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).StructType"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).StructType"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Uncommon"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/abitype/out.ll b/cl/_testrt/abitype/out.ll index 4387799496..35074645a5 100644 --- a/cl/_testrt/abitype/out.ll +++ b/cl/_testrt/abitype/out.ll @@ -20,7 +20,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/abitype" @"*_llgo_uint8" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 1277858201, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 5 }, ptr null }, ptr @_llgo_uint8 }, align 8 @4 = private unnamed_addr constant [14 x i8] c"abi byte error", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/abitype.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/abitype.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/abitype.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -34,7 +34,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/abitype.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/abitype.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int32, ptr null }, ptr %0, align 8 @@ -72,46 +72,48 @@ _llgo_4: ; preds = %_llgo_2 ret void } -declare void @"github.com/goplus/llgo/runtime/abi.init"() +declare void @"github.com/goplus/llgo/runtime/abi.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/alloca/out.ll b/cl/_testrt/alloca/out.ll index f04969db48..d4c944b8b5 100644 --- a/cl/_testrt/alloca/out.ll +++ b/cl/_testrt/alloca/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/alloca" @0 = private unnamed_addr constant [4 x i8] c"Hi\0A\00", align 1 @1 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/alloca.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/alloca.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/alloca.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/alloca.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/alloca.main"() #0 { _llgo_0: %0 = alloca i8, i64 4, align 1 %1 = call ptr @memcpy(ptr %0, ptr @0, i64 4) @@ -26,6 +26,8 @@ _llgo_0: ret void } -declare ptr @memcpy(ptr, ptr, i64) +declare ptr @memcpy(ptr, ptr, i64) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/allocstr/out.ll b/cl/_testrt/allocstr/out.ll index db695e22bb..3b357418f7 100644 --- a/cl/_testrt/allocstr/out.ll +++ b/cl/_testrt/allocstr/out.ll @@ -6,12 +6,12 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/allocstr" @"github.com/goplus/llgo/cl/_testrt/allocstr.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [12 x i8] c"Hello world\0A", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/allocstr.hello"() { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/allocstr.hello"() #0 { _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 12 } } -define void @"github.com/goplus/llgo/cl/_testrt/allocstr.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/allocstr.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/allocstr.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -24,7 +24,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/allocstr.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/allocstr.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/allocstr.hello"() %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.String" %0, 1 @@ -35,6 +35,8 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.CStrCopy"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.CStrCopy"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/any/out.ll b/cl/_testrt/any/out.ll index 3e9de5bb75..e9c4932624 100644 --- a/cl/_testrt/any/out.ll +++ b/cl/_testrt/any/out.ll @@ -21,7 +21,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/any" @5 = private unnamed_addr constant [7 x i8] c"%s %d\0A\00", align 1 @6 = private unnamed_addr constant [6 x i8] c"Hello\00", align 1 -define ptr @"github.com/goplus/llgo/cl/_testrt/any.hi"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/any.hi"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @"*_llgo_int8" @@ -39,7 +39,7 @@ _llgo_2: ; preds = %_llgo_0 unreachable } -define i64 @"github.com/goplus/llgo/cl/_testrt/any.incVal"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/any.incVal"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @_llgo_int @@ -59,7 +59,7 @@ _llgo_2: ; preds = %_llgo_0 unreachable } -define void @"github.com/goplus/llgo/cl/_testrt/any.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/any.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/any.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -72,7 +72,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/any.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/any.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/cl/_testrt/any.hi"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @"*_llgo_int8", ptr @6 }) %1 = call i64 @"github.com/goplus/llgo/cl/_testrt/any.incVal"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int, ptr inttoptr (i64 100 to ptr) }) @@ -80,40 +80,42 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/asm/out.ll b/cl/_testrt/asm/out.ll index 164617e319..136ed85589 100644 --- a/cl/_testrt/asm/out.ll +++ b/cl/_testrt/asm/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/asm" @"github.com/goplus/llgo/cl/_testrt/asm.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/asm.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/asm.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/asm.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,8 +16,10 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/asm.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/asm.main"() #0 { _llgo_0: call void asm sideeffect "nop", ""() ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/asmfull/expect.txt b/cl/_testrt/asmfull/expect.txt index dc168e4a41..48261b052e 100644 --- a/cl/_testrt/asmfull/expect.txt +++ b/cl/_testrt/asmfull/expect.txt @@ -1,2 +1 @@ Result: 42 -Result: 0 diff --git a/cl/_testrt/asmfull/in.go b/cl/_testrt/asmfull/in.go index 4bfa5933e2..5a1f9dcaa0 100644 --- a/cl/_testrt/asmfull/in.go +++ b/cl/_testrt/asmfull/in.go @@ -23,5 +23,7 @@ func main() { "x": 25, "y": 17, }) - println("Result:", res2) + _ = res2 + // check res2 is meaningless + // println("Result:", res2) } diff --git a/cl/_testrt/asmfull/out.ll b/cl/_testrt/asmfull/out.ll index 74f1387b7a..a056c4ae62 100644 --- a/cl/_testrt/asmfull/out.ll +++ b/cl/_testrt/asmfull/out.ll @@ -64,7 +64,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/asmfull" @20 = private unnamed_addr constant [1 x i8] c"x", align 1 @21 = private unnamed_addr constant [1 x i8] c"y", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/asmfull.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/asmfull.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/asmfull.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -77,7 +77,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/asmfull.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/asmfull.main"() #0 { _llgo_0: call void asm sideeffect "nop", ""() %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_string]_llgo_any", i64 1) @@ -106,67 +106,65 @@ _llgo_0: %11 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr @"map[_llgo_string]_llgo_any", ptr %7, ptr %10) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int, ptr inttoptr (i64 17 to ptr) }, ptr %11, align 8 %12 = call i64 asm sideeffect "# calc ${1} + ${2} -> $0", "=&r,r,r"(i64 25, i64 17) - call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 7 }) - call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64 %12) - call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 + +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/builtin/out.ll b/cl/_testrt/builtin/out.ll index d8763d900e..5bc51c44e9 100644 --- a/cl/_testrt/builtin/out.ll +++ b/cl/_testrt/builtin/out.ll @@ -22,7 +22,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/builtin" @6 = private unnamed_addr constant [3 x i8] c"abd", align 1 @7 = private unnamed_addr constant [2 x i8] c"fn", align 1 -define double @"github.com/goplus/llgo/cl/_testrt/builtin.Float64frombits"(i64 %0) { +define double @"github.com/goplus/llgo/cl/_testrt/builtin.Float64frombits"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 %0, ptr %1, align 4 @@ -30,7 +30,7 @@ _llgo_0: ret double %2 } -define double @"github.com/goplus/llgo/cl/_testrt/builtin.Inf"(i64 %0) { +define double @"github.com/goplus/llgo/cl/_testrt/builtin.Inf"(i64 %0) #0 { _llgo_0: %1 = icmp sge i64 %0, 0 br i1 %1, label %_llgo_1, label %_llgo_3 @@ -47,24 +47,24 @@ _llgo_3: ; preds = %_llgo_0 br label %_llgo_2 } -define i1 @"github.com/goplus/llgo/cl/_testrt/builtin.IsNaN"(double %0) { +define i1 @"github.com/goplus/llgo/cl/_testrt/builtin.IsNaN"(double %0) #0 { _llgo_0: %1 = fcmp une double %0, %0 ret i1 %1 } -define double @"github.com/goplus/llgo/cl/_testrt/builtin.NaN"() { +define double @"github.com/goplus/llgo/cl/_testrt/builtin.NaN"() #0 { _llgo_0: %0 = call double @"github.com/goplus/llgo/cl/_testrt/builtin.Float64frombits"(i64 9221120237041090561) ret double %0 } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.demo"() { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.demo"() #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/builtin.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -80,7 +80,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -445,19 +445,19 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$1"() { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$1"() #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$2"() { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$2"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 2 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$3"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/builtin.main$3"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -467,74 +467,76 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.NewSlice3"(ptr, i64, i64, i64, i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.String", i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.SliceAppend"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/builtin.main$1"(ptr %0) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/builtin.main$1"(ptr %0) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/builtin.main$1"() ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.SliceCopy"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.SliceCopy"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr, i64, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewStringIter"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewStringIter"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare { i1, i64, i32 } @"github.com/goplus/llgo/runtime/internal/runtime.StringIterNext"(ptr) +declare { i1, i64, i32 } @"github.com/goplus/llgo/runtime/internal/runtime.StringIterNext"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToRunes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.StringToRunes"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRunes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRunes"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRune"(i32) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRune"(i32) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringLess"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringLess"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/callback/out.ll b/cl/_testrt/callback/out.ll index 63dd1b404f..68fd798414 100644 --- a/cl/_testrt/callback/out.ll +++ b/cl/_testrt/callback/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/callback" @0 = private unnamed_addr constant [7 x i8] c"Hello\0A\00", align 1 @1 = private unnamed_addr constant [10 x i8] c"callback\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/callback.callback"(ptr %0, { ptr, ptr } %1) { +define void @"github.com/goplus/llgo/cl/_testrt/callback.callback"(ptr %0, { ptr, ptr } %1) #0 { _llgo_0: %2 = extractvalue { ptr, ptr } %1, 1 %3 = extractvalue { ptr, ptr } %1, 0 @@ -13,7 +13,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/callback.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/callback.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/callback.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -26,23 +26,25 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/callback.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/callback.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/callback.callback"(ptr @0, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/callback.print", ptr null }) call void @"github.com/goplus/llgo/cl/_testrt/callback.callback"(ptr @1, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/callback.print", ptr null }) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/callback.print"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/callback.print"(ptr %0) #0 { _llgo_0: %1 = call i32 (ptr, ...) @printf(ptr %0) ret void } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/callback.print"(ptr %0, ptr %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/callback.print"(ptr %0, ptr %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/callback.print"(ptr %1) ret void } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/cast/out.ll b/cl/_testrt/cast/out.ll index 13e266857d..e4eeadb846 100644 --- a/cl/_testrt/cast/out.ll +++ b/cl/_testrt/cast/out.ll @@ -12,7 +12,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/cast" @1 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto32"(float %0, i32 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto32"(float %0, i32 %1) #0 { _llgo_0: %2 = fptosi float %0 to i64 %3 = trunc i64 %2 to i32 @@ -30,7 +30,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto32U"(float %0, i32 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto32U"(float %0, i32 %1) #0 { _llgo_0: %2 = fcmp olt float %0, 0.000000e+00 %3 = fptosi float %0 to i64 @@ -51,7 +51,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto64F"(float %0, double %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto64F"(float %0, double %1) #0 { _llgo_0: %2 = fpext float %0 to double %3 = fcmp une double %2, %1 @@ -68,7 +68,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto8"(float %0, i8 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto8"(float %0, i8 %1) #0 { _llgo_0: %2 = fptosi float %0 to i64 %3 = trunc i64 %2 to i8 @@ -86,7 +86,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto8U"(float %0, i8 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32Fto8U"(float %0, i8 %1) #0 { _llgo_0: %2 = fcmp olt float %0, 0.000000e+00 %3 = fptosi float %0 to i64 @@ -107,7 +107,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32to64"(i32 %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt32to64"(i32 %0, i64 %1) #0 { _llgo_0: %2 = sext i32 %0 to i64 %3 = icmp ne i64 %2, %1 @@ -124,7 +124,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64Fto32F"(double %0, float %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64Fto32F"(double %0, float %1) #0 { _llgo_0: %2 = fptrunc double %0 to float %3 = fcmp une float %2, %1 @@ -141,7 +141,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64Uto64F"(i64 %0, double %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64Uto64F"(i64 %0, double %1) #0 { _llgo_0: %2 = uitofp i64 %0 to double %3 = fcmp une double %2, %1 @@ -158,7 +158,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to64F"(i64 %0, double %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to64F"(i64 %0, double %1) #0 { _llgo_0: %2 = sitofp i64 %0 to double %3 = fcmp une double %2, %1 @@ -175,7 +175,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8"(i64 %0, i8 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8"(i64 %0, i8 %1) #0 { _llgo_0: %2 = trunc i64 %0 to i8 %3 = icmp ne i8 %2, %1 @@ -192,7 +192,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8U"(i64 %0, i8 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8U"(i64 %0, i8 %1) #0 { _llgo_0: %2 = trunc i64 %0 to i8 %3 = icmp ne i8 %2, %1 @@ -209,7 +209,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.cvtUinptr"(i32 %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/cast.cvtUinptr"(i32 %0, i64 %1) #0 { _llgo_0: %2 = sext i32 %0 to i64 %3 = icmp ne i64 %2, %1 @@ -238,7 +238,7 @@ _llgo_4: ; preds = %_llgo_2 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/cast.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/cast.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -251,7 +251,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cast.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/cast.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8"(i64 0, i8 0) call void @"github.com/goplus/llgo/cl/_testrt/cast.cvt64to8"(i64 127, i8 127) @@ -308,22 +308,24 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/clear/out.ll b/cl/_testrt/clear/out.ll index 18aec295ff..30908a191b 100644 --- a/cl/_testrt/clear/out.ll +++ b/cl/_testrt/clear/out.ll @@ -45,7 +45,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/clear" @"*_llgo_uintptr" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1684891952, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 7 }, ptr null }, ptr @_llgo_uintptr }, align 8 @"github.com/goplus/llgo/cl/_testrt/clear.struct$RSTTp_pTKglBmcdy0CMmgLp9HSGRvgD8UwNIoMFFyOg$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 4 }, ptr @"[8]_llgo_int", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 5 }, ptr @"[8]_llgo_int", i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 8 }, ptr @_llgo_uintptr, i64 136, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 -define void @"github.com/goplus/llgo/cl/_testrt/clear.Clear"() { +define void @"github.com/goplus/llgo/cl/_testrt/clear.Clear"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -85,7 +85,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/clear.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/clear.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/clear.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -98,50 +98,52 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.SliceClear"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.SliceClear"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintSlice"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.MapClear"(ptr, ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.MapClear"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/closure/out.ll b/cl/_testrt/closure/out.ll index 137117866e..295b719a9b 100644 --- a/cl/_testrt/closure/out.ll +++ b/cl/_testrt/closure/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/closure" @0 = private unnamed_addr constant [7 x i8] c"%d %d\0A\00", align 1 @1 = private unnamed_addr constant [7 x i8] c"%d %d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/closure.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/closure.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/closure.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closure.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/closure.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/closure.main$1"(i64 100, i64 200) %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) @@ -33,19 +33,19 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closure.main$1"(i64 %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/closure.main$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = call i32 (ptr, ...) @printf(ptr @0, i64 %0, i64 %1) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closure.main$2"(i64 %0, i64 %1) { +define void @"github.com/goplus/llgo/cl/_testrt/closure.main$2"(i64 %0, i64 %1) #0 { _llgo_0: %2 = call i32 (ptr, ...) @printf(ptr @1, i64 %0, i64 %1) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closure.main$3"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/closure.main$3"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -56,14 +56,16 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closure.main$2"(ptr %0, i64 %1, i64 %2) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closure.main$2"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/closure.main$2"(i64 %1, i64 %2) ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/closurebound/out.ll b/cl/_testrt/closurebound/out.ll index 2f5c3ccca1..47ec4c3dab 100644 --- a/cl/_testrt/closurebound/out.ll +++ b/cl/_testrt/closurebound/out.ll @@ -15,31 +15,31 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/closurebound" @1 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo1.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo1.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" %0) #0 { _llgo_0: ret i64 1 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.(*demo1).encode"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.(*demo1).encode"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testrt/closurebound.demo1", ptr %0, align 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo1.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" %1) ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo2.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo2" %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo2.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo2" %0) #0 { _llgo_0: ret i64 2 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.(*demo2).encode"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.(*demo2).encode"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testrt/closurebound.demo2", ptr %0, align 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo2.encode"(%"github.com/goplus/llgo/cl/_testrt/closurebound.demo2" %1) ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testrt/closurebound.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/closurebound.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/closurebound.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -57,7 +57,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closurebound.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/closurebound.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) %1 = getelementptr inbounds { %"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" }, ptr %0, i32 0, i32 0 @@ -80,7 +80,7 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo2.encode$bound"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo2.encode$bound"(ptr %0) #0 { _llgo_0: %1 = load { %"github.com/goplus/llgo/cl/_testrt/closurebound.demo2" }, ptr %0, align 1 %2 = extractvalue { %"github.com/goplus/llgo/cl/_testrt/closurebound.demo2" } %1, 0 @@ -88,9 +88,9 @@ _llgo_0: ret i64 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo1.encode$bound"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closurebound.demo1.encode$bound"(ptr %0) #0 { _llgo_0: %1 = load { %"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" }, ptr %0, align 1 %2 = extractvalue { %"github.com/goplus/llgo/cl/_testrt/closurebound.demo1" } %1, 0 @@ -98,20 +98,22 @@ _llgo_0: ret i64 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/closureconv/out.ll b/cl/_testrt/closureconv/out.ll index 52d8a36bdd..8073a05ce5 100644 --- a/cl/_testrt/closureconv/out.ll +++ b/cl/_testrt/closureconv/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/closureconv" @"github.com/goplus/llgo/cl/_testrt/closureconv.init$guard" = global i1 false, align 1 -define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.(*Call).add"(ptr %0, i64 %1, i64 %2) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.(*Call).add"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = add i64 %1, %2 %4 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/closureconv.Call", ptr %0, i32 0, i32 1 @@ -15,13 +15,13 @@ _llgo_0: ret i64 %6 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.add"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.add"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo1"(i64 %0) { +define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo1"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 24) %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/closureconv.Call", ptr %1, i32 0, i32 1 @@ -40,7 +40,7 @@ _llgo_0: ret %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" %10 } -define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo2"() { +define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo2"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 24) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -53,23 +53,23 @@ _llgo_0: ret %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" %5 } -define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo3"() { +define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo3"() #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.add", ptr null } } -define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo4"() { +define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo4"() #0 { _llgo_0: ret %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1", ptr null } } -define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo5"(i64 %0) { +define %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo5"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 %0, ptr %1, align 4 @@ -83,7 +83,7 @@ _llgo_0: ret %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" %6 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.demo5$1"(ptr %0, i64 %1, i64 %2) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.demo5$1"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = add i64 %1, %2 %4 = load { ptr }, ptr %0, align 8 @@ -93,7 +93,7 @@ _llgo_0: ret i64 %7 } -define void @"github.com/goplus/llgo/cl/_testrt/closureconv.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/closureconv.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/closureconv.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -106,7 +106,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closureconv.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/closureconv.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" @"github.com/goplus/llgo/cl/_testrt/closureconv.demo1"(i64 1) %1 = extractvalue %"github.com/goplus/llgo/cl/_testrt/closureconv.Func" %0, 1 @@ -156,9 +156,9 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.(*Call).add$bound"(ptr %0, i64 %1, i64 %2) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.(*Call).add$bound"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = load { ptr }, ptr %0, align 8 %4 = extractvalue { ptr } %3, 0 @@ -166,20 +166,22 @@ _llgo_0: ret i64 %5 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.add"(ptr %0, i64 %1, i64 %2) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.add"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.add"(i64 %1, i64 %2) ret i64 %3 } -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1"(ptr %0, i64 %1, i64 %2) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/closureconv.demo4$1"(i64 %1, i64 %2) ret i64 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/closureiface/out.ll b/cl/_testrt/closureiface/out.ll index f72e4e6545..092ec6b59c 100644 --- a/cl/_testrt/closureiface/out.ll +++ b/cl/_testrt/closureiface/out.ll @@ -33,7 +33,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/closureiface" @7 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testrt/closureiface.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/closureiface.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/closureiface.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -46,7 +46,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/closureiface.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/closureiface.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store i64 200, ptr %0, align 4 @@ -93,7 +93,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %19, label %_llgo_2, label %_llgo_1 } -define i64 @"github.com/goplus/llgo/cl/_testrt/closureiface.main$1"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/closureiface.main$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -102,38 +102,40 @@ _llgo_0: ret i64 %5 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/complex/out.ll b/cl/_testrt/complex/out.ll index ea3f77c06f..7887bd097f 100644 --- a/cl/_testrt/complex/out.ll +++ b/cl/_testrt/complex/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/complex" @"github.com/goplus/llgo/cl/_testrt/complex.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/complex.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/complex.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/complex.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/complex.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/complex.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double 1.000000e+00) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -49,10 +49,12 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintComplex"({ double, double }) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintComplex"({ double, double }) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/concat/out.ll b/cl/_testrt/concat/out.ll index d88ea00aa6..206c9f527e 100644 --- a/cl/_testrt/concat/out.ll +++ b/cl/_testrt/concat/out.ll @@ -10,7 +10,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/concat" @2 = private unnamed_addr constant [1 x i8] c" ", align 1 @3 = private unnamed_addr constant [5 x i8] c"World", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/concat.concat"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/concat.concat"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 br label %_llgo_1 @@ -38,14 +38,14 @@ _llgo_3: ; preds = %_llgo_1 ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/concat.info"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/concat.info"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/runtime/internal/runtime.String" %0) %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %1, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -define void @"github.com/goplus/llgo/cl/_testrt/concat.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/concat.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/concat.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -58,7 +58,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/concat.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/concat.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 48) %1 = getelementptr inbounds %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %0, i64 0 @@ -76,12 +76,14 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/constuptr/out.ll b/cl/_testrt/constuptr/out.ll index 6d5ce9bb05..efab1242b9 100644 --- a/cl/_testrt/constuptr/out.ll +++ b/cl/_testrt/constuptr/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/constuptr" @"github.com/goplus/llgo/cl/_testrt/constuptr.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/constuptr.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/constuptr.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/constuptr.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,13 +16,15 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/constuptr.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/constuptr.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr inttoptr (i64 100 to ptr)) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/cstr/out.ll b/cl/_testrt/cstr/out.ll index c99e5e046d..67f15848b2 100644 --- a/cl/_testrt/cstr/out.ll +++ b/cl/_testrt/cstr/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/cstr" @"github.com/goplus/llgo/cl/_testrt/cstr.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [14 x i8] c"Hello, world\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/cstr.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/cstr.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/cstr.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,10 +17,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cstr.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/cstr.main"() #0 { _llgo_0: call void (ptr, ...) @printf(ptr @0) ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/cvar/out.ll b/cl/_testrt/cvar/out.ll index 9e6d20de6c..1535776983 100644 --- a/cl/_testrt/cvar/out.ll +++ b/cl/_testrt/cvar/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/cvar" @_bar_y = external global { [16 x i8] }, align 1 @"github.com/goplus/llgo/cl/_testrt/cvar.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/cvar.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/cvar.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/cvar.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,9 +18,11 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/cvar.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/cvar.main"() #0 { _llgo_0: %0 = load { [16 x i8], [2 x ptr] }, ptr @_bar_x, align 8 %1 = load { [16 x i8] }, ptr @_bar_y, align 1 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/eface/out.ll b/cl/_testrt/eface/out.ll index c22f938e4a..ae3aa7b3da 100644 --- a/cl/_testrt/eface/out.ll +++ b/cl/_testrt/eface/out.ll @@ -96,14 +96,14 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/eface" @"*_llgo_github.com/goplus/llgo/cl/_testrt/eface.T" = weak_odr constant { %"github.com/goplus/llgo/runtime/abi.PtrType", %"github.com/goplus/llgo/runtime/abi.UncommonType", [1 x %"github.com/goplus/llgo/runtime/abi.Method"] } { %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1884578979, i8 11, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @31, i64 6 }, ptr null }, ptr @"_llgo_github.com/goplus/llgo/cl/_testrt/eface.T" }, %"github.com/goplus/llgo/runtime/abi.UncommonType" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @27, i64 39 }, i16 1, i16 1, i32 24 }, [1 x %"github.com/goplus/llgo/runtime/abi.Method"] [%"github.com/goplus/llgo/runtime/abi.Method" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @32, i64 6 }, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", ptr @"github.com/goplus/llgo/cl/_testrt/eface.(*T).Invoke", ptr @"github.com/goplus/llgo/cl/_testrt/eface.(*T).Invoke" }] }, align 8 @32 = private unnamed_addr constant [6 x i8] c"Invoke", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/eface.(*T).Invoke"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/eface.(*T).Invoke"(ptr %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 6 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/eface.dump"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/eface.dump"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, ptr %1, align 8 @@ -113,7 +113,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/eface.dumpTyp"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testrt/eface.dumpTyp"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %1) %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr %0) @@ -188,7 +188,7 @@ _llgo_5: ; preds = %_llgo_3 br label %_llgo_4 } -define void @"github.com/goplus/llgo/cl/_testrt/eface.dumpUncommon"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) { +define void @"github.com/goplus/llgo/cl/_testrt/eface.dumpUncommon"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.String" %1) #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %1) %2 = getelementptr inbounds %"github.com/goplus/llgo/runtime/abi.UncommonType", ptr %0, i32 0, i32 0 @@ -208,7 +208,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/eface.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/eface.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/eface.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -222,7 +222,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/eface.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/eface.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/eface.dump"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_bool, ptr inttoptr (i64 -1 to ptr) }) call void @"github.com/goplus/llgo/cl/_testrt/eface.dump"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @_llgo_int, ptr null }) @@ -270,105 +270,107 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/eface.main$1"() { +define void @"github.com/goplus/llgo/cl/_testrt/eface.main$1"() #0 { _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/abi.(*Type).String"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Kind"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/abi.(*Type).Kind"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Uncommon"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Uncommon"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Elem"(ptr) +declare ptr @"github.com/goplus/llgo/runtime/abi.(*Type).Elem"(ptr) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringCat"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/abi.init"() +declare void @"github.com/goplus/llgo/runtime/abi.init"() #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal16"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/eface.main$1"(ptr %0) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/eface.main$1"(ptr %0) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/eface.main$1"() ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/float2any/out.ll b/cl/_testrt/float2any/out.ll index bdb89f4039..d32398d4de 100644 --- a/cl/_testrt/float2any/out.ll +++ b/cl/_testrt/float2any/out.ll @@ -21,7 +21,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/float2any" @5 = private unnamed_addr constant [36 x i8] c"type assertion any -> float64 failed", align 1 @6 = private unnamed_addr constant [9 x i8] c"error f64", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/float2any.check32"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/float2any.check32"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @_llgo_float32 @@ -53,7 +53,7 @@ _llgo_4: ; preds = %_llgo_0 unreachable } -define void @"github.com/goplus/llgo/cl/_testrt/float2any.check64"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/float2any.check64"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 %2 = icmp eq ptr %1, @_llgo_float64 @@ -84,17 +84,17 @@ _llgo_4: ; preds = %_llgo_0 unreachable } -define float @"github.com/goplus/llgo/cl/_testrt/float2any.f32"() { +define float @"github.com/goplus/llgo/cl/_testrt/float2any.f32"() #0 { _llgo_0: ret float 0x400921FB60000000 } -define double @"github.com/goplus/llgo/cl/_testrt/float2any.f64"() { +define double @"github.com/goplus/llgo/cl/_testrt/float2any.f64"() #0 { _llgo_0: ret double 0x400921FB53C8D4F1 } -define void @"github.com/goplus/llgo/cl/_testrt/float2any.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/float2any.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/float2any.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -107,7 +107,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/float2any.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/float2any.main"() #0 { _llgo_0: %0 = call float @"github.com/goplus/llgo/cl/_testrt/float2any.f32"() %1 = bitcast float %0 to i32 @@ -122,38 +122,40 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f32equal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.f64equal"(ptr %1, ptr %2) ret i1 %3 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/fprintf/out.ll b/cl/_testrt/fprintf/out.ll index c64cd43478..cee20faba6 100644 --- a/cl/_testrt/fprintf/out.ll +++ b/cl/_testrt/fprintf/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/fprintf" @__stderrp = external global ptr, align 8 @0 = private unnamed_addr constant [10 x i8] c"Hello %d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/fprintf.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/fprintf.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/fprintf.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,11 +18,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/fprintf.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/fprintf.main"() #0 { _llgo_0: %0 = load ptr, ptr @__stderrp, align 8 call void (ptr, ptr, ...) @fprintf(ptr %0, ptr @0, i64 100) ret void } -declare void @fprintf(ptr, ptr, ...) +declare void @fprintf(ptr, ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/freevars/out.ll b/cl/_testrt/freevars/out.ll index bc5f352282..8eee5bfe04 100644 --- a/cl/_testrt/freevars/out.ll +++ b/cl/_testrt/freevars/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/freevars" @"github.com/goplus/llgo/cl/_testrt/freevars.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/freevars.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/freevars.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/freevars.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -19,13 +19,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/freevars.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/freevars.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/freevars.main$1"({ ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/freevars.main$2", ptr null }) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$1"({ ptr, ptr } %0) { +define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$1"({ ptr, ptr } %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store { ptr, ptr } %0, ptr %1, align 8 @@ -39,7 +39,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$1$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$1$1"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) @@ -70,21 +70,23 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$2"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/freevars.main$2"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: ret void } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/freevars.main$2"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/freevars.main$2"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/freevars.main$2"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/funcaddr/out.ll b/cl/_testrt/funcaddr/out.ll index 5ef9585c4a..3639ef244e 100644 --- a/cl/_testrt/funcaddr/out.ll +++ b/cl/_testrt/funcaddr/out.ll @@ -3,13 +3,13 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/funcaddr" @"github.com/goplus/llgo/cl/_testrt/funcaddr.init$guard" = global i1 false, align 1 -define i64 @"github.com/goplus/llgo/cl/_testrt/funcaddr.add"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/funcaddr.add"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testrt/funcaddr.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/funcaddr.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/funcaddr.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/funcaddr.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/funcaddr.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) store ptr @"github.com/goplus/llgo/cl/_testrt/funcaddr.add", ptr %0, align 8 @@ -45,14 +45,16 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testrt/funcaddr.main$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/funcaddr.main$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/funcdecl/out.ll b/cl/_testrt/funcdecl/out.ll index f14070e0e8..5ed1349754 100644 --- a/cl/_testrt/funcdecl/out.ll +++ b/cl/_testrt/funcdecl/out.ll @@ -31,7 +31,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/funcdecl" @7 = private unnamed_addr constant [4 x i8] c"demo", align 1 @8 = private unnamed_addr constant [5 x i8] c"hello", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.check"({ ptr, ptr } %0) { +define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.check"({ ptr, ptr } %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/funcdecl.demo", ptr null }, ptr %1, align 8 @@ -90,7 +90,7 @@ _llgo_4: ; preds = %_llgo_1 unreachable } -define ptr @"github.com/goplus/llgo/cl/_testrt/funcdecl.closurePtr"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/funcdecl.closurePtr"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, ptr %1, align 8 @@ -101,14 +101,14 @@ _llgo_0: ret ptr %5 } -define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.demo"() { +define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.demo"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 4 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) ret void } -define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/funcdecl.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -121,7 +121,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/funcdecl.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 5 }) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -129,42 +129,44 @@ _llgo_0: ret void } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/funcdecl.demo"(ptr %0) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/funcdecl.demo"(ptr %0) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/funcdecl.demo"() ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintEface"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/gblarray/out.ll b/cl/_testrt/gblarray/out.ll index 5bd05c1c24..ed31f8b5df 100644 --- a/cl/_testrt/gblarray/out.ll +++ b/cl/_testrt/gblarray/out.ll @@ -9,7 +9,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/gblarray" @"github.com/goplus/llgo/cl/_testrt/gblarray.sizeBasicTypes" = global [25 x i64] zeroinitializer, align 8 @0 = private unnamed_addr constant [20 x i8] c"Kind: %d, Size: %d\0A\00", align 1 -define ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.Basic"(i64 %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.Basic"(i64 %0) #0 { _llgo_0: %1 = icmp sge i64 %0, 25 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1 %1) @@ -18,7 +18,7 @@ _llgo_0: ret ptr %3 } -define ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.basicType"(i64 %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.basicType"(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 72) %2 = getelementptr inbounds %"github.com/goplus/llgo/runtime/abi.Type", ptr %1, i32 0, i32 0 @@ -36,7 +36,7 @@ _llgo_0: ret ptr %1 } -define void @"github.com/goplus/llgo/cl/_testrt/gblarray.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/gblarray.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -53,7 +53,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/gblarray.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/gblarray.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/cl/_testrt/gblarray.Basic"(i64 24) %1 = getelementptr inbounds %"github.com/goplus/llgo/runtime/abi.Type", ptr %0, i32 0, i32 6 @@ -65,10 +65,12 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/abi.init"() +declare void @"github.com/goplus/llgo/runtime/abi.init"() #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/gotypes/out.ll b/cl/_testrt/gotypes/out.ll index 4ce9a20e6c..d40b80a14a 100644 --- a/cl/_testrt/gotypes/out.ll +++ b/cl/_testrt/gotypes/out.ll @@ -5,12 +5,12 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/gotypes" @"github.com/goplus/llgo/cl/_testrt/gotypes.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/gotypes.foo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/gotypes.foo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/gotypes.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/gotypes.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/gotypes.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,8 +23,10 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/gotypes.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/gotypes.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/gotypes.foo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/hello/out.ll b/cl/_testrt/hello/out.ll index fa6ffd67ce..9a897a5ca1 100644 --- a/cl/_testrt/hello/out.ll +++ b/cl/_testrt/hello/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/hello" @"github.com/goplus/llgo/cl/_testrt/hello.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testrt/hello.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/hello.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/hello.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/hello.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -27,13 +27,15 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/hello.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/hello.main"() #0 { _llgo_0: %0 = call i32 @strlen(ptr @"github.com/goplus/llgo/cl/_testrt/hello.format") call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testrt/hello.format", i32 %0) ret void } -declare i32 @strlen(ptr) +declare i32 @strlen(ptr) #0 -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/index/out.ll b/cl/_testrt/index/out.ll index 49d7c4566b..5e1de36a65 100644 --- a/cl/_testrt/index/out.ll +++ b/cl/_testrt/index/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/index" @"github.com/goplus/llgo/cl/_testrt/index.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [6 x i8] c"123456", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/index.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/index.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/index.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/index.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/index.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testrt/index.point", align 8 call void @llvm.memset(ptr %0, i8 0, i64 16, i1 false) @@ -142,18 +142,19 @@ _llgo_0: } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRune"(i32) +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/runtime/internal/runtime.StringFromRune"(i32) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/intgen/out.ll b/cl/_testrt/intgen/out.ll index 2d0b58ec32..a89fabce5a 100644 --- a/cl/_testrt/intgen/out.ll +++ b/cl/_testrt/intgen/out.ll @@ -9,7 +9,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/intgen" @1 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 @2 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testrt/intgen.genInts"(i64 %0, { ptr, ptr } %1) { +define %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testrt/intgen.genInts"(i64 %0, { ptr, ptr } %1) #0 { _llgo_0: %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64 %0, i64 %0, i64 4) %3 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %2, 1 @@ -39,7 +39,7 @@ _llgo_3: ; preds = %_llgo_1 ret %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %2 } -define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.(*generator).next"(ptr %0) { +define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.(*generator).next"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/intgen.generator", ptr %0, i32 0, i32 0 %2 = load i32, ptr %1, align 4 @@ -51,7 +51,7 @@ _llgo_0: ret i32 %6 } -define void @"github.com/goplus/llgo/cl/_testrt/intgen.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/intgen.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/intgen.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -64,7 +64,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/intgen.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/intgen.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/cl/_testrt/intgen.genInts"(i64 5, { ptr, ptr } { ptr @__llgo_stub.rand, ptr null }) %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 @@ -151,7 +151,7 @@ _llgo_9: ; preds = %_llgo_7 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.main$1"(ptr %0) { +define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.main$1"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 @@ -164,28 +164,30 @@ _llgo_0: ret i32 %7 } -declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64, i64, i64) +declare %"github.com/goplus/llgo/runtime/internal/runtime.Slice" @"github.com/goplus/llgo/runtime/internal/runtime.MakeSlice"(i64, i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i32 @rand() +declare i32 @rand() #0 -define linkonce i32 @__llgo_stub.rand(ptr %0) { +define linkonce i32 @__llgo_stub.rand(ptr %0) #0 { _llgo_0: %1 = tail call i32 @rand() ret i32 %1 } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.(*generator).next$bound"(ptr %0) { +define i32 @"github.com/goplus/llgo/cl/_testrt/intgen.(*generator).next$bound"(ptr %0) #0 { _llgo_0: %1 = load { ptr }, ptr %0, align 8 %2 = extractvalue { ptr } %1, 0 %3 = call i32 @"github.com/goplus/llgo/cl/_testrt/intgen.(*generator).next"(ptr %2) ret i32 %3 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/len/out.ll b/cl/_testrt/len/out.ll index a811bae533..153d43c19b 100644 --- a/cl/_testrt/len/out.ll +++ b/cl/_testrt/len/out.ll @@ -56,7 +56,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/len" @"github.com/goplus/llgo/cl/_testrt/len.struct$-d5W1oQEguzs9p8l76MbO7RbmjtJYi8DH1vVvnKnZqQ$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 4 }, ptr @"[8]_llgo_int", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 5 }, ptr @"[8]_llgo_string", i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @14, i64 8 }, ptr @_llgo_Pointer, i64 200, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 @16 = private unnamed_addr constant [5 x i8] c"hello", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/len.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/len.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/len.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -69,7 +69,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/len.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/len.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 56) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/len.data", ptr %0, i32 0, i32 0 @@ -160,60 +160,62 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.ChanLen"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.ChanLen"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.MapLen"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.MapLen"(ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.ChanCap"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.ChanCap"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/linkname/out.ll b/cl/_testrt/linkname/out.ll index 159a0a4a3a..03aba1f555 100644 --- a/cl/_testrt/linkname/out.ll +++ b/cl/_testrt/linkname/out.ll @@ -15,9 +15,9 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/linkname" @7 = private unnamed_addr constant [2 x i8] c"4\00", align 1 @8 = private unnamed_addr constant [5 x i8] c"hello", align 1 -declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.m.info"(%"github.com/goplus/llgo/cl/_testrt/linkname.m") +declare %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.m.info"(%"github.com/goplus/llgo/cl/_testrt/linkname.m") #0 -define void @"github.com/goplus/llgo/cl/_testrt/linkname.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/linkname.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/linkname.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -31,7 +31,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/linkname.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/linkname.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.F"(ptr @0, ptr @1, ptr @2, ptr @3) call void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.F"(ptr @4, ptr @5, ptr @6, ptr @7) @@ -44,14 +44,16 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.F"(ptr, ptr, ptr, ptr) +declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.F"(ptr, ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.(*m).setInfo"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.(*m).setInfo"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.init"() +declare void @"github.com/goplus/llgo/cl/_testrt/linkname/linktarget.init"() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/makemap/out.ll b/cl/_testrt/makemap/out.ll index 85ae6163c9..b13cfd058c 100644 --- a/cl/_testrt/makemap/out.ll +++ b/cl/_testrt/makemap/out.ll @@ -151,7 +151,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/makemap" @"*[]_llgo_github.com/goplus/llgo/cl/_testrt/makemap.N.7.0" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1663940180, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @38, i64 8 }, ptr null }, ptr @"[]_llgo_github.com/goplus/llgo/cl/_testrt/makemap.N.7.0" }, align 8 @"github.com/goplus/llgo/cl/_testrt/makemap.struct$tJooAKjBfWFVdIN3UQAErvHaJ-wlhiEZpoJy2GckluU$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 4 }, ptr @"[8]_llgo_github.com/goplus/llgo/cl/_testrt/makemap.N.7.0", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 5 }, ptr @"[8]_llgo_string", i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @14, i64 8 }, ptr @_llgo_Pointer, i64 200, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 -define void @"github.com/goplus/llgo/cl/_testrt/makemap.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/makemap.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -164,7 +164,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/makemap.make1"() call void @"github.com/goplus/llgo/cl/_testrt/makemap.make2"() @@ -176,7 +176,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make1"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make1"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_string", i64 0) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -352,7 +352,7 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14 br i1 %77, label %_llgo_5, label %_llgo_6 } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make2"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make2"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_string", i64 0) %1 = call i64 @"github.com/goplus/llgo/runtime/internal/runtime.MapLen"(ptr %0) @@ -476,7 +476,7 @@ _llgo_8: ; preds = %_llgo_2 unreachable } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make3"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make3"() #0 { _llgo_0: %0 = alloca [1 x %"github.com/goplus/llgo/cl/_testrt/makemap.N"], align 8 call void @llvm.memset(ptr %0, i8 0, i64 2, i1 false) @@ -593,7 +593,7 @@ _llgo_8: ; preds = %_llgo_2 unreachable } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make4"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make4"() #0 { _llgo_0: %0 = alloca [1 x ptr], align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -709,7 +709,7 @@ _llgo_8: ; preds = %_llgo_2 unreachable } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make5"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make5"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64 8, i64 0) %1 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" { ptr @"chan _llgo_int", ptr undef }, ptr %0, 1 @@ -764,7 +764,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 br i1 %21, label %_llgo_2, label %_llgo_3 } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make6"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make6"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_string", i64 0) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -809,7 +809,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 br i1 %15, label %_llgo_2, label %_llgo_3 } -define void @"github.com/goplus/llgo/cl/_testrt/makemap.make7"() { +define void @"github.com/goplus/llgo/cl/_testrt/makemap.make7"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_github.com/goplus/llgo/cl/_testrt/makemap.N.7.0]_llgo_string", i64 2) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -864,89 +864,90 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 br i1 %20, label %_llgo_2, label %_llgo_3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) #0 -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.MapLen"(ptr) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.MapLen"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewMapIter"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewMapIter"(ptr, ptr) #0 -declare { i1, ptr, ptr } @"github.com/goplus/llgo/runtime/internal/runtime.MapIterNext"(ptr) +declare { i1, ptr, ptr } @"github.com/goplus/llgo/runtime/internal/runtime.MapIterNext"(ptr) #0 -declare { ptr, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess2"(ptr, ptr, ptr) +declare { ptr, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess2"(ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.MapDelete"(ptr, ptr, ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.MapDelete"(ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewChan"(i64, i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/map/out.ll b/cl/_testrt/map/out.ll index f037b78cf6..f8250b5983 100644 --- a/cl/_testrt/map/out.ll +++ b/cl/_testrt/map/out.ll @@ -46,7 +46,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/map" @"github.com/goplus/llgo/cl/_testrt/map.struct$RSTTp_pTKglBmcdy0CMmgLp9HSGRvgD8UwNIoMFFyOg$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 4 }, ptr @"[8]_llgo_int", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 5 }, ptr @"[8]_llgo_int", i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 8 }, ptr @_llgo_uintptr, i64 136, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 @13 = private unnamed_addr constant [10 x i8] c"Hello %d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/map.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/map.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/map.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -59,7 +59,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/map.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/map.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_int]_llgo_int", i64 2) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -78,42 +78,44 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/mapclosure/out.ll b/cl/_testrt/mapclosure/out.ll index 1882b4431c..76c0dacd11 100644 --- a/cl/_testrt/mapclosure/out.ll +++ b/cl/_testrt/mapclosure/out.ll @@ -93,7 +93,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/mapclosure" @"*_llgo_iface$O6rEVxIuA5O1E0KWpQBCgGx26X5gYhJ_nnJnHVL8_7U" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 876051709, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @27, i64 29 }, ptr null }, ptr @"_llgo_iface$O6rEVxIuA5O1E0KWpQBCgGx26X5gYhJ_nnJnHVL8_7U" }, align 8 @28 = private unnamed_addr constant [5 x i8] c"error", align 1 -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/mapclosure.demo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/mapclosure.demo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, 0 @@ -107,7 +107,7 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %9 } -define void @"github.com/goplus/llgo/cl/_testrt/mapclosure.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/mapclosure.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/mapclosure.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -133,7 +133,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/mapclosure.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/mapclosure.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/mapclosure.typ", ptr %0, i32 0, i32 0 @@ -177,73 +177,75 @@ _llgo_2: ; preds = %_llgo_0 ret void } -define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/mapclosure.(*typ).String"(ptr %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/mapclosure.(*typ).String"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/mapclosure.typ", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.String" @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/mapclosure.demo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.String" @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/mapclosure.demo"(ptr %0, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) #0 { _llgo_0: %2 = tail call %"github.com/goplus/llgo/runtime/internal/runtime.String" @"github.com/goplus/llgo/cl/_testrt/mapclosure.demo"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.String" %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess1"(ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/mask/out.ll b/cl/_testrt/mask/out.ll index 69664fd4ba..188288e135 100644 --- a/cl/_testrt/mask/out.ll +++ b/cl/_testrt/mask/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/mask" @"github.com/goplus/llgo/cl/_testrt/mask.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/mask.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/mask.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/mask.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/mask.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/mask.main"() #0 { _llgo_0: %0 = call i32 @"github.com/goplus/llgo/cl/_testrt/mask.mask"(i8 1) %1 = sext i32 %0 to i64 @@ -59,7 +59,7 @@ _llgo_0: ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/mask.mask"(i8 %0) { +define i32 @"github.com/goplus/llgo/cl/_testrt/mask.mask"(i8 %0) #0 { _llgo_0: %1 = sext i8 %0 to i32 %2 = shl i32 %1, 31 @@ -68,7 +68,7 @@ _llgo_0: ret i32 %4 } -define i64 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl"(i64 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -78,7 +78,7 @@ _llgo_0: ret i64 %5 } -define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl8"(i8 %0, i64 %1) { +define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl8"(i8 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -89,7 +89,7 @@ _llgo_0: ret i8 %6 } -define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl8u"(i8 %0, i64 %1) { +define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shl8u"(i8 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -100,7 +100,7 @@ _llgo_0: ret i8 %6 } -define i64 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr"(i64 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -110,7 +110,7 @@ _llgo_0: ret i64 %5 } -define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr8"(i8 %0, i64 %1) { +define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr8"(i8 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -121,7 +121,7 @@ _llgo_0: ret i8 %6 } -define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr8u"(i8 %0, i64 %1) { +define i8 @"github.com/goplus/llgo/cl/_testrt/mask.mask_shr8u"(i8 %0, i64 %1) #0 { _llgo_0: %2 = icmp slt i64 %1, 0 call void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1 %2) @@ -132,10 +132,12 @@ _llgo_0: ret i8 %6 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertNegativeShift"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/methodthunk/out.ll b/cl/_testrt/methodthunk/out.ll index 03d85892cd..68ac2d5a64 100644 --- a/cl/_testrt/methodthunk/out.ll +++ b/cl/_testrt/methodthunk/out.ll @@ -70,21 +70,21 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/methodthunk" @20 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/methodthunk.InnerInt", ptr %0, i32 0, i32 0 %2 = load i64, ptr %1, align 4 ret i64 %2 } -define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*OuterInt).M"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*OuterInt).M"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/methodthunk.OuterInt", ptr %0, i32 0, i32 1 %2 = call i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M"(ptr %1) ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/methodthunk.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -97,12 +97,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*inner).M"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*inner).M"(ptr %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk", ptr null }, ptr %0, align 8 @@ -169,69 +169,71 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 br i1 %24, label %_llgo_1, label %_llgo_2 } -define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M"(ptr %0) #0 { _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk"(ptr %0) #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M"(ptr %0) ret void } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk"(ptr %0, ptr %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk"(ptr %0, ptr %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*outer).M$thunk"(ptr %1) ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M$thunk"(ptr %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M$thunk"(ptr %0) #0 { _llgo_0: %1 = call i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M"(ptr %0) ret i64 %1 } -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M$thunk"(ptr %0, ptr %1) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M$thunk"(ptr %0, ptr %1) #0 { _llgo_0: %2 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/methodthunk.(*InnerInt).M$thunk"(ptr %1) ret i64 %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.MatchesClosure"(ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/named/out.ll b/cl/_testrt/named/out.ll index be3ff8d71e..7acd391632 100644 --- a/cl/_testrt/named/out.ll +++ b/cl/_testrt/named/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/named" @"github.com/goplus/llgo/cl/_testrt/named.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [19 x i8] c"%d %d %d %d %d %d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/named.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/named.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/named.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/named.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/named.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 64) @@ -112,7 +112,7 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testrt/named.main$1"(ptr %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/named.main$1"(ptr %0, i64 %1) #0 { _llgo_0: %2 = load { ptr }, ptr %0, align 8 %3 = extractvalue { ptr } %2, 0 @@ -123,8 +123,10 @@ _llgo_0: ret i64 %7 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/namedslice/out.ll b/cl/_testrt/namedslice/out.ll index 9a077471fd..3853f9e141 100644 --- a/cl/_testrt/namedslice/out.ll +++ b/cl/_testrt/namedslice/out.ll @@ -23,7 +23,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/namedslice" @4 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testrt/namedslice.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/namedslice.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/namedslice.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -36,7 +36,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/namedslice.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/namedslice.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 0) %1 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %0, 0 @@ -76,32 +76,34 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 br i1 %16, label %_llgo_2, label %_llgo_1 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/panic/out.ll b/cl/_testrt/panic/out.ll index 8b6ef551e9..f16cb60610 100644 --- a/cl/_testrt/panic/out.ll +++ b/cl/_testrt/panic/out.ll @@ -12,7 +12,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/panic" @1 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define void @"github.com/goplus/llgo/cl/_testrt/panic.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/panic.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/panic.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/panic.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/panic.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 13 }, ptr %0, align 8 @@ -34,22 +34,24 @@ _llgo_0: unreachable } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/qsort/out.ll b/cl/_testrt/qsort/out.ll index f0649acc11..674d985ef3 100644 --- a/cl/_testrt/qsort/out.ll +++ b/cl/_testrt/qsort/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/qsort" @"github.com/goplus/llgo/cl/_testrt/qsort.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/qsort.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsort.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/qsort.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,7 +17,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/qsort.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsort.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -55,7 +55,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsort.main$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsort.main$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -64,10 +64,12 @@ _llgo_0: ret i32 %5 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @qsort(ptr, i64, i64, ptr) +declare void @qsort(ptr, i64, i64, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/qsortfn/out.ll b/cl/_testrt/qsortfn/out.ll index 674656afdd..76bab551e8 100644 --- a/cl/_testrt/qsortfn/out.ll +++ b/cl/_testrt/qsortfn/out.ll @@ -23,7 +23,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/qsortfn" @18 = private unnamed_addr constant [22 x i8] c"Comp => qsort.Comp()\0A\00", align 1 @19 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/qsortfn.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -36,7 +36,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1a"() call void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1b"() @@ -51,7 +51,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1a"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1a"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @0) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -90,7 +90,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1a$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1a$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -99,7 +99,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1b"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1b"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @2) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -138,7 +138,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1b$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort1b$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -147,7 +147,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2a"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2a"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @4) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -186,7 +186,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2a$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2a$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -195,7 +195,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2b"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2b"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @6) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -234,7 +234,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2b$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort2b$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -243,7 +243,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3a"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3a"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @8) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -282,7 +282,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3a$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3a$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -291,7 +291,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3b"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3b"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @10) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -330,7 +330,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3b$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort3b$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -339,7 +339,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4a"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4a"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @12) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -378,7 +378,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4a$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4a$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -387,7 +387,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4b"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4b"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @14) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -426,7 +426,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4b$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort4b$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -435,7 +435,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5a"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5a"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @16) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -474,7 +474,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5a$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5a$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -483,7 +483,7 @@ _llgo_0: ret i32 %5 } -define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5b"() { +define void @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5b"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @18) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 40) @@ -522,7 +522,7 @@ _llgo_3: ; preds = %_llgo_1 ret void } -define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5b$1"(ptr %0, ptr %1) { +define i32 @"github.com/goplus/llgo/cl/_testrt/qsortfn.sort5b$1"(ptr %0, ptr %1) #0 { _llgo_0: %2 = load i64, ptr %0, align 4 %3 = load i64, ptr %1, align 4 @@ -531,10 +531,12 @@ _llgo_0: ret i32 %5 } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @qsort(ptr, i64, i64, ptr) +declare void @qsort(ptr, i64, i64, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/result/out.ll b/cl/_testrt/result/out.ll index 3131c70471..f4665db3c1 100644 --- a/cl/_testrt/result/out.ll +++ b/cl/_testrt/result/out.ll @@ -6,29 +6,29 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/result" @1 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 @2 = private unnamed_addr constant [7 x i8] c"%d %d\0A\00", align 1 -define { ptr, ptr } @"github.com/goplus/llgo/cl/_testrt/result.add"() { +define { ptr, ptr } @"github.com/goplus/llgo/cl/_testrt/result.add"() #0 { _llgo_0: ret { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add$1", ptr null } } -define i64 @"github.com/goplus/llgo/cl/_testrt/result.add$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/result.add$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define { { ptr, ptr }, i64 } @"github.com/goplus/llgo/cl/_testrt/result.add2"() { +define { { ptr, ptr }, i64 } @"github.com/goplus/llgo/cl/_testrt/result.add2"() #0 { _llgo_0: ret { { ptr, ptr }, i64 } { { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add2$1", ptr null }, i64 1 } } -define i64 @"github.com/goplus/llgo/cl/_testrt/result.add2$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/result.add2$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define void @"github.com/goplus/llgo/cl/_testrt/result.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/result.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/result.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -41,7 +41,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/result.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/result.main"() #0 { _llgo_0: %0 = call { ptr, ptr } @"github.com/goplus/llgo/cl/_testrt/result.main$1"() %1 = extractvalue { ptr, ptr } %0, 1 @@ -64,33 +64,35 @@ _llgo_0: ret void } -define { ptr, ptr } @"github.com/goplus/llgo/cl/_testrt/result.main$1"() { +define { ptr, ptr } @"github.com/goplus/llgo/cl/_testrt/result.main$1"() #0 { _llgo_0: ret { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.main$1$1", ptr null } } -define i64 @"github.com/goplus/llgo/cl/_testrt/result.main$1$1"(i64 %0, i64 %1) { +define i64 @"github.com/goplus/llgo/cl/_testrt/result.main$1$1"(i64 %0, i64 %1) #0 { _llgo_0: %2 = add i64 %0, %1 ret i64 %2 } -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add$1"(ptr %0, i64 %1, i64 %2) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add$1"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/result.add$1"(i64 %1, i64 %2) ret i64 %3 } -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add2$1"(ptr %0, i64 %1, i64 %2) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.add2$1"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/result.add2$1"(i64 %1, i64 %2) ret i64 %3 } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.main$1$1"(ptr %0, i64 %1, i64 %2) { +define linkonce i64 @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/result.main$1$1"(ptr %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = tail call i64 @"github.com/goplus/llgo/cl/_testrt/result.main$1$1"(i64 %1, i64 %2) ret i64 %3 } + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/slice2array/out.ll b/cl/_testrt/slice2array/out.ll index d2160ff927..8329d706df 100644 --- a/cl/_testrt/slice2array/out.ll +++ b/cl/_testrt/slice2array/out.ll @@ -5,7 +5,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/slice2array" @"github.com/goplus/llgo/cl/_testrt/slice2array.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/slice2array.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/slice2array.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/slice2array.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -18,7 +18,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/slice2array.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/slice2array.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 4) %1 = getelementptr inbounds i8, ptr %0, i64 0 @@ -98,15 +98,16 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2 ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PanicSliceConvert"(i64, i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PanicSliceConvert"(i64, i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/slicelen/out.ll b/cl/_testrt/slicelen/out.ll index ed227745c9..bee18cdd5d 100644 --- a/cl/_testrt/slicelen/out.ll +++ b/cl/_testrt/slicelen/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/slicelen" @"github.com/goplus/llgo/cl/_testrt/slicelen.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [7 x i8] c"len > 0", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/slicelen.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/slicelen.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/slicelen.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/slicelen.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/slicelen.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 0) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10) @@ -34,8 +34,10 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/stacksave/out.ll b/cl/_testrt/stacksave/out.ll index 1622ee903a..028e9c93ef 100644 --- a/cl/_testrt/stacksave/out.ll +++ b/cl/_testrt/stacksave/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/stacksave" @"github.com/goplus/llgo/cl/_testrt/stacksave.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/stacksave.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/stacksave.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/stacksave.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/stacksave.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/stacksave.main"() #0 { _llgo_0: %0 = call ptr @llvm.stacksave() call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr %0) @@ -25,10 +25,11 @@ _llgo_0: } ; Function Attrs: nocallback nofree nosync nounwind willreturn -declare ptr @llvm.stacksave() #0 +declare ptr @llvm.stacksave() #1 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -attributes #0 = { nocallback nofree nosync nounwind willreturn } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nosync nounwind willreturn "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/strlen/out.ll b/cl/_testrt/strlen/out.ll index 39381b7a51..407a5aa77a 100644 --- a/cl/_testrt/strlen/out.ll +++ b/cl/_testrt/strlen/out.ll @@ -7,16 +7,16 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/strlen" @"github.com/goplus/llgo/cl/_testrt/strlen.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testrt/strlen.init$guard" = global i1 false, align 1 -define ptr @"github.com/goplus/llgo/cl/_testrt/strlen._Cgo_ptr"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/strlen._Cgo_ptr"(ptr %0) #0 { _llgo_0: ret ptr %0 } -declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define void @"github.com/goplus/llgo/cl/_testrt/strlen.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/strlen.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/strlen.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -40,15 +40,17 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/strlen.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/strlen.main"() #0 { _llgo_0: %0 = call i32 @strlen(ptr @"github.com/goplus/llgo/cl/_testrt/strlen.format") call void (ptr, ...) @printf(ptr @"github.com/goplus/llgo/cl/_testrt/strlen.format", i32 %0) ret void } -declare void @syscall.init() +declare void @syscall.init() #0 -declare i32 @strlen(ptr) +declare i32 @strlen(ptr) #0 -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/struct/out.ll b/cl/_testrt/struct/out.ll index 25667c31f9..2634fd6c99 100644 --- a/cl/_testrt/struct/out.ll +++ b/cl/_testrt/struct/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/struct" @"github.com/goplus/llgo/cl/_testrt/struct.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testrt/struct.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/struct.Foo.Print"(%"github.com/goplus/llgo/cl/_testrt/struct.Foo" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/struct.Foo.Print"(%"github.com/goplus/llgo/cl/_testrt/struct.Foo" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testrt/struct.Foo", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -27,23 +27,23 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/struct.(*Foo).Print"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/struct.(*Foo).Print"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testrt/struct.Foo", ptr %0, align 4 call void @"github.com/goplus/llgo/cl/_testrt/struct.Foo.Print"(%"github.com/goplus/llgo/cl/_testrt/struct.Foo" %1) ret void } -define ptr @"github.com/goplus/llgo/cl/_testrt/struct._Cgo_ptr"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/struct._Cgo_ptr"(ptr %0) #0 { _llgo_0: ret ptr %0 } -declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define void @"github.com/goplus/llgo/cl/_testrt/struct.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/struct.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/struct.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -67,7 +67,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/struct.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/struct.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testrt/struct.Foo", align 8 call void @llvm.memset(ptr %0, i8 0, i64 8, i1 false) @@ -81,10 +81,11 @@ _llgo_0: } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 -declare void @syscall.init() +declare void @syscall.init() #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/structsize/out.ll b/cl/_testrt/structsize/out.ll index 80f9facc07..74a2929abd 100644 --- a/cl/_testrt/structsize/out.ll +++ b/cl/_testrt/structsize/out.ll @@ -4,7 +4,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/structsize" @"github.com/goplus/llgo/cl/_testrt/structsize.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [3 x i8] c"%d\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/structsize.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/structsize.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/structsize.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -17,10 +17,12 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/structsize.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/structsize.main"() #0 { _llgo_0: %0 = call i32 (ptr, ...) @printf(ptr @0, i64 14) ret void } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/sum/out.ll b/cl/_testrt/sum/out.ll index 66cf2dd81b..02058d0cf6 100644 --- a/cl/_testrt/sum/out.ll +++ b/cl/_testrt/sum/out.ll @@ -6,7 +6,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/sum" @"github.com/goplus/llgo/cl/_testrt/sum.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [10 x i8] c"Hello %d\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/sum.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/sum.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/sum.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/sum.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/sum.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 32) %1 = getelementptr inbounds i64, ptr %0, i64 0 @@ -38,7 +38,7 @@ _llgo_0: ret void } -define i64 @"github.com/goplus/llgo/cl/_testrt/sum.sum"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) { +define i64 @"github.com/goplus/llgo/cl/_testrt/sum.sum"(%"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0) #0 { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, 1 br label %_llgo_1 @@ -66,8 +66,10 @@ _llgo_3: ; preds = %_llgo_1 ret i64 %2 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/tpabi/out.ll b/cl/_testrt/tpabi/out.ll index 4b21f43520..ff9982a38a 100644 --- a/cl/_testrt/tpabi/out.ll +++ b/cl/_testrt/tpabi/out.ll @@ -43,7 +43,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/tpabi" @"*_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 2055694132, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 20 }, ptr null }, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs" }, align 8 @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs$imethods" = weak_odr constant [1 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" }], align 8 -define void @"github.com/goplus/llgo/cl/_testrt/tpabi.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpabi.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/tpabi.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -56,7 +56,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpabi.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpabi.main"() #0 { _llgo_0: %0 = alloca %"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]", align 8 call void @llvm.memset(ptr %0, i8 0, i64 24, i1 false) @@ -121,9 +121,9 @@ _llgo_2: ; preds = %_llgo_0 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int].Info"(%"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]" %0) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int].Info"(%"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]", align 8 call void @llvm.memset(ptr %1, i8 0, i64 24, i1 false) @@ -139,9 +139,9 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.(*T[string,int]).Demo"(ptr %0) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.(*T[string,int]).Demo"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]", ptr %0, i32 0, i32 0 %2 = load %"github.com/goplus/llgo/runtime/internal/runtime.String", ptr %1, align 8 @@ -154,61 +154,62 @@ _llgo_0: ret void } -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.(*T[string,int]).Info"(ptr %0) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpabi.(*T[string,int]).Info"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]", ptr %0, align 8 call void @"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int].Info"(%"github.com/goplus/llgo/cl/_testrt/tpabi.T[string,int]" %1) ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintPointer"(ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/tpfunc/out.ll b/cl/_testrt/tpfunc/out.ll index 9d7213a5c1..3c2bac9cef 100644 --- a/cl/_testrt/tpfunc/out.ll +++ b/cl/_testrt/tpfunc/out.ll @@ -3,7 +3,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/tpfunc" @"github.com/goplus/llgo/cl/_testrt/tpfunc.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/tpfunc.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -16,7 +16,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64 16) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32) @@ -27,7 +27,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$1"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$1"(ptr %0) #0 { _llgo_0: %1 = load i64, ptr %0, align 4 call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %1) @@ -35,7 +35,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$2"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$2"(ptr %0) #0 { _llgo_0: %1 = load i64, ptr %0, align 4 call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %1) @@ -43,7 +43,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$3"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$3"(ptr %0) #0 { _llgo_0: %1 = load i64, ptr %0, align 4 call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %1) @@ -51,14 +51,16 @@ _llgo_0: ret void } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpfunc.main$1"(ptr %0, ptr %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpfunc.main$1"(ptr %0, ptr %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/tpfunc.main$1"(ptr %1) ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/tpmap/out.ll b/cl/_testrt/tpmap/out.ll index 094ea0bd1d..aaae7a1f5a 100644 --- a/cl/_testrt/tpmap/out.ll +++ b/cl/_testrt/tpmap/out.ll @@ -90,7 +90,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/tpmap" @"github.com/goplus/llgo/cl/_testrt/tpmap.struct$ibdiBmDH7G4iiypsSuNnfN36hpedh02DKMXmXLR4D0g$fields" = weak_odr constant [4 x %"github.com/goplus/llgo/runtime/abi.StructField"] [%"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @17, i64 7 }, ptr @"[8]_llgo_uint8", i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @21, i64 4 }, ptr @"[8]_llgo_github.com/goplus/llgo/cl/_testrt/tpmap.cacheKey", i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @24, i64 5 }, ptr @"[8]_llgo_string", i64 392, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }, %"github.com/goplus/llgo/runtime/abi.StructField" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @27, i64 8 }, ptr @_llgo_Pointer, i64 520, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false }], align 8 @29 = private unnamed_addr constant [5 x i8] c"world", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/tpmap.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpmap.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/tpmap.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -103,7 +103,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpmap.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpmap.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr @"map[_llgo_github.com/goplus/llgo/cl/_testrt/tpmap.cacheKey]_llgo_string", i64 0) %1 = alloca %"github.com/goplus/llgo/cl/_testrt/tpmap.cacheKey", align 8 @@ -157,67 +157,68 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) +declare i64 @"github.com/goplus/llgo/runtime/internal/runtime.typehash"(ptr, ptr, i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MakeMap"(ptr, i64) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapAssign"(ptr, ptr, ptr) #0 -declare { ptr, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess2"(ptr, ptr, ptr) +declare { ptr, i1 } @"github.com/goplus/llgo/runtime/internal/runtime.MapAccess2"(ptr, ptr, ptr) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/tpmethod/out.ll b/cl/_testrt/tpmethod/out.ll index dafa1b61c9..9a909ed9a5 100644 --- a/cl/_testrt/tpmethod/out.ll +++ b/cl/_testrt/tpmethod/out.ll @@ -73,13 +73,13 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/tpmethod" @"*_llgo_iface$XcsCI4xRViVu44YvSfJySCCik7Xq487CpVScS6LGI70" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 1232808231, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 79 }, ptr null }, ptr @"_llgo_iface$XcsCI4xRViVu44YvSfJySCCik7Xq487CpVScS6LGI70" }, align 8 @"_llgo_iface$XcsCI4xRViVu44YvSfJySCCik7Xq487CpVScS6LGI70$imethods" = weak_odr constant [1 x %"github.com/goplus/llgo/runtime/abi.Imethod"] [%"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 4 }, ptr @"_llgo_func$YDtAFTesCi1EpIfGs4nqPSJzLIDwkg-8FAbVKMCx8cg" }], align 8 -define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) { +define %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %0) #0 { _llgo_0: %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Async[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]"({ ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1", ptr null }) ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %1 } -define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1"({ ptr, ptr } %0) { +define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1"({ ptr, ptr } %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -92,7 +92,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/tpmethod.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -105,7 +105,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.main"() #0 { _llgo_0: %0 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 7 }) %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) @@ -120,7 +120,7 @@ _llgo_0: ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.main$1"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %0) { +define void @"github.com/goplus/llgo/cl/_testrt/tpmethod.main$1"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %0) #0 { _llgo_0: %1 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error].Get"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %0) call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %1) @@ -128,7 +128,7 @@ _llgo_0: ret void } -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Async[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]"({ ptr, ptr } %0) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Async[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]"({ ptr, ptr } %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/tpmethod.future[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]", ptr %1, i32 0, i32 0 @@ -139,24 +139,24 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %5 } -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1"(ptr %0, { ptr, ptr } %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1"(ptr %0, { ptr, ptr } %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/tpmethod.ReadFile$1"({ ptr, ptr } %1) ret void } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpmethod.main$1"(ptr %0, %"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %1) { +define linkonce void @"__llgo_stub.github.com/goplus/llgo/cl/_testrt/tpmethod.main$1"(ptr %0, %"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %1) #0 { _llgo_0: tail call void @"github.com/goplus/llgo/cl/_testrt/tpmethod.main$1"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %1) ret void } -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error].Get"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %0) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error].Get"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %0) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]", align 8 call void @llvm.memset(ptr %1, i8 0, i64 16, i1 false) @@ -166,13 +166,13 @@ _llgo_0: ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintIface"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpmethod.(*future[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]).Then"(ptr %0, { ptr, ptr } %1) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpmethod.(*future[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]).Then"(ptr %0, { ptr, ptr } %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/tpmethod.future[github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]]", ptr %0, i32 0, i32 0 %3 = load { ptr, ptr }, ptr %2, align 8 @@ -182,39 +182,40 @@ _llgo_0: ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.(*Tuple[error]).Get"(ptr %0) { +define linkonce %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.(*Tuple[error]).Get"(ptr %0) #0 { _llgo_0: %1 = load %"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]", ptr %0, align 8 %2 = call %"github.com/goplus/llgo/runtime/internal/runtime.iface" @"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error].Get"(%"github.com/goplus/llgo/cl/_testrt/tpmethod.Tuple[error]" %1) ret %"github.com/goplus/llgo/runtime/internal/runtime.iface" %2 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/tpunsafe/out.ll b/cl/_testrt/tpunsafe/out.ll index 8073bf6211..67d1584015 100644 --- a/cl/_testrt/tpunsafe/out.ll +++ b/cl/_testrt/tpunsafe/out.ll @@ -19,7 +19,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/tpunsafe" @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 @4 = private unnamed_addr constant [21 x i8] c"unsafe.Offsetof error", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/tpunsafe.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -32,7 +32,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 12) call void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.(*M[bool]).check"(ptr %0, i64 1, i64 8, i64 1) @@ -41,9 +41,9 @@ _llgo_0: ret void } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.(*M[bool]).check"(ptr %0, i64 %1, i64 %2, i64 %3) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.(*M[bool]).check"(ptr %0, i64 %1, i64 %2, i64 %3) #0 { _llgo_0: %4 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/tpunsafe.M[bool]", ptr %0, i32 0, i32 2 %5 = load %"github.com/goplus/llgo/cl/_testrt/tpunsafe.N[bool]", ptr %4, align 1 @@ -112,7 +112,7 @@ _llgo_6: ; preds = %_llgo_4 ret void } -define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.(*M[int64]).check"(ptr %0, i64 %1, i64 %2, i64 %3) { +define linkonce void @"github.com/goplus/llgo/cl/_testrt/tpunsafe.(*M[int64]).check"(ptr %0, i64 %1, i64 %2, i64 %3) #0 { _llgo_0: %4 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/tpunsafe.M[int64]", ptr %0, i32 0, i32 2 %5 = load %"github.com/goplus/llgo/cl/_testrt/tpunsafe.N[int64]", ptr %4, align 4 @@ -181,30 +181,32 @@ _llgo_6: ; preds = %_llgo_4 ret void } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintUint"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/typalias/out.ll b/cl/_testrt/typalias/out.ll index 5ce7a11735..3eed681031 100644 --- a/cl/_testrt/typalias/out.ll +++ b/cl/_testrt/typalias/out.ll @@ -7,7 +7,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/typalias" @"github.com/goplus/llgo/cl/_testrt/typalias.format" = global [10 x i8] zeroinitializer, align 1 @"github.com/goplus/llgo/cl/_testrt/typalias.init$guard" = global i1 false, align 1 -define void @"github.com/goplus/llgo/cl/_testrt/typalias.Print"(ptr %0) { +define void @"github.com/goplus/llgo/cl/_testrt/typalias.Print"(ptr %0) #0 { _llgo_0: %1 = getelementptr inbounds { i32, i1 }, ptr %0, i32 0, i32 1 %2 = load i1, ptr %1, align 1 @@ -23,16 +23,16 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define ptr @"github.com/goplus/llgo/cl/_testrt/typalias._Cgo_ptr"(ptr %0) { +define ptr @"github.com/goplus/llgo/cl/_testrt/typalias._Cgo_ptr"(ptr %0) #0 { _llgo_0: ret ptr %0 } -declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -define void @"github.com/goplus/llgo/cl/_testrt/typalias.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/typalias.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/typalias.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -56,7 +56,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/typalias.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/typalias.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) %1 = getelementptr inbounds { i32, i1 }, ptr %0, i32 0, i32 0 @@ -67,8 +67,10 @@ _llgo_0: ret void } -declare void @printf(ptr, ...) +declare void @printf(ptr, ...) #0 -declare void @syscall.init() +declare void @syscall.init() #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/typed/out.ll b/cl/_testrt/typed/out.ll index 02e99d3eb4..32f984dcbc 100644 --- a/cl/_testrt/typed/out.ll +++ b/cl/_testrt/typed/out.ll @@ -30,7 +30,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/typed" @7 = private unnamed_addr constant [5 x i8] c"[]int", align 1 @"*[]_llgo_int" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1428175521, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 5 }, ptr null }, ptr @"[]_llgo_int" }, align 8 -define void @"github.com/goplus/llgo/cl/_testrt/typed.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/typed.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/typed.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -43,7 +43,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/typed.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/typed.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 5 }, ptr %0, align 8 @@ -130,45 +130,46 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintBool"(i1) #0 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.arrayequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal64"(ptr %1, ptr %2) ret i1 %3 } -declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64) #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/unreachable/out.ll b/cl/_testrt/unreachable/out.ll index a3190e62ac..d39bf33deb 100644 --- a/cl/_testrt/unreachable/out.ll +++ b/cl/_testrt/unreachable/out.ll @@ -4,13 +4,13 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/unreachable" @"github.com/goplus/llgo/cl/_testrt/unreachable.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [7 x i8] c"Hello\0A\00", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/unreachable.foo"() { +define void @"github.com/goplus/llgo/cl/_testrt/unreachable.foo"() #0 { _llgo_0: unreachable ret void } -define void @"github.com/goplus/llgo/cl/_testrt/unreachable.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/unreachable.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/unreachable.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -23,11 +23,13 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/unreachable.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/unreachable.main"() #0 { _llgo_0: call void @"github.com/goplus/llgo/cl/_testrt/unreachable.foo"() %0 = call i32 (ptr, ...) @printf(ptr @0) ret void } -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/unsafe/out.ll b/cl/_testrt/unsafe/out.ll index b06cb5ae90..38de1e9828 100644 --- a/cl/_testrt/unsafe/out.ll +++ b/cl/_testrt/unsafe/out.ll @@ -15,7 +15,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/unsafe" @2 = private unnamed_addr constant [4 x i8] c"abc\00", align 1 @3 = private unnamed_addr constant [3 x i8] c"abc", align 1 -define void @"github.com/goplus/llgo/cl/_testrt/unsafe.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/unsafe.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/unsafe.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -28,7 +28,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/unsafe.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/unsafe.main"() #0 { _llgo_0: br i1 false, label %_llgo_1, label %_llgo_2 @@ -227,28 +227,30 @@ _llgo_33: ; preds = %_llgo_31 ret void } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String", %"github.com/goplus/llgo/runtime/internal/runtime.String") #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) +declare void @"github.com/goplus/llgo/runtime/internal/runtime.AssertIndexRange"(i1) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } diff --git a/cl/_testrt/vamethod/out.ll b/cl/_testrt/vamethod/out.ll index 4995830cc2..ba6fc4d196 100644 --- a/cl/_testrt/vamethod/out.ll +++ b/cl/_testrt/vamethod/out.ll @@ -68,7 +68,7 @@ source_filename = "github.com/goplus/llgo/cl/_testrt/vamethod" @21 = private unnamed_addr constant [6 x i8] c"string", align 1 @"*_llgo_string" = weak_odr constant %"github.com/goplus/llgo/runtime/abi.PtrType" { %"github.com/goplus/llgo/runtime/abi.Type" { i64 8, i64 8, i32 -1323879264, i8 10, i8 8, i8 8, i8 54, { ptr, ptr } { ptr @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr", ptr null }, ptr null, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @21, i64 6 }, ptr null }, ptr @_llgo_string }, align 8 -define i32 @"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt.Printf"(%"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt" %0, ...) { +define i32 @"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt.Printf"(%"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt" %0, ...) #0 { _llgo_0: %1 = alloca %"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt", align 8 call void @llvm.memset(ptr %1, i8 0, i64 8, i1 false) @@ -79,7 +79,7 @@ _llgo_0: ret i32 %4 } -define i32 @"github.com/goplus/llgo/cl/_testrt/vamethod.(*CFmt).Printf"(ptr %0, ...) { +define i32 @"github.com/goplus/llgo/cl/_testrt/vamethod.(*CFmt).Printf"(ptr %0, ...) #0 { _llgo_0: %1 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt", ptr %0, i32 0, i32 0 %2 = load ptr, ptr %1, align 8 @@ -87,14 +87,14 @@ _llgo_0: ret i32 %3 } -define void @"github.com/goplus/llgo/cl/_testrt/vamethod.(*CFmt).SetFormat"(ptr %0, ptr %1) { +define void @"github.com/goplus/llgo/cl/_testrt/vamethod.(*CFmt).SetFormat"(ptr %0, ptr %1) #0 { _llgo_0: %2 = getelementptr inbounds %"github.com/goplus/llgo/cl/_testrt/vamethod.CFmt", ptr %0, i32 0, i32 0 store ptr %1, ptr %2, align 8 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/vamethod.init"() { +define void @"github.com/goplus/llgo/cl/_testrt/vamethod.init"() #0 { _llgo_0: %0 = load i1, ptr @"github.com/goplus/llgo/cl/_testrt/vamethod.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -107,7 +107,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @"github.com/goplus/llgo/cl/_testrt/vamethod.main"() { +define void @"github.com/goplus/llgo/cl/_testrt/vamethod.main"() #0 { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64 8) call void @"github.com/goplus/llgo/cl/_testrt/vamethod.(*CFmt).SetFormat"(ptr %0, ptr @0) @@ -172,70 +172,71 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) -declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 +declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #1 -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocZ"(i64) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequalptr"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.structequal"(ptr, ptr, ptr) #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal8"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.nilinterequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.memequal32"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.interequal"(ptr %1, ptr %2) ret i1 %3 } -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr, ptr) #0 -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr, ptr) #0 -define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) { +define linkonce i1 @"__llgo_stub.github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %0, ptr %1, ptr %2) #0 { _llgo_0: %3 = tail call i1 @"github.com/goplus/llgo/runtime/internal/runtime.strequal"(ptr %1, ptr %2) ret i1 %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 -declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") #0 -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) "frame-pointer"="non-leaf" } diff --git a/cl/compile.go b/cl/compile.go index c40780969c..980d6b4f3d 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -1246,6 +1246,7 @@ func newPackageEx(prog llssa.Program, patches Patches, rewrites map[string]strin ctx.initAfter = nil fn() } + ret.MaterializePreserveSyms() externs = ctx.cgoSymbols return } diff --git a/cl/compile_test.go b/cl/compile_test.go index fb5ec77d9a..a62059a443 100644 --- a/cl/compile_test.go +++ b/cl/compile_test.go @@ -126,7 +126,7 @@ source_filename = "foo" @foo.a = global i64 0, align 8 @"foo.init$guard" = global i1 false, align 1 -define void @foo.init() { +define void @foo.init() #0 { _llgo_0: %0 = load i1, ptr @"foo.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -138,6 +138,8 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -152,12 +154,12 @@ source_filename = "foo" @"foo.init$guard" = global i1 false, align 1 -define i64 @foo.fn(i64 %0, double %1) { +define i64 @foo.fn(i64 %0, double %1) #0 { _llgo_0: ret i64 1 } -define void @foo.init() { +define void @foo.init() #0 { _llgo_0: %0 = load i1, ptr @"foo.init$guard", align 1 br i1 %0, label %_llgo_2, label %_llgo_1 @@ -169,5 +171,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } diff --git a/internal/build/plan9asm.go b/internal/build/plan9asm.go index 4ed761486b..f7e0637695 100644 --- a/internal/build/plan9asm.go +++ b/internal/build/plan9asm.go @@ -254,6 +254,10 @@ func filterPlan9AsmFuncs(pkgPath, goos, goarch string, funcs []plan9asm.Func, re if pkgPath == "syscall" && goos == "linux" && (goarch == "arm64" || goarch == "amd64") && strings.HasSuffix(resolved, "rawVforkSyscall") { continue } + if pkgPath == "syscall" && goos == "darwin" && (goarch == "arm64" || goarch == "amd64") && + (strings.HasSuffix(resolved, "RawSyscall") || strings.HasSuffix(resolved, "RawSyscall6")) { + continue + } keep = append(keep, fn) } return keep diff --git a/internal/crosscompile/crosscompile.go b/internal/crosscompile/crosscompile.go index 0248b603d1..4e32c83627 100644 --- a/internal/crosscompile/crosscompile.go +++ b/internal/crosscompile/crosscompile.go @@ -225,8 +225,9 @@ func use(goos, goarch string, wasiThreads, forceEspClang bool) (export Export, e "-Wl,--error-limit=0", "-fuse-ld=lld", // Enable ICF (Identical Code Folding) to reduce binary size - "-Xlinker", - "--icf=safe", + "-Wl,--icf=safe", + // Enable ThinLTO, Using default lto kind(thinlto). + "-Wl,--lto-O0", } if clangRoot != "" { clangLib := filepath.Join(clangRoot, "lib") @@ -249,6 +250,7 @@ func use(goos, goarch string, wasiThreads, forceEspClang bool) (export Export, e export.CCFLAGS = []string{ "-Qunused-arguments", "-Wno-unused-command-line-argument", + "-flto=thin", } // Add sysroot for macOS only @@ -499,6 +501,13 @@ func UseTarget(targetName string) (export Export, err error) { expandedCFlags := env.ExpandEnvSlice(config.CFlags, envs) cflags = append(cflags, expandedCFlags...) + if config.Linker == "ld.lld" { + // Enable ThinLTO, Using default lto kind(thinlto). + ldflags = append(ldflags, "--lto-O0") + cflags = append(cflags, "-flto=thin") + ccflags = append(ccflags, "-flto=thin") + } + // The following parameters are inspired by tinygo/builder/library.go // Handle CPU configuration if cpu != "" { @@ -545,6 +554,8 @@ func UseTarget(targetName string) (export Export, err error) { ccflags = append(ccflags, "-fforce-enable-int128") case "riscv64": ccflags = append(ccflags, "-march=rv64gc") + // codegen option should be added to ldflags for lto + ldflags = append(ldflags, "-mllvm", "-march=rv64gc") case "mips": ccflags = append(ccflags, "-fno-pic") } @@ -574,9 +585,13 @@ func UseTarget(targetName string) (export Export, err error) { // Handle code generation configuration if config.CodeModel != "" { ccflags = append(ccflags, "-mcmodel="+config.CodeModel) + // codegen option should be added to ldflags for lto + ldflags = append(ldflags, "-mllvm", "-code-model="+config.CodeModel) } if config.TargetABI != "" { ccflags = append(ccflags, "-mabi="+config.TargetABI) + // codegen option should be added to ldflags for lto + ldflags = append(ldflags, "-mllvm", "-target-abi="+config.TargetABI) } if config.RelocationModel != "" { switch config.RelocationModel { diff --git a/ssa/datastruct.go b/ssa/datastruct.go index fd0ae45dbb..1cafc2bcd5 100644 --- a/ssa/datastruct.go +++ b/ssa/datastruct.go @@ -342,6 +342,10 @@ func (b Builder) Slice(x, low, high, max Expr) (ret Expr) { if lowIsNil { low = prog.IntVal(0, prog.Int()) } + low = b.fitIntSize(low) + if !high.IsNil() { + high = b.fitIntSize(high) + } switch t := x.raw.Type.Underlying().(type) { case *types.Basic: if t.Kind() != types.String { @@ -382,6 +386,7 @@ func (b Builder) Slice(x, low, high, max Expr) (ret Expr) { if max.IsNil() { max = nCap } + max = b.fitIntSize(max) ret.impl = b.InlineCall(b.Pkg.rtFunc("NewSlice3"), base, nEltSize, nCap, low, high, max).impl return } diff --git a/ssa/decl.go b/ssa/decl.go index 36e06de03b..eec0347ee3 100644 --- a/ssa/decl.go +++ b/ssa/decl.go @@ -211,6 +211,10 @@ func (p Package) NewFuncEx(name string, sig *types.Signature, bg Background, has if instantiated { fn.SetLinkage(llvm.LinkOnceAnyLinkage) } + if p.isPreservedName(name) { + p.markLLVMUsed(fn) + } + fn.AddFunctionAttr(p.NonLeafAttr) ret := newFunction(fn, t, p, p.Prog, hasFreeVars) p.fns[name] = ret return ret diff --git a/ssa/package.go b/ssa/package.go index f0ebd564b8..36e32bb3ca 100644 --- a/ssa/package.go +++ b/ssa/package.go @@ -436,7 +436,10 @@ func (p Program) NewPackage(name, pkgPath string) Package { mod: mod, Prog: p, vars: gbls, fns: fns, pyobjs: pyobjs, pymods: pymods, strs: strs, di: nil, cu: nil, glbDbgVars: glbDbgVars, - export: make(map[string]string), + export: make(map[string]string), + preserveSyms: make(map[string]struct{}), + llvmUsedValues: make([]llvm.Value, 0, 4), + NonLeafAttr: p.ctx.CreateStringAttribute("frame-pointer", "non-leaf"), } ret.abi.Init(pkgPath, uintptr(p.ptrSize), (*goProgram)(unsafe.Pointer(p))) return ret @@ -701,7 +704,10 @@ type aPackage struct { NeedPyInit bool NeedAbiInit bool // need load all abi types for reflect make type - export map[string]string // pkgPath.nameInPkg => exportname + export map[string]string // pkgPath.nameInPkg => exportname + preserveSyms map[string]struct{} // set of exported symbol names + llvmUsedValues []llvm.Value + NonLeafAttr llvm.Attribute } type Package = *aPackage @@ -712,12 +718,35 @@ func (p Package) Module() llvm.Module { func (p Package) SetExport(name, export string) { p.export[name] = export + p.preserveSyms[export] = struct{}{} } func (p Package) ExportFuncs() map[string]string { return p.export } +func (p Package) isPreservedName(name string) bool { + _, ok := p.preserveSyms[name] + return ok +} + +func (p Package) markLLVMUsed(v llvm.Value) { + elemTyp := p.Prog.VoidPtr().ll + p.llvmUsedValues = append(p.llvmUsedValues, llvm.ConstBitCast(v, elemTyp)) +} + +func (p Package) MaterializePreserveSyms() { + if len(p.llvmUsedValues) == 0 { + return + } + elemTyp := p.Prog.VoidPtr().ll + init := llvm.ConstArray(elemTyp, p.llvmUsedValues) + global := llvm.AddGlobal(p.mod, init.Type(), "llvm.compiler.used") + global.SetInitializer(init) + global.SetLinkage(llvm.AppendingLinkage) + global.SetSection("llvm.metadata") +} + func (p Package) rtFunc(fnName string) Expr { p.NeedRuntime = true fn := p.Prog.runtime().Scope().Lookup(fnName).(*types.Func) diff --git a/ssa/ssa_test.go b/ssa/ssa_test.go index 913e082898..5570179426 100644 --- a/ssa/ssa_test.go +++ b/ssa/ssa_test.go @@ -107,6 +107,34 @@ func TestPointerSize(t *testing.T) { } } +func TestNewFuncExLLVMUsed(t *testing.T) { + prog := NewProgram(nil) + pkg := prog.NewPackage("main", "main") + sig := types.NewSignatureType(nil, nil, nil, nil, nil, false) + + // Mark the exported name before function creation so NewFuncEx can protect it via llvm.compiler.used. + pkg.SetExport("main.Foo", "Foo") + pkg.SetExport("main.Bar", "Bar") + pkg.NewFunc("Foo", sig, InGo) + pkg.NewFunc("Bar", sig, InGo) + pkg.NewFunc("Baz", sig, InGo) + pkg.MaterializePreserveSyms() + + used := pkg.Module().NamedGlobal("llvm.compiler.used") + if used.IsNil() { + t.Fatal("missing llvm.compiler.used") + } + if got := used.Linkage(); got != llvm.AppendingLinkage { + t.Fatalf("llvm.compiler.used linkage = %v, want %v", got, llvm.AppendingLinkage) + } + if got := used.Section(); got != "llvm.metadata" { + t.Fatalf("llvm.compiler.used section = %q, want %q", got, "llvm.metadata") + } + if got := pkg.String(); !strings.Contains(got, `@llvm.compiler.used = appending global [2 x ptr] [ptr @Foo, ptr @Bar], section "llvm.metadata"`) { + t.Fatalf("module missing llvm.compiler.used entry:\n%s", got) + } +} + func TestSetBlock(t *testing.T) { defer func() { if r := recover(); r == nil { @@ -166,23 +194,25 @@ func TestClosureNoCtxValue(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0) { +define i64 @fn(i64 %0) #0 { _llgo_0: ret i64 %0 } -define void @holder() { +define void @holder() #0 { _llgo_0: %0 = alloca { ptr, ptr }, align 8 store { ptr, ptr } { ptr @__llgo_stub.fn, ptr null }, ptr %0, align 8 ret void } -define linkonce i64 @__llgo_stub.fn(ptr %0, i64 %1) { +define linkonce i64 @__llgo_stub.fn(ptr %0, i64 %1) #0 { _llgo_0: %2 = tail call i64 @fn(i64 %1) ret i64 %2 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -221,12 +251,12 @@ func TestClosureFuncPtrValue(t *testing.T) { expected := fmt.Sprintf(`; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %%0) { +define i64 @fn(i64 %%0) #0 { _llgo_0: ret i64 %%0 } -define void @holder() { +define void @holder() #0 { _llgo_0: %%0 = alloca { ptr, ptr }, align 8 %%1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) @@ -236,14 +266,16 @@ _llgo_0: ret void } -define linkonce i64 @%s(ptr %%0, i64 %%1) { +define linkonce i64 @%s(ptr %%0, i64 %%1) #0 { _llgo_0: %%2 = load ptr, ptr %%0, align 8 %%3 = tail call i64 %%2(i64 %%1) ret i64 %%3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } `, wrapRef, wrapRef) assertPkg(t, pkg, expected) } @@ -267,13 +299,15 @@ func TestCallClosureDynamic(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @caller({ ptr, ptr } %0, i64 %1) { +define i64 @caller({ ptr, ptr } %0, i64 %1) #0 { _llgo_0: %2 = extractvalue { ptr, ptr } %0, 1 %3 = extractvalue { ptr, ptr } %0, 0 %4 = call i64 %3(ptr %2, i64 %1) ret i64 %4 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -311,12 +345,12 @@ func TestMakeClosureWithCtx(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @inner(ptr %0, i64 %1) { +define i64 @inner(ptr %0, i64 %1) #0 { _llgo_0: ret i64 %1 } -define { ptr, ptr } @outer(i64 %0) { +define { ptr, ptr } @outer(i64 %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 8) %2 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0 @@ -325,7 +359,9 @@ _llgo_0: ret { ptr, ptr } %3 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -394,7 +430,7 @@ source_filename = "foo/bar" %"github.com/goplus/llgo/runtime/internal/runtime.iface" = type { ptr, ptr } -define i64 @caller(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) { +define i64 @caller(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) #0 { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %0) %2 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %0, 0 @@ -408,7 +444,9 @@ _llgo_0: ret i64 %9 } -declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") +declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface") #0 + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -763,10 +801,12 @@ func TestConst(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i1 @fn() { +define i1 @fn() #0 { _llgo_0: ret i1 true } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -820,7 +860,9 @@ func TestDeclFunc(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -declare void @fn(i64) +declare void @fn(i64) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -837,10 +879,12 @@ func TestBasicFunc(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0, double %1) { +define i64 @fn(i64 %0, double %1) #0 { _llgo_0: ret i64 1 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -857,10 +901,12 @@ func TestFuncParam(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0, double %1) { +define i64 @fn(i64 %0, double %1) #0 { _llgo_0: ret i64 %0 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -884,16 +930,18 @@ func TestFuncCall(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0, double %1) { +define i64 @fn(i64 %0, double %1) #0 { _llgo_0: ret i64 1 } -define void @main() { +define void @main() #0 { _llgo_0: %0 = call i64 @fn(i64 1, double 1.200000e+00) ret void } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -915,11 +963,13 @@ source_filename = "foo/bar" @a = external global i64, align 8 -define { i64, double } @fn(double %0) { +define { i64, double } @fn(double %0) #0 { _llgo_0: %1 = insertvalue { i64, double } { ptr @a, double undef }, double %0, 1 ret { i64, double } %1 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -932,10 +982,12 @@ func TestJump(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define void @loop() { +define void @loop() #0 { _llgo_0: br label %_llgo_0 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -959,7 +1011,7 @@ func TestIf(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0) { +define i64 @fn(i64 %0) #0 { _llgo_0: %1 = icmp sgt i64 %0, 0 br i1 %1, label %_llgo_1, label %_llgo_2 @@ -970,6 +1022,8 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 ret i64 0 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -984,7 +1038,9 @@ func TestPrintf(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -declare i32 @printf(ptr, ...) +declare i32 @printf(ptr, ...) #0 + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -1003,11 +1059,13 @@ func TestBinOp(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0, double %1) { +define i64 @fn(i64 %0, double %1) #0 { _llgo_0: %2 = add i64 %0, 1 ret i64 %2 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -1029,13 +1087,15 @@ func TestUnOp(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(ptr %0) { +define i64 @fn(ptr %0) #0 { _llgo_0: %1 = load i64, ptr %0, align 4 %2 = xor i64 %1, 1 store i64 %2, ptr %0, align 4 ret i64 %2 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -1084,7 +1144,7 @@ func TestCompareSelect(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i64 @fn(i64 %0, i64 %1, i64 %2) { +define i64 @fn(i64 %0, i64 %1, i64 %2) #0 { _llgo_0: %3 = icmp sgt i64 %0, %1 %4 = select i1 %3, i64 %0, i64 %1 @@ -1092,6 +1152,8 @@ _llgo_0: %6 = select i1 %5, i64 %4, i64 %2 ret i64 %6 } + +attributes #0 = { "frame-pointer"="non-leaf" } `) } @@ -1209,16 +1271,17 @@ func TestSetjmpReturnsTwice(t *testing.T) { assertPkg(t, pkg, `; ModuleID = 'foo/bar' source_filename = "foo/bar" -define i32 @test(ptr %0) { +define i32 @test(ptr %0) #0 { _llgo_0: %1 = call i32 @setjmp(ptr %0) ret i32 %1 } ; Function Attrs: returns_twice -declare i32 @setjmp(ptr) #0 +declare i32 @setjmp(ptr) #1 -attributes #0 = { returns_twice } +attributes #0 = { "frame-pointer"="non-leaf" } +attributes #1 = { returns_twice "frame-pointer"="non-leaf" } `) } @@ -1313,7 +1376,7 @@ func TestAbiTables(t *testing.T) { fn := pkg.InitAbiTypes(pkg.Path() + ".init$abitables") s := fn.impl.String() - if !strings.Contains(s, `define void @"foo/bar.init$abitables"() { + if !strings.Contains(s, `define void @"foo/bar.init$abitables"() #0 { _llgo_0: %0 = load %"github.com/goplus/llgo/runtime/internal/runtime.Slice", ptr @"foo/bar.init$abitables$slice", align 8 store %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %0, ptr @"github.com/goplus/llgo/runtime/internal/runtime.typelist", align 8