Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / MergeFunc / unnamed-addr-reprocessing.ll
blobebe882e6bc8a28353daeda338f229d80f1371985
1 ; RUN: opt -S -passes=mergefunc < %s | FileCheck %s
3 ; After the merge of test5 and test6, we can merge test3 and test4,
4 ; then test1 and test2.
6 ; CHECK: define void @test6() unnamed_addr
7 ; CHECK-NEXT: tail call void @test5()
8 ; CHECK: define void @test4() unnamed_addr
9 ; CHECK-NEXT: tail call void @test3()
10 ; CHECK: define void @test2() unnamed_addr
11 ; CHECK-NEXT: tail call void @test1()
13 declare void @dummy()
15 define void @test1() unnamed_addr {
16     call void @test3()
17     call void @test3()
18     ret void
21 define void @test2() unnamed_addr {
22     call void @test4()
23     call void @test4()
24     ret void
27 define void @test3() unnamed_addr {
28     call void @test5()
29     call void @test5()
30     ret void
33 define void @test4() unnamed_addr {
34     call void @test6()
35     call void @test6()
36     ret void
39 define void @test5() unnamed_addr {
40     call void @dummy()
41     call void @dummy()
42     ret void
45 define void @test6() unnamed_addr {
46     call void @dummy()
47     call void @dummy()
48     ret void