; RUN: opt -S -mergefunc < %s | FileCheck %s

; We should normalize to test2 rather than test1,
; because it allows us to drop test1 entirely

; CHECK-NOT: define internal void @test1() unnamed_addr
; CHECK: define void @test3() unnamed_addr
; CHECK-NEXT: call void @test2()
; CHECK-NEXT: call void @test2()
  
declare void @dummy()

define internal void @test1() unnamed_addr {
    call void @dummy()
    call void @dummy()
    ret void
}

define void @test2() unnamed_addr {
    call void @dummy()
    call void @dummy()
    ret void
}

define void @test3() unnamed_addr {
    call void @test1()
    call void @test2()
    ret void
}

; We should normalize to the existing test6 rather than
; to a new anonymous strong backing function

; CHECK: define weak void @test5()
; CHECK-NEXT: tail call void @test6()
; CHECK: define weak void @test4()
; CHECK-NEXT: tail call void @test6()

declare void @dummy2()
  
define weak void @test4() {
    call void @dummy2()
    call void @dummy2()
    ret void
}
define weak void @test5() {
    call void @dummy2()
    call void @dummy2()
    ret void
}
define void @test6() {
    call void @dummy2()
    call void @dummy2()
    ret void
}
