diff --git a/llvm/lib/Analysis/InlineAdvisor.cpp b/llvm/lib/Analysis/InlineAdvisor.cpp --- a/llvm/lib/Analysis/InlineAdvisor.cpp +++ b/llvm/lib/Analysis/InlineAdvisor.cpp @@ -40,7 +40,7 @@ " callsites processed by inliner but decided" " to be not inlined")); -static cl::opt EnableInlineDeferral("inline-deferral", cl::init(true), +static cl::opt EnableInlineDeferral("inline-deferral", cl::init(false), cl::Hidden, cl::desc("Enable deferred inlining")); diff --git a/llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll b/llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll --- a/llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll +++ b/llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll @@ -1,7 +1,7 @@ ; Test for a subtle bug when computing analyses during inlining and mutating ; the SCC structure. Without care, this can fail to invalidate analyses. ; -; RUN: opt < %s -aa-pipeline= -passes='cgscc(inline,function(verify))' -debug-pass-manager -S 2>&1 | FileCheck %s +; RUN: opt < %s -aa-pipeline= -passes='cgscc(inline,function(verify))' -debug-pass-manager -inline-deferral -S 2>&1 | FileCheck %s ; First we check that the passes run in the way we expect. Otherwise this test ; may stop testing anything. diff --git a/llvm/test/Transforms/Inline/exponential-deferred-inlining.ll b/llvm/test/Transforms/Inline/exponential-deferred-inlining.ll --- a/llvm/test/Transforms/Inline/exponential-deferred-inlining.ll +++ b/llvm/test/Transforms/Inline/exponential-deferred-inlining.ll @@ -20,1154 +20,7 @@ } define internal void @f2() { - call void @f1() - call void @f1() - call void @f1() - ret void -} - -define internal void @f3() { - call void @f2() - call void @f2() - ret void -} - -define internal void @f4() { - call void @f3() - call void @f3() - ret void -} - -define internal void @f5() { - call void @f4() - call void @f4() - ret void -} - -define internal void @f6() { - call void @f5() - call void @f5() - ret void -} - -define void @f7() { -; CHECK-LABEL: @f7( -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() -; CHECK-NEXT: call void @foo() +; CHECK-LABEL: @f2( ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: call void @foo() @@ -1205,6 +58,61 @@ ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: ret void +; + call void @f1() + call void @f1() + call void @f1() + ret void +} + +define internal void @f3() { + call void @f2() + call void @f2() + ret void +} + +define internal void @f4() { + call void @f3() + call void @f3() + ret void +} + +define internal void @f5() { + call void @f4() + call void @f4() + ret void +} + +define internal void @f6() { +; CHECK-LABEL: @f6( +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: call void @f2() +; CHECK-NEXT: ret void +; + call void @f5() + call void @f5() + ret void +} + +define void @f7() { +; CHECK-LABEL: @f7( +; CHECK-NEXT: call void @f6() +; CHECK-NEXT: call void @f6() +; CHECK-NEXT: ret void ; call void @f6() call void @f6()