When removing a function from the function set and adding it to deferred, we
[llvm.git] / test / Transforms / GlobalOpt / alias-resolve.ll
blob845117987391f9a7fc8136b427f8a8f0ced3bfd0
1 ; RUN: opt < %s -globalopt -S > %t
2 ; RUN: cat %t | grep foo1 | count 1
3 ; RUN: cat %t | grep foo2 | count 4
4 ; RUN: cat %t | grep bar1 | count 1
5 ; RUN: cat %t | grep bar2 | count 4
7 @foo1 = alias void ()* @foo2
8 @foo2 = alias weak void()* @bar1
9 @bar1  = alias void ()* @bar2
11 declare void @bar2()
13 define void @baz() {
14 entry:
15         call void @foo1()
16         call void @foo2()
17         call void @bar1()
18         ret void