mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
0.5.3: Single-module not respected. Fix issue with compiler defined types. Fix optimization levels for projects. Use GEP i8 on offsets. Optimize foreach on len 1 arrays. Move panic blocks last. Fix generic module wildcard imports. Deprecate init_temp / init_new. Fix issue with macro vaarg and untyped lists. Fix extern const globals.
This commit is contained in:
committed by
Christoffer Lerno
parent
e91f6e268e
commit
deb4cc7c4b
@@ -29,30 +29,21 @@ entry:
|
||||
%a = alloca %Foo, align 4
|
||||
%this = alloca %Foo, align 4
|
||||
store i32 0, ptr %a, align 4
|
||||
%0 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
store i32 3, ptr %0, align 4
|
||||
%1 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
%2 = load i32, ptr %1, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %2)
|
||||
%3 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
%4 = load i32, ptr %3, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.1, i32 %4)
|
||||
%5 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
store i32 4, ptr %5, align 4
|
||||
%6 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
%7 = load i32, ptr %6, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.2, i32 %7)
|
||||
%8 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
%9 = load i32, ptr %8, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.3, i32 %9)
|
||||
store i32 3, ptr %a, align 4
|
||||
%0 = load i32, ptr %a, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %0)
|
||||
%1 = load i32, ptr %a, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.1, i32 %1)
|
||||
store i32 4, ptr %a, align 4
|
||||
%2 = load i32, ptr %a, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.2, i32 %2)
|
||||
%3 = load i32, ptr %a, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.3, i32 %3)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %this, ptr align 4 %a, i32 4, i1 false)
|
||||
%10 = getelementptr inbounds %Foo, ptr %this, i32 0, i32 0
|
||||
store i32 5, ptr %10, align 4
|
||||
%11 = getelementptr inbounds %Foo, ptr %this, i32 0, i32 0
|
||||
%12 = load i32, ptr %11, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %12)
|
||||
%13 = getelementptr inbounds %Foo, ptr %a, i32 0, i32 0
|
||||
%14 = load i32, ptr %13, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.5, i32 %14)
|
||||
store i32 5, ptr %this, align 4
|
||||
%4 = load i32, ptr %this, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.4, i32 %4)
|
||||
%5 = load i32, ptr %a, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.5, i32 %5)
|
||||
ret void
|
||||
}
|
||||
Reference in New Issue
Block a user