1 ; RUN: opt < %s 2>&1 -disable-output \
2 ; RUN: -inline -print-after-all | FileCheck %s -check-prefix=INL
3 ; RUN: opt < %s 2>&1 -disable-output \
4 ; RUN: -passes=inline -print-after-all | FileCheck %s -check-prefix=INL
5 ; RUN: opt < %s 2>&1 -disable-output \
6 ; RUN: -inline -print-after-all -print-module-scope | FileCheck %s -check-prefix=INL-MOD
7 ; RUN: opt < %s 2>&1 -disable-output \
8 ; RUN: -passes=inline -print-after-all -print-module-scope | FileCheck %s -check-prefix=INL-MOD
10 ; INL: IR Dump After {{Function Integration/Inlining|InlinerPass .*scc: .bar, foo}}
11 ; INL: define void @bar()
12 ; INL-NEXT: call void @foo()
13 ; INL: define void @foo()
14 ; INL-NEXT: call void @bar()
15 ; INL: IR Dump After {{Function Integration/Inlining|InlinerPass .*scc: .tester}}
16 ; INL: define void @tester()
17 ; INL-NEXT: call void @foo()
20 ; INL-MOD: IR Dump After {{Function Integration/Inlining|InlinerPass .*scc: .bar, foo}}
21 ; INL-MOD-NEXT: ModuleID =
22 ; INL-MOD-NEXT: source_filename =
23 ; INL-MOD: define void @tester()
24 ; INL-MOD-NEXT: call void @foo()
25 ; INL-MOD: define void @foo()
26 ; INL-MOD-NEXT: call void @bar()
27 ; INL-MOD: define void @bar()
28 ; INL-MOD-NEXT: call void @foo()
29 ; INL-MOD: IR Dump After {{Function Integration/Inlining|InlinerPass .*scc: .tester}}
30 ; INL-MOD-NEXT: ModuleID =
31 ; INL-MOD-NEXT: source_filename =
32 ; INL-MOD: define void @tester()
33 ; INL-MOD-NEXT: call void @foo()
34 ; INL-MOD: define void @foo()
35 ; INL-MOD-NEXT: call void @bar()
36 ; INL-MOD: define void @bar()
37 ; INL-MOD-NEXT: call void @foo()
38 ; INL-MOD: IR Dump After
39 ; INL-MOD-NEXT: ModuleID =
40 ; INL-MOD-NEXT: source_filename =
41 ; INL-MOD-NOT: Printing <null> Function
43 define void @tester() noinline {
48 define void @foo() noinline {
53 define void @bar() noinline {