blob: fbbbc1ab65061f8997c8dfc5224b96cc7dd167a8 [file]
; 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
}