Use linkonce_odr linkage for specific functions. (#5575)

The same specific function will (eventually) be emitted as part of
lowering multiple different source files, so don't give them unique
external linkage.
This commit is contained in:
Richard Smith
2025-05-29 20:16:37 +00:00
committed by GitHub
parent aadd29b36c
commit 42c783defa
16 changed files with 115 additions and 113 deletions
@@ -65,7 +65,7 @@ fn Run() {
// CHECK:STDOUT:
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
// CHECK:STDOUT:
// CHECK:STDOUT: define i32 @_CG.Main.2c436a64dfc3fd29(i32 %count) !dbg !16 {
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.2c436a64dfc3fd29(i32 %count) !dbg !16 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: call void @"_CF.X.Main:I.Main"(), !dbg !17
// CHECK:STDOUT: %int.greater = icmp sgt i32 %count, 0, !dbg !18
@@ -80,7 +80,7 @@ fn Run() {
// CHECK:STDOUT: ret i32 %G.call, !dbg !23
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: define i32 @_CG.Main.c124d41ebc08c32b(i32 %count) !dbg !24 {
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.c124d41ebc08c32b(i32 %count) !dbg !24 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: call void @"_CF.Y.Main:I.Main"(), !dbg !25
// CHECK:STDOUT: %int.greater = icmp sgt i32 %count, 0, !dbg !26