mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Fix x86_64 ABI small issue (#1174)
* Fix x86_64 ABI small issue Update tests for fix. --------- Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
This commit is contained in:
@@ -140,20 +140,20 @@ entry:
|
||||
store %"any*" %2, ptr %varargslots, align 16
|
||||
%3 = call i64 @std.io.printfn(ptr %retparam, ptr @.str, i64 12, ptr %varargslots, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal, ptr align 8 @.__const, i32 16, i1 false)
|
||||
%lo1 = load i64, ptr %literal, align 8
|
||||
%lo1 = load i32, ptr %literal, align 8
|
||||
%ptradd2 = getelementptr inbounds i8, ptr %literal, i64 8
|
||||
%hi3 = load ptr, ptr %ptradd2, align 8
|
||||
%4 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i64 %lo1, ptr %hi3)
|
||||
%4 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i32 %lo1, ptr %hi3)
|
||||
%ptradd5 = getelementptr inbounds i8, ptr %map, i64 32
|
||||
%5 = insertvalue %"any*" undef, ptr %ptradd5, 0
|
||||
%6 = insertvalue %"any*" %5, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
store %"any*" %6, ptr %varargslots4, align 16
|
||||
%7 = call i64 @std.io.printfn(ptr %retparam6, ptr @.str.1, i64 12, ptr %varargslots4, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal7, ptr align 8 @.__const.2, i32 16, i1 false)
|
||||
%lo8 = load i64, ptr %literal7, align 8
|
||||
%lo8 = load i32, ptr %literal7, align 8
|
||||
%ptradd9 = getelementptr inbounds i8, ptr %literal7, i64 8
|
||||
%hi10 = load ptr, ptr %ptradd9, align 8
|
||||
%8 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i64 %lo8, ptr %hi10)
|
||||
%8 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i32 %lo8, ptr %hi10)
|
||||
%ptradd12 = getelementptr inbounds i8, ptr %map, i64 32
|
||||
%9 = insertvalue %"any*" undef, ptr %ptradd12, 0
|
||||
%10 = insertvalue %"any*" %9, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
@@ -187,10 +187,10 @@ after_check18: ; preds = %entry, %after_check
|
||||
store %"any*" %24, ptr %varargslots23, align 16
|
||||
%25 = call i64 @std.io.printfn(ptr %retparam25, ptr @.str.6, i64 9, ptr %varargslots23, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal28, ptr align 8 @.__const.7, i32 16, i1 false)
|
||||
%lo29 = load i64, ptr %literal28, align 8
|
||||
%lo29 = load i32, ptr %literal28, align 8
|
||||
%ptradd30 = getelementptr inbounds i8, ptr %literal28, i64 8
|
||||
%hi31 = load ptr, ptr %ptradd30, align 8
|
||||
%26 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 7, i64 %lo29, ptr %hi31)
|
||||
%26 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 7, i32 %lo29, ptr %hi31)
|
||||
%lo33 = load i64, ptr @std.core.mem.allocator.thread_allocator, align 8
|
||||
%hi34 = load ptr, ptr getelementptr inbounds (i8, ptr @std.core.mem.allocator.thread_allocator, i64 8), align 8
|
||||
%27 = call { ptr, i64 } @"std.collections.map$int$test.Foo$.HashMap.value_new_list"(ptr %map, i64 %lo33, ptr %hi34)
|
||||
|
||||
@@ -140,20 +140,20 @@ entry:
|
||||
store %"any*" %2, ptr %varargslots, align 16
|
||||
%3 = call i64 @std.io.printfn(ptr %retparam, ptr @.str, i64 12, ptr %varargslots, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal, ptr align 8 @.__const, i32 16, i1 false)
|
||||
%lo1 = load i64, ptr %literal, align 8
|
||||
%lo1 = load i32, ptr %literal, align 8
|
||||
%ptradd2 = getelementptr inbounds i8, ptr %literal, i64 8
|
||||
%hi3 = load ptr, ptr %ptradd2, align 8
|
||||
%4 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i64 %lo1, ptr %hi3)
|
||||
%4 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i32 %lo1, ptr %hi3)
|
||||
%ptradd5 = getelementptr inbounds i8, ptr %map, i64 32
|
||||
%5 = insertvalue %"any*" undef, ptr %ptradd5, 0
|
||||
%6 = insertvalue %"any*" %5, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
store %"any*" %6, ptr %varargslots4, align 16
|
||||
%7 = call i64 @std.io.printfn(ptr %retparam6, ptr @.str.1, i64 12, ptr %varargslots4, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal7, ptr align 8 @.__const.2, i32 16, i1 false)
|
||||
%lo8 = load i64, ptr %literal7, align 8
|
||||
%lo8 = load i32, ptr %literal7, align 8
|
||||
%ptradd9 = getelementptr inbounds i8, ptr %literal7, i64 8
|
||||
%hi10 = load ptr, ptr %ptradd9, align 8
|
||||
%8 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i64 %lo8, ptr %hi10)
|
||||
%8 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 1, i32 %lo8, ptr %hi10)
|
||||
%ptradd12 = getelementptr inbounds i8, ptr %map, i64 32
|
||||
%9 = insertvalue %"any*" undef, ptr %ptradd12, 0
|
||||
%10 = insertvalue %"any*" %9, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
|
||||
@@ -187,10 +187,10 @@ after_check18: ; preds = %entry, %after_check
|
||||
store %"any*" %24, ptr %varargslots23, align 16
|
||||
%25 = call i64 @std.io.printfn(ptr %retparam25, ptr @.str.6, i64 9, ptr %varargslots23, i64 1)
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %literal28, ptr align 8 @.__const.7, i32 16, i1 false)
|
||||
%lo29 = load i64, ptr %literal28, align 8
|
||||
%lo29 = load i32, ptr %literal28, align 8
|
||||
%ptradd30 = getelementptr inbounds i8, ptr %literal28, i64 8
|
||||
%hi31 = load ptr, ptr %ptradd30, align 8
|
||||
%26 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 7, i64 %lo29, ptr %hi31)
|
||||
%26 = call i8 @"std.collections.map$int$test.Foo$.HashMap.set"(ptr %map, i32 7, i32 %lo29, ptr %hi31)
|
||||
%lo33 = load i64, ptr @std.core.mem.allocator.thread_allocator, align 8
|
||||
%hi34 = load ptr, ptr getelementptr inbounds (i8, ptr @std.core.mem.allocator.thread_allocator, i64 8), align 8
|
||||
%27 = call { ptr, i64 } @"std.collections.map$int$test.Foo$.HashMap.value_new_list"(ptr %map, i64 %lo33, ptr %hi34)
|
||||
|
||||
Reference in New Issue
Block a user