diff --git a/.gitignore b/.gitignore index 40adbe96aa0..3f32f9658eb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ proto/compiler/tests proto/compiler/google/src/google/protobuf/compiler/kotlin/bin proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc + +# translator auto generated artifacts +kotstd/lib/arm/memory.ll diff --git a/kotstd/lib/arm/memory.ll b/kotstd/lib/arm/memory.ll deleted file mode 100644 index 5fa8b087cb9..00000000000 --- a/kotstd/lib/arm/memory.ll +++ /dev/null @@ -1,146 +0,0 @@ -; ModuleID = '/home/user/Documents/carkot/kotstd/libc/memory.c' -target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" -target triple = "thumbv7m-none--eabi" - -@static_area = common global [30000 x i8] zeroinitializer, align 1 -@dynamic_area = common global [30000 x i8] zeroinitializer, align 1 -@heaps = global [2 x i8*] [i8* getelementptr inbounds ([30000 x i8]* @static_area, i32 0, i32 0), i8* getelementptr inbounds ([30000 x i8]* @dynamic_area, i32 0, i32 0)], align 4 -@heap_tails = global [2 x i32] zeroinitializer, align 4 -@active_heap = global i32 0, align 4 -@dynamic_heap_consume = global i32 0, align 4 -@dynamic_heap_max = global i32 0, align 4 - -; Function Attrs: nounwind -define i8* @malloc_heap(i32 %size) #0 { - %1 = alloca i32, align 4 - %ptr = alloca i8*, align 4 - store i32 %size, i32* %1, align 4 - call void @llvm.dbg.declare(metadata i32* %1, metadata !37, metadata !38), !dbg !39 - call void @llvm.dbg.declare(metadata i8** %ptr, metadata !40, metadata !38), !dbg !41 - %2 = load i32* @active_heap, align 4, !dbg !42 - %3 = getelementptr inbounds [2 x i8*]* @heaps, i32 0, i32 %2, !dbg !43 - %4 = load i8** %3, align 4, !dbg !43 - %5 = load i32* @active_heap, align 4, !dbg !44 - %6 = getelementptr inbounds [2 x i32]* @heap_tails, i32 0, i32 %5, !dbg !45 - %7 = load i32* %6, align 4, !dbg !45 - %8 = getelementptr inbounds i8* %4, i32 %7, !dbg !43 - store i8* %8, i8** %ptr, align 4, !dbg !41 - %9 = load i32* %1, align 4, !dbg !46 - %10 = load i32* @active_heap, align 4, !dbg !47 - %11 = getelementptr inbounds [2 x i32]* @heap_tails, i32 0, i32 %10, !dbg !48 - %12 = load i32* %11, align 4, !dbg !48 - %13 = add nsw i32 %12, %9, !dbg !48 - store i32 %13, i32* %11, align 4, !dbg !48 - %14 = load i8** %ptr, align 4, !dbg !49 - ret i8* %14, !dbg !50 -} - -; Function Attrs: nounwind readnone -declare void @llvm.dbg.declare(metadata, metadata, metadata) #1 - -; Function Attrs: nounwind -define void @set_active_heap(i32 %heap) #0 { - %1 = alloca i32, align 4 - store i32 %heap, i32* %1, align 4 - call void @llvm.dbg.declare(metadata i32* %1, metadata !51, metadata !38), !dbg !52 - %2 = load i32* %1, align 4, !dbg !53 - store i32 %2, i32* @active_heap, align 4, !dbg !54 - ret void, !dbg !55 -} - -; Function Attrs: nounwind -define void @clean_dynamic_heap() #0 { - %1 = load i32* getelementptr inbounds ([2 x i32]* @heap_tails, i32 0, i32 1), align 4, !dbg !56 - %2 = load i32* @dynamic_heap_consume, align 4, !dbg !57 - %3 = add nsw i32 %2, %1, !dbg !57 - store i32 %3, i32* @dynamic_heap_consume, align 4, !dbg !57 - %4 = load i32* getelementptr inbounds ([2 x i32]* @heap_tails, i32 0, i32 1), align 4, !dbg !58 - %5 = load i32* @dynamic_heap_max, align 4, !dbg !60 - %6 = icmp sgt i32 %4, %5, !dbg !58 - br i1 %6, label %7, label %9, !dbg !61 - -;