closure
This commit is contained in:
@@ -22,19 +22,25 @@ _llgo_0:
|
||||
call void @"github.com/goplus/llgo/internal/runtime.init"()
|
||||
call void @main.init()
|
||||
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 16)
|
||||
store ptr @"main.main$1", ptr %0, align 8
|
||||
%1 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8)
|
||||
%2 = getelementptr inbounds { ptr }, ptr %1, i32 0, i32 0
|
||||
store ptr %0, ptr %2, align 8
|
||||
%3 = alloca { ptr, ptr }, align 8
|
||||
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0
|
||||
store ptr @"main.main$2", ptr %4, align 8
|
||||
%5 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1
|
||||
store ptr %1, ptr %5, align 8
|
||||
%6 = load { ptr, ptr }, ptr %3, align 8
|
||||
%7 = extractvalue { ptr, ptr } %6, 1
|
||||
%8 = extractvalue { ptr, ptr } %6, 0
|
||||
call void %8(ptr %7)
|
||||
%1 = alloca { ptr, ptr }, align 8
|
||||
%2 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 0
|
||||
store ptr @"__llgo_stub.main.main$1", ptr %2, align 8
|
||||
%3 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 1
|
||||
store ptr null, ptr %3, align 8
|
||||
%4 = load { ptr, ptr }, ptr %1, align 8
|
||||
store { ptr, ptr } %4, ptr %0, align 8
|
||||
%5 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8)
|
||||
%6 = getelementptr inbounds { ptr }, ptr %5, i32 0, i32 0
|
||||
store ptr %0, ptr %6, align 8
|
||||
%7 = alloca { ptr, ptr }, align 8
|
||||
%8 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 0
|
||||
store ptr @"main.main$2", ptr %8, align 8
|
||||
%9 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1
|
||||
store ptr %5, ptr %9, align 8
|
||||
%10 = load { ptr, ptr }, ptr %7, align 8
|
||||
%11 = extractvalue { ptr, ptr } %10, 1
|
||||
%12 = extractvalue { ptr, ptr } %10, 0
|
||||
call void %12(ptr %11)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -48,6 +54,12 @@ _llgo_0:
|
||||
ret void
|
||||
}
|
||||
|
||||
define linkonce void @"__llgo_stub.main.main$1"(ptr %0, i64 %1, i64 %2) {
|
||||
_llgo_0:
|
||||
call void @"main.main$1"(i64 %1, i64 %2)
|
||||
ret void
|
||||
}
|
||||
|
||||
define void @"main.main$2"(ptr %0) {
|
||||
_llgo_0:
|
||||
%1 = load { ptr }, ptr %0, align 8
|
||||
|
||||
Reference in New Issue
Block a user