2 ; RUN: opt -passes=elim-avail-extern -avail-extern-to-local -stats -S 2>&1 < %s | FileCheck %s
5 declare void @call_out(ptr %fct)
7 define available_externally hidden void @f() {
11 define available_externally hidden void @g() {
15 define void @hello(ptr %g) {
18 call void @call_out(ptr %f)
22 ; CHECK: define internal void @f.__uniq.{{[0-9|a-f]*}}()
23 ; CHECK: declare hidden void @g()
24 ; CHECK: call void @f.__uniq.{{[0-9|a-f]*}}()
25 ; CHECK-NEXT: load ptr, ptr @f
26 ; CHECK-NEXT: call void @call_out(ptr %f)
27 ; CHECK: Statistics Collected
28 ; CHECK: 1 elim-avail-extern - Number of functions converted
29 ; CHECK: 1 elim-avail-extern - Number of functions removed