; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s @a = global i32 1 @b = global i32 2 @c = global double 3.141593e+00 define i32 @callee1() !implicit.ref !0 { ret i32 0 } define i32 @callee2() !implicit.ref !1 { ret i32 1 } define i32 @callee3() { %i = call i32 @callee2() ret i32 %i } ; CHECK: @callee3() !implicit.ref !1 define i32 @caller1() { %i = call i32 @callee1() ret i32 %i } ; CHECK: @caller1() !implicit.ref !0 define i32 @caller2() !implicit.ref !2 { %i = call i32 @callee1() ret i32 %i } ; CHECK: @caller2() !implicit.ref !2 !implicit.ref !0 define i32 @caller3() { %i = call i32 @caller4() ret i32 %i } ; CHECK: @caller3() !implicit.ref !0 !implicit.ref !1 define i32 @caller4() { %a = call i32 @callee1() %b = call i32 @callee2() %add = add i32 %a, %b ret i32 %add } ; CHECK: @caller4() !implicit.ref !0 !implicit.ref !1 !0 = !{ptr @a} !1 = !{ptr @b} !2 = !{ptr @c}