Updated name mangling for static vars in llvm.

This commit is contained in:
Christoffer Lerno
2023-07-04 01:12:39 +02:00
parent c2c6f09d68
commit bbbcd9bf48
18 changed files with 82 additions and 137 deletions

View File

@@ -84,9 +84,8 @@ fn int main()
/* #expect: test.ll
@"init$foo" = internal unnamed_addr global ptr @"test.$global$lambda1", align 8
@"init$foo.2" = internal unnamed_addr global ptr @"test.$global$lambda2", align 8
@init.foo = internal unnamed_addr global ptr @"test.$global$lambda1", align 8
@init.foo.2 = internal unnamed_addr global ptr @"test.$global$lambda2", align 8
; Function Attrs: nounwind
define void @test.Foo.test(ptr %0, i32 %1) #0 {
@@ -102,13 +101,11 @@ define void @test.FooTest.init(ptr %0) #0 {
entry:
%1 = getelementptr inbounds %FooTest, ptr %0, i32 0, i32 0
%2 = getelementptr inbounds %Foo, ptr %1, i32 0, i32 0
%3 = load ptr, ptr @"init$foo", align 8
%3 = load ptr, ptr @init.foo, align 8
store ptr %3, ptr %2, align 8
ret void
}
; Function Attrs: nounwind
define internal void @"test.$global$lambda1"(ptr %0, i32 %1) #0 {
entry:
%z = alloca ptr, align 8