[PATCH] D135520: [LTO][test] Improve comdat-mixed-lto.ll after D135427

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 8 13:32:43 PDT 2022


MaskRay created this revision.
MaskRay added a reviewer: tejohnson.
Herald added subscribers: ormris, StephenFan, steven_wu, hiraditya, inglorion.
Herald added a project: All.
MaskRay requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D135520

Files:
  llvm/lib/Transforms/IPO/FunctionImport.cpp
  llvm/test/LTO/Resolution/X86/comdat-mixed-lto.ll


Index: llvm/test/LTO/Resolution/X86/comdat-mixed-lto.ll
===================================================================
--- llvm/test/LTO/Resolution/X86/comdat-mixed-lto.ll
+++ llvm/test/LTO/Resolution/X86/comdat-mixed-lto.ll
@@ -23,6 +23,15 @@
 ; CHECK: declare dso_local void @__cxx_global_var_init() section ".text.startup"
 ; CHECK-NOT: declare
 
+; Check the behavior with the prevailing testglobfunc in %t2.o.
+; RUN: llvm-lto2 run -r=%t1.o,C,pl -r=%t2.o,C,l -r=%t1.o,testglobfunc,lx -r=%t2.o,testglobfunc,plx -o %t4 %t1.o %t2.o -save-temps
+; RUN: llvm-dis %t4.0.0.preopt.bc -o - | FileCheck %s --check-prefix=CHECK2
+
+; CHECK2: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__cxx_global_var_init, ptr @C }]
+; CHECK2: @C = available_externally dso_local global %"class.Test::ptr" zeroinitializer, align 4
+; CHECK2: declare dso_local void @__cxx_global_var_init() section ".text.startup"
+; CHECK2: define available_externally dso_local void @testglobfunc() section ".text.startup" {
+
 ; ModuleID = 'comdat-mixed-lto.o'
 source_filename = "comdat-mixed-lto.cpp"
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
Index: llvm/lib/Transforms/IPO/FunctionImport.cpp
===================================================================
--- llvm/lib/Transforms/IPO/FunctionImport.cpp
+++ llvm/lib/Transforms/IPO/FunctionImport.cpp
@@ -1151,7 +1151,6 @@
   for (auto &GO : TheModule.global_objects()) {
     if (auto *C = GO.getComdat(); C && NonPrevailingComdats.count(C)) {
       GO.setComdat(nullptr);
-      assert(GO.hasLocalLinkage() && "GO's comdat should have been dropped");
       GO.setLinkage(GlobalValue::AvailableExternallyLinkage);
     }
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135520.466310.patch
Type: text/x-patch
Size: 1763 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221008/cc8c1d92/attachment.bin>


More information about the llvm-commits mailing list