; RUN: opt -passes=constmerge -S < %s | FileCheck %s ; @ComdatGlobal1 can be merged into @RegularGlobal which does not have ; a comdat group and should not get dropped by the linker. ; Same for @ComdatGlobal2 into @PrivateGlobal. $test = comdat any @ComdatGlobal1 = private unnamed_addr constant i32 111, comdat($test) @RegularGlobal = constant i32 111 ; CHECK NOT: @ComdatGlobal1 ; CHECK: @RegularGlobal @ComdatGlobal2 = private unnamed_addr constant i32 222, comdat($test) @PrivateGlobal = private unnamed_addr constant i32 222 ; CHECK NOT: @ComdatGlobal2 ; CHECK: @PrivateGlobal define void @test(ptr %P) comdat { store ptr @ComdatGlobal1, ptr %P store ptr @RegularGlobal, ptr %P store ptr @ComdatGlobal2, ptr %P store ptr @PrivateGlobal, ptr %P ret void }