Fixes missing checks to body arguments. Do not create debug declaration for value-only parameter. Bug in alignment for atomics. Macro ref parameters are pointers.

This commit is contained in:
Christoffer Lerno
2023-07-15 13:52:00 +02:00
committed by Christoffer Lerno
parent 90d91b4891
commit 34306cbf5d
55 changed files with 1405 additions and 1455 deletions

View File

@@ -33,18 +33,12 @@ define i32 @example.test() #0 {
entry:
%a = alloca i32, align 4
%b = alloca i32, align 4
%a1 = alloca ptr, align 8
%b2 = alloca i32, align 4
store i32 2, ptr %a, align 4
store i32 3, ptr %b, align 4
store ptr @example.square, ptr %a1, align 8
store i32 2, ptr %b2, align 4
%0 = load ptr, ptr %a1, align 8
%1 = load i32, ptr %b2, align 4
%2 = call i32 %0(i32 %1)
%3 = load i32, ptr %a, align 4
%add = add i32 %2, %3
%4 = load i32, ptr %b, align 4
%add3 = add i32 %add, %4
ret i32 %add3
%0 = call i32 @example.square(i32 2)
%1 = load i32, ptr %a, align 4
%add = add i32 %0, %1
%2 = load i32, ptr %b, align 4
%add1 = add i32 %add, %2
ret i32 %add1
}