; RUN: opt -passes=inline -S < %s | FileCheck %s ; Check that we don't blow up when the callee is in a RefSCC with only one ; function (@g), but references itself. ; CHECK: define void @f ; CHECK-NEXT: call void @g(), !inline_history [[HISTORY:![0-9]+]] ; CHECK-NEXT: call void @g(), !inline_history [[HISTORY]] ; CHECK-NEXT: call void @g(), !inline_history [[HISTORY]] ; CHECK-NEXT: call void @g(), !inline_history [[HISTORY]] ; CHECK-NEXT: ret void define void @f() { call void @g() ret void } ; minsize/function-inline-cost to prevent the inliner from inlining calls in the context of @g define void @g() minsize { call void @h(ptr @g) call void @h(ptr @g) ret void } define void @h(ptr %p) "function-inline-cost"="20" { call void %p() call void %p() ret void } ; CHECK: [[HISTORY]] = !{ptr @h, ptr @g}