xref: /llvm-project/llvm/test/Transforms/Inline/analysis-invalidation.ll (revision 19867de9e79327207796a16c1c24ac5d2cafecf9)
1*19867de9SArthur Eubanks; RUN: opt -passes=inline < %s -disable-output -debug-pass-manager 2>&1 | FileCheck %s
2*19867de9SArthur Eubanks
3*19867de9SArthur Eubanks; We shouldn't invalidate any function analyses on g since it's never modified.
4*19867de9SArthur Eubanks
5*19867de9SArthur Eubanks; CHECK-NOT: Invalidating{{.*}} on g
6*19867de9SArthur Eubanks; CHECK: Invalidating{{.*}} on f
7*19867de9SArthur Eubanks; CHECK-NOT: Invalidating{{.*}} on g
8*19867de9SArthur Eubanks
9*19867de9SArthur Eubanksdefine void @f() noinline {
10*19867de9SArthur Eubanks  call void @g()
11*19867de9SArthur Eubanks  ret void
12*19867de9SArthur Eubanks}
13*19867de9SArthur Eubanks
14*19867de9SArthur Eubanksdefine void @g() alwaysinline {
15*19867de9SArthur Eubanks  call void @f()
16*19867de9SArthur Eubanks  ret void
17*19867de9SArthur Eubanks}
18