Skip to content

Commit

Permalink
Update test refs
Browse files Browse the repository at this point in the history
  • Loading branch information
marcauberer committed Jan 1, 2023
1 parent cf1c65d commit 5ee0b41
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 51 deletions.
25 changes: 13 additions & 12 deletions test/test-files/irgenerator/arrays/success-arrays2/ir-code.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,30 @@ source_filename = "source.spice"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-w64-windows-gnu"

@intArray = global [10 x i32] [i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 512]
@0 = private unnamed_addr constant [17 x i8] c"intArray[3]: %d\0A\00", align 1
@1 = private unnamed_addr constant [17 x i8] c"intArray[7]: %d\0A\00", align 1
@2 = private unnamed_addr constant [17 x i8] c"intArray[9]: %d\0A\00", align 1
@anon.array.0 = private unnamed_addr constant [10 x i32] [i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 512]
@printf.str.0 = private unnamed_addr constant [17 x i8] c"intArray[3]: %d\0A\00", align 1
@printf.str.1 = private unnamed_addr constant [17 x i8] c"intArray[7]: %d\0A\00", align 1
@printf.str.2 = private unnamed_addr constant [17 x i8] c"intArray[9]: %d\0A\00", align 1

define i32 @main() {
entry.l1:
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @main() #0 {
%result = alloca i32, align 4
%intArray = alloca [10 x i32], align 4
store i32 0, ptr %result, align 4
%0 = load [10 x i32], ptr @intArray, align 4
store [10 x i32] %0, ptr %intArray, align 4
store [10 x i32] [i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 512], ptr %intArray, align 4
%1 = getelementptr inbounds [10 x i32], ptr %intArray, i32 0, i32 3
%2 = load i32, ptr %1, align 4
%3 = call i32 (ptr, ...) @printf(ptr @0, i32 %2)
%3 = call i32 (ptr, ...) @printf(ptr noundef @printf.str.0, i32 %2)
%4 = getelementptr inbounds [10 x i32], ptr %intArray, i32 0, i32 7
%5 = load i32, ptr %4, align 4
%6 = call i32 (ptr, ...) @printf(ptr @1, i32 %5)
%6 = call i32 (ptr, ...) @printf(ptr noundef @printf.str.1, i32 %5)
%7 = getelementptr inbounds [10 x i32], ptr %intArray, i32 0, i32 9
%8 = load i32, ptr %7, align 4
%9 = call i32 (ptr, ...) @printf(ptr @2, i32 %8)
%9 = call i32 (ptr, ...) @printf(ptr noundef @printf.str.2, i32 %8)
%10 = load i32, ptr %result, align 4
ret i32 %10
}

declare i32 @printf(ptr, ...)
declare i32 @printf(ptr noundef, ...)

attributes #0 = { noinline nounwind optnone uwtable }
2 changes: 1 addition & 1 deletion test/test-files/irgenerator/builtins/success-len/cout.out
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Array length: 7
Array length: 4
15 changes: 7 additions & 8 deletions test/test-files/irgenerator/builtins/success-len/ir-code-O2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@ source_filename = "source.spice"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-w64-windows-gnu"

@testIntArray = local_unnamed_addr global [7 x i32] [i32 1, i32 2, i32 3, i32 4, i32 0, i32 0, i32 0]
@0 = private unnamed_addr constant [18 x i8] c"Array length: %d\0A\00", align 1
@printf.str.0 = private unnamed_addr constant [18 x i8] c"Array length: %d\0A\00", align 1

; Function Attrs: nofree nounwind
define i32 @main() local_unnamed_addr #0 {
entry.l1:
%0 = tail call i32 (ptr, ...) @printf(ptr nonnull @0, i32 7)
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @main() local_unnamed_addr #0 {
%1 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull @printf.str.0, i32 4)
ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #0
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #1

attributes #0 = { nofree nounwind }
attributes #0 = { noinline nounwind optnone uwtable }
attributes #1 = { nofree nounwind }
27 changes: 12 additions & 15 deletions test/test-files/irgenerator/builtins/success-len/ir-code.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,20 @@ source_filename = "source.spice"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-w64-windows-gnu"

@testIntArray = global [7 x i32] [i32 1, i32 2, i32 3, i32 4, i32 0, i32 0, i32 0]
@0 = private unnamed_addr constant [18 x i8] c"Array length: %d\0A\00", align 1
@anon.array.0 = private unnamed_addr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4]
@printf.str.0 = private unnamed_addr constant [18 x i8] c"Array length: %d\0A\00", align 1

define i32 @main() {
entry.l1:
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @main() #0 {
%result = alloca i32, align 4
%testIntArray = alloca [7 x i32], align 4
%0 = alloca i32, align 4
%testIntArray = alloca [4 x i32], align 4
store i32 0, ptr %result, align 4
%1 = load [7 x i32], ptr @testIntArray, align 4
store [7 x i32] %1, ptr %testIntArray, align 4
%2 = load [7 x i32], ptr %testIntArray, align 4
store i32 7, ptr %0, align 4
%3 = load i32, ptr %0, align 4
%4 = call i32 (ptr, ...) @printf(ptr @0, i32 %3)
%5 = load i32, ptr %result, align 4
ret i32 %5
store [4 x i32] [i32 1, i32 2, i32 3, i32 4], ptr %testIntArray, align 4
%1 = call i32 (ptr, ...) @printf(ptr noundef @printf.str.0, i32 4)
%2 = load i32, ptr %result, align 4
ret i32 %2
}

declare i32 @printf(ptr, ...)
declare i32 @printf(ptr noundef, ...)

attributes #0 = { noinline nounwind optnone uwtable }
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const int MODE_ALL_RWX = 0o0000777;

ext<byte*> malloc(long);
ext free(char*);
ext free(byte*);

f<int> main() {
byte* address = malloc(1l);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,13 @@ type Letter struct {
Stamp stamp
}

f<string> Letter.getContent() {
return this.content;
}

p Letter.setContent(string text) {
this.content = text;
}

f<Stamp> Letter.getStamp() {
return this.stamp;
}

p Letter.setStamp(Stamp stamp) {
this.stamp = stamp;
}

f<int> main() {
dyn letter = Letter{ "", Stamp{ 3.4, true } };
printf("Stamp glued: %d\n", letter.getStamp().glued);
dyn letter = Letter{ "This is a letter", Stamp{ 3.4, true } };
printf("Stamp glued: %d\n", letter.stamp.glued);
Stamp stamp = letter.getStamp();
stamp.print();
}

0 comments on commit 5ee0b41

Please sign in to comment.