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
@@ -50,29 +50,21 @@ entry:
|
||||
%b = alloca %Bar, align 4
|
||||
%f = alloca %Foo, align 4
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %b, ptr align 4 @.__const, i32 12, i1 false)
|
||||
%0 = getelementptr inbounds %Bar, ptr %b, i32 0, i32 1
|
||||
%1 = getelementptr inbounds %.anon, ptr %0, i32 0, i32 0
|
||||
%2 = getelementptr inbounds %.anon.0, ptr %1, i32 0, i32 0
|
||||
%3 = getelementptr inbounds %Bar, ptr %b, i32 0, i32 2
|
||||
%4 = load i32, ptr %3, align 4
|
||||
%shl = shl i32 %4, 21
|
||||
%ptradd = getelementptr inbounds i8, ptr %b, i64 4
|
||||
%ptradd1 = getelementptr inbounds i8, ptr %b, i64 8
|
||||
%0 = load i32, ptr %ptradd1, align 4
|
||||
%shl = shl i32 %0, 21
|
||||
%ashr = ashr i32 %shl, 23
|
||||
%5 = load i32, ptr %2, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %5, i32 %ashr)
|
||||
%1 = load i32, ptr %ptradd, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str, i32 %1, i32 %ashr)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %f, ptr align 4 @.__const.10, i32 16, i1 false)
|
||||
%6 = getelementptr inbounds %Foo, ptr %f, i32 0, i32 0
|
||||
%7 = getelementptr inbounds %.anon.1, ptr %6, i32 0, i32 0
|
||||
%8 = getelementptr inbounds %.anon.2, ptr %7, i32 0, i32 0
|
||||
%9 = getelementptr inbounds %Foo, ptr %f, i32 0, i32 0
|
||||
%10 = getelementptr inbounds %.anon.1, ptr %9, i32 0, i32 1
|
||||
%11 = getelementptr inbounds %.anon.3, ptr %10, i32 0, i32 0
|
||||
%12 = getelementptr inbounds %Foo, ptr %f, i32 0, i32 0
|
||||
%13 = getelementptr inbounds %.anon.1, ptr %12, i32 0, i32 2
|
||||
%14 = getelementptr inbounds %Foo, ptr %f, i32 0, i32 1
|
||||
%15 = load i32, ptr %8, align 4
|
||||
%16 = load i32, ptr %11, align 4
|
||||
%17 = load i32, ptr %13, align 4
|
||||
%18 = load i32, ptr %14, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.11, i32 %15, i32 %16, i32 %17, i32 %18)
|
||||
%ptradd2 = getelementptr inbounds i8, ptr %f, i64 4
|
||||
%ptradd3 = getelementptr inbounds i8, ptr %f, i64 8
|
||||
%ptradd4 = getelementptr inbounds i8, ptr %f, i64 12
|
||||
%2 = load i32, ptr %f, align 4
|
||||
%3 = load i32, ptr %ptradd2, align 4
|
||||
%4 = load i32, ptr %ptradd3, align 4
|
||||
%5 = load i32, ptr %ptradd4, align 4
|
||||
call void (ptr, ...) @printf(ptr @.str.11, i32 %2, i32 %3, i32 %4, i32 %5)
|
||||
ret void
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user