diff options
author | Ayke van Laethem <[email protected]> | 2021-10-31 01:30:17 +0200 |
---|---|---|
committer | Ron Evans <[email protected]> | 2021-10-31 10:44:17 +0100 |
commit | 90076f9401ff5bc6572e6f932d7fa937049d628f (patch) | |
tree | a31ff7eb46486b503904816954eb61e07fa1c7ac /interp | |
parent | afd49e7cdd358eda85a7fcf615d768ecf04d62ce (diff) | |
download | tinygo-90076f9401ff5bc6572e6f932d7fa937049d628f.tar.gz tinygo-90076f9401ff5bc6572e6f932d7fa937049d628f.zip |
all: drop support for LLVM 10
Diffstat (limited to 'interp')
-rw-r--r-- | interp/interp_test.go | 12 | ||||
-rw-r--r-- | interp/testdata/basic.out.ll | 14 | ||||
-rw-r--r-- | interp/testdata/slice-copy.out.ll | 4 |
3 files changed, 9 insertions, 21 deletions
diff --git a/interp/interp_test.go b/interp/interp_test.go index 9702cb837..9080de899 100644 --- a/interp/interp_test.go +++ b/interp/interp_test.go @@ -3,7 +3,6 @@ package interp import ( "io/ioutil" "os" - "regexp" "strings" "testing" @@ -88,8 +87,6 @@ func runTest(t *testing.T, pathPrefix string) { } } -var alignRegexp = regexp.MustCompile(", align [0-9]+$") - // fuzzyEqualIR returns true if the two LLVM IR strings passed in are roughly // equal. That means, only relevant lines are compared (excluding comments // etc.). @@ -101,15 +98,6 @@ func fuzzyEqualIR(s1, s2 string) bool { } for i, line1 := range lines1 { line2 := lines2[i] - match1 := alignRegexp.MatchString(line1) - match2 := alignRegexp.MatchString(line2) - if match1 != match2 { - // Only one of the lines has the align keyword. Remove it. - // This is a change to make the test work in both LLVM 10 and LLVM - // 11 (LLVM 11 appears to automatically add alignment everywhere). - line1 = alignRegexp.ReplaceAllString(line1, "") - line2 = alignRegexp.ReplaceAllString(line2, "") - } if line1 != line2 { return false } diff --git a/interp/testdata/basic.out.ll b/interp/testdata/basic.out.ll index 51a3b3f48..174f073eb 100644 --- a/interp/testdata/basic.out.ll +++ b/interp/testdata/basic.out.ll @@ -18,14 +18,14 @@ entry: call void @runtime.printint64(i64 5) call void @runtime.printnl() %value1 = call i64 @someValue() - store i64 %value1, i64* getelementptr inbounds ([4 x i64], [4 x i64]* @main.nonConst1, i32 0, i32 0) - %value2 = load i64, i64* getelementptr inbounds ([4 x i64], [4 x i64]* @main.nonConst1, i32 0, i32 0) - store i64 %value2, i64* @main.nonConst2 + store i64 %value1, i64* getelementptr inbounds ([4 x i64], [4 x i64]* @main.nonConst1, i32 0, i32 0), align 8 + %value2 = load i64, i64* getelementptr inbounds ([4 x i64], [4 x i64]* @main.nonConst1, i32 0, i32 0), align 8 + store i64 %value2, i64* @main.nonConst2, align 8 call void @modifyExternal(i32* getelementptr inbounds ([8 x { i16, i32 }], [8 x { i16, i32 }]* @main.someArray, i32 0, i32 3, i32 1)) call void @modifyExternal(i32* bitcast ([1 x i16*]* @main.exportedValue to i32*)) - store i16 5, i16* @main.exposedValue1 + store i16 5, i16* @main.exposedValue1, align 2 call void @modifyExternal(i32* bitcast (void ()* @willModifyGlobal to i32*)) - store i16 7, i16* @main.exposedValue2 + store i16 7, i16* @main.exposedValue2, align 2 call void @modifyExternal(i32* bitcast (void ()* @hasInlineAsm to i32*)) call void @runtime.printint64(i64 6) call void @runtime.printint64(i64 -1) @@ -39,7 +39,7 @@ entry: %agg2.insertvalue2 = insertvalue { i64, i16 } %agg2.agg1, i64 5, 0 %agg2.insertvalue1 = insertvalue { float, { i64, i16 } } %agg2.agg0, { i64, i16 } %agg2.insertvalue2, 1 %agg2.insertvalue0 = insertvalue { i8, i32, { float, { i64, i16 } } } %agg, { float, { i64, i16 } } %agg2.insertvalue1, 2 - store { i8, i32, { float, { i64, i16 } } } %agg2.insertvalue0, { i8, i32, { float, { i64, i16 } } }* @main.insertedValue + store { i8, i32, { float, { i64, i16 } } } %agg2.insertvalue0, { i8, i32, { float, { i64, i16 } } }* @main.insertedValue, align 8 ret void } @@ -56,7 +56,7 @@ declare void @modifyExternal(i32*) local_unnamed_addr define void @willModifyGlobal() { entry: - store i16 8, i16* @main.exposedValue2 + store i16 8, i16* @main.exposedValue2, align 2 ret void } diff --git a/interp/testdata/slice-copy.out.ll b/interp/testdata/slice-copy.out.ll index f3b15950f..9f88df094 100644 --- a/interp/testdata/slice-copy.out.ll +++ b/interp/testdata/slice-copy.out.ll @@ -1,7 +1,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64--linux" -@"main$alloc.1" = internal unnamed_addr constant [6 x i8] c"\05\00{\00\00\04" +@"main$alloc.1" = internal unnamed_addr constant [6 x i8] c"\05\00{\00\00\04", align 8 declare void @runtime.printuint8(i8) local_unnamed_addr @@ -17,7 +17,7 @@ entry: call void @runtime.printuint8(i8 3) call void @runtime.printuint8(i8 3) call void @runtime.printint16(i16 5) - %int16SliceDst.val = load i16, i16* bitcast ([6 x i8]* @"main$alloc.1" to i16*) + %int16SliceDst.val = load i16, i16* bitcast ([6 x i8]* @"main$alloc.1" to i16*), align 2 call void @runtime.printint16(i16 %int16SliceDst.val) ret void } |