mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
all: remove LLVM 14 support
This is a big change: apart from removing LLVM 14 it also removes typed pointer support (which was only fully supported in LLVM up to version 14). This removes about 200 lines of code, but more importantly removes a ton of special cases for LLVM 14.
This commit is contained in:
Vendored
+13
-13
@@ -6,18 +6,18 @@ target triple = "armv7m-none-eabi"
|
||||
declare nonnull ptr @runtime.alloc(i32, ptr)
|
||||
|
||||
define void @testInt() {
|
||||
%stackalloc.alloca = alloca [4 x i8], align 4
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc.alloca, align 4
|
||||
store i32 5, ptr %stackalloc.alloca, align 4
|
||||
%stackalloc = alloca [4 x i8], align 4
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc, align 4
|
||||
store i32 5, ptr %stackalloc, align 4
|
||||
ret void
|
||||
}
|
||||
|
||||
define i16 @testArray() {
|
||||
%stackalloc.alloca = alloca [6 x i8], align 2
|
||||
store [6 x i8] zeroinitializer, ptr %stackalloc.alloca, align 2
|
||||
%alloc.1 = getelementptr i16, ptr %stackalloc.alloca, i32 1
|
||||
%stackalloc = alloca [6 x i8], align 2
|
||||
store [6 x i8] zeroinitializer, ptr %stackalloc, align 2
|
||||
%alloc.1 = getelementptr i16, ptr %stackalloc, i32 1
|
||||
store i16 5, ptr %alloc.1, align 2
|
||||
%alloc.2 = getelementptr i16, ptr %stackalloc.alloca, i32 2
|
||||
%alloc.2 = getelementptr i16, ptr %stackalloc, i32 2
|
||||
%val = load i16, ptr %alloc.2, align 2
|
||||
ret i16 %val
|
||||
}
|
||||
@@ -35,9 +35,9 @@ define void @testEscapingCall2() {
|
||||
}
|
||||
|
||||
define void @testNonEscapingCall() {
|
||||
%stackalloc.alloca = alloca [4 x i8], align 4
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc.alloca, align 4
|
||||
%val = call ptr @noescapeIntPtr(ptr %stackalloc.alloca)
|
||||
%stackalloc = alloca [4 x i8], align 4
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc, align 4
|
||||
%val = call ptr @noescapeIntPtr(ptr %stackalloc)
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -48,12 +48,12 @@ define ptr @testEscapingReturn() {
|
||||
|
||||
define void @testNonEscapingLoop() {
|
||||
entry:
|
||||
%stackalloc.alloca = alloca [4 x i8], align 4
|
||||
%stackalloc = alloca [4 x i8], align 4
|
||||
br label %loop
|
||||
|
||||
loop: ; preds = %loop, %entry
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc.alloca, align 4
|
||||
%ptr = call ptr @noescapeIntPtr(ptr %stackalloc.alloca)
|
||||
store [4 x i8] zeroinitializer, ptr %stackalloc, align 4
|
||||
%ptr = call ptr @noescapeIntPtr(ptr %stackalloc)
|
||||
%result = icmp eq ptr null, %ptr
|
||||
br i1 %result, label %loop, label %end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user