From 40cc7b2a856e6ce4ae5135df4a0f618cc0c3bcd3 Mon Sep 17 00:00:00 2001 From: xushiwei Date: Tue, 30 Apr 2024 11:31:39 +0800 Subject: [PATCH] llgen runtime --- internal/runtime/llgo_autogen.ll | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/internal/runtime/llgo_autogen.ll b/internal/runtime/llgo_autogen.ll index f5d5d5eb..0708430f 100644 --- a/internal/runtime/llgo_autogen.ll +++ b/internal/runtime/llgo_autogen.ll @@ -172,6 +172,19 @@ _llgo_0: ret %"github.com/goplus/llgo/internal/runtime.iface" %12 } +define %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/runtime.NewSlice"(ptr %0, i64 %1, i64 %2) { +_llgo_0: + %3 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3, i32 0, i32 0 + %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3, i32 0, i32 1 + %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3, i32 0, i32 2 + store ptr %0, ptr %4, align 8 + store i64 %1, ptr %5, align 4 + store i64 %2, ptr %6, align 4 + %7 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3, align 8 + ret %"github.com/goplus/llgo/internal/runtime.Slice" %7 +} + define %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/runtime.NilSlice"() { _llgo_0: %0 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 @@ -185,6 +198,15 @@ _llgo_0: ret %"github.com/goplus/llgo/internal/runtime.Slice" %4 } +define i64 @"github.com/goplus/llgo/internal/runtime.SliceLen"(%"github.com/goplus/llgo/internal/runtime.Slice" %0) { +_llgo_0: + %1 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + store %"github.com/goplus/llgo/internal/runtime.Slice" %0, ptr %1, align 8 + %2 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1, i32 0, i32 1 + %3 = load i64, ptr %2, align 4 + ret i64 %3 +} + define ptr @"github.com/goplus/llgo/internal/runtime.basicType"(i64 %0) { _llgo_0: %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Alloc"(i64 16)